修改筛选项中多选修改

This commit is contained in:
罗松柏 2022-01-26 17:45:13 +08:00
parent dd54bc0d76
commit 9b9d20a1f9
7 changed files with 251 additions and 22 deletions

View File

@ -41,7 +41,7 @@
<a href="javascript:;">用户分析</a> <a href="javascript:;">用户分析</a>
<dl class="layui-nav-child"> <dl class="layui-nav-child">
<dd><a class="ajax-content" href="attribute" data-id="conetnt">属性分析</a></dd> <dd><a class="ajax-content" href="attribute" data-id="conetnt">属性分析</a></dd>
<dd><a class="ajax-content" href="usergroup" data-id="conetnt">用户分群</a></dd> <!-- <dd><a class="ajax-content" href="usergroup" data-id="conetnt">用户分群</a></dd> -->
<dd><a class="ajax-content" href="userlabel" data-id="conetnt">用户标签</a></dd> <dd><a class="ajax-content" href="userlabel" data-id="conetnt">用户标签</a></dd>
</dl> </dl>
</li> </li>
@ -67,7 +67,7 @@
<a href="javascript:;">设置</a> <a href="javascript:;">设置</a>
<dl class="layui-nav-child"> <dl class="layui-nav-child">
<dd><a class="ajax-content" href="personalsettings" data-id="conetnt">个人设置</a></dd> <dd><a class="ajax-content" href="personalsettings" data-id="conetnt">个人设置</a></dd>
<dd><a class="ajax-content" href="projectinfo" data-id="conetnt">项目管理</a></dd> <dd><a class="ajax-content projectinfo" href="projectinfo" data-id="conetnt">项目管理</a></dd>
<dd><a href="javascript:void(0);" class="addproduct">添加项目</a></dd> <dd><a href="javascript:void(0);" class="addproduct">添加项目</a></dd>
<!-- <dd><a class="ajax-content" href="addproject_owner_name_list" data-id="conetnt">渠道添加</a></dd> --> <!-- <dd><a class="ajax-content" href="addproject_owner_name_list" data-id="conetnt">渠道添加</a></dd> -->
<dd><a href="javascript:void(0);" class="sifnoutlogin">退出登录</a></dd> <dd><a href="javascript:void(0);" class="sifnoutlogin">退出登录</a></dd>

View File

