This commit is contained in:
罗松柏 2021-08-13 20:15:14 +08:00
parent d6dbe82783
commit 67c99f1a4d
13 changed files with 408 additions and 55 deletions

39
web/pages/copyreport.html Normal file
View File

@ -0,0 +1,39 @@
<!-- 复制报表 -->
<div class="copyreport-box">
<div class="yidong-top">
<p>复制报表</p>
<!-- <img src="./static/img/cha.png" class="yidong-cha"/> -->
</div>
<input id="yidongid" style="display: none;">
<div class="copy-name-box">
<div class="copy-title">项目名称</div>
<!-- <input type="text" class="copyname-txt" id="copyname-txt"/> -->
<form class="layui-form" action="" lay-filter="projectlistexample">
<select name="project" lay-verify="required" class="project-list-box" lay-filter="projectlist">
</select>
</form>
</div>
<div class="yidong-tab-box">
<div class="yidong-tab">
<div class="tabdata" id='yidongkanban' >我的看板</div>
<div id='yidongkongjian'>项目空间</div>
</div>
</div>
<div class="yidong-txt-box">
<input type="text" class="justAnotherInputBox1" id="yidongjustAnotherInputBox1" placeholder=""/>
<input type="text" class="justAnotherInputBox2" id="yidongjustAnotherInputBox2" placeholder=""/>
</div>
<div class="yidong-but-box">
<!-- <div class="yidong-qx" >取消</div> -->
<div class="yidong-qd" >确定</div>
</div>
</div>
<script id="project-list-box-dot" type="text/html">
{{# layui.each(d, function(index, item){ }}
<option value="{{item._id}}">{{item.name}}</option>
{{# }); }}
</script>

View File

@ -40,7 +40,7 @@
<a href="javascript:;">用户分析</a>
<dl class="layui-nav-child">
<dd><a class="ajax-content" href="attribute" data-id="conetnt">属性分析</a></dd>
<dd><a href="javascript:void(0);">用户分群</a></dd>
<dd><a class="ajax-content" href="usergroup" data-id="conetnt">用户分群</a></dd>
<dd><a href="javascript:void(0);">用户标签</a></dd>
</dl>
</li>

View File

@ -5,7 +5,7 @@
<!-- <div class="layui-col-md3" id="model{{d.id}}"> -->
<div class="layui-card">
<div class="row-top">
<div class="row-top controlhover">
<div class="row-tit">
<p><a href="javascript:;" class="gobaobiaoinfo" data-id="{{d.id}}">{{d.name}}</a></p>
</div>
@ -14,8 +14,8 @@
<div class="tishi model-gengx" data-id="{{d.id}}" title="更新">
<img src="./static/img/gengxin.png" />
</div>
<div class="tishi" title="探索">
<img src="./static/img/fangda.png" />
<div class="tishi model-fuzhi" title="复制" data-id="{{d.id}}">
<img src="./static/img/fuzhi2.png" />
</div>
<div class="tishi" title="更多">
<img src="./static/img/gengduo.png" />
@ -55,7 +55,7 @@
<!-- <div class="layui-col-md6" style="float: none;"> -->
<div class="layui-card">
<div class="row-top">
<div class="row-top controlhover">
<div class="row-tit">
<p><a href="javascript:;" class="gobaobiaoinfo" data-id="{{d.id}}">{{d.name}}</a></p>
</div>
@ -64,8 +64,8 @@
<div class="tishi model-gengx" data-id="{{d.id}}" title="更新">
<img src="./static/img/gengxin.png" />
</div>
<div class="tishi" title="探索">
<img src="./static/img/fangda.png" />
<div class="tishi model-fuzhi" title="复制" data-id="{{d.id}}">
<img src="./static/img/fuzhi2.png" />
</div>
<div class="tishi" title="更多">
<img src="./static/img/gengduo.png" />
@ -74,7 +74,7 @@
</div>
</div>
<div class="condition-box">
<div class="condition-box controlhover">
<div class="time-cond">
<span>
过去7天
@ -141,7 +141,7 @@
{{# } else { }}
<div class="layui-card">
<div class="row-top">
<div class="row-top controlhover">
<div class="row-tit">
<p><a href="javascript:;" class="gobaobiaoinfo" data-id="{{d.id}}">{{d.name}}</a></p>
<div class="tishi" title="活跃用户可以通过“登录.触发用户数”来进行计算,即有登录行为的用户的去重数.">
@ -153,8 +153,8 @@
<div class="tishi model-gengx" data-id="{{d.id}}" title="更新">
<img src="./static/img/gengxin.png" />
</div>
<div class="tishi" title="探索">
<img src="./static/img/fangda.png" />
<div class="tishi model-fuzhi" title="复制" data-id="{{d.id}}">
<img src="./static/img/fuzhi2.png" />
</div>
<div class="tishi" title="更多">
<img src="./static/img/gengduo.png" />
@ -163,15 +163,15 @@
</div>
</div>
<div class="condition-box">
<div class="time-cond">
<span>过去7天</span>
<div class="xian"></div>
<span>按天</span>
</div>
<div class="chart control" id="chart{{d.id}}" data-modelsize="{{d.modelsize}}" data-modeltype={{d.modeltype}} data-cat="{{d.cat}}" data-name="{{d.name}}" data-id="{{d.id}}">
<img src="./static/img/qvshitu.png" /> <span>趋势图</span>
</div>
<div class="condition-box controlhover">
<div class="time-cond">
<span>过去7天</span>
<div class="xian"></div>
<span>按天</span>
</div>
<div class="chart control" id="chart{{d.id}}" data-modelsize="{{d.modelsize}}" data-modeltype={{d.modeltype}} data-cat="{{d.cat}}" data-name="{{d.name}}" data-id="{{d.id}}">
<img src="./static/img/qvshitu.png" /> <span>趋势图</span>
</div>
</div>
<p class="dqtime">{{d.date}}</p>
<div class="data-box">

View File

@ -46,7 +46,7 @@
<!-- </div> -->
<script type="text/html" id="barDemo">
<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="password">重置密码</a>
<!-- <a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="password">重置密码</a> -->
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
</script>

30
web/pages/usergroup.html Normal file
View File

@ -0,0 +1,30 @@
<!-- 用户分群 -->
<div class="eventattradmin-bg-box">
<div class="eventattradmin-box">
<div class="eventattradmin-top-box">
<div class="eventattradmin-left___y490Q">用户分群 <i class="layui-icon" title="将具有共同特征的用户组建成分群,方便在各种模型中利用分群进行细分筛选分析">&#xe60b;</i> </div>
<div class="eventattradmin-right___1TIt8">
<div class="eventattradmin-search___23TMG">
<i class="layui-icon">&#xe615;</i>
<input type="text" placeholder="请输入搜索" />
<img src="./static/img/cha1.png">
</div>
<div class="eventattradmin-actions___141YT">
<i class="layui-icon">&#xe624;</i>
<span>新建分群</span>
</div>
</div>
</div>
<div class="eventattradmin-table-box">
<table class="layui-hide" id="eventattradmin-table" lay-filter="eventattradmintest"></table>
</div>
</div>
</div>

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

@ -1026,6 +1026,10 @@ var X = window.X || {
ylist.push(arr)
}
console.log(ylist);
if(ylist.length == 0){
layer.msg('暂未选择用户');
return;
}
X.api("authz/add_role_domain","post",{data:ylist},function(d){
console.log(d)
layer.closeAll();
@ -3383,6 +3387,111 @@ var X = window.X || {
}
};
})();
// srczip/logic/copyreport.js
(function(){
X.pageLogic['copyreport'] = {
init : function(parms){
var me = this;
this.parms = parms;
this.callback = parms.callback; //选择后执行的回调
var data = parms.extData;//获取到上层弹窗传的数据
var comboTree1,comboTree2
X.api("project/","get",{},function(d){
X.laytpldata("#project-list-box-dot",d,".project-list-box");
layui.form.render();
comboTree1 = $('.yidong-txt-box .justAnotherInputBox1').comboTree({
source : X.DATA.KanBanData,
isMultiple: false
});
comboTree2 = $('.yidong-txt-box .justAnotherInputBox2').comboTree({
source : X.DATA.ProjectData,
isMultiple: false
});
});
layui.form.on('select(projectlist)', function(data){
console.log(data);
comboTree1.destroy();
comboTree2.destroy();
X.api('project/kanban',"post",{"_id":data.value},function (d){
X.DATA['KanBanData'] = d.kanban;
X.DATA['ProjectData'] = d.spaces;
comboTree1 = $('.yidong-txt-box .justAnotherInputBox1').comboTree({
source : d.kanban,
isMultiple: false
});
comboTree2 = $('.yidong-txt-box .justAnotherInputBox2').comboTree({
source : d.spaces,
isMultiple: false
});
});
});
//叉图标关闭弹窗
$(".yidong-top .yidong-cha").click(function(){
console.log(layer.index)
parent.layer.closeAll(layer.index);
});
//取消按钮
$(".yidong-but-box .yidong-qx").click(function(){
layer.closeAll(layer.index);
});
//我的看板,空间切换实践
$(".yidong-tab-box .yidong-tab div").click(function(){
$(".yidong-tab-box .yidong-tab div").removeClass('tabdata');
$(this).addClass('tabdata');
if($(this).html() == "我的看板"){
$(".yidong-txt-box .justAnotherInputBox1").show();
$(".yidong-txt-box .justAnotherInputBox2").hide();
}else {
$(".yidong-txt-box .justAnotherInputBox1").hide();
$(".yidong-txt-box .justAnotherInputBox2").show();
}
$(".yidong-txt-box .justAnotherInputBox1").val("");
$(".yidong-txt-box .justAnotherInputBox2").val("");
})
//确定按钮
$(".yidong-but-box .yidong-qd").click(function(){
var type ='kanban';
var id = '';//没有默认传看板
if($('#yidongjustAnotherInputBox2').val() != ""){
var Addlocation = $('#yidongjustAnotherInputBox2').val();
type = "space"
}else {
var Addlocation = $('#yidongjustAnotherInputBox1').val();
}
// console.log(Addlocation);
if(Addlocation){
id = X.pageLogic.newkanban.matchingid(Addlocation,type);
}else {
alert('请选择添加的位置');
return;
}
// var source_id = data['mykanban'].concat(data['kongjian']);
var dataArr = {
'source_ids':data,
'dest_pid': id,
'cat':type
};
console.log(dataArr);
X.api('dashboard/move','post',dataArr,function(d){
// if(d.code == "ok"){
X.pageLogic.dashboard.freshMenu(X.DATA.projectid);//刷新侧边栏
X.pageLogic.adminkanban.updata(X.DATA.projectid);//刷新数据
console.log(me.parms.layIndex);
layer.closeAll(0);
// }
})
});
}
};
})();
// srczip/logic/dashboard.js
//cc
(function(){
@ -3650,6 +3759,13 @@ var X = window.X || {
X.DATA[cat+'id'] = id;
});
//复制单个报表
$(document).off('click','.model-fuzhi').on('click','.model-fuzhi',function(e) {
X.parametersopen('','copyreport',"auto",function(d) {
})
})
// 渲染下拉框
$(document).off('click','.nav-action-bar').on('click','.nav-action-bar',function(e){
e.stopPropagation();
@ -3808,18 +3924,18 @@ var X = window.X || {
//画统计图和添加移入移出事件
morefeatures:function(eventdata){
$(".layui-card").mouseenter(function () {
var classname = $(this).attr('class');
if(classname.indexOf("tool-show") == -1){
$(this).addClass('tool-show');
}
});
$(".layui-card").mouseleave(function () {
var classname = $(this).attr('class');
if(classname.indexOf("tool-show") != -1){
$(this).removeClass('tool-show');
}
});
// $(".layui-card").mouseenter(function () {
// var classname = $(this).attr('class');
// if(classname.indexOf("tool-show") == -1){
// $(this).addClass('tool-show');
// }
// });
// $(".layui-card").mouseleave(function () {
// var classname = $(this).attr('class');
// if(classname.indexOf("tool-show") != -1){
// $(this).removeClass('tool-show');
// }
// });
var dropdownlist = [
{title:'表格',id:'table'},
{title:'图形',id:'echarts'}
@ -9467,9 +9583,25 @@ var X = window.X || {
})
}else if(obj.event == "del"){
// 删除
X.parametersopen(data,"deluserinfo",'auto',function(){
me.useradmin()
})
// X.parametersopen(data,"deluserinfo",'auto',function(){
// me.useradmin()
// })
layer.confirm('确认删除吗?该操作不可恢复', {
btn: ['取消','删除 '] //按钮
}, function(){
//取消
layer.close(layer.index);
}, function(){
//删除
X.api("authz/del_role_user_domain",'post',{username:data.name,role_id:data.role_id,game:X.DATA['game']},function(d){
layer.msg('删除成功');
layer.close(layer.index);
me.useradmin();
// X.pageLogic.dashboard.freshMenu(X.DATA.projectid);//刷新侧边栏
// me.updata(X.DATA.projectid);//刷新数据
})
});
}
})
@ -9483,7 +9615,7 @@ var X = window.X || {
,{field:'data_auth', width:180, title: '数据权限'}
,{field:'sign', title: '所属成员组', width: 180}
,{field:'last_login_ts', title: '最后访问时间', sort: true}
,{fixed: 'right', title:'操作', toolbar: '#barDemo', width:200}
,{fixed: 'right', title:'操作', toolbar: '#barDemo', width:80}
]]);
}
@ -9596,6 +9728,16 @@ var X = window.X || {
};
})();
// srczip/logic/usergroup.js
(function(){
X.pageLogic['usergroup'] = {
init : function(parms){
}
};
})();
// srczip/logic/userpar.js
(function(){
X.pageLogic['userpar'] = {

View File

@ -182,6 +182,10 @@
ylist.push(arr)
}
console.log(ylist);
if(ylist.length == 0){
layer.msg('暂未选择用户');
return;
}
X.api("authz/add_role_domain","post",{data:ylist},function(d){
console.log(d)
layer.closeAll();

View File

@ -0,0 +1,104 @@
(function(){
X.pageLogic['copyreport'] = {
init : function(parms){
var me = this;
this.parms = parms;
this.callback = parms.callback; //选择后执行的回调
var data = parms.extData;//获取到上层弹窗传的数据
var comboTree1,comboTree2
X.api("project/","get",{},function(d){
X.laytpldata("#project-list-box-dot",d,".project-list-box");
layui.form.render();
comboTree1 = $('.yidong-txt-box .justAnotherInputBox1').comboTree({
source : X.DATA.KanBanData,
isMultiple: false
});
comboTree2 = $('.yidong-txt-box .justAnotherInputBox2').comboTree({
source : X.DATA.ProjectData,
isMultiple: false
});
});
layui.form.on('select(projectlist)', function(data){
console.log(data);
comboTree1.destroy();
comboTree2.destroy();
X.api('project/kanban',"post",{"_id":data.value},function (d){
X.DATA['KanBanData'] = d.kanban;
X.DATA['ProjectData'] = d.spaces;
comboTree1 = $('.yidong-txt-box .justAnotherInputBox1').comboTree({
source : d.kanban,
isMultiple: false
});
comboTree2 = $('.yidong-txt-box .justAnotherInputBox2').comboTree({
source : d.spaces,
isMultiple: false
});
});
});
//叉图标关闭弹窗
$(".yidong-top .yidong-cha").click(function(){
console.log(layer.index)
parent.layer.closeAll(layer.index);
});
//取消按钮
$(".yidong-but-box .yidong-qx").click(function(){
layer.closeAll(layer.index);
});
//我的看板,空间切换实践
$(".yidong-tab-box .yidong-tab div").click(function(){
$(".yidong-tab-box .yidong-tab div").removeClass('tabdata');
$(this).addClass('tabdata');
if($(this).html() == "我的看板"){
$(".yidong-txt-box .justAnotherInputBox1").show();
$(".yidong-txt-box .justAnotherInputBox2").hide();
}else {
$(".yidong-txt-box .justAnotherInputBox1").hide();
$(".yidong-txt-box .justAnotherInputBox2").show();
}
$(".yidong-txt-box .justAnotherInputBox1").val("");
$(".yidong-txt-box .justAnotherInputBox2").val("");
})
//确定按钮
$(".yidong-but-box .yidong-qd").click(function(){
var type ='kanban';
var id = '';//没有默认传看板
if($('#yidongjustAnotherInputBox2').val() != ""){
var Addlocation = $('#yidongjustAnotherInputBox2').val();
type = "space"
}else {
var Addlocation = $('#yidongjustAnotherInputBox1').val();
}
// console.log(Addlocation);
if(Addlocation){
id = X.pageLogic.newkanban.matchingid(Addlocation,type);
}else {
alert('请选择添加的位置');
return;
}
// var source_id = data['mykanban'].concat(data['kongjian']);
var dataArr = {
'source_ids':data,
'dest_pid': id,
'cat':type
};
console.log(dataArr);
X.api('dashboard/move','post',dataArr,function(d){
// if(d.code == "ok"){
X.pageLogic.dashboard.freshMenu(X.DATA.projectid);//刷新侧边栏
X.pageLogic.adminkanban.updata(X.DATA.projectid);//刷新数据
console.log(me.parms.layIndex);
layer.closeAll(0);
// }
})
});
}
};
})();

View File

@ -264,6 +264,13 @@
X.DATA[cat+'id'] = id;
});
//复制单个报表
$(document).off('click','.model-fuzhi').on('click','.model-fuzhi',function(e) {
X.parametersopen('','copyreport',"auto",function(d) {
})
})
// 渲染下拉框
$(document).off('click','.nav-action-bar').on('click','.nav-action-bar',function(e){
e.stopPropagation();
@ -422,18 +429,18 @@
//画统计图和添加移入移出事件
morefeatures:function(eventdata){
$(".layui-card").mouseenter(function () {
var classname = $(this).attr('class');
if(classname.indexOf("tool-show") == -1){
$(this).addClass('tool-show');
}
});
$(".layui-card").mouseleave(function () {
var classname = $(this).attr('class');
if(classname.indexOf("tool-show") != -1){
$(this).removeClass('tool-show');
}
});
// $(".layui-card").mouseenter(function () {
// var classname = $(this).attr('class');
// if(classname.indexOf("tool-show") == -1){
// $(this).addClass('tool-show');
// }
// });
// $(".layui-card").mouseleave(function () {
// var classname = $(this).attr('class');
// if(classname.indexOf("tool-show") != -1){
// $(this).removeClass('tool-show');
// }
// });
var dropdownlist = [
{title:'表格',id:'table'},
{title:'图形',id:'echarts'}

View File

@ -95,9 +95,25 @@
})
}else if(obj.event == "del"){
// 删除
X.parametersopen(data,"deluserinfo",'auto',function(){
me.useradmin()
})
// X.parametersopen(data,"deluserinfo",'auto',function(){
// me.useradmin()
// })
layer.confirm('确认删除吗?该操作不可恢复', {
btn: ['取消','删除 '] //按钮
}, function(){
//取消
layer.close(layer.index);
}, function(){
//删除
X.api("authz/del_role_user_domain",'post',{username:data.name,role_id:data.role_id,game:X.DATA['game']},function(d){
layer.msg('删除成功');
layer.close(layer.index);
me.useradmin();
// X.pageLogic.dashboard.freshMenu(X.DATA.projectid);//刷新侧边栏
// me.updata(X.DATA.projectid);//刷新数据
})
});
}
})
@ -111,7 +127,7 @@
,{field:'data_auth', width:180, title: '数据权限'}
,{field:'sign', title: '所属成员组', width: 180}
,{field:'last_login_ts', title: '最后访问时间', sort: true}
,{fixed: 'right', title:'操作', toolbar: '#barDemo', width:200}
,{fixed: 'right', title:'操作', toolbar: '#barDemo', width:80}
]]);
}

