js逻辑:
/** * Created by wanglijuan on 2016/12/2. */ $(function () { //登陆后请求数据 // $.ajax({ // url:"http://111.11.183.124:8012/pc%20/login.htm", // type: "POST", // dataType :"json", // data:{ // fixPhone:"18767173166", // password:"123456" // }, // success :function(data){ // console.log(data); // }, // error:function(data){ // // } // }); //左边人员 var itemUl = document.getElementById("select2-choices"); var itemli = itemUl.getElementsByTagName("li"); //右边部门和人员 var departmentGroup = document.getElementById("departmentGroup"); var itemli2 = departmentGroup.getElementsByTagName("li"); //配置消息框参数 toastr.options = { closeButton: false, debug: false, progressBar: false, positionClass: "toast-top-center", onclick: null, showDuration: "300",//显示动作(从无到有这个动作)持续的时间 hideDuration: "500", timeOut: "1000",//间隔的时间 extendedTimeOut: "800", showEasing: "swing", hideEasing: "linear", showMethod: "fadeIn", hideMethod: "fadeOut" }; //菊花加载 function showSpin(){ var spinnerOpts = { lines: 11 // 共有几条线组成 , length: 13 // 每条线的长度 , width: 8 // 每条线的长度 , radius: 19 // 内圈的大小 , scale: 0.5 // Scales overall size of the spinner , corners: 0.1 // 圆角的程度 , color: ‘#000‘ // #rgb or #rrggbb or array of colors , opacity: 0.1 // Opacity of the lines , rotate: 18 // 整体的角度(因为是个环形的,所以角度变不变其实都差不多) , direction: 1 // 1: clockwise, -1: counterclockwise , speed: 0.8 // 速度:每秒的圈数 , trail: 55 // 高亮尾巴的长度 , fps: 20 // Frames per second when using setTimeout() as a fallback for CSS , zIndex: 2e9 // z-index的值 2e9(默认为2000000000 , className: ‘spinner‘ // The CSS class to assign to the spinner , top: ‘50%‘ // Top position relative to parent , left: ‘50%‘ // Left position relative to parent , shadow: false // 是否要阴影 , hwaccel: false // 是否用硬件加速 , position: ‘absolute‘ // Element positioning }; var spinTarget = document.getElementById(‘main‘); new Spinner(spinnerOpts).spin(spinTarget); } function ajaxPage() {//ajaxPage(page,pageSize,fixPhone); $.ajax({ url: ‘findByPage.json‘, type: ‘GET‘, dataType: ‘json‘, timeout: 1000, cache: false, // data:{ // page:page,//当前页数 // pageSize:pageSize,//每页条数 // fixPhone:fixPhone,//登陆的固话号码 // maxPage: function () { // var total = 0;//总页数 // if(total%pageSize == 0){//当总数据除以每页数据个数 余数为0的时候 // maxPage = total/pageSize; // }else{ // maxPage = parseInt(total/pageSize)+1; // } // }//最大的页数,也就是滚动多少次停 // }, beforeSend: LoadFunction, //加载执行方法 error: erryFunction, //错误执行方法 success: succFunction //成功执行方法 }) function LoadFunction() { // $("#meeting-record").html(‘加载中...‘); } function erryFunction() { alert("error"); } function succFunction(data) { $(".ajaxtips").hide();//隐藏加载提示 // $("#meeting-record").append(data);//把新的内容加载到内容的后面 $.each(data.dtos, function (i,item) {//循环获取数据 $("#meeting-record").append( ‘<ul class="meeting getList">‘+ ‘<li>‘+ ‘<div class="three-icon">‘+ ‘<span class="small-icon">立娟</span>‘+ ‘<span class="small-icon" style="float:left;margin-right:6px;">小强</span>‘+ ‘<span class="small-icon" style="float:left;">灿烂</span>‘+ ‘</div>‘+ ‘<div class="right-cont">‘+ ‘<p>‘+ ‘<span class="content">‘+item.meetTitle+‘</span>‘+ ‘<span class="time">‘+item.startTime+‘</span>‘+ ‘<a class="reservation" data-recordType=‘+item.recordType+‘ href="#"></a>‘+ ‘</p>‘+ ‘</div>‘+ ‘</li>‘+ ‘</ul>‘ ); }); // 会议状态 $("[data-recordType]").each(function () { var state = $(this).attr("data-recordType"); if(state ==1){ $(this).text(""); }else if(state == 2){ $(this).text("预约会议"); } }) // 会议时间 stop = true;//加载开关 } } var meetscroll = document.getElementById("meetscroll"); var stop = true;//触发开关,防止多次调用事件 var page = 1; $("#meeting-record").html(‘‘);//先清空 ajaxPage();//ajaxPage(page,pageSize,fixPhone); // $("#meetscroll").on(‘scroll‘,function () { // console.log($("#meetscroll").scrollTop()); // }) // var nScrollHight = 20; //滚动距离总长(注意不是滚动条的长度) // var nScrollTop = 0; //滚动到的当前位置 // var nDivHight = $("#meetscroll").height(); // meetscroll.onscroll = function () { // nScrollHight = $(this)[0].scrollHeight; // nScrollTop = $(this)[0].scrollTop; // var paddingBottom = parseInt( $(this).css(‘padding-bottom‘) ),paddingTop = parseInt( $(this).css(‘padding-top‘) ); // if(nScrollTop + paddingBottom + paddingTop + nDivHight >= nScrollHight){ // if (stop == true) { // stop = false; // page = page + 1;//当前要加载的页码; //// if(page<=maxPage){当加载页码等于总页数当时候,停止加载 // //加载提示信息 // $("#meeting-record").append("<ul class=‘ajaxtips‘><li>加载.....</li></ul>"); // ajaxPage();//ajaxPage(page,pageSize,fixPhone); //// }else{ //// meetscroll.onscroll=null; //// } // } // } // }; //注册滚动条事件 scrollBottomTest =function(){ $("#meetscroll").scroll(function(){ var $this =$(this), viewH =$this.height(),//可见高度 contentH =$this.get(0).scrollHeight,//内容高度 scrollTop =$this.scrollTop();//滚动高度 if(contentH - viewH - scrollTop <= 20) { //到达底部100px时,加载新内容 //内容的高度-视窗的高度-隐藏的高度 if (stop == true) { stop = false; page = page + 1;//当前要加载的页码; // if(page<=maxPage){当加载页码等于总页数当时候,停止加载 //加载提示信息 $("#meeting-record").append("<ul class=‘ajaxtips‘><li>加载.....</li></ul>"); ajaxPage();//ajaxPage(page,pageSize,fixPhone); // }else{ // meetscroll.onscroll=null; // } } } }); }; scrollBottomTest(); // 发起电话会议---搜索 //定义一些数据 // var data = ["15057187176", "15057187175", "15057187174", "15057187173", "武林江湖", "will"]; var ele_key = document.getElementById("member-phone"); ele_key.onkeyup = function () { var val = this.value; // var ele_datalist = document.getElementById("search-member-list"); // ele_datalist.style.visibility = "visible"; // console.log(val); // if(val==""){ // ele_datalist.style.visibility = "visible"; // return false; // } //获取输入框里匹配的数据 ajaxSearch(val); }; // function upperCase(x){//(this.id) // console.log(x); // var val = document.getElementById(x).value; // // document.getElementById(x).value=y.toUpperCase() // ajaxSearch(val); // } function ajaxSearch(val) { // 获取到的数据准备追加显示; var ele_datalist = document.getElementById("search-member-list"); ele_datalist.style.visibility = "visible"; if(val){ $.ajax({ url: ‘searchdata.json‘, type: ‘GET‘, dataType: ‘json‘, timeout: 1000, cache: false, data:{ companyId:"2446" }, success:function (data) { //前期要做的事情: 清空数据,然后显示数据列表 ele_datalist.innerHTML = ""; for (var i = 0; i < data.data.length; i++) { var expend = data.data[i].expand; var phoneName = data.data[i].phoneName; var departName = data.data[i].departName; var fixPhone = data.data[i].fixPhone; expend = expend.split(","); expend.unshift(fixPhone);//组合数组开头 //如果获取到的数据为空,则不显示 if (expend.length == 0) { ele_datalist.style.visibility = "hidden"; } for(var k=0;k<expend.length;k++){ $("#search-member-list").append( ‘<li class="member-li-sub">‘+ ‘<span class="sub-icon circle30" style="background:green;">‘+phoneName.slice(-2)+‘</span>‘+ ‘<div class="sub-name-tel">‘+ ‘<b>‘+phoneName+‘</b>‘+‘<br>‘+ ‘<small>‘+expend[k]+‘</small>‘+ ‘</div>‘+ ‘<span class="sub-job">‘+departName+‘</span>‘+ ‘</li>‘ ) } //indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。检索val // if (val.trim().length > 0 && data.data[i].indexOf(val) > -1) {//val.trim()两端去空格处理 // //如果要检索的字符串值没有出现,则该方法返回 -1。 // srdata.push(data.data[i]); // console.log(srdata); // } } var memberLi = ele_datalist.getElementsByTagName("li"); //2.然后每一行加入点击事件 for(var j= 0;j<memberLi.length;j++){ memberLi[j].index = j; memberLi[j].onclick = function () { //3.点击后将数据放入搜索框内 var text = this.childNodes[1].childNodes[0].textContent; var tel = this.childNodes[1].childNodes[2].textContent;//因为有个br,所以是2 //判断搜索中的号码和选定的号码是否重复 var select2Choices = document.getElementById("select2-choices"); var select2ChoicesLi = select2Choices.getElementsByTagName("li"); for(var q=0;q<select2ChoicesLi.length;q++){ if(tel == select2ChoicesLi[q].getAttribute("title")){ toastr.info("不能重复选择!"); return false; } } addselect2(text,tel); //4.数据列表隐藏并清空搜索框内容 ele_datalist.style.visibility = "hidden"; ele_key.value = ""; //0/500人 smscount(); } } }//success }) }else{//当搜索框倒退为空的时候,隐藏搜索列表; ele_datalist.style.visibility = "hidden"; } } // 发起电话会议---搜索end function addselect2(text,expend,departId,memberid,checkbox) {//姓名,电话号码,部门id,人员id,chbox状态 $("#select2-choices").append( ‘<li class="select2-search-choice" data-text=‘+text+‘ title=‘+expend+‘ data-departId=‘+departId+‘ data-id=‘+memberid+‘ data-checkbox=‘+checkbox+‘>‘+ ‘<span>‘+text+‘</span>‘+ ‘<a href="#" class="select2-search-choice-close"></a>‘+ ‘</li>‘ ); //添加人的时候,右边的复选框的状态 if(checkbox == true){ var currentLi = $("#select2-choices li"); var departmentGroup = document.getElementById("departmentGroup"); var itemli2 = departmentGroup.getElementsByTagName("li"); if(itemli2){ for(var j=0 ;j<itemli2.length;j++){ if($(itemli2[j]).attr("data-phonevalue") == currentLi.attr("title")){ $(itemli2[j]).find("input[name=‘subBox‘]").prop("checked",true); } var $subBox = $("input[name=‘subBox‘]"); $("#checkAll").prop("checked",$subBox.length == $("input[name=‘subBox‘]:checked").length ? true : false); } } } //删除人员 $("#select2-choices .select2-search-choice .select2-search-choice-close").click(function () { var currentLi = $(this).parent(); var departmentGroup = document.getElementById("departmentGroup"); var itemli2 = departmentGroup.getElementsByTagName("li"); if(itemli2){ for(var j=0 ;j<itemli2.length;j++){ if($(itemli2[j]).attr("data-id") == currentLi.attr("data-id")){ $(itemli2[j]).find("input[name=‘subBox‘]").prop("checked",false); } var $subBox = $("input[name=‘subBox‘]"); $("#checkAll").prop("checked",$subBox.length == $("input[name=‘subBox‘]:checked").length ? true : false); } } currentLi.remove(); smscount(); }); } // 选人统计0/500人 function smscount() { var select2Choices=document.getElementById("select2-choices"); var select2ChoicesLi=select2Choices.getElementsByTagName("li"); var length = select2ChoicesLi.length; if (length > 501) { $(".select-user-count").text("已选:"+(length-1)+"/500人"); toastr.info("不能超过500人!"); } else { $(".select-user-count").text("已选:"+length+"/500人"); } } //弹出打开 $(‘#myModal‘).on(‘shown.bs.modal‘,department());//modal // function titlefun(title) {//这里传入的参数是一个数组["公司名称","一级部门","二级部门"] // $(".breadcrumb").html(""); // for(var w=0;w<title.length;w++){ // $(".breadcrumb").append( // ‘<a href="#">>‘+title[w]+‘</a>‘ // ) // } // var str = $(".breadcrumb a:eq(0)").text(); // strs=str.substring(1)//字符分割,第一个title去> // $(".breadcrumb a:eq(0)").text(strs); // $(".breadcrumb a:eq(0)").on(‘click‘,function () { // refresh(id) // }); // } function titlefun(titleid,title) {//这里传入的参数是一个数组["公司名称","一级部门","二级部门"] // $(".breadcrumb").html(""); var titleAll = []; var obj = {id:titleid,name:title}; // var t = arrayToJson(obj); // console.log(obj); titleAll.push(obj); console.log(titleAll); $.each(titleAll,function (i,v) { $(".breadcrumb").append( ‘<a href="#" data-titleId=‘+v.id+‘>>‘+v.name+‘</a>‘ ) }); } $(".breadcrumb").on(‘click‘,"a",function () { refresh($(this).attr(‘data-titleId‘),$(this).text()); }); function refresh(id,name) { $(".breadcrumb").html(""); if(id==companyId){ department(); }else{ departmentSub(id,name); } } function department() {//公司的,或者部门的 // $(".member-checkAll").hide(); var departmentGroup = document.getElementById("departmentGroup"); titlefun(companyId,companyName); var str = $(".breadcrumb a:eq(0)").text(); strs=str.substring(1)//字符分割,第一个title去> $(".breadcrumb a:eq(0)").text(strs); $.ajax({ url: ‘getList.json‘, type: ‘GET‘, dataType: ‘json‘, timeout: 1000, cache: false, data:{ departId:"0" }, // beforeSend: function(XMLHttpRequest){ // var target = document.getElementById("departmentGroup"); // var spinner = new Spinner(spinnerOpts).spin(target); // }, beforeSend: function () { showSpin(); }, success:function (data) { //前期要做的事情: 清空数据,然后显示数据列表 departmentGroup.innerHTML = ""; var html=""; html = ‘<li>‘+ ‘<div class="member-checkAll">‘+ ‘<input type="checkbox" id="checkAll" name="checkAll" data-titleId=‘+companyId+‘>‘+ ‘<label for="checkAll">‘+"全选"+‘</label>‘+ ‘</div>‘+ ‘<li>‘; $("#departmentGroup").append(html); $.each(data.data.childDeparts, function (i,item) {//循环获取数据 $("#departmentGroup").append( ‘<li class="department" data-departId=‘+item.departId+‘>‘+ ‘<p class="department-title">‘+item.departName+‘</p>‘+ ‘<span class="count">‘+item.phoneCount+"人"+‘</span>‘+ ‘</li>‘ ); }); $.each(data.data.departPhones, function (i,item) {//循环获取数据 html = ‘<li class="member-li-sub department-li" data-departId = ‘+item.departId+‘ data-id=‘+item.id+‘ data-phonevalue=‘+item.fixPhone+‘ data-name=‘+item.phoneName+‘>‘+ ‘<div class="clearfix">‘+ ‘<label>‘+ ‘<input name="subBox" type="checkbox" class="member-radio">‘+ ‘<span class="sub-icon circle30" style="background:green;">‘+item.phoneName.slice(-2)+‘</span>‘+ ‘<div class="sub-name-tel" data-fixPhone=‘+item.fixPhone+‘>‘+item.phoneName+‘</div>‘+ ‘</label>‘+ ‘</div>‘+ ‘<dl class="more-phone-ul">‘+ ‘<dd class="more-phone-li" data-num=‘+item.fixPhone+‘>‘+ ‘<label>‘+ ‘<input type="radio" name=‘+i+‘ class="member-sub-radio" checked>‘+ ‘<small>‘+item.fixPhone+‘</small>‘+ ‘</label>‘+ ‘</dd>‘; var expandArr = item.expand.split(‘,‘); $.each(expandArr, function (j, expand) { if(expandArr != ""){ html += ‘<dd class="more-phone-li" data-num=‘+expand+‘>‘ + ‘<label>‘ + ‘<input type="radio" name=‘+i+‘ class="member-sub-radio">‘ + ‘<small>‘ + expand + ‘</small>‘ + ‘</label>‘ + ‘</dd>‘ } }); html += ‘</dl>‘+‘</li>‘; $("#departmentGroup").append(html); });//each var oSubBox = document.getElementsByName("subBox"); var oCheckAll = document.getElementById("checkAll"); checkAll(oCheckAll,oSubBox); var $subBox = $("input[name=‘subBox‘]"); $subBox.click(function(){ $("#checkAll").prop("checked",$subBox.length == $("input[name=‘subBox‘]:checked").length ? true : false); }); $("#checkAll").change(function () { if($("#checkAll").prop("checked")){ $.each(data.data.departPhones,function (i,item) { checkAllAdd(item); }); smscount(); }else{ $.each(data.data.departPhones,function (i,item) { checkAllCut(item) }); smscount(); } }); $subBox.change(function () { var currentLi = $(this).parent().parent().parent(); var itemUl = document.getElementById("select2-choices"); var itemli = itemUl.getElementsByTagName("li"); if($(this).prop("checked")){ addselect2(currentLi.attr("data-name"),currentLi.attr("data-phonevalue"),currentLi.attr("data-departid"),currentLi.attr("data-id"),true); smscount(); }else{ //删除已选成员 for(var i = 0; i<itemli.length; i++){ if(currentLi.attr("data-name") == $(itemli[i]).attr("data-text") && currentLi.attr("data-phonevalue") == $(itemli[i]).attr("title")){ $(itemli[i]).remove(); } } smscount(); } }); },//success complete: function () { $(".spinner").hide(); } }) }//department() $("#departmentGroup").on(‘click‘,‘.department‘,function () { var departId = $(this).attr("data-departId"); var departName = $(this).children(‘p‘).text(); departmentSub(departId,departName); }); function departmentSub(departId,departName){//通过部门id,添加部门成员 titlefun(departId,departName); var departmentGroup = document.getElementById("departmentGroup"); // var titleAll = [companyName]; // titlefun(titleAll); // var departId = $(this).attr("data-departId"); // var departId = $("#departmentGroup .department").attr("data-departId"); //查看遍历左边的checkbox为true的时间 $.ajax({ url:‘department2.json‘, type:‘GET‘, dataType:‘json‘, timeout:1000, cache:false, data:{ departId:departId, departName:departName }, beforeSend: function () { showSpin(); }, success:function (data) { if(departId == data.data.departId){ // 前期要做的事情: 清空数据,然后显示数据列表 departmentGroup.innerHTML = ""; // titleAll.push(data.data.departName); // titlefun(titleAll);//列表的头部 var html =""; html = ‘<li>‘+ ‘<div class="member-checkAll">‘+ ‘<input type="checkbox" id="checkAll" name="checkAll" data-titleId=‘+departId+‘>‘+ ‘<label for="checkAll">‘+"全选"+‘</label>‘+ ‘</div>‘+ ‘<li>‘; $("#departmentGroup").append(html); $.each(data.data.departPhones,function (i,item) { html = ‘<li class="member-li-sub department-li" data-departId = ‘+item.departId+‘ data-id=‘+item.id+‘ data-phonevalue=‘+item.fixPhone+‘ data-name=‘+item.phoneName+‘>‘+ ‘<div class="clearfix">‘+ ‘<label>‘+ ‘<input name="subBox" type="checkbox" class="member-radio">‘+ ‘<span class="sub-icon circle30" style="background:green;">‘+item.phoneName.slice(-2)+‘</span>‘+ ‘<div class="sub-name-tel" data-fixPhone=‘+item.fixPhone+‘>‘+item.phoneName+‘</div>‘+ ‘</label>‘+ ‘</div>‘+ ‘<dl class="more-phone-ul">‘ + ‘<dd class="more-phone-li" data-num=‘+item.fixPhone+‘>‘+ ‘<label>‘+ ‘<input type="radio" name=‘+i+‘ class="member-sub-radio" checked>‘+ ‘<small>‘+item.fixPhone+‘</small>‘+ ‘</label>‘+ ‘</dd>‘; var expandArr = item.expand.split(‘,‘); $.each(expandArr, function (j, expand) { if(expandArr != ""){ html += ‘<dd class="more-phone-li" data-num=‘+expand+‘>‘ + ‘<label>‘ + ‘<input type="radio" name=‘+i+‘ class="member-sub-radio">‘ + ‘<small>‘ + expand + ‘</small>‘ + ‘</label>‘ + ‘</dd>‘ } }); html += ‘</dl>‘+‘</li>‘; $("#departmentGroup").append(html); //选择名下的多个号码间的切换 $("#departmentGroup li dl dd").on(‘click‘,function () { var phonevalue = $(this).parent().parent();//#departmentGroup li var numData = $(this).attr("data-num");//#departmentGroup li dl dd var inputI = $(this).children().children();//#departmentGroup li dl dd label input[type-radio] $(inputI).change(function () { if($(inputI).prop("checked")){ $(phonevalue).attr("data-phonevalue",numData); //切换号码是取消checkbox的选中状态, var itemUl = document.getElementById("select2-choices"); var itemli = itemUl.getElementsByTagName("li"); if(itemli){ for(var m = 0; m<itemli.length; m++){ if($(phonevalue).attr("data-id") == $(itemli[m]).attr("data-id")){ $(itemli[m]).attr("title",numData); } } } } }); }); //检查左边添加的人是不是右边列表中的,如果是,就添加checkbox选中状态。 var currentLi = $("#select2-choices li"); var departmentGroup = document.getElementById("departmentGroup"); var itemli2 = departmentGroup.getElementsByTagName("li"); if(itemli2){ for(var j=0 ;j<itemli2.length;j++){ for(var x=0;x<currentLi.length;x++){ if($(itemli2[j]).attr("data-id") == $(currentLi[x]).attr("data-id")){ $(itemli2[j]).find("input[name=‘subBox‘]").prop("checked",true); } var $subBox = $("input[name=‘subBox‘]"); $("#checkAll").prop("checked",$subBox.length == $("input[name=‘subBox‘]:checked").length ? true : false); } } } }); // //全选 // var subBox = document.getElementsByName("subBox"); // var $subBox = $("input[name=‘subBox‘]"); // $("#checkAll").click(function() { // $subBox.prop("checked",$("#checkAll").is(‘:checked‘) ? true : false); // }); // $subBox.click(function(){ // $("#checkAll").prop("checked",$subBox.length == $("input[name=‘subBox‘]:checked").length ? true : false); // }); var oSubBox = document.getElementsByName("subBox"); var oCheckAll = document.getElementById("checkAll"); checkAll(oCheckAll,oSubBox); var $subBox = $("input[name=‘subBox‘]"); $subBox.click(function(){ $("#checkAll").prop("checked",$subBox.length == $("input[name=‘subBox‘]:checked").length ? true : false); }); $("#checkAll").change(function () { if($("#checkAll").prop("checked")){ $.each(data.data.departPhones,function (i,item) { checkAllAdd(item); }); smscount(); }else{ $.each(data.data.departPhones,function (i,item) { checkAllCut(item) }); smscount(); } }); //全选添加人员--根据部门id,控制部门人员 // $("#checkAll").change(function () { // if($("#checkAll").prop("checked")){ // $.each(data.data.departPhones,function (i,item) { // var itemUl = document.getElementById("select2-choices"); // var itemli = itemUl.getElementsByTagName("li"); // if(itemli){ // for(var w = 0; w<itemli.length; w++){ // if(item.phoneName == $(itemli[w]).attr("data-text") && item.fixPhone == $(itemli[w]).attr("title")){ // $(itemli[w]).remove(); // } // } // } // addselect2(item.phoneName,item.fixPhone,item.departId,item.id); // }); // smscount(); // }else{ // $.each(data.data.departPhones,function (i,item) { // var itemUl = document.getElementById("select2-choices"); // var itemli = itemUl.getElementsByTagName("li"); // for (var i = 0; i < itemli.length; i++) { // if (item.departId == $(itemli[i]).attr("data-departId")) { // $(itemli[i]).remove(); // } // } // }); // smscount(); // } // }); //单选添加人员--根据号码和姓名进行匹配 $subBox.change(function () { var currentLi = $(this).parent().parent().parent(); var itemUl = document.getElementById("select2-choices"); var itemli = itemUl.getElementsByTagName("li"); if($(this).prop("checked")){ addselect2(currentLi.attr("data-name"),currentLi.attr("data-phonevalue"),currentLi.attr("data-departid"),currentLi.attr("data-id"),true); smscount(); }else{ //删除已选成员 for(var i = 0; i<itemli.length; i++){ if(currentLi.attr("data-name") == $(itemli[i]).attr("data-text") && currentLi.attr("data-phonevalue") == $(itemli[i]).attr("title")){ $(itemli[i]).remove(); } } smscount(); } }); //点击显示隐藏 $("#departmentGroup li").on(‘click‘,function () { if($(this).find("dl").css("display")=="none"){ $(this).find("dl").show(); }else{ $($(this).find("dl")).hide(); } }); } }, complete: function () { $(".spinner").hide(); } }); //$ajax }//departmentSub(departId,departName) function checkAllAdd(item) { var itemUl = document.getElementById("select2-choices"); var itemli = itemUl.getElementsByTagName("li"); if(itemli){ for(var w = 0; w<itemli.length; w++){ if(item.phoneName == $(itemli[w]).attr("data-text") && item.fixPhone == $(itemli[w]).attr("title")){ $(itemli[w]).remove(); } } } addselect2(item.phoneName,item.fixPhone,item.departId,item.id); } function checkAllCut(item){ var itemUl = document.getElementById("select2-choices"); var itemli = itemUl.getElementsByTagName("li"); for (var i = 0; i < itemli.length; i++) { if (item.departId == $(itemli[i]).attr("data-departId")) { $(itemli[i]).remove(); } } } //全选 function checkAll(checkAll,subBox) { checkAll.onclick = function () { if(checkAll.checked){ for(i=0;i<subBox.length;i++){ subBox[i].checked = true; } }else{ for(i=0;i<subBox.length;i++){ subBox[i].checked = false; } } }; } //全选的整合 // var checkFun = function() {//当前全选按钮,当前子选的所有按钮 // //全选 // // var $subBox = $("input[name=‘subBox‘]"); // // checkAll.onclick = function () { // console.log("234"); // var $subBox = $("input[name=‘subBox‘]"); // $subBox.prop("checked",$("#checkAll").is(‘:checked‘) ? true : false); // // }; // // // // $("input[name=‘checkall‘]").click(function() { // // $subBox.prop("checked",$("#checkAll").is(‘:checked‘) ? true : false); // // }); // // $subBox.click(function(){ // // $("#checkAll").prop("checked",$subBox.length == $("input[name=‘subBox‘]:checked").length ? true : false); // // }); // }; //临时号码逻辑---添加 $("#add-member").on("click",function () { var tel = $(‘input[name="add-tel"]‘).val(); var name = $(‘input[name="add-name"]‘).val(); if(tel =="" && name==""){ toastr.info("请输入查询号码或姓名!"); return false; } //如果号码已经存在 var selectUl2 = document.getElementById("select2-choices"); var selectLi2 = selectUl2.getElementsByTagName("li"); if(selectLi2){ for(var j=0;j<selectLi2.length;j++){ if(tel == $(selectLi2[j]).attr("title")){ toastr.info("添加的号码已存在!"); $(‘input[name="add-tel"]‘).val(""); return false; } if(name == $(selectLi2[j]).attr("data-text")){ toastr.info("添加的姓名已存在!"); $(‘input[name="add-name"]‘).val(""); return false; } } } $.ajax({ cache: true, type: "POST", url:"department2.json", data:$(‘#add-num-form‘).serialize(),// 你的formid,serialize()函数会把表单要提交的数据序列化成参数形式 async: false, beforeSend: function () { showSpin(); }, success: function(data) { var arr = [];//名称组 var telGroup= [];//主号码组 var expandArr=[];//子号码组 var departName = data.data.departName; $.each(data.data.departPhones,function (i,item) {//i=0 var names = item.phoneName; names = names.split(","); var tels = item.fixPhone; tels = tels.split(","); if(names.indexOf(name)>-1){ addselect2(name,item.fixPhone,item.departId,item.id,true);//姓名,电话号码,部门id,人员id departmentSub(item.departId,departName); }else if(tels.indexOf(tel)>-1){ addselect2(item.phoneName,tel,item.departId,item.id,true); departmentSub(item.departId,departName); }else{ expandArr = item.expand.split(‘,‘); $.each(expandArr,function (j,expand) { if(expand){ var expand = expand.split(","); if(expand.indexOf(tel)>-1){ // addselect2(item.phoneName,tel,item.departId,item.id,true); departmentSub(item.departId,departName); toastr.info("此号码已存在公司列表下,请选择"); $(‘input[name="add-name"]‘).val(""); return false; } } }); } //如果名字存在,取数组。 if(name){ var ind = names.indexOf(name); arr = arr.concat(ind); } //如果号码存在 if(tel){ //合并两个数组 telGroup = telGroup.concat(tels); telGroup = telGroup.concat(expandArr); //数组去空 for(var p = 0 ;p<telGroup.length;p++) { if(telGroup[p] == ""){ telGroup.splice(p,1); p= p-1; } } } }); //此处判断添加的姓名是否在数据中。 if(arr.length>0){// if(arr.indexOf(0)>-1){ return false;//如果名字匹配,就返回,防止执行临时成员的事件 }else{ //否则提示"此人不在公司列表中,请添加号码" toastr.info("此人不在公司列表中,请添加号码"); $(‘input[name="add-name"]‘).val(""); return false; } } //此处判断号码是否在数据中,如果不在,显示为临时号码。 var srdata = [];//获取没有匹配的号码数据 if(telGroup){//telGroup中包括fixPhone和expand号码 for(var p = 0 ;p<telGroup.length;p++) { if(telGroup[p].indexOf(tel)>-1){ return false; }else{ srdata=tel; } } } addselect2("临时成员",srdata,null,null,null); //此处是判断匹配的时候清空 $(‘input[name="add-name"]‘).val(""); $(‘input[name="add-tel"]‘).val(""); }, complete: function () { $(".spinner").hide(); } }); smscount(); //此处展开列表清空 $(‘input[name="add-name"]‘).val(""); $(‘input[name="add-tel"]‘).val(""); }); //立即会议与预约会议的切换 $(‘input:radio[name="meeting"]:eq(1)‘).change( function(){ $("#dtp_input2").val(""); $(".timevalue").val(""); $(".appointment").css("display","block"); }); $(‘input:radio[name="meeting"]:eq(0)‘).change( function(){ $(".appointment").css("display","none"); }); // function loadScript(url, callback) { // var script = document.createElement("script"); // script.type = "text/javascript"; // // IE // if (script.readyState) { // script.onreadystatechange = function () { // if (script.readyState == "loaded" || script.readyState == "complete") { // script.onreadystatechange = null; // callback(); // } // }; // } else { // others // script.onload = function () { // callback(); // }; // } // script.src = url; // document.body.appendChild(script); // } //模态窗数据验证和提交 // $(‘#myModal‘).on(‘hidden.bs.modal‘, function (e) { // $("#select2-choices").html(""); // console.log("666"); // }); }); //需要完善问题: //1,当选择人员下面当radio按钮,全选默认是fixPhone,需要修改458处;如果先选择全选,在修改radio的值是正常的。 var otem = []; var timestamp;//时间 var meetTitle = ""; function update() { otem = []; // var dataTextArr = {}; // var titleArr = {}; // var dataDepartidArr = {}; meetTitle = $(‘input[name="meetTitle"]‘).val(); var itemUl = document.getElementById("select2-choices"); var itemli = itemUl.getElementsByTagName("li"); if(itemli){ $(itemli).each(function (i, e) { var obj = {name: $(e).attr("data-text"), tel: $(e).attr("title"), departId: $(e).attr("data-departid")}; otem.push(obj); }); } if (otem == "") { toastr.info("请添加成员"); return false; } else { //时间,如果是立即会议,传当前时间,如果是预约会议,传控件时间 if ($("input:radio[name=‘meeting‘]")[0].checked) { // $("#dtp_input2").val(""); timestamp = Date.parse(new Date()); var html = ""; $(".member-grounp").html(""); $(".member").show(); $(".emptyI").hide(); $(".host-icon").text(phoneName.slice(-2)); $(".host").text("主持人:" + phoneName); $.each(otem, function (i, o) { html += ‘<li data-departId=‘ + o.departId + ‘ data-tel=‘ + o.tel + ‘>‘ + ‘<span class="m-icon" style="background-color:green;">‘ + o.name.slice(-2) + ‘</span>‘ + ‘<p class="name">‘ + o.name + ‘</p>‘ + ‘</li>‘; }); html += ‘<li class="addBtn" data-toggle="modal" data-target="#myModal">‘ + ‘<span class="addI">‘ + ‘</span>‘ + ‘</li>‘ + ‘</ul>‘; $(".member-grounp").append(html); }else if ($("input:radio[name=‘meeting‘]")[1].checked) { var datetime1 = $("#dtp_input2").val(); if(datetime1==""){ toastr.info("请设置预约会议时间"); return false; }else{ //转时间戳 var datetimestamp = Date.parse(datetime1).toString(); var dts = datetimestamp.substr(0, datetimestamp.length - 3); timestamp = dts; } $(".member-grounp").html(""); $(".member").hide(); $(".emptyI").show(); $("#meeting-record").before( ‘<ul class="meeting getList">‘+ ‘<li>‘+ ‘<div class="three-icon">‘+ ‘<span class="small-icon">立娟</span>‘+ ‘<span class="small-icon" style="float:left;margin-right:6px;">小强</span>‘+ ‘<span class="small-icon" style="float:left;">灿烂</span>‘+ ‘</div>‘+ ‘<div class="right-cont">‘+ ‘<p>‘+ ‘<span class="content">‘+meetTitle+‘</span>‘+ ‘<span class="time">‘+datetime1+‘</span>‘+ ‘<a class="reservation" data-recordType=‘+"预约会议"+‘ href="#">预约会议</a>‘+ ‘</p>‘+ ‘</div>‘+ ‘</li>‘+ ‘</ul>‘ ); } console.log(timestamp); } // $(‘#myModal‘).modal(‘hide‘); if(otem!="" || timestamp != undefined){ $(‘#myModal‘).modal(‘hide‘); } } // function update() { // var dataTextArr = []; // var titleArr = []; // var dataDepartidArr = []; // var otem = {}; // var itemUl = document.getElementById("select2-choices"); // var itemli = itemUl.getElementsByTagName("li"); // $(itemli).each(function (i,e) { // dataTextArr.push($(e).attr("data-text")); // titleArr.push($(e).attr("title")); // dataDepartidArr.push($(e).attr("data-departid")); // otem = {name:dataTextArr,tel:titleArr,departId:dataDepartidArr} // }); // console.log(otem); // if(dataTextArr==""&&titleArr==""){ // toastr.info("请添加成员"); // return false; // }else{ // $.each(otem.name,function (i,v) { // console.log(v); // }); // // } // //时间,如果是立即会议,传当前时间,如果是预约会议,传控件时间 // if($("input:radio[name=‘meeting‘]")[0].checked){ // timestamp = Date.parse(new Date()); // } // if($("input:radio[name=‘meeting‘]")[1].checked){ // //转时间戳 // var datetime1 = $("#dtp_input2").val(); // if(datetime1){ // var datetimestamp = Date.parse(datetime1).toString(); // var dts = datetimestamp.substr(0,datetimestamp.length-3); // timestamp=dts; // } // } // if(timestamp==undefined){ // toastr.info("请设置预约会议时间"); // $(‘input[name="add-name"]‘).val(""); // return false; // } // console.log(timestamp); // $(‘#myModal‘).modal(‘hide‘); // } // function update() { // // //注意:主要是style不应该等于submit,等于submit的话,ajax异步请求对手机号判别和form表单提交会同时进行,而form表单的提交更快些。导致ajax判别不起作用。 // var tempNumbers=[];//保存临时成员号码; // var calledNumber=[];//被叫者的号码数组 // var tempNumberNames=[]; // var otem = {}; // //获取模态框数据 // var meetTitle = $(‘input[name="meetTitle"]‘).val(); // var timestamp; // //分析--- // // 取临时号码组 // var itemUl = document.getElementById("select2-choices"); // var itemli = itemUl.getElementsByTagName("li"); // $(itemli).each(function (i,e) { // if($(e).attr("data-departid")=="null"){//临时号码名称和号码 // tempNumbers.push($(e).attr("title")); // tempNumberNames.push($(e).attr("data-text")); // // 临时号码对象 // // otem = {name:tempNumberNames,tel:tempNumbers} // }else{ // calledNumber.push($(e).attr("title")); // } // }); // console.log(tempNumbers); // console.log(tempNumberNames); // // console.log(otem); // console.log(calledNumber); // if(tempNumbers=="" && calledNumber==""){//临时号码和被叫者号码都为空=无成员 // toastr.info("请添加成员"); // $(‘input[name="add-name"]‘).val(""); // return false; // } // //时间,如果是立即会议,传当前时间,如果是预约会议,传控件时间 // if($("input:radio[name=‘meeting‘]")[0].checked){ // timestamp = Date.parse(new Date()); // } // if($("input:radio[name=‘meeting‘]")[1].checked){ // //转时间戳 // var datetime1 = $("#dtp_input2").val(); // if(datetime1){ // var datetimestamp = Date.parse(datetime1).toString(); // var dts = datetimestamp.substr(0,datetimestamp.length-3); // timestamp=dts; // } // } // if(timestamp==undefined){ // toastr.info("请设置预约会议时间"); // $(‘input[name="add-name"]‘).val(""); // return false; // } // console.log(timestamp); // //---分析 // // $.ajax({ // // type: "post", // // url: "department2.json", // // data:{ // // calledNumber:calledNumber,//被叫者的号码数组 // // companyId:companyId,//发起会议的公司ID // // fixPhone:fixPhone, //string 发起者的号码 // // meetTitle:meetTitle, //string 会议标题 // // startTime:timestamp, //string //会议开始时间 // // tempNumberNames:tempNumberNames, //string 临时号码名称数组 // // tempNumbers:tempNumbers//临时号码数组 // // }, // // dataType: ‘html‘, // // contentType: "application/x-www-form-urlencoded; charset=utf-8", // // success: function(result) { // $(‘#myModal‘).modal(‘hide‘); // // // } // // }); // } // window.onload = function () { // $(‘#myModal‘).on(‘hidden.bs.modal‘, function (e) { // update(); // }); // } $(function () { //立即发起 //模态窗确定后执行的函数 // $(‘#myModal‘).on(‘hidden.bs.modal‘, function (e) { // $(this).removeData(‘modal‘); // }); // $("#cancelMeeting") //清除弹窗原数据 // $(‘#create_modal‘).on(‘show.bs.modal‘, function () { // console.log("666"); // }); // $("#create_modal").on("hidden.bs.modal", function() { // $(this).removeData("bs.modal"); // }); $("#atOnce").on(‘click‘,function () { var calledNumberArr = []; var tempNumberNamesArr = []; var tempNumbersArr = []; // var names = []; console.log("345"); $.each(otem,function (i,o) { if(o.departId == "null"){ if(this.name=="临时成员"){ var tel = this.tel; tel = tel.split(","); // console.log(tel); // tempNumbersArr = tel.concat(tel); for(var j in tel){ tempNumbersArr.push(tel[j]); } var name = this.name; name = name.split(","); for(var j in name){ tempNumberNamesArr.push(name[j]); } } }else{ var callTel = o.tel; callTel = callTel.split(","); for(var j in callTel){ calledNumberArr.push(callTel[j]); } } }); // console.log(tempNumberNamesArr); // console.log(tempNumbersArr); // console.log(calledNumberArr); $.ajax({ type:"post", url:"department2.json", data:{ calledNumber:calledNumberArr,//被叫者的号码数组 companyId:companyId,//发起会议的公司ID fixPhone:fixPhone, //string 发起者的号码 meetTitle:meetTitle, //string 会议标题 startTime:timestamp, //string //会议开始时间 tempNumberNames:tempNumberNamesArr, //string 临时号码名称数组 tempNumbers:tempNumbersArr//临时号码数组 } }) }); //取消会议 $("#cancelMeeting").click(function () { $(".member-grounp").html(""); $(".member").hide(); $(".emptyI").show(); }) }); window.onload=function(){ // $(‘body‘).on(‘hidden‘, ‘.modal‘, function () { // $(this).removeData(‘modal‘); // }); };
时间: 2024-10-17 04:48:26