This commit is contained in:
罗松柏 2021-09-28 11:17:59 +08:00
parent 8c05058408
commit fb3b89200d
17 changed files with 1978 additions and 49 deletions

View File

@ -50,7 +50,7 @@
<dd><a class="ajax-content" href="eventmanagement" data-id="conetnt">事件管理</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="eventattradmin" data-id="conetnt">事件属性管理</a></dd>
<dd><a class="ajax-content" href="userattradmin" 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> <dd><a class="ajax-content" href="datacheck" data-id="conetnt">埋点数据检查</a></dd>
</dl> </dl>
</li> </li>
</ul> </ul>

227
web/pages/datacheck.html Normal file
View File

@ -0,0 +1,227 @@
<div class="analysis-zhanwei">
</div>
<div class="datacheck-box">
<div class="datacheck-title-box">
<p> <img src="./static/img/tgsj.png"> 埋点数据检查</p>
</div>
<div class="datacheck-screen-box">
<!-- 筛选区域 -->
<div class="datacheck-left-box">
<div class="datacheck-tab-box">
<div class="datacheck-tab-title">筛选条件</div>
<div class="xian3"></div>
</div>
<form class="layui-form layui-form-pane" action="" lay-filter="datacheckexample">
<div class="datacheck-from-box">
<!-- <div class="datacheck-input-box">
<p>游戏名</p>
<input name="game" autocomplete="off" class="layui-input"/>
</div> -->
<div class="datacheck-input-box">
<p>数据库名</p>
<input name="db_name" autocomplete="off" class="layui-input"" />
</div>
<div class="datacheck-input-box">
<p>事件名</p>
<input name="eventname" autocomplete="off" class="layui-input" />
</div>
</div>
<div class="datacheck-from-box">
<div class="">
<div class="datacheck-rod-box">
<p>是否唯一</p>
<div>
<input type="radio" name="only" value="true" title="是">
<input type="radio" name="only" value="false" title="否" checked="">
</div>
</div>
<div class="datacheck-rod-box" style="margin-top: 32px;">
<p>事件属性</p>
<button type="button" class="layui-btn layui-btn-sm layui-btn-normal eventattr-add"><i class="layui-icon layui-icon-add-1"></i> 添加</button>
</div>
</div>
<div style="display: flex; align-items: end;">
<textarea class="datacheck-copy-txt-box" placeholder="复制内容粘贴此处"></textarea>
<button type="button" class="layui-btn layui-btn-sm layui-btn-normal eventattr-copy"><i class="layui-icon layui-icon-add-1"></i> 确定</button>
</div>
</div>
<div id="datacheck-eventattr-box" class="datacheck-condition-box">
<!-- <div class="datacheck-tab-condition-box">
<input type="text" name="eventattr" lay-verify="required" placeholder="请输入事件属性名" autocomplete="off" class="layui-input eventattr-input">
<select name="quiz2" class="eventattr-select" lay-filter="eventattr_filter">
<option value="">请选择事件属性</option>
<option value="string_0" selected="">字符串</option>
<option value="integer_1">数值</option>
<option value="array_2">数组</option>
</select>
<div class="attrname-del"><i class="layui-icon layui-icon-delete"></i></div>
</div> -->
<!-- <div class="datacheck-tab-condition-box">
<input type="text" name="eventattr" lay-verify="required" placeholder="请输入事件属性名" autocomplete="off" class="layui-input eventattr-input">
<select name="quiz2" class="eventattr-select" lay-filter="eventattr_filter">
<option value="">请选择事件属性</option>
<option value="string_0" selected="">字符串</option>
<option value="integer_1">数值</option>
<option value="array_2">数组</option>
</select>
<div class="attrname-del"><i class="layui-icon layui-icon-delete"></i></div>
</div> -->
</div>
<div class="datacheck-from-box">
<div class="datacheck-rod-box">
<p>默认属性</p>
<button type="button" class="layui-btn layui-btn-sm layui-btn-normal baseevent"><i class="layui-icon layui-icon-add-1"></i> 添加</button>
</div>
</div>
<div class="datacheck-from-box">
<div class="datacheck-rod-box">
<p>其他条件</p>
<button type="button" class="layui-btn layui-btn-sm layui-btn-normal condition-add"><i class="layui-icon layui-icon-add-1"></i> 添加</button>
</div>
</div>
<div id="datacheck-condition-box" class="datacheck-condition-box">
<!-- <div class="datacheck-tab-condition-box">
<input type="text" name="eventattr" lay-verify="required" placeholder="请输入属性名" autocomplete="off" class="layui-input eventattr-input">
<input type="text" name="condition_val" lay-verify="required" placeholder="请输入值" autocomplete="off" class="layui-input v-input">
<div class="attrname-del"><i class="layui-icon layui-icon-delete"></i></div>
</div>
<div class="datacheck-tab-condition-box">
<input type="text" name="eventattr" lay-verify="required" placeholder="请输入属性名" autocomplete="off" class="layui-input eventattr-input">
<input type="text" name="condition_val" lay-verify="required" placeholder="请输入值" autocomplete="off" class="layui-input v-input">
<div class="attrname-del"><i class="layui-icon layui-icon-delete"></i></div>
</div> -->
</div>
</form>
<div class="datacheck-but-box">
<div class="datacheck-but-cx">查询</div>
<div class="datacheck-but-bc">保存模板</div>
<div class="datacheck-but-ck">查看模板</div>
</div>
</div>
<!-- 结果区 -->
<div class="datacheck-right-box">
<div class="datacheck-tab-box" style="margin-left: 60px;">
<div class="datacheck-tab-title">筛选结果</div>
<div class="xian3"></div>
</div>
<div class="datacheck-result-box">
<div class="datacheck-result-info-box">
<p class="datacheck-result-info-title">通过</p>
<div class="datacheck-result-info datacheck-result-info-tongguo">
<!-- <p><span>奥科</span>吉货到付款静安寺</p> -->
</div>
</div>
<div class="datacheck-result-info-box">
<p class="datacheck-result-info-title">错误</p>
<div class="datacheck-result-info datacheck-result-info-cuowu">
</div>
</div>
</div>
</div>
</div>
<div class="datacheck-table-box">
<table class="table-fenxi-box">
<thead>
<tr class="table-fenxi-th">
<th>1111</th>
</tr>
</thead>
<tbody class="table-fenxi-td">
<tr >
<td>21524</td>
</tr>
</tbody>
</table>
</div>
</div>
<script id="eventattr-box-dot" type="text/html">
{{# layui.each(d, function(index, item){ }}
<div class="datacheck-tab-condition-box">
<input type="text" name="eventattr" lay-verify="required" placeholder="请输入事件属性名" autocomplete="off" class="layui-input eventattr-input" data-index="{{index}}" value="{{item.attrname}}">
<select name="quiz2" class="eventattr-select" lay-filter="eventattr_filter">
<option value="">请选择事件属性</option>
{{# if(item.v == 'string'){ }}
<option value="string_{{index}}" selected="">字符串</option>
{{# } else { }}
<option value="string_{{index}}">字符串</option>
{{# } }}
{{# if(item.v == 'integer'){ }}
<option value="integer_{{index}}" selected="">数值</option>
{{# } else { }}
<option value="integer_{{index}}">数值</option>
{{# } }}
{{# if(item.v == 'array'){ }}
<option value="array_{{index}}" selected="">数组</option>
{{# } else { }}
<option value="array_{{index}}">数组</option>
{{# } }}
{{# if(item.v == 'date'){ }}
<option value="date_{{index}}" selected="">时间</option>
{{# } else { }}
<option value="date_{{index}}">时间</option>
{{# } }}
{{# if(item.v == 'json'){ }}
<option value="json_{{index}}" selected="">json</option>
{{# } else { }}
<option value="json_{{index}}">json</option>
{{# } }}
</select>
<div class="datacheck-del attrname-del " data-index="{{index}}"><i class="layui-icon layui-icon-delete"></i></div>
</div>
{{# }); }}
</script>
<script id="condition-box-dot" type="text/html">
{{# layui.each(d, function(index, item){ }}
<div class="datacheck-tab-condition-box">
<input type="text" name="eventattr" lay-verify="required" placeholder="请输入属性名" autocomplete="off" class="layui-input condition-input" data-index="{{index}}" value="{{item.conditionname}}">
<input type="text" name="condition_val" lay-verify="required" placeholder="请输入值" autocomplete="off" class="layui-input condition-v-input" data-index="{{index}}" value="{{item.v}}">
<div class="datacheck-del condition-del" data-index="{{index}}"><i class="layui-icon layui-icon-delete"></i></div>
</div>
{{# }); }}
</script>
<script id="datacheck-table-title-box" type="text/html">
{{# layui.each(d, function(indexs, items) { }}
<th>{{items}}</th>
{{# }); }}
</script>
<script id="datacheck-tbody-title-box" type="text/html">
{{# layui.each(d, function(indexs, items) { }}
<tr >
{{# layui.each(items, function(indexss, itemss) { }}
<td>{{itemss}}</td>
{{# }); }}
</tr>
{{# }); }}
</script>

View File

@ -0,0 +1,18 @@
<div class="datacheck_list-box">
<p class="save-list-tit-box">保存列表</p>
<div class="save-list-content-box">
</div>
<div class="save-list-but-box">
<div class="save-list-qx">
取消
</div>
</div>
</div>
<script id="save-list-content-box-dot" type="text/html">
{{# layui.each(d, function(index, item){ }}
<div class="save-list" data-index="{{index}}">
<span>{{item.title}}</span> <span class="save-list-del" data-title="{{item.title}}"><i class="layui-icon layui-icon-delete"></i></span>
</div>
{{# }); }}
</script>

View File

@ -0,0 +1,23 @@
<div class="datacheck_moren-box">
<p class="datacheck_moren-title">默认属性</p>
<form class="layui-form" action="" lay-filter="baseeventexample">
<div class="baseevent-checkbox-box">
</div>
</form>
<div class="baseevent-but-box">
<div class="baseevent-but-qc">清除</div>
<div class="baseevent-but-qb">全选</div>
<div class="baseevent-but-qx">取消</div>
<div class="baseevent-but-ok">确定</div>
</div>
</div>
<script id="baseevent-checkbox-box-dot" type="text/html">
{{# layui.each(d, function(index, item){ }}
{{# if(item.on == 1){ }}
<input type="checkbox" name="{{item.title}}" lay-skin="primary" title="{{item.title}}" checked="">
{{# } else { }}
<input type="checkbox" name="{{item.title}}" lay-skin="primary" title="{{item.title}}">
{{# } }}
{{# }); }}
</script>

View File

@ -0,0 +1,16 @@
<div class="datacheck_preser-box">
<p class="datacheck_moren-title">保存报表</p>
<div class="layui-form-item" style="padding: 30px 15px;">
<div class="layui-form-item">
<label class="layui-form-label">保存名称:</label>
<div class="layui-input-block">
<input type="text" name="title" autocomplete="off" class="layui-input datacheck_preser-save-title">
</div>
</div>
</div>
<div class="datacheck_preser-but-box">
<div class="datacheck_preser-but-qx">取消</div>
<div class="datacheck_preser-but-qd">确定</div>
</div>
</div>

View File

@ -34,13 +34,102 @@
<div class="table-box"> <div class="table-box">
<div class="table-tbody-box"> <div class="table-tbody-box">
<!-- <div class="fixed-table-box row-col-fixed" >
<div class="fixed-table_header-wraper">
<table class="fixed-table_header" cellspacing="0" cellpadding="0" border="0" style="width: 100%;">
<thead>
<tr>
{{# layui.each(d.titledata, function(indexs, items) { }}
<th style="width: 100px;">
<div class="table-cell">{{items}}</div>
</th>
{{# }); }}
</tr>
</thead>
</table>
</div>
{{# if(d.cat === "event"){ }}
<div class="fixed-table_body-wraper" data-parentid="Lyn_FixedTable_1">
<table class="fixed-table_body" cellspacing="0" cellpadding="0" border="0" style="width: 100%">
<tbody>
{{# layui.each(d.condata, function(indexs, items) { }}
<tr >
{{# layui.each(items, function(indexss, itemss) { }}
<td class="ws-100">
<div class="table-cell">{{itemss}}</div>
</td>
{{# }); }}
</tr>
{{# }); }}
</tbody>
</table>
</div>
{{# } else if(d.cat === "retention" || d.cat == "scatter"){ }}
<div class="fixed-table_body-wraper" data-parentid="Lyn_FixedTable_1">
<table class="fixed-table_body" cellspacing="0" cellpadding="0" border="0" style="width: 100%">
<tbody>
{{# layui.each(d.condata, function(indexs, items) { }}
<tr >
<td class="ws-100">
<div class="table-cell">{{items.date}}</div>
</td>
<td class="ws-100">
<div class="table-cell">{{items.d0}}</div>
</td>
{{# layui.each(items.data, function(indexss, itemss){ }}
<td class="ws-100">
<div class="table-cell">
<p>{{itemss.n}}</p>
<p>{{itemss.p}}%</p>
</div>
</td>
{{# }); }}
</tr>
{{# }); }}
</tbody>
</table>
</div>
{{# } else if(d.cat === "ltv"){ }}
<div class="fixed-table_body-wraper" data-parentid="Lyn_FixedTable_1">
<table class="fixed-table_body" cellspacing="0" cellpadding="0" border="0" style="width: 100%">
<tbody>
{{# layui.each(d.condata, function(indexs, items) { }}
<tr >
{{# layui.each(items, function(indexss, itemss){ }}
<td class="ws-100">
<div class="table-cell">{{itemss}}</div>
</td>
{{# }); }}
</tr>
{{# }); }}
</tbody>
</table>
</div>
{{# } else if(d.cat === "user_property"){ }}
<div class="fixed-table_body-wraper" data-parentid="Lyn_FixedTable_1">
<table class="fixed-table_body" cellspacing="0" cellpadding="0" border="0" style="width: 100%">
<tbody>
{{# layui.each(d.condata, function(indexs, items) { }}
<tr>
<td class="ws-100">
<div class="table-cell">{{indexs}}</div>
</td>
<td class="ws-100">
<div class="table-cell">{{items}}</div>
</td>
</tr>
{{# }); }}
</tbody>
</table>
</div>
{{# } }}
</div> -->
<table class="table-fenxi-box"> <table class="table-fenxi-box">
<thead> <thead>
<colgroup>
{{# layui.each(d.titledata, function(indexs, items) { }}
<col />
{{# }); }}
</colgroup>
<tr class="table-fenxi-th"> <tr class="table-fenxi-th">
{{# layui.each(d.titledata, function(indexs, items) { }} {{# layui.each(d.titledata, function(indexs, items) { }}
<th>{{items}}</th> <th>{{items}}</th>

View File

@ -597,6 +597,21 @@
</table> </table>
</div> </div>
</div> </div>
<div class="fixed-table_fixed fixed-table_fixed-right" style="right: 4px; height: 286px;">
<div class="fixed-table_header-wraper">
<table class="fixed-table_header" cellspacing="0" cellpadding="0" border="0">
<thead>
<tr></tr>
</thead>
</table>
</div>
<div class="fixed-table_body-wraper">
<table class="fixed-table_body" cellspacing="0" cellpadding="0" border="0">
<tbody></tbody>
</table>
</div>
</div>
<div class="fixed-table-box_fixed-right-patch" style="width: 5px; height: 29px;"></div>
</div> </div>
</div> </div>

658
web/src/x.min.js vendored
View File

@ -116,9 +116,9 @@ var X = window.X || {
(function(){ (function(){
//本地 //本地
// var ipurl = "http://10.0.0.77:7889/api/v1/"; var ipurl = "http://10.0.0.77:7889/api/v1/";
// 线上 // 线上
var ipurl = "http://139.159.159.3:9865/api/v1/"; // var ipurl = "http://139.159.159.3:9865/api/v1/";
//线上测试 //线上测试
// var ipurl = "http://139.159.159.3:7889/api/v1/"; // var ipurl = "http://139.159.159.3:7889/api/v1/";
@ -4112,6 +4112,7 @@ var X = window.X || {
(function(){ (function(){
X.pageLogic['dashboard'] = { X.pageLogic['dashboard'] = {
init :function(){ init :function(){
var me = this; var me = this;
var popid=''; var popid='';
@ -4131,6 +4132,7 @@ var X = window.X || {
$(document).off('click','.sifnoutlogin').on('click','.sifnoutlogin',function(){ $(document).off('click','.sifnoutlogin').on('click','.sifnoutlogin',function(){
window.localStorage.removeItem('loginData'); window.localStorage.removeItem('loginData');
X.gourl("login"); X.gourl("login");
location.reload();
}); });
// 项目列表 // 项目列表
@ -5311,6 +5313,549 @@ var X = window.X || {
}; };
})(); })();
// srczip/logic/datacheck.js
(function(){
X.pageLogic['datacheck'] = {
init : function(parms){
var me = this;
layui.form.render();
// 事件属性添加
var eventarr = [];
$(document).off('click','.eventattr-add').on('click','.eventattr-add',function(){
var arr = {
'attrname':'',
'v':''
}
eventarr.push(arr);
X.laytpldata("#eventattr-box-dot",eventarr,"#datacheck-eventattr-box");
layui.form.render();
});
// 事件属性删除
$(document).off('click','.attrname-del').on('click','.attrname-del',function(){
var index = $(this).attr('data-index');
eventarr.splice(index,1);
X.laytpldata("#eventattr-box-dot",eventarr,"#datacheck-eventattr-box");
layui.form.render();
});
$(document).off('click','.eventattr-input').on('blur','.eventattr-input',function(){
var index = $(this).attr('data-index');
eventarr[index]['attrname'] = $(this).val();
});
layui.form.on('select(eventattr_filter)',function(data){
var value = data.value;
var valarr = value.split('_');
var index = valarr[1];
var val = valarr[0];
eventarr[index]['v'] = val;
});
$(document).off('click','.eventattr-copy').on('click','.eventattr-copy',function(){
var txt = $(".datacheck-copy-txt-box").val();
var valarr = txt.split(/[(\r\n)\r\n]+/);
// console.log(valarr);
var dataDarr = [];
for(let i in valarr){
var arr = valarr[i].split("\t");
// console.log(arr);
dataDarr.push(arr);
}
var eventdata = [];
for(let i in dataDarr){
if(dataDarr[i][1]){
var arr = {
'attrname': dataDarr[i][1],
'v': fieidmapping(dataDarr[i][2])
}
eventdata.push(arr);
}
}
eventarr = eventdata;
layui.form.val('datacheckexample',{
'eventname':dataDarr[0][0]
});
// console.log(eventarr);
// return;
X.laytpldata("#eventattr-box-dot",eventarr,"#datacheck-eventattr-box");
layui.form.render();
});
// 字段映射
function fieidmapping(d){
if(d == 'int'){
return 'integer';
}else if(d == 'str'){
return 'string';
}else if(d == 'date'){
return 'date';
}else if(d == 'json'){
return 'json'
}else {
return 'array'
}
}
// 其他条件添加
var conditionarr = [];
$(document).off('click','.condition-add').on('click','.condition-add',function(){
var arr = {
'conditionname':'',
'v':''
}
conditionarr.push(arr);
X.laytpldata("#condition-box-dot",conditionarr,"#datacheck-condition-box");
layui.form.render();
});
// 其他条件删除
$(document).off('click','.condition-del').on("click",'.condition-del',function(){
var index = $(this).attr('data-index');
conditionarr.splice(index,1);
X.laytpldata("#condition-box-dot",conditionarr,"#datacheck-condition-box");
layui.form.render();
});
$(document).off('click','.condition-input').on('blur','.condition-input',function(){
var index = $(this).attr('data-index');
conditionarr[index]['conditionname'] = $(this).val();
});
$(document).off('click','.condition-v-input').on('blur','.condition-v-input',function(){
var index = $(this).attr('data-index');
conditionarr[index]['v'] = $(this).val();
});
// 默认属性
var baseeventdata = {};
$(document).off('click','.baseevent').on('click','.baseevent',function(){
X.open({
type: 1,
title: false,
closeBtn: 0,
shadeClose: true,
offset: 'auto',
anim: 5,
skin: 'yourclass',
url: 'datacheck_moren',
data:baseeventdata,
callback : function(d){
baseeventdata = d;
}
})
});
//默认全选默认属性
X.api('check_data/default_field','get',{},function(d){
baseeventdata = d;
});
$(document).off('click','.datacheck-but-bc').on('click','.datacheck-but-bc',function(){
var fromdata = layui.form.val('datacheckexample');
var is_unique;
// console.log(fromdata);
if(fromdata.only == "true"){
is_unique = true
}else {
is_unique = false
}
var props={},where={};
for(let i in eventarr){
props[eventarr[i]['attrname']] = eventarr[i]['v']
}
for(let i in conditionarr){
where[conditionarr[i]['conditionname']] = conditionarr[i]['v']
}
var data={
// 'game': fromdata.game,
'db_name':fromdata.db_name,
'event_name':fromdata.eventname,
'is_unique':is_unique,
'props':props,
'where':where,
'default_field':baseeventdata
};
X.open({
type: 1,
title: false,
closeBtn: 0,
shadeClose: true,
offset: 'auto',
anim: 5,
skin: 'yourclass',
url: 'datacheck_preser',
data:data
})
});
$(document).off('click','.datacheck-but-ck').on('click','.datacheck-but-ck',function(){
X.parametersopen({},'datacheck_list','rt',function(d){
var data = d;
var props = data.check.props;
var where = data.check.where;
baseeventdata = data.check.default_field;
var eventData=[];
var conditionData=[];
for(let i in props){
var arr = {
'attrname':i,
'v':props[i]
}
eventData.push(arr);
}
eventarr = eventData;
for(let i in where){
var arr = {
'conditionname':i,
'v':where[i]
}
conditionData.push(arr);
}
conditionarr = conditionData;
layui.form.val('datacheckexample',{
// 'game':data['game'],
'db_name':data['db_name'],
'eventname':data['check']['event_name'],
'only':data['check']['is_unique'],
});
X.laytpldata("#eventattr-box-dot",eventarr,"#datacheck-eventattr-box");
X.laytpldata("#condition-box-dot",conditionarr,"#datacheck-condition-box");
layui.form.render();
})
});
// 查询按钮
$(document).off('click','.datacheck-but-cx').on('click','.datacheck-but-cx',function(){
var fromdata = layui.form.val('datacheckexample');
var is_unique;
// console.log(fromdata);
if(fromdata.only == "true"){
is_unique = true
}else {
is_unique = false
}
var props={},where={};
for(let i in eventarr){
props[eventarr[i]['attrname']] = eventarr[i]['v']
}
for(let i in conditionarr){
where[conditionarr[i]['conditionname']] = conditionarr[i]['v']
}
var data={
'db_name':fromdata.db_name,
'event_name':fromdata.eventname,
'is_unique':is_unique,
'props':props,
'where':where,
'default_field':baseeventdata
};
// console.log(data);
X.api('check_data/check','post',data,function(d){
$(".datacheck-result-info-tongguo").html("");
$(".datacheck-result-info-cuowu").html("");
X.laytpldata("#datacheck-table-title-box",d.title,".table-fenxi-th");
X.laytpldata("#datacheck-tbody-title-box",d.data,".table-fenxi-td");
var data=d;
var pass_list = data.pass_list;
var fail_list = data.fail_list;
for(let i in pass_list){
$(".datacheck-result-info-tongguo").append(pass_list[i]);
}
for(let i in fail_list){
$(".datacheck-result-info-cuowu").append(fail_list[i]);
}
})
});
}
};
})();
// srczip/logic/datacheck_list.js
(function(){
X.pageLogic['datacheck_list'] = {
init : function(parms){
var me = this;
this.parms = parms;
this.callback = parms.callback;
// var data = parms.extData;
$('.datacheck_list-box').css('height',window.innerHeight+'px');
posttemplate();
var savelist;
function posttemplate(){
X.api('check/template','get',{},function(d){
savelist = d;
X.laytpldata("#save-list-content-box-dot",d,".save-list-content-box");
})
// $.ajax({
// url: 'http://10.0.0.77:7997/v1/check/template',
// type:'get',
// dataType: 'json',
// async:true,
// contentType:'application/json',
// beforeSend: function () {
// // loading 显示
// },
// success:function(d){
// savelist = d.data;
// X.laytpldata("#save-list-content-box-dot",d.data,".save-list-content-box");
// },
// error:function(error){
// layer.msg('条件错误');
// }
// });
};
$(document).off('click','.save-list').on('click','.save-list',function(){
var index = $(this).attr('data-index');
var data = savelist[index];
console.log(data);
layer.closeAll();
me.callback && me.callback(data);
});
// 删除
$(document).off('click',".save-list-del").on('click','.save-list-del',function(e){
e.stopPropagation();
var title = $(this).attr("data-title");
var data = {
title: title
}
X.api('check_data/del_template','post',data,function(){
layer.msg('删除成功');
posttemplate();
})
// $.ajax({
// url: 'http://10.0.0.77:7997/v1/check/del_template',
// type:'post',
// dataType: 'json',
// async:true,
// data: JSON.stringify(data),
// contentType:'application/json',
// beforeSend: function () {
// // loading 显示
// },
// success:function(d){
// if(d.data){
// layer.msg('删除成功');
// posttemplate();
// }
// },
// error:function(error){
// layer.msg('条件错误');
// }
// });
});
$(document).off('click','.save-list-qx').on('click','.save-list-qx',function(){
layer.closeAll();
});
}
};
})();
// srczip/logic/datacheck_moren.js
(function(){
X.pageLogic['datacheck_moren'] = {
init : function(parms){
var me = this;
this.parms = parms;
this.callback = parms.callback;
var baseeventdata = parms.data;
var default_field
X.api('check_data/default_field','get',{},function(d){
default_field = d;
var listarr = [];
if(JSON.stringify(baseeventdata) != "{}"){
for(let i in default_field){
var arr= {
'title': i,
'on': 0
}
for(let j in baseeventdata){
if(i == j){
arr['on'] = 1;
break;
}
}
listarr.push(arr);
}
}else {
for(let i in default_field){
var arr = {
'title': i,
'on':1
}
listarr.push(arr);
}
}
// console.log(listarr);
// baseeventdata = default_field;
X.laytpldata("#baseevent-checkbox-box-dot",listarr,".baseevent-checkbox-box");
layui.form.render();
})
// $.ajax({
// url: 'http://10.0.0.77:7997/v1/check/default_field',
// type:'get',
// dataType: 'json',
// async:true,
// contentType:'application/json',
// beforeSend: function () {
// // loading 显示
// },
// success:function(d){
// default_field = d.data;
// var listarr = [];
// if(JSON.stringify(baseeventdata) != "{}"){
// for(let i in default_field){
// var arr= {
// 'title': i,
// 'on': 0
// }
// for(let j in baseeventdata){
// if(i == j){
// arr['on'] = 1;
// break;
// }
// }
// listarr.push(arr);
// }
// }else {
// for(let i in default_field){
// var arr = {
// 'title': i,
// 'on':1
// }
// listarr.push(arr);
// }
// }
// // console.log(listarr);
// // baseeventdata = default_field;
// X.laytpldata("#baseevent-checkbox-box-dot",listarr,".baseevent-checkbox-box");
// layui.form.render();
// },
// error:function(error){
// layer.msg('条件错误');
// }
// });
// 清除
$(document).off('click','.baseevent-but-qc').on('click','.baseevent-but-qc',function(){
// console.log(default_field);
var listarr = [];
for(let i in default_field){
var arr = {
'title': i,
'on':0
}
listarr.push(arr);
}
X.laytpldata("#baseevent-checkbox-box-dot",listarr,".baseevent-checkbox-box");
layui.form.render();
});
// 全选
$(document).off('click','.baseevent-but-qb').on('click','.baseevent-but-qb',function(){
// console.log(default_field);
var listarr = [];
for(let i in default_field){
var arr = {
'title': i,
'on':1
}
listarr.push(arr);
}
X.laytpldata("#baseevent-checkbox-box-dot",listarr,".baseevent-checkbox-box");
layui.form.render();
});
$(document).off('click','.baseevent-but-qx').on('click','.baseevent-but-qx',function(){
layer.closeAll();
});
$(document).off('click','.baseevent-but-ok').on('click','.baseevent-but-ok',function(){
var fromdata = layui.form.val('baseeventexample');
var defaultfield = {};
for(let i in fromdata){
defaultfield[i] = default_field[i]
}
// baseeventdata = defaultfield;
me.callback && me.callback(defaultfield);
layer.close( me.parms.layIndex );
});
}
};
})();
// srczip/logic/datacheck_preser.js
(function(){
X.pageLogic['datacheck_preser'] = {
init : function(parms){
var me = this;
this.parms = parms;
this.callback = parms.callback;
var check = parms.data;
$(document).off('click','.datacheck_preser-but-qd').on('click','.datacheck_preser-but-qd',function(){
if($('.datacheck_preser-save-title').val() == ""){
layer.msg('名称不能为空');
return;
}
var data = {
check:check,
title: $('.datacheck_preser-save-title').val()
}
X.api('check_data/save','post',data,function(d){
if(d == true){
layer.closeAll();
layer.msg('保存成功');
}
})
// $.ajax({
// url: 'http://10.0.0.77:7997/v1/check/save?game='+check.game+'&db_name='+check.db_name,
// type:'post',
// data: JSON.stringify(data),
// dataType: 'json',
// async:true,
// contentType:'application/json',
// beforeSend: function () {
// // loading 显示
// },
// success:function(d){
// if(d.data == true){
// layer.closeAll();
// layer.msg('保存成功');
// }
// },
// error:function(error){
// layer.msg('条件错误');
// }
// });
});
$(document).off('click','.datacheck_preser-but-qx').on('click','.datacheck_preser-but-qx',function(){
layer.closeAll();
});
}
};
})();
// srczip/logic/datarights.js // srczip/logic/datarights.js
(function(){ (function(){
X.pageLogic['datarights'] = { X.pageLogic['datarights'] = {
@ -11492,7 +12037,114 @@ var X = window.X || {
X.pageLogic['usergroup'] = { X.pageLogic['usergroup'] = {
init : function(parms){ init : function(parms){
// var fixedTable = new FixedTable({
// wrap: document.getElementById("eventattradmin-table"),//生成的表格需要放到哪里
// type: "row-col-fixed",//表格类型head-fixed、col-fixed、row-col-fixed
// extraClass: "",//需要添加到表格中的额外class
// maxHeight: true,
// fields: [//表格的列
// {
// width: "100px",
// field: "日期",
// fixed: true,
// },
// {
// width: "100px",
// field: "姓名",
// },
// {
// width: "100px",
// field: "省份",
// //fixed: true,
// },
// {
// width: "100px",
// field: "市区"
// },
// {
// width: "100px",
// field: "地址",
// // fixed: true,
// },
// {
// width: "100px",
// field: "邮编",
// },
// {
// width: "100px",
// field: "邮编",
// },
// {
// width: "100px",
// field: "邮编",
// },
// {
// width: "100px",
// field: "邮编",
// }
// ],
// tableDefaultContent: "<div>我是一个默认的div</div>"
// });
// fixedTable.addRow(function (){
// var html = '';
// for(var i = 0; i < 5; i ++){
// html += '<tr>';
// html += ' <td class="ws-100"><div class="table-cell">2016-05-03</div></td>';
// html += ' <td class="ws-100"><div class="table-cell">王小虎' + i + '</div></td>';
// html += ' <td class="ws-100"><div class="table-cell">上海' + i + '</div></td>';
// html += ' <td class="ws-100"><div class="table-cell">普陀区' + i + '</div></td>';
// html += ' <td class="ws-100"><div class="table-cell">上海市普' + i + '</div></td>';
// html += ' <td class="ws-100"><div class="table-cell">200333' + i + '</div></td>';
// html += ' <td class="ws-100"><div class="table-cell">200333' + i + '</div></td>';
// html += ' <td class="ws-100"><div class="table-cell">200333' + i + '</div></td>';
// html += ' <td class="ws-100"><div class="table-cell">200333' + i + '</div></td>';
// html += '</tr>';
// }
// return html;
// });
// fixedTable.addRow(function (){
// var html = '';
// for(var i = 0; i < 5; i ++){
// html += '<tr>';
// html += ' <td class="ws-100"><div class="table-cell">2016-05-03</div></td>';
// html += ' <td class="ws-100"><div class="table-cell">王小虎' + i + '-a</div></td>';
// html += ' <td class="ws-100"><div class="table-cell">上海' + i + '-a</div></td>';
// html += ' <td class="ws-100"><div class="table-cell">普陀区' + i + '-a</div></td>';
// html += ' <td class="ws-100"><div class="table-cell">上海市' + i + '</div></td>';
// html += ' <td class="ws-100"><div class="table-cell">200333' + i + '-a</div></td>';
// html += ' <td class="ws-100"><div class="table-cell">200333' + i + '</div></td>';
// html += ' <td class="ws-100"><div class="table-cell">200333' + i + '</div></td>';
// html += ' <td class="ws-100"><div class="table-cell">200333' + i + '</div></td>';
// html += '</tr>';
// }
// return html;
// });
// fixedTable.addRow(function (){
// var html = '';
// for(var i = 0; i < 5; i ++){
// html += '<tr>';
// html += ' <td class="ws-100"><div class="table-cell">2016-05-03</div></td>';
// html += ' <td class="ws-100"><div class="table-cell">王小虎' + i + '-b</div></td>';
// html += ' <td class="ws-100"><div class="table-cell">上海' + i + '-b</div></td>';
// html += ' <td class="ws-100"><div class="table-cell">普陀区' + i + '-b</div></td>';
// html += ' <td class="ws-100"><div class="table-cell">上海' + i + '</div></td>';
// html += ' <td class="ws-100"><div class="table-cell">200333' + i + '-b</div></td>';
// html += ' <td class="ws-100"><div class="table-cell">200333' + i + '</div></td>';
// html += ' <td class="ws-100"><div class="table-cell">200333' + i + '</div></td>';
// html += ' <td class="ws-100"><div class="table-cell">200333' + i + '</div></td>';
// html += '</tr>';
// }
// return html;
// });
} }
}; };

View File

@ -2,6 +2,7 @@
(function(){ (function(){
X.pageLogic['dashboard'] = { X.pageLogic['dashboard'] = {
init :function(){ init :function(){
var me = this; var me = this;
var popid=''; var popid='';
@ -21,6 +22,7 @@
$(document).off('click','.sifnoutlogin').on('click','.sifnoutlogin',function(){ $(document).off('click','.sifnoutlogin').on('click','.sifnoutlogin',function(){
window.localStorage.removeItem('loginData'); window.localStorage.removeItem('loginData');
X.gourl("login"); X.gourl("login");
location.reload();
}); });
// 项目列表 // 项目列表

View File

@ -0,0 +1,267 @@
(function(){
X.pageLogic['datacheck'] = {
init : function(parms){
var me = this;
layui.form.render();
// 事件属性添加
var eventarr = [];
$(document).off('click','.eventattr-add').on('click','.eventattr-add',function(){
var arr = {
'attrname':'',
'v':''
}
eventarr.push(arr);
X.laytpldata("#eventattr-box-dot",eventarr,"#datacheck-eventattr-box");
layui.form.render();
});
// 事件属性删除
$(document).off('click','.attrname-del').on('click','.attrname-del',function(){
var index = $(this).attr('data-index');
eventarr.splice(index,1);
X.laytpldata("#eventattr-box-dot",eventarr,"#datacheck-eventattr-box");
layui.form.render();
});
$(document).off('click','.eventattr-input').on('blur','.eventattr-input',function(){
var index = $(this).attr('data-index');
eventarr[index]['attrname'] = $(this).val();
});
layui.form.on('select(eventattr_filter)',function(data){
var value = data.value;
var valarr = value.split('_');
var index = valarr[1];
var val = valarr[0];
eventarr[index]['v'] = val;
});
$(document).off('click','.eventattr-copy').on('click','.eventattr-copy',function(){
var txt = $(".datacheck-copy-txt-box").val();
var valarr = txt.split(/[(\r\n)\r\n]+/);
// console.log(valarr);
var dataDarr = [];
for(let i in valarr){
var arr = valarr[i].split("\t");
// console.log(arr);
dataDarr.push(arr);
}
var eventdata = [];
for(let i in dataDarr){
if(dataDarr[i][1]){
var arr = {
'attrname': dataDarr[i][1],
'v': fieidmapping(dataDarr[i][2])
}
eventdata.push(arr);
}
}
eventarr = eventdata;
layui.form.val('datacheckexample',{
'eventname':dataDarr[0][0]
});
// console.log(eventarr);
// return;
X.laytpldata("#eventattr-box-dot",eventarr,"#datacheck-eventattr-box");
layui.form.render();
});
// 字段映射
function fieidmapping(d){
if(d == 'int'){
return 'integer';
}else if(d == 'str'){
return 'string';
}else if(d == 'date'){
return 'date';
}else if(d == 'json'){
return 'json'
}else {
return 'array'
}
}
// 其他条件添加
var conditionarr = [];
$(document).off('click','.condition-add').on('click','.condition-add',function(){
var arr = {
'conditionname':'',
'v':''
}
conditionarr.push(arr);
X.laytpldata("#condition-box-dot",conditionarr,"#datacheck-condition-box");
layui.form.render();
});
// 其他条件删除
$(document).off('click','.condition-del').on("click",'.condition-del',function(){
var index = $(this).attr('data-index');
conditionarr.splice(index,1);
X.laytpldata("#condition-box-dot",conditionarr,"#datacheck-condition-box");
layui.form.render();
});
$(document).off('click','.condition-input').on('blur','.condition-input',function(){
var index = $(this).attr('data-index');
conditionarr[index]['conditionname'] = $(this).val();
});
$(document).off('click','.condition-v-input').on('blur','.condition-v-input',function(){
var index = $(this).attr('data-index');
conditionarr[index]['v'] = $(this).val();
});
// 默认属性
var baseeventdata = {};
$(document).off('click','.baseevent').on('click','.baseevent',function(){
X.open({
type: 1,
title: false,
closeBtn: 0,
shadeClose: true,
offset: 'auto',
anim: 5,
skin: 'yourclass',
url: 'datacheck_moren',
data:baseeventdata,
callback : function(d){
baseeventdata = d;
}
})
});
//默认全选默认属性
X.api('check_data/default_field','get',{},function(d){
baseeventdata = d;
});
$(document).off('click','.datacheck-but-bc').on('click','.datacheck-but-bc',function(){
var fromdata = layui.form.val('datacheckexample');
var is_unique;
// console.log(fromdata);
if(fromdata.only == "true"){
is_unique = true
}else {
is_unique = false
}
var props={},where={};
for(let i in eventarr){
props[eventarr[i]['attrname']] = eventarr[i]['v']
}
for(let i in conditionarr){
where[conditionarr[i]['conditionname']] = conditionarr[i]['v']
}
var data={
// 'game': fromdata.game,
'db_name':fromdata.db_name,
'event_name':fromdata.eventname,
'is_unique':is_unique,
'props':props,
'where':where,
'default_field':baseeventdata
};
X.open({
type: 1,
title: false,
closeBtn: 0,
shadeClose: true,
offset: 'auto',
anim: 5,
skin: 'yourclass',
url: 'datacheck_preser',
data:data
})
});
$(document).off('click','.datacheck-but-ck').on('click','.datacheck-but-ck',function(){
X.parametersopen({},'datacheck_list','rt',function(d){
var data = d;
var props = data.check.props;
var where = data.check.where;
baseeventdata = data.check.default_field;
var eventData=[];
var conditionData=[];
for(let i in props){
var arr = {
'attrname':i,
'v':props[i]
}
eventData.push(arr);
}
eventarr = eventData;
for(let i in where){
var arr = {
'conditionname':i,
'v':where[i]
}
conditionData.push(arr);
}
conditionarr = conditionData;
layui.form.val('datacheckexample',{
// 'game':data['game'],
'db_name':data['db_name'],
'eventname':data['check']['event_name'],
'only':data['check']['is_unique'],
});
X.laytpldata("#eventattr-box-dot",eventarr,"#datacheck-eventattr-box");
X.laytpldata("#condition-box-dot",conditionarr,"#datacheck-condition-box");
layui.form.render();
})
});
// 查询按钮
$(document).off('click','.datacheck-but-cx').on('click','.datacheck-but-cx',function(){
var fromdata = layui.form.val('datacheckexample');
var is_unique;
// console.log(fromdata);
if(fromdata.only == "true"){
is_unique = true
}else {
is_unique = false
}
var props={},where={};
for(let i in eventarr){
props[eventarr[i]['attrname']] = eventarr[i]['v']
}
for(let i in conditionarr){
where[conditionarr[i]['conditionname']] = conditionarr[i]['v']
}
var data={
'db_name':fromdata.db_name,
'event_name':fromdata.eventname,
'is_unique':is_unique,
'props':props,
'where':where,
'default_field':baseeventdata
};
// console.log(data);
X.api('check_data/check','post',data,function(d){
$(".datacheck-result-info-tongguo").html("");
$(".datacheck-result-info-cuowu").html("");
X.laytpldata("#datacheck-table-title-box",d.title,".table-fenxi-th");
X.laytpldata("#datacheck-tbody-title-box",d.data,".table-fenxi-td");
var data=d;
var pass_list = data.pass_list;
var fail_list = data.fail_list;
for(let i in pass_list){
$(".datacheck-result-info-tongguo").append(pass_list[i]);
}
for(let i in fail_list){
$(".datacheck-result-info-cuowu").append(fail_list[i]);
}
})
});
}
};
})();

View File

@ -0,0 +1,83 @@
(function(){
X.pageLogic['datacheck_list'] = {
init : function(parms){
var me = this;
this.parms = parms;
this.callback = parms.callback;
// var data = parms.extData;
$('.datacheck_list-box').css('height',window.innerHeight+'px');
posttemplate();
var savelist;
function posttemplate(){
X.api('check/template','get',{},function(d){
savelist = d;
X.laytpldata("#save-list-content-box-dot",d,".save-list-content-box");
})
// $.ajax({
// url: 'http://10.0.0.77:7997/v1/check/template',
// type:'get',
// dataType: 'json',
// async:true,
// contentType:'application/json',
// beforeSend: function () {
// // loading 显示
// },
// success:function(d){
// savelist = d.data;
// X.laytpldata("#save-list-content-box-dot",d.data,".save-list-content-box");
// },
// error:function(error){
// layer.msg('条件错误');
// }
// });
};
$(document).off('click','.save-list').on('click','.save-list',function(){
var index = $(this).attr('data-index');
var data = savelist[index];
console.log(data);
layer.closeAll();
me.callback && me.callback(data);
});
// 删除
$(document).off('click',".save-list-del").on('click','.save-list-del',function(e){
e.stopPropagation();
var title = $(this).attr("data-title");
var data = {
title: title
}
X.api('check_data/del_template','post',data,function(){
layer.msg('删除成功');
posttemplate();
})
// $.ajax({
// url: 'http://10.0.0.77:7997/v1/check/del_template',
// type:'post',
// dataType: 'json',
// async:true,
// data: JSON.stringify(data),
// contentType:'application/json',
// beforeSend: function () {
// // loading 显示
// },
// success:function(d){
// if(d.data){
// layer.msg('删除成功');
// posttemplate();
// }
// },
// error:function(error){
// layer.msg('条件错误');
// }
// });
});
$(document).off('click','.save-list-qx').on('click','.save-list-qx',function(){
layer.closeAll();
});
}
};
})();

View File

@ -0,0 +1,136 @@
(function(){
X.pageLogic['datacheck_moren'] = {
init : function(parms){
var me = this;
this.parms = parms;
this.callback = parms.callback;
var baseeventdata = parms.data;
var default_field
X.api('check_data/default_field','get',{},function(d){
default_field = d;
var listarr = [];
if(JSON.stringify(baseeventdata) != "{}"){
for(let i in default_field){
var arr= {
'title': i,
'on': 0
}
for(let j in baseeventdata){
if(i == j){
arr['on'] = 1;
break;
}
}
listarr.push(arr);
}
}else {
for(let i in default_field){
var arr = {
'title': i,
'on':1
}
listarr.push(arr);
}
}
// console.log(listarr);
// baseeventdata = default_field;
X.laytpldata("#baseevent-checkbox-box-dot",listarr,".baseevent-checkbox-box");
layui.form.render();
})
// $.ajax({
// url: 'http://10.0.0.77:7997/v1/check/default_field',
// type:'get',
// dataType: 'json',
// async:true,
// contentType:'application/json',
// beforeSend: function () {
// // loading 显示
// },
// success:function(d){
// default_field = d.data;
// var listarr = [];
// if(JSON.stringify(baseeventdata) != "{}"){
// for(let i in default_field){
// var arr= {
// 'title': i,
// 'on': 0
// }
// for(let j in baseeventdata){
// if(i == j){
// arr['on'] = 1;
// break;
// }
// }
// listarr.push(arr);
// }
// }else {
// for(let i in default_field){
// var arr = {
// 'title': i,
// 'on':1
// }
// listarr.push(arr);
// }
// }
// // console.log(listarr);
// // baseeventdata = default_field;
// X.laytpldata("#baseevent-checkbox-box-dot",listarr,".baseevent-checkbox-box");
// layui.form.render();
// },
// error:function(error){
// layer.msg('条件错误');
// }
// });
// 清除
$(document).off('click','.baseevent-but-qc').on('click','.baseevent-but-qc',function(){
// console.log(default_field);
var listarr = [];
for(let i in default_field){
var arr = {
'title': i,
'on':0
}
listarr.push(arr);
}
X.laytpldata("#baseevent-checkbox-box-dot",listarr,".baseevent-checkbox-box");
layui.form.render();
});
// 全选
$(document).off('click','.baseevent-but-qb').on('click','.baseevent-but-qb',function(){
// console.log(default_field);
var listarr = [];
for(let i in default_field){
var arr = {
'title': i,
'on':1
}
listarr.push(arr);
}
X.laytpldata("#baseevent-checkbox-box-dot",listarr,".baseevent-checkbox-box");
layui.form.render();
});
$(document).off('click','.baseevent-but-qx').on('click','.baseevent-but-qx',function(){
layer.closeAll();
});
$(document).off('click','.baseevent-but-ok').on('click','.baseevent-but-ok',function(){
var fromdata = layui.form.val('baseeventexample');
var defaultfield = {};
for(let i in fromdata){
defaultfield[i] = default_field[i]
}
// baseeventdata = defaultfield;
me.callback && me.callback(defaultfield);
layer.close( me.parms.layIndex );
});
}
};
})();

View File

@ -0,0 +1,53 @@
(function(){
X.pageLogic['datacheck_preser'] = {
init : function(parms){
var me = this;
this.parms = parms;
this.callback = parms.callback;
var check = parms.data;
$(document).off('click','.datacheck_preser-but-qd').on('click','.datacheck_preser-but-qd',function(){
if($('.datacheck_preser-save-title').val() == ""){
layer.msg('名称不能为空');
return;
}
var data = {
check:check,
title: $('.datacheck_preser-save-title').val()
}
X.api('check_data/save','post',data,function(d){
if(d == true){
layer.closeAll();
layer.msg('保存成功');
}
})
// $.ajax({
// url: 'http://10.0.0.77:7997/v1/check/save?game='+check.game+'&db_name='+check.db_name,
// type:'post',
// data: JSON.stringify(data),
// dataType: 'json',
// async:true,
// contentType:'application/json',
// beforeSend: function () {
// // loading 显示
// },
// success:function(d){
// if(d.data == true){
// layer.closeAll();
// layer.msg('保存成功');
// }
// },
// error:function(error){
// layer.msg('条件错误');
// }
// });
});
$(document).off('click','.datacheck_preser-but-qx').on('click','.datacheck_preser-but-qx',function(){
layer.closeAll();
});
}
};
})();

View File

@ -2,7 +2,114 @@
X.pageLogic['usergroup'] = { X.pageLogic['usergroup'] = {
init : function(parms){ init : function(parms){
// var fixedTable = new FixedTable({
// wrap: document.getElementById("eventattradmin-table"),//生成的表格需要放到哪里
// type: "row-col-fixed",//表格类型head-fixed、col-fixed、row-col-fixed
// extraClass: "",//需要添加到表格中的额外class
// maxHeight: true,
// fields: [//表格的列
// {
// width: "100px",
// field: "日期",
// fixed: true,
// },
// {
// width: "100px",
// field: "姓名",
// },
// {
// width: "100px",
// field: "省份",
// //fixed: true,
// },
// {
// width: "100px",
// field: "市区"
// },
// {
// width: "100px",
// field: "地址",
// // fixed: true,
// },
// {
// width: "100px",
// field: "邮编",
// },
// {
// width: "100px",
// field: "邮编",
// },
// {
// width: "100px",
// field: "邮编",
// },
// {
// width: "100px",
// field: "邮编",
// }
// ],
// tableDefaultContent: "<div>我是一个默认的div</div>"
// });
// fixedTable.addRow(function (){
// var html = '';
// for(var i = 0; i < 5; i ++){
// html += '<tr>';
// html += ' <td class="ws-100"><div class="table-cell">2016-05-03</div></td>';
// html += ' <td class="ws-100"><div class="table-cell">王小虎' + i + '</div></td>';
// html += ' <td class="ws-100"><div class="table-cell">上海' + i + '</div></td>';
// html += ' <td class="ws-100"><div class="table-cell">普陀区' + i + '</div></td>';
// html += ' <td class="ws-100"><div class="table-cell">上海市普' + i + '</div></td>';
// html += ' <td class="ws-100"><div class="table-cell">200333' + i + '</div></td>';
// html += ' <td class="ws-100"><div class="table-cell">200333' + i + '</div></td>';
// html += ' <td class="ws-100"><div class="table-cell">200333' + i + '</div></td>';
// html += ' <td class="ws-100"><div class="table-cell">200333' + i + '</div></td>';
// html += '</tr>';
// }
// return html;
// });
// fixedTable.addRow(function (){
// var html = '';
// for(var i = 0; i < 5; i ++){
// html += '<tr>';
// html += ' <td class="ws-100"><div class="table-cell">2016-05-03</div></td>';
// html += ' <td class="ws-100"><div class="table-cell">王小虎' + i + '-a</div></td>';
// html += ' <td class="ws-100"><div class="table-cell">上海' + i + '-a</div></td>';
// html += ' <td class="ws-100"><div class="table-cell">普陀区' + i + '-a</div></td>';
// html += ' <td class="ws-100"><div class="table-cell">上海市' + i + '</div></td>';
// html += ' <td class="ws-100"><div class="table-cell">200333' + i + '-a</div></td>';
// html += ' <td class="ws-100"><div class="table-cell">200333' + i + '</div></td>';
// html += ' <td class="ws-100"><div class="table-cell">200333' + i + '</div></td>';
// html += ' <td class="ws-100"><div class="table-cell">200333' + i + '</div></td>';
// html += '</tr>';
// }
// return html;
// });
// fixedTable.addRow(function (){
// var html = '';
// for(var i = 0; i < 5; i ++){
// html += '<tr>';
// html += ' <td class="ws-100"><div class="table-cell">2016-05-03</div></td>';
// html += ' <td class="ws-100"><div class="table-cell">王小虎' + i + '-b</div></td>';
// html += ' <td class="ws-100"><div class="table-cell">上海' + i + '-b</div></td>';
// html += ' <td class="ws-100"><div class="table-cell">普陀区' + i + '-b</div></td>';
// html += ' <td class="ws-100"><div class="table-cell">上海' + i + '</div></td>';
// html += ' <td class="ws-100"><div class="table-cell">200333' + i + '-b</div></td>';
// html += ' <td class="ws-100"><div class="table-cell">200333' + i + '</div></td>';
// html += ' <td class="ws-100"><div class="table-cell">200333' + i + '</div></td>';
// html += ' <td class="ws-100"><div class="table-cell">200333' + i + '</div></td>';
// html += '</tr>';
// }
// return html;
// });
} }
}; };

View File

@ -0,0 +1,197 @@
/*
* @Author: 李燕南
* @Date: 2017-08-30 09:23:26
* @Last Modified by: 李燕南
* @Last Modified time: 2017-09-07 11:16:33
*/
@charset "utf-8";
body{
margin: 0;
padding: 0;
}
.fixed-table-box table {
margin: 0;
padding: 0;
border-spacing: 0;
box-sizing: border-box;
border: 0;
table-layout: fixed;
border-collapse: separate;
background-color: #fff;
}
.fixed-table-box tr,
.fixed-table-box td,
.fixed-table-box th {
box-sizing: border-box;
}
.fixed-table-box{
position: relative;
font-size: 14px;
line-height: 1.42858;
border: 1px solid #dfe6ec;
border-bottom: 0;
border-right: 0;
overflow: hidden;
}
.fixed-table-box:before{
display: block;
position: absolute;
bottom: 0;
left: 0;
content: " ";
width: 100%;
height: 1px;
background-color: #dfe6ec;
}
.fixed-table-box:after{
display: block;
position: absolute;
top: 0;
right: 0;
content: " ";
width: 1px;
height: 100%;
background-color: #dfe6ec;
}
/* 解决右侧有滚动条滚动时头部会有错误问题 */
.fixed-table-box>.fixed-table_header-wraper{
position: relative;
overflow: hidden;
/*margin-right: 17px;*/
}
/*解决有横向滚动条时头部会有留白问题*/
.fixed-table_header-wraper-right-patch{
position: absolute;
top: 0;
right: 0;
height: 100%;
background-color: #eef1f6;
}
.fixed-table-box .fixed-table_header,
.fixed-table-box .fixed-table_body{
width: auto;
}
.fixed-table-box th,
.fixed-table-box td{
position: relative;
padding: 5px 0;
border: 1px solid #dfe6ec;
text-align: left;
}
.fixed-table-box .table-cell{
display: block;
/*height: 30px;
line-height: 30px;*/
/*word-break: break-all;
overflow: hidden;
text-overflow: ellipsis;*/
white-space: nowrap;
padding: 0 10px;
}
/* 表头 start */
.fixed-table-box>.fixed-table_header-wraper{
overflow: hidden;
}
.fixed-table-box .fixed-table_header.fixed-header{
position: absolute;
top: 0;
left: 0;
width: 100%;
}
.fixed-table-box .fixed-table_header tr{
background-color: #eef1f6;
}
.fixed-table-box .fixed-table_header th{
color: #1f2d3d;
border-top: 0;
border-left: 0;
}
/* 表头 end */
/*表格内容 start*/
.fixed-table-box .fixed-table_body td{
border-top: 0;
border-left: 0;
}
.fixed-table-box .fixed-table_body tr.rowHover{
background-color: #eef1f6;
}
/*表格内容 end*/
/* 行固定表格 start*/
.fixed-table-box.head-fixed .fixed-table_body-wraper{
overflow-y: auto;
}
.fixed-table-box.head-fixed .fixed-table_header,
.fixed-table-box.head-fixed .fixed-table_body{
width: 100%;
}
/* 行固定表格 end*/
/* 列固定表格 start */
.fixed-table-box.col-fixed{
/* overflow-x: auto; */
border-right: 1px solid #eef1f6;
}
.fixed-table-box.col-fixed:after{
display: none;
}
.fixed-table-box.col-fixed .fixed-table_header-wraper{
/*设置它为overflow: hidden的目的是为了在拖动.fixed-table-box.col-fixed .fixed-table_body-wraper
的时候可以同步的拖动.fixed-table-box.col-fixed .fixed-table_header-wraper*/
overflow: hidden;
}
.fixed-table-box.col-fixed .fixed-table_body-wraper{
overflow-x: auto;
}
/* 列固定表格 end */
/* 固定列 start */
.fixed-table_fixed{
position: absolute;
top: 0;
z-index: 5;
background-color: #fff;
overflow: hidden;
}
.fixed-table_fixed-left{
left: 0;
box-shadow: 1px -1px 8px 1px #d3d4d6;
}
.fixed-table_fixed-right{
right: 0;
/* border-left: 1px solid #dfe6ec\0; */
box-shadow: -2px -1px 8px 1px #d3d4d6;
}
.fixed-table_fixed.no-shadow{
box-shadow: none;
}
.fixed-table_fixed .fixed-table_header-wraper,
.fixed-table_fixed .fixed-table_body-wraper{
overflow-y: hidden;
}
.fixed-table_fixed table{
overflow: hidden;
}
.fixed-table_fixed.fixed-table_fixed-right th,
.fixed-table_fixed.fixed-table_fixed-right td{
border-right: none;
border-left: 1px solid #dfe6ec;
}
/* 固定列 end */
/* 固定列和固定表头 start */
.fixed-table-box.row-col-fixed>.fixed-table_body-wraper{
overflow: auto;
}
.fixed-table-box_fixed-right-patch{
/*右上角的遮罩,如果少了这块在右边有固定列并且表格内容右侧有滚动条时会出现镂空的效果*/
background-color: #eef1f6;
position: absolute;
top: 0;
right: 0;
}
/* 固定列和固定表头 end */

View File

@ -169,8 +169,8 @@
.control { height: 21px; display: block; } .control { height: 21px; display: block; }
.tool-show .control { display: block; } .tool-show .control { display: block; }
.table-box { margin: 10px 24px 0 24px; height: 283px; overflow-x: auto; overflow-y: hidden; } .table-box { margin: 10px 24px 0 24px; height: 290px; overflow-x: auto; overflow-y: hidden; }
.table-tbody-box { height: 283px; overflow-x: auto; overflow-y: auto; } .table-tbody-box { height: 290px; overflow-x: auto; overflow-y: hidden; }
.table-thead { } .table-thead { }
.layui-table-body { height: 242px; overflow: auto; } .layui-table-body { height: 242px; overflow: auto; }
@ -603,42 +603,86 @@ label:not(.form-check-label):not(.custom-file-label) { font-weight: 400; }
.setupbaobiao-left-from-list-radio-box input { position: relative; top: 2px; margin-right: 5px; } .setupbaobiao-left-from-list-radio-box input { position: relative; top: 2px; margin-right: 5px; }
.setupbaobiao-zs { color: #42546d; font-size: 12px; line-height: 20px; margin-bottom: 10px; padding: 0 10px 0 20px; } .setupbaobiao-zs { color: #42546d; font-size: 12px; line-height: 20px; margin-bottom: 10px; padding: 0 10px 0 20px; }
.fixed-table-box{/*当表格的宽度大于.fixed-table-box的宽度时才会有横向滚动条*//* width: 800px;margin: 50px auto; */}
.test-fixedTable{margin: 0 auto;background-color: #ccc;}
.fixed-table_body-wraper{/*如果数据过多并且想表格有纵向滚动条时,必须给该元素设置一个高度*/max-height: 260px;}
.fixed-table-box{/*当表格的宽度大于.fixed-table-box的宽度时才会有横向滚动条*/ .test-fixedTable .fixed-table_body-wraper{width: 100%;}
width: 800px; .w-150{width: 150px;}
margin: 50px auto; .w-120{width: 120px;}
} .w-300{width: 300px;}
.test-fixedTable{ .w-100{width: 100px;}
margin: 0 auto;
background-color: #ccc;
}
.fixed-table_body-wraper{/*如果数据过多并且想表格有纵向滚动条时,必须给该元素设置一个高度*/
max-height: 260px;
}
.test-fixedTable .fixed-table_body-wraper{
width: 100%;
}
.w-150{
width: 150px;
}
.w-120{
width: 120px;
}
.w-300{
width: 300px;
}
.w-100{
width: 100px;
}
.ws-100 { width: 100px; } .ws-100 { width: 100px; }
.btns{text-align: center;}
.btns button{padding: 10px 20px;}
/* 埋点数据检查 */
.datacheck-box { }
.datacheck-title-box { width: 100%; background-color: #f7f7f7;}
.datacheck-title-box p{ margin: 0 106px; padding: 30px 0; font-size: 18px; color: #636363; }
.datacheck-screen-box { margin: 0 0px 0 106px; display: flex; justify-content: space-between; }
.datacheck-tab-box { display: flex; align-items: center; }
.datacheck-left-box { width: 40%; margin-top: 50px; border-right: 1px solid #f7f7f7; height:700px; overflow-y: auto; }
.datacheck-right-box { width: 60%; }
.datacheck-tab-title { width: 110px; height: 37px; line-height: 37px; text-align: center; font-size: 14px; color: #434343; border: 1px solid #eeeeee; }
.xian3 { width: 100%; height:1px; background-color: #eeeeee;}
.datacheck-from-box { display: flex; justify-content: space-between; align-self: start; margin-top: 32px; margin-right: 30px; }
.datacheck-copy-txt-box { width: 200px; height: 60px; resize:none; padding: 15px 20px; border: 1px solid #eeeeee; margin-right: 15px; }
.datacheck-input-box p{ font-size: 14px; color: #5f5f5f; }
.datacheck-input-box input { width: 180px; height: 30px; padding: 0 10px; border: 1px solid #eeeeee; margin-top: 13px; color: #5f5f5f; font-size: 14px; line-height: 30px; }
.datacheck-rod-box { display: flex; align-items: center; }
.datacheck-rod-box p { font-size: 14px; color: #5f5f5f; }
.eventattr-add { margin-left: 15px; }
.datacheck-condition-box {display:flex; flex-flow:row wrap; align-items: center; margin-top: 23px; margin-right: 30px; padding: 0 15px 15px 0; background-color: #f7f7f7; }
.datacheck-tab-condition-box { display: flex; align-items: center; }
.datacheck-del { cursor: pointer; border: 1px solid #eeeeee; text-align: center; line-height: 36px; border-left: 0px; width: 37px; height: 36px; }
.datacheck-del:hover { color: #ff5d5d; }
.eventattr-input{ width: 140px; }
.datacheck-tab-condition-box { margin-top: 15px; margin-left: 12px; }
.layui-select-title { width: 146px; }
.baseevent { margin-left: 15px; }
.condition-add { margin-left: 15px; }
.v-input { padding-right: 0px; width: 146px; }
.datacheck-but-box { margin-top: 32px; display: flex; align-items: center; }
.datacheck-but-box div { cursor: pointer; width: 120px; height: 43px; font-size: 14px; line-height: 43px; text-align: center; border-radius: 4px; }
.datacheck-but-cx { background: #1e9fff; color: #fff; }
.datacheck-but-bc {margin-left: 20px; background-color: #e9e9e9; color: #575757; }
.datacheck-but-ck { margin-left: 20px; background-color: #e9e9e9; color: #575757; }
.datacheck-right-box { margin-top: 50px; }
.datacheck-result-info-box { width:400px; height: 600px; background-color: #f7f7f7; }
.datacheck-result-info-title { width: 100%; font-size: 14px; padding: 12px 0; text-align: center; background-color: #f0f0f0; }
.datacheck-result-box { margin-top: 32px; margin-right: 60px; margin-left: 60px; display: flex; justify-content: space-between; align-items: center; }
.datacheck-result-info { overflow-y: auto; padding: 30px; height: 475px; }
.datacheck-result-info p { font-size: 12px; margin-top: 15px; color: #434343; }
.datacheck-result-info-tongguo p span{ color: #63c57a; }
.condition-v-input { width: 146px; }
.condition-input { width: 140px; }
.datacheck_moren-box { width: 600px; height: 400px;}
.datacheck_moren-title { display: flex;justify-content: space-between;align-items: center;padding: 16px 24px;color: #202d3f;font-size: 16px;}
.layui-form-checkbox[lay-skin=primary]{ margin-top: 10px; }
.baseevent-checkbox-box { margin: 30px; }
.baseevent-but-box { display: flex; justify-content: end; align-items: center; margin: 0 30px; }
.baseevent-but-box div { cursor: pointer;width: 40px;height: 30px;line-height: 30px;text-align: center;margin: 0 8px;padding: 0 16px;font-weight: 400;font-size: 14px;text-shadow: none;border-radius: 2px; }
.baseevent-but-qb { border: 1px solid #d9d9d9; color: #42546d; }
.baseevent-but-qx { background: #FF5722; color: #fff; }
.baseevent-but-ok { background: #3d90ff; color: #fff; }
.baseevent-but-qc { background: #FF5722; color: #fff; }
.datacheck_preser-box { width: 500px; height: 230px; }
.datacheck_preser-but-box { width: 100%; display: flex; justify-content: space-evenly; align-items: center; border-radius: 8px; }
.datacheck_preser-but-box div { cursor: pointer;width: 40px;height: 30px;line-height: 30px;text-align: center;margin: 0 8px;padding: 0 16px;font-weight: 400;font-size: 14px;text-shadow: none;border-radius: 2px; }
.datacheck_preser-but-qd { background: #3d90ff; color: #fff; }
.datacheck_preser-but-qx { border: 1px solid #d9d9d9; color: #42546d; }
.datacheck_list-box { width: 300px; }
.save-list-tit-box { padding: 16px; text-align: center; border-bottom: 1px solid #eee;}
.save-list-content-box { height: calc(100% - 110px); overflow-y: auto; }
.save-list { padding: 16px; cursor: pointer; display: flex; justify-content: space-between; align-items: center;}
.save-list:hover { background-color: #f1f8ff; }
.save-list-but-box { width: 100%; display: flex; align-items: center; border-radius: 8px; }
.save-list-but-box div{ cursor: pointer; background-color: #FF5722; color: #fff;width: 100%;height: 45px;line-height: 45px;text-align: center;margin: 0 8px;padding: 0 16px;font-weight: 400;font-size: 14px;text-shadow: none;border-radius: 2px; }
.datacheck-table-box { margin: 40px 60px 40px 106px; overflow-x:auto; }
.btns{
text-align: center;
}
.btns button{
padding: 10px 20px;
}

BIN
web/static/img/tgsj.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 654 B