| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322 | Namespace.register("U.F.R"); //好友和群窗口区域命名空间//#region 右键菜单/***   右键功能 显示[移动至][删除]窗体*   参数说明 0 当前元素 1 用户信息*   @param  {element} 右键好友的区域*   @param  {object} 好友信息*/U.F.R.FriendsRightClickMenu = function (el, friendinfo) {    var _friendmenuel = $('#UD_F_R_Div')[0], //右键的菜单        _child = $(_friendmenuel).Child(); //子菜单    //显示菜单,定位    $(_friendmenuel).css({ "display": "block", "zIndex": "999" });    U.M.RLocate(_friendmenuel); //右键菜单定位    //按钮功能赋值    _child[0].onclick = U.M.apply(_child[0], [[U.F.W.PopupFriendsForm, [friendinfo]]]);  //发送消息    _child[1].onclick = U.M.apply(_child[1], [[U.U.I.ViewOtherUserInfo, [friendinfo]]]);  //查看个人资料    _child[2].onmouseover = U.M.apply(_child[2], [[U.F.R.MoveFriendForm, [friendinfo, el, _child[2]]]]);  //移动联系人至    _child[3].onclick = U.M.apply(_child[3], [[U.F.R.DeleteFriendForm, [friendinfo]]]);  //删除}/***   鼠标移动到 联系人移动至制定的好友分组弹框*   @param  {object} 好友信息*   @param  {element} 右键好友的区域*   @param  {element} onmouseover出发的按钮*/U.F.R.MoveFriendForm = function (friendinfo, el, menubootom) {    var i,        _friendclassel = $(menubootom).parentg().Child()[4],  //获取好友分组打印的元素        _friendclassinfo = US.Friend[0]; //获取用户所有的好友分组    _friendclassel.innerText = ""; //清空之前打印的好友分组    //如果有好友分组可以移动的情况    if (_friendclassinfo.length > 1) {        //循环打印好友分组        for (i = 0; i < _friendclassinfo.length; i++) {            //如果是当前用户所在的好友分组不打印,否则都打印            if (_friendclassinfo[i].FriendsGroupID != friendinfo.FriendsGroupID) {                //创建好友分组元素                $$("div", { "class": "UD_F_R_Div_Children_A", "innerText": _friendclassinfo[i]["FriendsGroupName"],                    "onclick": [[U.F.R.AssignMoveFriend, [friendinfo, _friendclassinfo[i], el]]]                }, _friendclassel);            }        }        _friendclassel.style.display = "block";    }}/***  触发移动好友*   *   @param  {object} 好友信息*   @param  {object} 群信息*   @param  {element} 好友元素*/U.F.R.AssignMoveFriend = function (friendinfo, groupinfo, el) {    //只有选择移动了触发    if (friendinfo) {        $('#UD_F_R_Div')[0].style.display = "none"; //点击后隐藏右键        $(".UD_F_R_Div_Children")[0].style.display = "none"; //隐藏右键后好友分组选择的菜单        //数据库设置移动好友信息        U.A.Request(US.CD, [US.DB, "UseStudio_Friends", "MoveFriendToOtherClass", friendinfo.FriendsID, groupinfo["FriendsGroupID"]],                     U.F.R.AsynAssignMoveFriend, ["", friendinfo, groupinfo, el]);        U.Alert('修改成功');    }}/***   把相应的好友移动到指定的群组里*/U.F.R.AsynAssignMoveFriend = function (r) {    var _child, //好友分组元素        _context = r.context, //异步传参        _friendinfo = _context[1], //移动好友实体        _groupinfo = _context[2], //好友分组字体        _el = _context[3], //移动的元素        _friendgroupel = $("#g" + _groupinfo.FriendsGroupID)[0], //移动到的好友分组        _previousgroupinfo = _$(US.Friend[0]).Select({ "FriendsGroupID": _friendinfo.FriendsGroupID })[0], //修改前的好友分组        _friendnum = _$(US.Friend[1]).Select({ "FriendsGroupID": _friendinfo.FriendsGroupID }).length - 1 //好友分组的数量    ;    //设置好友原本所在的分组信息    $(_el).parentg(2).Child()[0].innerHTML = _previousgroupinfo.FriendsGroupName + "(" + _friendnum + ")"; //移动好友出去后需改数量显示    //好友实体的id变化FriendsGroupID    _friendinfo.FriendsGroupID = _groupinfo.FriendsGroupID;    //判断分组是否显示    if (_friendgroupel) {        _child = $(_friendgroupel).Child();        _friendnum = _$(US.Friend[1]).Select({ "FriendsGroupID": _friendinfo.FriendsGroupID }).length;        _child[0].innerHTML = _groupinfo["FriendsGroupName"] + "(" + _friendnum + ")"; //新好友分组        _child[1].appendChild(_el); //添加移动的元素    }}/***   鼠标从 联系人移动至 移开*   隐藏现有的好友分组   Jude*/U.F.R.MoveFriendOver = function (isdisplay, friendgroupmenu, el) {    //判断是否是冒泡上来的,如果是冒泡的则不处理    if (!U.M.onmouseout(el)) {        //根据传参设置是否显示隐藏        friendgroupmenu.style.isdisplay = isdisplay ? "none" : "block";    }}/***   弹出移动好友分组*   参数说明 0 要移动的对象的信息集合  1 右键区域*   @param  {element}   点击移动至区域*/U.F.R.TopMoveFriendForm = function (el, friendinfo) {    var i, //循环        _tempel,        _friendclassel = $$("div", { "className": "UD_F_R_Y_D" }), //弹出框内容区域        _friendclassinfo = US.Friend[0], //好友分组信息        _friendclassform = U.UI.Confirm("移动设置", { "width": "300px", "height": "auto" }, [], [U.F.R.AssignMoveFriend], _friendclassel);  //好友分组弹框    $$("div", { "innerText": "选择好友移动至", "className": "UD_F_R_Y_DT" }, _friendclassel);    _tempel = $$("div", { "className": "UD_F_R_Y_DS" }, _friendclassel);    //循环所有可以移动的分组    for (i = 0; i < _friendclassinfo.length; i++) {        $$("div", { "innerHTML": _friendclassinfo[i].FriendsGroupName,            "className": "UD_F_R_Div_Q" + (friendinfo.FriendsGroupID == _friendclassinfo[i].FriendsGroupID ? " UD_F_R_Div_QO" : ""),            "onclick": [[U.F.R.TopMoveFriendFormSwitch, ["this", friendinfo, _friendclassinfo[i], _friendclassform, el]]]        }, _tempel);    }}/***   右键功能 显示[移动至][删除]窗体*   *   @param  {element} 选中变化的元素*   @param  {object} 好友信息*   @param  {object} 群信息*   @param  {array} 对话框------------[0] 对话框*   @param  {element} 好友元素*/U.F.R.TopMoveFriendFormSwitch = function (groupel, friendinfo, friendclassinfo, friendclassform, el) {    var i, //用于循环        _child = $(el).parentg().Child(); //获取    //设置点击的效果    for (i = 0; i < _child.length; i++) {        _child[i].className = "UD_F_R_Div_Q" + (el == _child[i] ? " UD_F_R_Div_QO" : "");    }    //设置确定按钮的事件,这里要结合窗体的api    friendclassform.AddEvent({ Yes: [U.F.R.AssignMoveFriend, [friendinfo, friendclassinfo, el]] });}//#endregion//#region 好友分组/***   右键群显示*   @param object 右键元素的信息集合*/U.F.R.FriendClassRightClickMenu = function (friendgroupinfo, el) {    var _el = $('#UD_F_R_Qun')[0], //右键的菜单        _child = $(_el).Child(); //子菜单    $(_el).css({ "display": "block", "zIndex": "999" }); //显示右键菜单    U.M.RLocate(_el); //右键菜单定位    //修改分组名字的点击处理    _child[0].onclick = U.M.apply(_child[0], [[U.F.R.PopupUpdateFriendsClassForm, [friendgroupinfo, el]]]);}/***   修改分组昵称 弹框*   @param object 分组信息集合*   @param object 当前的el*/U.F.R.PopupUpdateFriendsClassForm = function (friendgroupinfo, el) {    var _tempel,        _temponeel,        _temptwoel    ;    if (friendgroupinfo) {        //创建好友分组的样式        _tempel = $$("div", { "className": "UD_SYSSZS UD_SYATNL UD_SYSOU" });        _temponeel = $$("div", {}, _tempel)        _temptwoel = $$("input", { "value": friendgroupinfo.FriendsGroupName, "onfocus": [[U.MR.InputTip, ["this", [friendgroupinfo.FriendsGroupName, ""]]]], "onblur": [[U.MR.InputTip, ["this", "", friendgroupinfo.FriendsGroupName]]] }, _temponeel);        //弹出好友对话框        U.UI.Confirm("分组名字", { "max-width": "500px", "width": "auto", "height": "auto" },                     null, U.M.apply(null, [[U.F.R.AssignUpdateFriendsClass, [friendgroupinfo, _temptwoel, el]]]), _tempel, $("#UD_SY")[0]); //创建一个对话框    }    else {        U.Alert("暂无群信息");    }}/***   *   参数说明 0 群消息集合   1 更改的分组名称 3对应修改的el*   @param  {object} 群信息*   @param  {element} 输入框*   @param  {object} 对应的el*/U.F.R.AssignUpdateFriendsClass = function (friendgroupinfo, formel, el) {    U.A.Request(US.CD, [US.DB, "UseStudio_Friends", "UpdateClassNameAndDescription", friendgroupinfo["FriendsGroupID"], formel.value, ""],    function () {        $(el)[0].innerText = formel.value;        U.Alert("修改成功");    }, []);    U.Alert("正在修改中");}//#endregion/***   删除确定*   参数说明    0 要删除的对象ID  1右键的区域*   @param  {element} 右键好友的区域*/U.F.R.DeleteFriendForm = function (friendinfo) {    var _el,        _tempel,        _temponeel    ;    //创建删除好友的信息样式    _el = $$("div", { "class": "UD_F_R_D" });    _tempel = $$("div", { "class": "UD_F_R_D_A" }, _el);    _temponeel = $$("div", { "class": "UD_F_R_D_AL", "onclick": [[U.U.I.ViewOtherUserInfo, [friendinfo.UaweId]]] }, _tempel);    $$("img", { "src": "http://fs.1473.cn/" + friendinfo["UserImageHead"], "onerror": U.M.ImgError }, _temponeel);     //用户头像      _temponeel = $$("div", { "class": "UD_F_R_D_AR" }, _tempel)    $$("div", { "class": "UD_F_R_DelP1", "innerText": friendinfo["UserNickName"] }, _temponeel);    $$("div", { "class": "UD_F_R_DelP2", "innerText": friendinfo["UserIndividualitysignature"] == "" ? "暂时没有填写个人介绍" : friendinfo["UserIndividualitysignature"] }, _temponeel);        //个性签名    $$("div", { "class": "UD_F_R_DelSpan", "innerText": "删除后你将从对方列表消失,且以后不再接受此人的会话消息。" }, _el);    //弹出删除好友的框    U.UI.Confirm("删除好友", { "width": "330px", "height": "auto" }, null, [U.F.M.DeleteFriend, [friendinfo]], _el);}/***   右上角设置*   参数说明 friendinfo对应的好友信息集合*   @param object   好友信息*   */U.F.R.PopupRightCornerMenu = function (friendinfo, el) {    var _tempel,        _friendclassinfo,        _isaddfriend,        _menuel = $(el).Child()[0];    //如果菜单存在则删除    if (_menuel) {        $(_menuel).remove();    }    //好友查看    if (friendinfo.UserId) {        _isaddfriend = _$(US.Friend[1]).FindOne({ "UserId": friendinfo.UserId }); //判断用户是否在好友列表里        //判断用户是否是自己的好友,是的话则操作好友信息        if (_isaddfriend) {            //获取好友分组信息            _friendclassinfo = $("#g" + _isaddfriend.FriendsGroupID).find("[tid=" + _isaddfriend.UserId + "]")[0]; //好友分组信息            //创建菜单            _tempel = $$("div", { "class": "UD_SYFT_B", style: {} }, el);            $$("div", { "innerText": "修改备注姓名", "onclick": [[U.F.R.UpdateFriendDescriptForm, [_isaddfriend]]] }, _tempel);            $$("div", { "innerText": "修改好友分组", "onclick": [[U.F.R.TopMoveFriendForm, [_friendclassinfo, _isaddfriend]]] }, _tempel);            $$("div", { "innerText": "删除好友", "onclick": [[U.F.R.DeleteFriendForm, [_isaddfriend]]] }, _tempel);        }        //如果好友不是自己的好友,则菜单为添加好友        else {            $$("div", { "innerText": "添加该好友" }, _tempel);        }    }    //群菜单查看    else {        U.F.J.GroupInfoForm(friendinfo); //查看群 操作    }}/***   修改好友备注*   参数说明 UGE对应的好友信息集合*   @param object*/U.F.R.UpdateFriendDescriptForm = function (_friendinfo) {    var _tempel,    _temponeel,    _temptwoel,    _descript;    _descript = _friendinfo.FriendsDescript || _friendinfo.UserNickName; //修改的好友昵称    //创建好友分组的样式    _tempel = $$("div", { "className": "UD_SYSSZS UD_SYATNL UD_SYSOU" });    _temponeel = $$("div", {}, _tempel)    _temptwoel = $$("input", { "value": _descript, "onfocus": [[U.MR.InputTip, ["this", [_descript, ""]]]],        "onblur": [[U.MR.InputTip, ["this", ["", _descript]]]]    }, _temponeel);    //弹出好友对话框    U.UI.Confirm("好友昵称", { "width": "300px" }, null, U.M.apply(null, [[U.F.R.UpdateFriendDescript, [_friendinfo, _temptwoel]]]), _tempel, $("#UD_SY")[0]); //创建一个对话框}/***   确认修改备注*   参数说明   0 对应好友信息集合   1对应的el 用于静态改变当前的备注*   @param{object}群信息 *   @{element}对应el*/U.F.R.UpdateFriendDescript = function (friendinfo, el) {    U.A.Request(US.CD, [US.DB, "UseStudio_Friends", "UpdateFriendDescription", friendinfo['FriendsID'], el.value],                U.F.R.AsynUpdateFriendDescript, [null, friendinfo, el.value]);}/***   好友备注修改异步*   @param{object} 异步服务器返回的信息 */U.F.R.AsynUpdateFriendDescript = function (r) {    var context = r.context,        _friendinfo = context[1],        _descript = context[2],        _el = $("#g" + _friendinfo.FriendsGroupID).find("[tid=" + _friendinfo["UserId"] + "]")[0];    _friendinfo.FriendsDescript = _descript; //在好友信息集合里修改用户描述    //在好友列表中修改好友    if (_el) {        $("div", _el)[2].innerText = context[2];    }}
 |