View File

@ -0,0 +1,9 @@
(function(){
X.pageLogic['usergroup'] = {
init : function(parms){
}
};
})();

View File

@ -21,6 +21,7 @@
.layui-form-item .layui-form-checkbox[lay-skin=primary] { text-indent: 0px !important; }
.layui-anim-downbit { max-height: 350px; overflow-y: auto; overflow-x: hidden; }
/* .layui-nav .layui-nav-child dd.layui-this a, .layui-nav-child dd.layui-this { background-color: #f6f8fa !important; } */
.controlhover:hover > .control { display: block; }
.username { color: #67729d; margin-right: 16px; }
.layui-project { position:absolute; top: 0; left: 80px; ;}
@ -83,7 +84,7 @@
.echarts-box { padding: 0 24px; margin-top: 10px; height: 204px; }
.layui-card:last-child { padding-bottom: 12px; }
.echarts { width: 100%; height: 204px; }
.control { display: none; }
.control { height: 21px; display: none; }
.tool-show .control { display: block; }
.table-box { margin: 10px 24px 0 24px; height: 283px; overflow-x: auto; }
@ -190,6 +191,7 @@ input::-webkit-input-placeholder{ color:#a7b5c3;}
/* 移动看板 */
.yidong-bg { display: none; background-color: rgba(0, 0, 0, 0.3); width: 100%; height: 100%; position: fixed; top: 0; z-index: 9999; }
.yidong-box { width: 396px; height: 242px; background-color: #ffffff; border-radius: 2px; }
.copyreport-box { width: 396px; height: 300px; background-color: #ffffff; border-radius: 2px; }
.yidong-top { display: flex; justify-content: space-between; align-items: center; padding: 16px 24px; color: #202d3f; font-size: 16px; }
.yidong-top img { cursor: pointer; }
.yidong-txt-box { height: 32px; padding: 10px 28px; position: fixed; width: 345px; }

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 214 B