From 9b9d20a1f9d4b090f0a3d1efeaee6373272d327a Mon Sep 17 00:00:00 2001 From: luosongbai <15272473386@163.com> Date: Wed, 26 Jan 2022 17:45:13 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=AD=9B=E9=80=89=E9=A1=B9?= =?UTF-8?q?=E4=B8=AD=E5=A4=9A=E9=80=89=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/pages/dashboard.html | 4 +- web/pages/dropdownlist3.html | 18 +++++ web/src/x.min.js | 122 +++++++++++++++++++++++++++--- web/srczip/logic/dashboard.js | 10 ++- web/srczip/logic/dropdownlist3.js | 93 +++++++++++++++++++++++ web/srczip/logic/screen.js | 17 +++-- web/static/css/analysis.css | 9 ++- 7 files changed, 251 insertions(+), 22 deletions(-) create mode 100644 web/pages/dropdownlist3.html create mode 100644 web/srczip/logic/dropdownlist3.js diff --git a/web/pages/dashboard.html b/web/pages/dashboard.html index de42a16..aa6de46 100644 --- a/web/pages/dashboard.html +++ b/web/pages/dashboard.html @@ -41,7 +41,7 @@ 用户分析
属性分析
-
用户分群
+
用户标签
@@ -67,7 +67,7 @@ 设置
个人设置
-
项目管理
+
项目管理
添加项目
退出登录
diff --git a/web/pages/dropdownlist3.html b/web/pages/dropdownlist3.html new file mode 100644 index 0000000..551c744 --- /dev/null +++ b/web/pages/dropdownlist3.html @@ -0,0 +1,18 @@ + + + + diff --git a/web/src/x.min.js b/web/src/x.min.js index 29959aa..6c7966c 100644 --- a/web/src/x.min.js +++ b/web/src/x.min.js @@ -5932,6 +5932,10 @@ var X = window.X || { var userinfo = localStorage.getItem('loginData'); if(userinfo){ X.DATA["userinfo"] = JSON.parse(userinfo); + if(X.DATA["userinfo"]['name'] != 'root' ){ + $(".projectinfo").hide(); + $(".addproduct").hide(); + } }else { layer.msg('登录过期请重新登录!!!'); X.gourl("login"); @@ -6281,9 +6285,9 @@ var X = window.X || { }); // 用户搜索 - $("#search").click(function(){ - layer.msg('该功能暂未开放'); - return; + $(document).off('click','#search').on("click","#search",function(){ + // layer.msg('该功能暂未开放'); + // return; X.open({ type: 1, 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 (function(){ X.pageLogic['event'] = { @@ -13566,23 +13665,29 @@ var X = window.X || { $(document).off("click",'.right-box').on("click",'.right-box',function(){ var obj = $(this); var index = obj.attr("data-index"); - var comparator = obj.attr("data-comparator"); + var comparator = obj.attr("data-comparator");//选择多选时才能多选 var offset = obj.offset(); var columnName = data['filts'][index]['columnName']; X.api("data_mana/select_attr","post",{attr_name:columnName},function(val){ + var darr = { + comparator:comparator, + data: val['map_'] + } 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(data['filts'][index]['strftv'] == "" ){ var strftv = val.title; var ftv = val.id; }else { - var strftv = data['filts'][index]['strftv'] + "," + val.title; - var ftv = data['filts'][index]['ftv'] + "," + val.id; + var strftv = val.title; + var ftv = val.id; } data['filts'][index]['strftv'] = strftv; + console.log(ftv); var valarr = ftv.split(","); data['filts'][index]['ftv']=valarr; + }else { data['filts'][index]['strftv'] = val.title; var arr = []; @@ -13590,14 +13695,13 @@ var X = window.X || { data['filts'][index]['ftv'] = arr; } - X.laytpldata("#screen-con-box-dot",data['filts'],".screen-con-box",function(){ renderdate(); }); }) } }) - console.log(data['filts'][index]['columnName']) + // console.log(data['filts'][index]['columnName']) }); //文本框条件输入触发事件 diff --git a/web/srczip/logic/dashboard.js b/web/srczip/logic/dashboard.js index 751c836..1f99557 100644 --- a/web/srczip/logic/dashboard.js +++ b/web/srczip/logic/dashboard.js @@ -12,6 +12,10 @@ var userinfo = localStorage.getItem('loginData'); if(userinfo){ X.DATA["userinfo"] = JSON.parse(userinfo); + if(X.DATA["userinfo"]['name'] != 'root' ){ + $(".projectinfo").hide(); + $(".addproduct").hide(); + } }else { layer.msg('登录过期请重新登录!!!'); X.gourl("login"); @@ -361,9 +365,9 @@ }); // 用户搜索 - $("#search").click(function(){ - layer.msg('该功能暂未开放'); - return; + $(document).off('click','#search').on("click","#search",function(){ + // layer.msg('该功能暂未开放'); + // return; X.open({ type: 1, title: false, diff --git a/web/srczip/logic/dropdownlist3.js b/web/srczip/logic/dropdownlist3.js new file mode 100644 index 0000000..3f1d80e --- /dev/null +++ b/web/srczip/logic/dropdownlist3.js @@ -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 ); + }); + + + } + }; +})(); diff --git a/web/srczip/logic/screen.js b/web/srczip/logic/screen.js index e3ac81a..ba7b16a 100644 --- a/web/srczip/logic/screen.js +++ b/web/srczip/logic/screen.js @@ -165,23 +165,29 @@ $(document).off("click",'.right-box').on("click",'.right-box',function(){ var obj = $(this); var index = obj.attr("data-index"); - var comparator = obj.attr("data-comparator"); + var comparator = obj.attr("data-comparator");//选择多选时才能多选 var offset = obj.offset(); var columnName = data['filts'][index]['columnName']; X.api("data_mana/select_attr","post",{attr_name:columnName},function(val){ + var darr = { + comparator:comparator, + data: val['map_'] + } 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(data['filts'][index]['strftv'] == "" ){ var strftv = val.title; var ftv = val.id; }else { - var strftv = data['filts'][index]['strftv'] + "," + val.title; - var ftv = data['filts'][index]['ftv'] + "," + val.id; + var strftv = val.title; + var ftv = val.id; } data['filts'][index]['strftv'] = strftv; + console.log(ftv); var valarr = ftv.split(","); data['filts'][index]['ftv']=valarr; + }else { data['filts'][index]['strftv'] = val.title; var arr = []; @@ -189,14 +195,13 @@ data['filts'][index]['ftv'] = arr; } - X.laytpldata("#screen-con-box-dot",data['filts'],".screen-con-box",function(){ renderdate(); }); }) } }) - console.log(data['filts'][index]['columnName']) + // console.log(data['filts'][index]['columnName']) }); //文本框条件输入触发事件 diff --git a/web/static/css/analysis.css b/web/static/css/analysis.css index 9fbd629..0e01055 100644 --- a/web/static/css/analysis.css +++ b/web/static/css/analysis.css @@ -199,10 +199,15 @@ .analysis-calculation { color: #fff; background-color: #3d90ff; } .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:hover { background-color: #f6f8fa; } +.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; color: rgba(0, 0, 0, 0.8) !important;} .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-con-box { padding: 4px; }