//--------------------------------------------------------------右键菜单---------------------------------------------------------------------- Namespace.register("U.Dk.RM"); //Disk的右键命名空间 //#region 右键查看处理 ////详细视图右键处理 //U.Dk.RM.WPYJCDX = function (UDOD, UDPD, UDE, UPE, userid) { // if (event.button == 2) {//右键选择 // var i, _UTF, _UDAD = $(UDPD).checked(); // if (_UDAD.length > 1) { // for (i = 0; i < _UDAD.length; i++) { // _UDAD[i] = $(_UDAD[i]).Parent(2); (!_UTF && _UDAD[i] == UDOD) && (_UTF = true); // } // } //获取是否多选 // U.Dk.RM.WPYJCD(UDOD, UDE, UPE, _UTF ? _UDAD : "", userid); //多选元素处理 // } //} //右键菜单弹出 U.Dk.RM.WPYJCD = function (UDOD, UDE, UAE, UFT, userid) { var i, j, _UDID, _UQE, _UKE, _UME, _UAE, _UJE = [], _USE = [0, 11, 17], _UTP = event.type, _userid = US.userInfo.userid, _UGE = !userid ? US.Disk.UserDisk : U.Dk.DiskOperatingSwitch(userid), _UIE = _UGE[1][4] == "Details", _UDTD = $("#" + (_UGE[2] ? "UD_SYWMO" : "UD_SYWM"), _UGE.pdiv), _UDSD = $("#" + (_UGE[2] ? "UD_SYWOCRC" : "UD_SYWRZ"), _UGE.pdiv)[0], _UDPD = $(_UDSD).Parent(2), _UDAD = _UDTD.Child(); if (UDOD && event.button == 2 && (_UDID = (UDE ? UDE["UserDirectoryParentID"] : (_UGE[1][1] || (_UGE[1][5] ? US.DG : null))))) {//右键选择 这里允许了临时文件夹处理 if (_UTP == "mouseup") { U.M.StopBubble(); _UQE = U.Dk.HP.WPCZQXHQ(_UDID, _UGE, UDE); _UKE = _UQE[2][0]; _UDID = _UKE[_UKE.length - 1].UserDirectoryID; //递归获取指定导航目录 if (UFT || (((_UME = U.D.DragE) && _UME.TC.length > 1) && !_UME.Event())) { //文件多选 _UAE = U.Dk.RM.MFDRC(UFT || _UME.TC, (UAE && UAE.length > 1) ? UAE : _UGE[0]); //获取多选的文件 _UME = [[2, 3, 4, 6], [[[U.Dk.RE.WPSCWJ, [_UAE, userid]]], [[U.Dk.RE.WPFZ, [_UAE, "Copy", userid]]], [[U.Dk.RE.WPFZ, [_UAE, "Cut", userid]]], [[U.Dk.RM.DWJXZ, [_UAE]]]]]; //多选文件目录 } else { var _UDOD; if (_UIE) { _UDOD = $(UDOD).childg()[1]; _UDOD = $(_UDOD).childg()[1]; _UDOD = $(_UDOD).Child()[0]; } else { _UDOD = $(UDOD).childg()[0]; _UDOD = $(_UDOD).childg()[1]; _UDOD = $(_UDOD).Child()[0]; } _UME = UDE ? (UDE["filetype"] ? [[0, 1, 2, 3, 4, 6, 11, 17, 18, 19], [UDOD.onclick, [[U.Dk.RE.WPCMM, [_UDOD, UDE, userid]]], [[U.Dk.RE.WPSCWJ, [UDE, userid]]], [[U.Dk.RE.WPFZ, [UDE, "Copy", userid]]], //复制 [[U.Dk.RE.WPFZ, [UDE, "Cut", userid]]], //剪切 [[U.Dk.RE.WPXZWJZJO, [UDE.UserDirectoryID, UDE.filetype ? "file" : "folder"]]], [[U.Dk.RE.WPCKPL, [UDE, userid]]], [[U.Dk.RE.WPCKSX, ["this", UDE, _UGE[1][2]]]], [[U.Dk.RE.DWJXZ, [_UAE && _UAE.length ? _$(_$(_UAE).Select({ "filetype": 1 })).pluck("UserDirectoryID").join(",") : UDE.UserDirectoryID, "true"]]], [U.D.DT.YYDK, ["Txt", UDE]]]] : [[0, 1, 2, 3, 4, 5, 6, 17], [UDOD.onclick, [[U.Dk.RE.WPCMM, [_UDOD, UDE, userid]]], [[U.Dk.RE.WPSCWJ, [UDE, userid]]], [[U.Dk.RE.WPFZ, [UDE, "Copy", userid]]], [[U.Dk.RE.WPFZ, [UDE, "Cut", userid]]], [[U.Dk.RE.WPWJJM, [UDE, userid]]], [[U.Dk.RE.WPXZWJZJO, [UDE.UserDirectoryID, UDE.filetype ? "file" : "folder"]]], [[U.Dk.RE.WPCKSX, ["this", UDE, userid]]]]]) : [[7, 8, 9, 10, 12, 13, 14, 15, 16, 17], [[[U.Dk.RE.WPXJWJ, ["folder", _UDPD, _UGE[1][2]]]], [[U.Dk.RE.WPXJWJ, ["txt", _UDPD, _UGE[1][2]]]], [[U.Dk.RE.WPXJWJ, ["uw", _UDPD, _UGE[1][2]]]], [[U.Dk.RE.WPXJWJ, ["ue", _UDPD, _UGE[1][2]]]], [[U.Dk.RE.WPJQ, [_UGE[1][2]]]], [[U.Dk.RE.GXWPCKXS, [userid, _UKE[0], true]]], [U.Dk.UP.XWPOP, [userid]], null, null, [[U.Dk.RE.WPCKSX, ["this", _$(_UGE[0]).Select({ "UserDirectoryID": _UGE[1][1] })[0], userid]]]]]; } //单选选项 if (UDE) {//文件左键 if (!_UQE[4]) { //非管理员权限 for (i = 0; i < 2; i++) { j = String(2 - i); if (_$(_UAE).Select({ UserDirectoryEncrypt: j }).length || (UDE && UDE.UserDirectoryEncrypt == j)) { _UQE[i] = false; } } //去除多余权限 if (_UQE[1]) { _USE = _USE.concat[3, 6]; } if (_UQE[0]) { _USE = _USE.concat[12, 14]; } //只有上传权限 //只有下载权限 for (i = 0; i < _UME[0].length; i++) { if (_USE.indexOf(_UME[0][i]) < 0) { _UME[0].splice(i, 1); _UME[1].splice(i, 1); i--; } } //去除功能 } _USE = []; if (US.Disk.ApplicationTypes.text.types.indexOf(UDE.UserDirectoryExtendType) == -1) { _USE.push(19); } if (!(_UAE && _UAE.length) && _UDID == US.FG && (UDE && !UDE["filetype"])) { _USE.push(5); } if (!US.userInfo.IsUseStudioMembe && (UDE.filetype == 0 && ((UAE && UAE.length) ? !_$(UAE).Select({ filetype: 1 }).length : true)) && ((i = _UME[0].indexOf(18)) > -1)) { _USE.push(18); } //没有加密解密 //没有置顶权限 for (i = 0; i < _USE.length; i++) { if ((j = _UME[0].indexOf(_USE[i])) > -1) { _UME[0].splice(j, 1); _UME[1].splice(j, 1); } } if (((_UAE && _UAE.length) && !UDE) || !_UME.length) { U.Alert("无权限访问。"); return; } //去除权限 } else {//目录中右键 _UDAD[12].style.color = U.Dk.RE.CE.length ? "#000" : "#b2b2b2"; if (!_UQE[0]) { for (i = 0; i < _UME.length; i++) { _UME[i].splice(0, 5); _UME[i].splice(1, 1); } } //无添加权限 else if (!(_UDID == US.DG || _UDID == US.FG || _UKE[0].GroupID)) { _UME[0].splice(1, 2); _UME[1].splice(1, 2); } //无新建office权限 } if ((UDE && ((_UAE && (_UAE = _$(_UAE).Like({ "UserDirectoryID": _UQE[3] })).length)) || _UQE[3].indexOf(_UGE[1][1]) > -1)) { if (_UAE && _UAE.length) { _UDTD[0].style.display = "none"; U.Alert("初始化的目录无法选择"); return; } else { _UME = [[0, 6, 17], [UDOD.onclick, [[U.Dk.RE.WPXZWJZJO, [_UGE[1][1], (UDE && UDE.filetype) ? "file" : "folder"]]], [[U.Dk.RE.WPCKSX, ["this", UDE, userid]]]]]; } } //初始化目录的权限 for (i = 0; i < _UDAD.length; i++) { //设置显示右键 if (i == 5) { _UDAD[i].innerText = (UDE && UDE["UserDsirectoryEncrypt"]) ? "解密" : "加密"; } $(_UDAD[i]).addAttrArray({ "style": { "display": (((j = _UME[0].indexOf(i)) > -1) ? (_UME[0].splice(j, 1), (j = _UME[1].splice(j, 1)[0]), "block") : "none") }, "onmouseup": j != -1 ? (j || _UDAD[i].onmouseup) : _UDAD[i].onmouseup }); } _UDTD[0].style.display = "block"; U.M.RLocate(_UDTD[0]); return; //右键定位 } } if (_UTP == "mousedown" && !UDE && UDOD && _UGE[1][5]) { U.D.DragSelectE({ "SSO": UDOD, "SO": UDOD, "CS": "UD_SYWRZOI" }); } _UDTD[0].style.display = "none"; //右键以外的消失 //隐藏右键菜单 && _UGE[1][4] == "Normal" } //批量处理文件 U.Dk.RM.DWJXZ = function (UDE) { var i, _UTP = "ue,uw", _UCE = []; for (i = 0; i < UDE.length; i++) { if (_UTP.indexOf(UDE[i].UserDirectoryExtendType.toLowerCase()) == -1) { _UCE.push(UDE[i].UserDirectoryID); } } U.Dk.RE.WPXZWJZJO(_UCE.join(","), ""); } //多文件右键菜单的显示 U.Dk.RM.MFDRC = function (UDAD, UGE) { var i, _UCE = []; for (i = 0; i < UDAD.length; i++) { _UCE.push(UDAD[i].id); }; return _$(UGE).Like({ "UserDirectoryID": _UCE.join(",") }); } //#endregion