@ -0,0 +1,18 @@
<!-- 下拉列表 -->
<div class="dropdownlist-box">
<!-- <input type="text" class="dropdownlist-input" placeholder="请输入搜索条件"> -->
<div class="dropdownlist-con-box" style="max-height: 308px; overflow-y: auto;">
</div>
<div class="dropdownlist-but-box">
<div class="dropdownlist-but-qx">取消</div>
<div class="dropdownlist-but-qd">确定</div>
</div>
</div>
<script id="dropdownlist-con-box-dot" type="text/html">
{{# layui.each(d, function(index, item){ }}
<div class="dropdownlist-list" data-index="{{index}}" data-id="{{item.id}}" data-title="{{item.title}}"> {{item.title}}</div>
{{# }); }}
</script>

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

@ -5932,6 +5932,10 @@ var X = window.X || {
var userinfo = localStorage.getItem('loginData'); var userinfo = localStorage.getItem('loginData');
if(userinfo){ if(userinfo){
X.DATA["userinfo"] = JSON.parse(userinfo); X.DATA["userinfo"] = JSON.parse(userinfo);
if(X.DATA["userinfo"]['name'] != 'root' ){
$(".projectinfo").hide();
$(".addproduct").hide();
}
}else { }else {
layer.msg('登录过期请重新登录!!!'); layer.msg('登录过期请重新登录!!!');
X.gourl("login"); X.gourl("login");
@ -6281,9 +6285,9 @@ var X = window.X || {
}); });
// 用户搜索 // 用户搜索
$("#search").click(function(){ $(document).off('click','#search').on("click","#search",function(){
layer.msg('该功能暂未开放'); // layer.msg('该功能暂未开放');
return; // return;
X.open({ X.open({
type: 1, type: 1,
title: false, title: false,
@ -8665,6 +8669,101 @@ var X = window.X || {
}; };
})(); })();
// srczip/logic/dropdownlist3.js
(function(){
X.pageLogic['dropdownlist3'] = {
init : function(parms){
var me = this;
this.parms = parms;
this.callback = parms.callback;
var listdata = parms.extData.data;
var comparator = parms.extData.comparator;
// console.log('aaa',listdata);
X.laytpldata("#dropdownlist-con-box-dot",listdata,".dropdownlist-con-box");
// $(document).off("bind",'.dropdownlist-input').on("bind",".dropdownlist-input",function(){
// var title = $(this).val();
// console.log(title);
// });
$('.dropdownlist-input').bind('input propertychange', function() {
var title = $(this).val();
if(title != ""){
var filteringdata = [];
for(let i in listdata){
if(listdata[i]['title'].indexOf(title) != -1 || listdata[i]['id'].indexOf(title) != -1){
filteringdata.push(listdata[i]);
}
}
// console.log(filteringdata);
X.laytpldata("#dropdownlist-con-box-dot",filteringdata,".dropdownlist-con-box");
}else{
X.laytpldata("#dropdownlist-con-box-dot",listdata,".dropdownlist-con-box");
}
})
var dataArr=[];
$(document).off('click','.dropdownlist-list').on('click','.dropdownlist-list',function(){
var index = $(this).attr("data-index");
var id = $(this).attr("data-id");
var title = $(this).attr("data-title");
var type = 0;
if(comparator == 'in'){
for(let i in dataArr){
if(dataArr[i]['id'] == id){
type = 1;
dataArr.splice(i,1)
break;
}else {
type = 0;
}
}
if(type == 0 ){
$(this).addClass("dropdownlist-list-on");
for(let i in listdata){
if(listdata[i]['id'] == id && title == listdata[i]['title']){
dataArr.push(listdata[i]);
}
};
}else {
$(this).removeClass("dropdownlist-list-on");
}
}else{
$(".dropdownlist-list").removeClass("dropdownlist-list-on");
$(this).addClass("dropdownlist-list-on");
for(let i in listdata){
if(listdata[i]['id'] == id && title == listdata[i]['title']){
dataArr[0]=listdata[i];
}
};
}
});
$(document).off('click','.dropdownlist-but-qd').on('click','.dropdownlist-but-qd',function(){
var strftv='',ftv='';
for(let i in dataArr){
strftv += (i==0) ? dataArr[i]['title']:','+dataArr[i]['title'];
ftv+= (i==0) ? dataArr[i]['id']:','+dataArr[i]['id'];
}
var arr ={
'title':strftv,
'id':ftv
}
me.callback && me.callback(arr);
layer.close( me.parms.layIndex );
});
$(document).off('click','.dropdownlist-but-qx').on('click','.dropdownlist-but-qx',function(){
layer.close( me.parms.layIndex );
});
}
};
})();
// srczip/logic/event.js // srczip/logic/event.js
(function(){ (function(){
X.pageLogic['event'] = { X.pageLogic['event'] = {
@ -13566,23 +13665,29 @@ var X = window.X || {
$(document).off("click",'.right-box').on("click",'.right-box',function(){ $(document).off("click",'.right-box').on("click",'.right-box',function(){
var obj = $(this); var obj = $(this);
var index = obj.attr("data-index"); var index = obj.attr("data-index");
var comparator = obj.attr("data-comparator"); var comparator = obj.attr("data-comparator");//选择多选时才能多选
var offset = obj.offset(); var offset = obj.offset();
var columnName = data['filts'][index]['columnName']; var columnName = data['filts'][index]['columnName'];
X.api("data_mana/select_attr","post",{attr_name:columnName},function(val){ X.api("data_mana/select_attr","post",{attr_name:columnName},function(val){
var darr = {
comparator:comparator,
data: val['map_']
}
if(val != "查无数据"){ if(val != "查无数据"){
X.parametersopen(val['map_'],'dropdownlist',[offset.top+obj.height(),offset.left],function(val){ X.parametersopen(darr,'dropdownlist3',[offset.top+obj.height(),offset.left],function(val){
if(comparator == "in"){ if(comparator == "in"){
if(data['filts'][index]['strftv'] == "" ){ if(data['filts'][index]['strftv'] == "" ){
var strftv = val.title; var strftv = val.title;
var ftv = val.id; var ftv = val.id;
}else { }else {
var strftv = data['filts'][index]['strftv'] + "," + val.title; var strftv = val.title;
var ftv = data['filts'][index]['ftv'] + "," + val.id; var ftv = val.id;
} }
data['filts'][index]['strftv'] = strftv; data['filts'][index]['strftv'] = strftv;
console.log(ftv);
var valarr = ftv.split(","); var valarr = ftv.split(",");
data['filts'][index]['ftv']=valarr; data['filts'][index]['ftv']=valarr;
}else { }else {
data['filts'][index]['strftv'] = val.title; data['filts'][index]['strftv'] = val.title;
var arr = []; var arr = [];
@ -13590,14 +13695,13 @@ var X = window.X || {
data['filts'][index]['ftv'] = arr; data['filts'][index]['ftv'] = arr;
} }
X.laytpldata("#screen-con-box-dot",data['filts'],".screen-con-box",function(){ X.laytpldata("#screen-con-box-dot",data['filts'],".screen-con-box",function(){
renderdate(); renderdate();
}); });
}) })
} }
}) })
console.log(data['filts'][index]['columnName']) // console.log(data['filts'][index]['columnName'])
}); });
//文本框条件输入触发事件 //文本框条件输入触发事件

View File

@ -12,6 +12,10 @@
var userinfo = localStorage.getItem('loginData'); var userinfo = localStorage.getItem('loginData');
if(userinfo){ if(userinfo){
X.DATA["userinfo"] = JSON.parse(userinfo); X.DATA["userinfo"] = JSON.parse(userinfo);
if(X.DATA["userinfo"]['name'] != 'root' ){
$(".projectinfo").hide();
$(".addproduct").hide();
}
}else { }else {
layer.msg('登录过期请重新登录!!!'); layer.msg('登录过期请重新登录!!!');
X.gourl("login"); X.gourl("login");
@ -361,9 +365,9 @@
}); });
// 用户搜索 // 用户搜索
$("#search").click(function(){ $(document).off('click','#search').on("click","#search",function(){
layer.msg('该功能暂未开放'); // layer.msg('该功能暂未开放');
return; // return;
X.open({ X.open({
type: 1, type: 1,
title: false, title: false,

View File

@ -0,0 +1,93 @@
(function(){
X.pageLogic['dropdownlist3'] = {
init : function(parms){
var me = this;
this.parms = parms;
this.callback = parms.callback;
var listdata = parms.extData.data;
var comparator = parms.extData.comparator;
// console.log('aaa',listdata);
X.laytpldata("#dropdownlist-con-box-dot",listdata,".dropdownlist-con-box");
// $(document).off("bind",'.dropdownlist-input').on("bind",".dropdownlist-input",function(){
// var title = $(this).val();
// console.log(title);
// });
$('.dropdownlist-input').bind('input propertychange', function() {
var title = $(this).val();
if(title != ""){
var filteringdata = [];
for(let i in listdata){
if(listdata[i]['title'].indexOf(title) != -1 || listdata[i]['id'].indexOf(title) != -1){
filteringdata.push(listdata[i]);
}
}
// console.log(filteringdata);
X.laytpldata("#dropdownlist-con-box-dot",filteringdata,".dropdownlist-con-box");
}else{
X.laytpldata("#dropdownlist-con-box-dot",listdata,".dropdownlist-con-box");
}
})
var dataArr=[];
$(document).off('click','.dropdownlist-list').on('click','.dropdownlist-list',function(){
var index = $(this).attr("data-index");
var id = $(this).attr("data-id");
var title = $(this).attr("data-title");
var type = 0;
if(comparator == 'in'){
for(let i in dataArr){
if(dataArr[i]['id'] == id){
type = 1;
dataArr.splice(i,1)
break;
}else {
type = 0;
}
}
if(type == 0 ){
$(this).addClass("dropdownlist-list-on");
for(let i in listdata){
if(listdata[i]['id'] == id && title == listdata[i]['title']){
dataArr.push(listdata[i]);
}
};
}else {
$(this).removeClass("dropdownlist-list-on");
}
}else{
$(".dropdownlist-list").removeClass("dropdownlist-list-on");
$(this).addClass("dropdownlist-list-on");
for(let i in listdata){
if(listdata[i]['id'] == id && title == listdata[i]['title']){
dataArr[0]=listdata[i];
}
};
}
});
$(document).off('click','.dropdownlist-but-qd').on('click','.dropdownlist-but-qd',function(){
var strftv='',ftv='';
for(let i in dataArr){
strftv += (i==0) ? dataArr[i]['title']:','+dataArr[i]['title'];
ftv+= (i==0) ? dataArr[i]['id']:','+dataArr[i]['id'];
}
var arr ={
'title':strftv,
'id':ftv
}
me.callback && me.callback(arr);
layer.close( me.parms.layIndex );
});
$(document).off('click','.dropdownlist-but-qx').on('click','.dropdownlist-but-qx',function(){
layer.close( me.parms.layIndex );
});
}
};
})();

View File

@ -165,23 +165,29 @@
$(document).off("click",'.right-box').on("click",'.right-box',function(){ $(document).off("click",'.right-box').on("click",'.right-box',function(){
var obj = $(this); var obj = $(this);
var index = obj.attr("data-index"); var index = obj.attr("data-index");
var comparator = obj.attr("data-comparator"); var comparator = obj.attr("data-comparator");//选择多选时才能多选
var offset = obj.offset(); var offset = obj.offset();
var columnName = data['filts'][index]['columnName']; var columnName = data['filts'][index]['columnName'];
X.api("data_mana/select_attr","post",{attr_name:columnName},function(val){ X.api("data_mana/select_attr","post",{attr_name:columnName},function(val){
var darr = {
comparator:comparator,
data: val['map_']
}
if(val != "查无数据"){ if(val != "查无数据"){
X.parametersopen(val['map_'],'dropdownlist',[offset.top+obj.height(),offset.left],function(val){ X.parametersopen(darr,'dropdownlist3',[offset.top+obj.height(),offset.left],function(val){
if(comparator == "in"){ if(comparator == "in"){
if(data['filts'][index]['strftv'] == "" ){ if(data['filts'][index]['strftv'] == "" ){
var strftv = val.title; var strftv = val.title;
var ftv = val.id; var ftv = val.id;
}else { }else {
var strftv = data['filts'][index]['strftv'] + "," + val.title; var strftv = val.title;
var ftv = data['filts'][index]['ftv'] + "," + val.id; var ftv = val.id;
} }
data['filts'][index]['strftv'] = strftv; data['filts'][index]['strftv'] = strftv;
console.log(ftv);
var valarr = ftv.split(","); var valarr = ftv.split(",");
data['filts'][index]['ftv']=valarr; data['filts'][index]['ftv']=valarr;
}else { }else {
data['filts'][index]['strftv'] = val.title; data['filts'][index]['strftv'] = val.title;
var arr = []; var arr = [];
@ -189,14 +195,13 @@
data['filts'][index]['ftv'] = arr; data['filts'][index]['ftv'] = arr;
} }
X.laytpldata("#screen-con-box-dot",data['filts'],".screen-con-box",function(){ X.laytpldata("#screen-con-box-dot",data['filts'],".screen-con-box",function(){
renderdate(); renderdate();
}); });
}) })
} }
}) })
console.log(data['filts'][index]['columnName']) // console.log(data['filts'][index]['columnName'])
}); });
//文本框条件输入触发事件 //文本框条件输入触发事件

View File

@ -199,10 +199,15 @@
.analysis-calculation { color: #fff; background-color: #3d90ff; } .analysis-calculation { color: #fff; background-color: #3d90ff; }
.dropdownlist-box { width: 200px; max-height: 350px; background-color: #fff; } .dropdownlist-box { width: 200px; max-height: 350px; background-color: #fff; }
.dropdownlist-list { cursor: pointer; margin: 1px 0; padding: 8px 15px; font-size: 14px; color: rgba(0, 0, 0, 0.8); } .dropdownlist-list { cursor: pointer; margin: 0px 0; padding: 8px 15px; font-size: 14px; color: rgba(0, 0, 0, 0.8); }
.dropdownlist-list:hover { background-color: #f6f8fa; } .dropdownlist-list:hover { background-color: #f6f8fa; color: rgba(0, 0, 0, 0.8) !important;}
.dropdownlist-input { width: 170px; padding: 15px; border: 0; } .dropdownlist-input { width: 170px; padding: 15px; border: 0; }
.dropdownlist-list-on { background-color: #3d90ff; color: #fff !important;}
.dropdownlist-but-box { border-top: 1px solid #f0f0f0; display: flex; height: 26px; justify-content: right; align-items: center; margin: 0px 8px 0 8px; font-size: 16px; color: #67729d; padding: 8px; }
.dropdownlist-but-box div { padding: 0 8px; cursor: pointer; }
.dropdownlist-but-box .dropdownlist-but-qx { color: #ff5d5d !important; }
/* 分组项弹窗 */ /* 分组项弹窗 */
.groupeditemspop-box { width: 364px; height: 270px; background-color: #fff; } .groupeditemspop-box { width: 364px; height: 270px; background-color: #fff; }
.groupeditemspop-con-box { padding: 4px; } .groupeditemspop-con-box { padding: 4px; }