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) { }} 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 @@
{{items}}
+
+
+ + + + +
+
+
+ + +
+
+
+
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 0000000..eb7aefe Binary files /dev/null and b/web/static/img/tgsj.png differ