From fb3b89200d087b37a2520470ca889ccc15c5e016 Mon Sep 17 00:00:00 2001
From: luosongbai <15272473386@163.com>
Date: Tue, 28 Sep 2021 11:17:59 +0800
Subject: [PATCH] 1
---
web/pages/dashboard.html | 2 +-
web/pages/datacheck.html | 227 +++++++++
web/pages/datacheck_list.html | 18 +
web/pages/datacheck_moren.html | 23 +
web/pages/datacheck_preser.html | 16 +
web/pages/modeltable.html | 99 +++-
web/pages/usergroup.html | 15 +
web/src/x.min.js | 658 ++++++++++++++++++++++++++-
web/srczip/logic/dashboard.js | 2 +
web/srczip/logic/datacheck.js | 267 +++++++++++
web/srczip/logic/datacheck_list.js | 83 ++++
web/srczip/logic/datacheck_moren.js | 136 ++++++
web/srczip/logic/datacheck_preser.js | 53 +++
web/srczip/logic/usergroup.js | 109 ++++-
web/static/css/fixed-table.css | 197 ++++++++
web/static/css/style.css | 122 +++--
web/static/img/tgsj.png | Bin 0 -> 654 bytes
17 files changed, 1978 insertions(+), 49 deletions(-)
create mode 100644 web/pages/datacheck.html
create mode 100644 web/pages/datacheck_list.html
create mode 100644 web/pages/datacheck_moren.html
create mode 100644 web/pages/datacheck_preser.html
create mode 100644 web/srczip/logic/datacheck.js
create mode 100644 web/srczip/logic/datacheck_list.js
create mode 100644 web/srczip/logic/datacheck_moren.js
create mode 100644 web/srczip/logic/datacheck_preser.js
create mode 100644 web/static/css/fixed-table.css
create mode 100644 web/static/img/tgsj.png
diff --git a/web/pages/dashboard.html b/web/pages/dashboard.html
index 6cadf45..233ec7b 100644
--- a/web/pages/dashboard.html
+++ b/web/pages/dashboard.html
@@ -50,7 +50,7 @@
事件管理
事件属性管理
用户属性管理
- 预警管理
+ 埋点数据检查
diff --git a/web/pages/datacheck.html b/web/pages/datacheck.html
new file mode 100644
index 0000000..7d97ebf
--- /dev/null
+++ b/web/pages/datacheck.html
@@ -0,0 +1,227 @@
+
+
+
+
+
+
+
埋点数据检查
+
+
+
+
+
+
+
+
+ 1111 |
+
+
+
+
+ 21524 |
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/web/pages/datacheck_list.html b/web/pages/datacheck_list.html
new file mode 100644
index 0000000..8b206bd
--- /dev/null
+++ b/web/pages/datacheck_list.html
@@ -0,0 +1,18 @@
+
+
\ No newline at end of file
diff --git a/web/pages/datacheck_moren.html b/web/pages/datacheck_moren.html
new file mode 100644
index 0000000..e6ec6f3
--- /dev/null
+++ b/web/pages/datacheck_moren.html
@@ -0,0 +1,23 @@
+
+
\ No newline at end of file
diff --git a/web/pages/datacheck_preser.html b/web/pages/datacheck_preser.html
new file mode 100644
index 0000000..f1b3efa
--- /dev/null
+++ b/web/pages/datacheck_preser.html
@@ -0,0 +1,16 @@
+
\ No newline at end of file
diff --git a/web/pages/modeltable.html b/web/pages/modeltable.html
index dcf749f..231fe36 100644
--- a/web/pages/modeltable.html
+++ b/web/pages/modeltable.html
@@ -34,13 +34,102 @@
+
+
+
-
- {{# layui.each(d.titledata, function(indexs, items) { }}
-
- {{# }); }}
-
{{# layui.each(d.titledata, function(indexs, items) { }}
{{items}} |
diff --git a/web/pages/usergroup.html b/web/pages/usergroup.html
index 78d4dd4..381227b 100644
--- a/web/pages/usergroup.html
+++ b/web/pages/usergroup.html
@@ -597,6 +597,21 @@
+
+
diff --git a/web/src/x.min.js b/web/src/x.min.js
index 06ebcdd..b570460 100644
--- a/web/src/x.min.js
+++ b/web/src/x.min.js
@@ -116,9 +116,9 @@ var X = window.X || {
(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/";
@@ -4112,6 +4112,7 @@ var X = window.X || {
(function(){
X.pageLogic['dashboard'] = {
init :function(){
+
var me = this;
var popid='';
@@ -4131,6 +4132,7 @@ var X = window.X || {
$(document).off('click','.sifnoutlogin').on('click','.sifnoutlogin',function(){
window.localStorage.removeItem('loginData');
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
(function(){
X.pageLogic['datarights'] = {
@@ -11492,7 +12037,114 @@ var X = window.X || {
X.pageLogic['usergroup'] = {
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
"
+ // });
+
+ // fixedTable.addRow(function (){
+ // var html = '';
+ // for(var i = 0; i < 5; i ++){
+ // html += '';
+ // html += ' 2016-05-03 | ';
+ // html += ' 王小虎' + i + ' | ';
+ // html += ' 上海' + i + ' | ';
+ // html += ' 普陀区' + i + ' | ';
+ // html += ' 上海市普' + i + ' | ';
+ // html += ' 200333' + i + ' | ';
+ // html += ' 200333' + i + ' | ';
+ // html += ' 200333' + i + ' | ';
+ // html += ' 200333' + i + ' | ';
+ // html += '
';
+ // }
+ // return html;
+ // });
+
+ // fixedTable.addRow(function (){
+ // var html = '';
+ // for(var i = 0; i < 5; i ++){
+ // html += '';
+ // html += ' 2016-05-03 | ';
+ // html += ' 王小虎' + i + '-a | ';
+ // html += ' 上海' + i + '-a | ';
+ // html += ' 普陀区' + i + '-a | ';
+ // html += ' 上海市' + i + ' | ';
+ // html += ' 200333' + i + '-a | ';
+ // html += ' 200333' + i + ' | ';
+ // html += ' 200333' + i + ' | ';
+ // html += ' 200333' + i + ' | ';
+ // html += '
';
+ // }
+ // return html;
+ // });
+
+ // fixedTable.addRow(function (){
+ // var html = '';
+ // for(var i = 0; i < 5; i ++){
+ // html += '';
+ // html += ' 2016-05-03 | ';
+ // html += ' 王小虎' + i + '-b | ';
+ // html += ' 上海' + i + '-b | ';
+ // html += ' 普陀区' + i + '-b | ';
+ // html += ' 上海' + i + ' | ';
+ // html += ' 200333' + i + '-b | ';
+ // html += ' 200333' + i + ' | ';
+ // html += ' 200333' + i + ' | ';
+ // html += ' 200333' + i + ' | ';
+ // html += '
';
+ // }
+ // return html;
+ // });
}
};
diff --git a/web/srczip/logic/dashboard.js b/web/srczip/logic/dashboard.js
index 263451f..31c692d 100644
--- a/web/srczip/logic/dashboard.js
+++ b/web/srczip/logic/dashboard.js
@@ -2,6 +2,7 @@
(function(){
X.pageLogic['dashboard'] = {
init :function(){
+
var me = this;
var popid='';
@@ -21,6 +22,7 @@
$(document).off('click','.sifnoutlogin').on('click','.sifnoutlogin',function(){
window.localStorage.removeItem('loginData');
X.gourl("login");
+ location.reload();
});
// 项目列表
diff --git a/web/srczip/logic/datacheck.js b/web/srczip/logic/datacheck.js
new file mode 100644
index 0000000..ebc433b
--- /dev/null
+++ b/web/srczip/logic/datacheck.js
@@ -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]);
+ }
+ })
+ });
+
+ }
+ };
+})();
\ No newline at end of file
diff --git a/web/srczip/logic/datacheck_list.js b/web/srczip/logic/datacheck_list.js
new file mode 100644
index 0000000..b7e1ae0
--- /dev/null
+++ b/web/srczip/logic/datacheck_list.js
@@ -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();
+ });
+
+ }
+ };
+})();
\ No newline at end of file
diff --git a/web/srczip/logic/datacheck_moren.js b/web/srczip/logic/datacheck_moren.js
new file mode 100644
index 0000000..c49eaa2
--- /dev/null
+++ b/web/srczip/logic/datacheck_moren.js
@@ -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 );
+ });
+
+
+
+ }
+ };
+})();
\ No newline at end of file
diff --git a/web/srczip/logic/datacheck_preser.js b/web/srczip/logic/datacheck_preser.js
new file mode 100644
index 0000000..4273ac6
--- /dev/null
+++ b/web/srczip/logic/datacheck_preser.js
@@ -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();
+ });
+ }
+ };
+})();
\ No newline at end of file
diff --git a/web/srczip/logic/usergroup.js b/web/srczip/logic/usergroup.js
index f64bb74..25aa4e1 100644
--- a/web/srczip/logic/usergroup.js
+++ b/web/srczip/logic/usergroup.js
@@ -2,7 +2,114 @@
X.pageLogic['usergroup'] = {
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
"
+ // });
+
+ // fixedTable.addRow(function (){
+ // var html = '';
+ // for(var i = 0; i < 5; i ++){
+ // html += '';
+ // html += ' 2016-05-03 | ';
+ // html += ' 王小虎' + i + ' | ';
+ // html += ' 上海' + i + ' | ';
+ // html += ' 普陀区' + i + ' | ';
+ // html += ' 上海市普' + i + ' | ';
+ // html += ' 200333' + i + ' | ';
+ // html += ' 200333' + i + ' | ';
+ // html += ' 200333' + i + ' | ';
+ // html += ' 200333' + i + ' | ';
+ // html += '
';
+ // }
+ // return html;
+ // });
+
+ // fixedTable.addRow(function (){
+ // var html = '';
+ // for(var i = 0; i < 5; i ++){
+ // html += '';
+ // html += ' 2016-05-03 | ';
+ // html += ' 王小虎' + i + '-a | ';
+ // html += ' 上海' + i + '-a | ';
+ // html += ' 普陀区' + i + '-a | ';
+ // html += ' 上海市' + i + ' | ';
+ // html += ' 200333' + i + '-a | ';
+ // html += ' 200333' + i + ' | ';
+ // html += ' 200333' + i + ' | ';
+ // html += ' 200333' + i + ' | ';
+ // html += '
';
+ // }
+ // return html;
+ // });
+
+ // fixedTable.addRow(function (){
+ // var html = '';
+ // for(var i = 0; i < 5; i ++){
+ // html += '';
+ // html += ' 2016-05-03 | ';
+ // html += ' 王小虎' + i + '-b | ';
+ // html += ' 上海' + i + '-b | ';
+ // html += ' 普陀区' + i + '-b | ';
+ // html += ' 上海' + i + ' | ';
+ // html += ' 200333' + i + '-b | ';
+ // html += ' 200333' + i + ' | ';
+ // html += ' 200333' + i + ' | ';
+ // html += ' 200333' + i + ' | ';
+ // html += '
';
+ // }
+ // return html;
+ // });
}
};
diff --git a/web/static/css/fixed-table.css b/web/static/css/fixed-table.css
new file mode 100644
index 0000000..4c86b57
--- /dev/null
+++ b/web/static/css/fixed-table.css
@@ -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 */
diff --git a/web/static/css/style.css b/web/static/css/style.css
index b457ccf..86b7b0c 100644
--- a/web/static/css/style.css
+++ b/web/static/css/style.css
@@ -169,8 +169,8 @@
.control { height: 21px; display: block; }
.tool-show .control { display: block; }
-.table-box { margin: 10px 24px 0 24px; height: 283px; overflow-x: auto; overflow-y: hidden; }
-.table-tbody-box { height: 283px; overflow-x: auto; overflow-y: auto; }
+.table-box { margin: 10px 24px 0 24px; height: 290px; overflow-x: auto; overflow-y: hidden; }
+.table-tbody-box { height: 290px; overflow-x: auto; overflow-y: hidden; }
.table-thead { }
.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-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;
-}
-
-.test-fixedTable .fixed-table_body-wraper{
- width: 100%;
-}
-
-.w-150{
- width: 150px;
-}
-.w-120{
- width: 120px;
-}
-.w-300{
- width: 300px;
-}
-.w-100{
- width: 100px;
-}
+.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;}
+.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; }
+.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;
-}
\ No newline at end of file
diff --git a/web/static/img/tgsj.png b/web/static/img/tgsj.png
new file mode 100644
index 0000000000000000000000000000000000000000..eb7aefe9b30acfb3de6aaa22df7a791aa9bd02d8
GIT binary patch
literal 654
zcmV;90&)F`P)PirT
zNYRDjqLRDl3-N1V7gW#!O$8MZKgio+=Dj|?yw8n1oBzz2ng9RHIdi5}Rn-FQ!CbU4
z?8R&h?%>;q__E_{RaJEn^Inj&$reY%AUWdM#W{dWcx?1r^kHn5Zx~Oo3+pi-BLa^K
zUckNo8)`(1j8jUt%kWXh*T&PXGw1M9178d4%AQ^}x8TSP+qK1q1?P_zF{X^NwjXcQ
zdFujGaSe+w4*zr=Zk5Q+H?c>=Ask96z1mCQm4d&I5@EN!o>F>GzV%qSj^9PZtI75uog$l
z`nHtPE^?#Y!$eHRU7V5M`mmh$i@5pNY$5{BcC=uPdjNR^eEg_SXgGVW=S;b=!^4
zuvbpg3|z&Ph?rGGDg;i~Q`C8;3-K=IGzcs&_;tZPT*u6m(t+aJA@^5*UEq4b)A$8H
zHwa8C_y@M*u$)TRkW$(f5l`@d=b!1z@;`JI6Yy(;z!2V+Yc?Hkb*)dT@oCFVMJ_PB
z(?Hy@!$sgAR$~iZ>u^NG-zlYUED_!*{;g5}
z?T}L1gq>yjW~-{I<5>A0QFrY9a)XsPUh|(UK`rwvBO4>)KpP*)RiEQov3gk>AIfk1
ogxvAFu>dP-`!3;&h&TfO0!MF{8wb&b$N&HU07*qoM6N<$g2@>{KL7v#
literal 0
HcmV?d00001