会议通js
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');
// }); };
会议通js的更多相关文章
- Vue.js 和 MVVM 小细节
MVVM 是Model-View-ViewModel 的缩写,它是一种基于前端开发的架构模式,其核心是提供对View 和 ViewModel 的双向数据绑定,这使得ViewModel 的状态改变可以自 ...
- js学习笔记:操作iframe
iframe可以说是比较老得话题了,而且网上也基本上在说少用iframe,其原因大致为:堵塞页面加载.安全问题.兼容性问题.搜索引擎抓取不到等等,不过相对于这些缺点,iframe的优点更牛,跨域请求. ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- JS调用Android、Ios原生控件
在上一篇博客中已经和大家聊了,关于JS与Android.Ios原生控件之间相互通信的详细代码实现,今天我们一起聊一下JS调用Android.Ios通信的相同点和不同点,以便帮助我们在进行混合式开发时, ...
- jquery和Js的区别和基础操作
jqery的语法和js的语法一样,算是把js升级了一下,这两种语法可以一起使用,只不过是用jqery更加方便 一个页面想要使用jqery的话,先要引入一下jqery包,jqery包从网上下一个就可以, ...
- 利用snowfall.jquery.js实现爱心满屏飞
小颖在上一篇一步一步教你用CSS画爱心中已经分享一种画爱心的方法,这次再分享一种方法用css画爱心,并利用snowfall.jquery.js实现爱心满屏飞的效果. 第一步: 利用伪元素before和 ...
- node.js学习(三)简单的node程序&&模块简单使用&&commonJS规范&&深入理解模块原理
一.一个简单的node程序 1.新建一个txt文件 2.修改后缀 修改之后会弹出这个,点击"是" 3.运行test.js 源文件 使用node.js运行之后的. 如果该路径下没有该 ...
- JS正则表达式常用总结
正则表达式的创建 JS正则表达式的创建有两种方式: new RegExp() 和 直接字面量. //使用RegExp对象创建 var regObj = new RegExp("(^\\s+) ...
- 干货分享:让你分分钟学会 JS 闭包
闭包,是 Javascript 比较重要的一个概念,对于初学者来讲,闭包是一个特别抽象的概念,特别是ECMA规范给的定义,如果没有实战经验,很难从定义去理解它.因此,本文不会对闭包的概念进行大篇幅描述 ...
随机推荐
- VirtualBox COM对象获取失败
问题描述: Failed to instantiate CLSID_VirtualBox w/ IVirtualBox, but CLSID_VirtualBox w/ IUnknown works. ...
- Beta阶段项目总结
1. 每个成员在beta 阶段的实践和alpha 阶段有何改进? 王文奇:对数据库的操作更为熟练,在java web中实现对数据库的修改更加完善 刘元柱:对javascript,css和servl ...
- 2. K线学习知识二
1. K线 - 阳线 定义:阳线是证券市场上指收盘价高于开盘价的K线,K线图中用红线标注表示涨势. A:小阳星 全日中股价波动很小,开盘价与收盘价极其接近,收盘价略高于开盘价. 小阳星的出现,表明行情 ...
- 无中间变量交换swap(a,b)
#include <stdio.h> /* 加减法 整型.浮点型(损失精度) */ void swap1(int *a,int *b) { *a=*a+*b; *b=*a-*b; *a=* ...
- instanceof操作符
instanceof是Java.php的一个二元操作符(运算符),和==,>,<是同一类东西.由于它是由字母组成的,所以也是Java的保留关键字.它的作用是判断其左边对象是否为其右边类的实 ...
- python , angular js 学习记录【3】
1.Alembic是SQLAlchemy作者编写的Python数据库迁移工具.用它实现模型类和数据库的同步更新.(安装以及操作步骤 使用Alembic迁移数据库) 使用Alembic添加数据库字段操作 ...
- canvas简介
一.canvas简介 1.1 什么是canvas?(了解) 是HTML5提供的一种新标签 <canvas></canvas> 英 ['kænvəs] 美 ['kænvəs] 帆 ...
- linux下编译gcc6.2.0
linux下编译gcc6.2.0 在archlinx的下gcc已经更新到6.2.1了,win10的WSL下还是gcc4.8.官方源没有比较新的版本,于是自己编译使用. GCC6的几个新特性 GCC 6 ...
- dex文件格式三
先来看看整体的结构,结构体定义在DexFile.h里面 在dexFileSetupBasicPointers中设置各个子结构体,当然是在解析DexHeader之后 源码在DexFile.c文件中 ...
- jeecg bootstrap修改单列模版
在作者原来的模版上增强单列模版 <%@ page language="java" import="java.util.*" contentType=&qu ...