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; }