DeskTop.js 68 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191
  1. /*
  2. 此处为桌面系统启动应用区域
  3. */
  4. Namespace.register("U.MD.D.I"); //桌面应用处理
  5. //判断图片是否在拖拽,如果是拖拽图标的过程是不会打开图片的
  6. U.MD.D.I.IsDrag;
  7. U.MD.D.I.Ip;
  8. //教师桌面图标的全局变量
  9. U.MD.D.I.teacherDeskIcon = [
  10. { "Name": "项目管理", "Url": "project", "style": { "cssText": "background-image:url(/img/icon/project.png)" } },
  11. { "Name": "学习中心", "Url": "study", "style": { "cssText": "background-image:url(/img/icon/study.png)" } },
  12. { "Name": "学生管理", "Url": "student", "style": { "cssText": "background-image:url(/img/icon/student.png)" } },
  13. { "Name": "评价管理", "Url": "evaluate", "style": { "cssText": "background-image:url(/img/icon/evaluation.png)" } },
  14. { "Name": "班级管理", "Url": "class", "style": { "cssText": "background-image:url(/img/icon/class.png)" } },
  15. { "Name": "我的资料", "Url": "my", "style": { "cssText": "background-image:url(/img/icon/myMessage.png)" } },
  16. { "Name": "通知公告", "Url": "notice", "style": { "cssText": "background-image:url(/img/icon/news.png)" } },
  17. { "Name": "素材库", "Url": "library", "style": { "cssText": "background-image:url(/img/icon/library.png)" } },
  18. { "Name": "电子白板", "Url": "whiteboard", "style": { "cssText": "background-image:url(/img/icon/whiteBoard.png)" } },
  19. { "Name": "问卷调查", "Url": "investigation", "style": { "cssText": "background-image:url(/img/icon/ask.png)" } },
  20. { "Name": "便签分类", "Url": "note", "style": { "cssText": "background-image:url(/img/icon/note.png)" } },
  21. // { "Name": "量规评分", "Url": "score", "style": { "cssText": "background-image:url(/img/icon/score.png)" } },
  22. { "Name": "思维导图", "Url": "mind", "style": { "cssText": "background-image:url(/img/icon/mindMapping.png)" } },
  23. { "Name": "协同文档", "Url": "doc", "style": { "cssText": "background-image:url(/img/icon/doc.png)" } },
  24. { "Name": "思维网格", "Url": "mindNetwork", "style": { "cssText": "background-image:url(/img/icon/mindNetwork.png)" } },
  25. { "Name": "实时课堂", "Url": "teacherClassRoom", "style": { "cssText": "background-image:url(/img/icon/classRoom.png)" } }
  26. ];
  27. U.MD.D.I.studentDeskIcon = [
  28. { "Name": "我的项目", "Url": "studnetProject", "style": { "cssText": "background-image:url(/img/icon/project.png)" } },
  29. { "Name": "学习中心", "Url": "studentStudy", "style": { "cssText": "background-image:url(/img/icon/study.png)" } },
  30. { "Name": "我的评价", "Url": "studentEvaluate", "style": { "cssText": "background-image:url(/img/icon/evaluation.png)" } },
  31. { "Name": "我的资料", "Url": "studentMy", "style": { "cssText": "background-image:url(/img/icon/myMessage.png)" } },
  32. { "Name": "素材库", "Url": "library", "style": { "cssText": "background-image:url(/img/icon/library.png)" } },
  33. { "Name": "电子白板", "Url": "whiteboard", "style": { "cssText": "background-image:url(/img/icon/whiteBoard.png)" } },
  34. { "Name": "问卷调查", "Url": "investigation", "style": { "cssText": "background-image:url(/img/icon/ask.png)" } },
  35. { "Name": "便签分类", "Url": "note", "style": { "cssText": "background-image:url(/img/icon/note.png)" } },
  36. // { "Name": "量规评分", "Url": "score", "style": { "cssText": "background-image:url(/img/icon/score.png)" } },
  37. { "Name": "思维导图", "Url": "mind", "style": { "cssText": "background-image:url(/img/icon/mindMapping.png)" } },
  38. { "Name": "协同文档", "Url": "doc", "style": { "cssText": "background-image:url(/img/icon/doc.png)" } },
  39. { "Name": "思维网格", "Url": "mindNetwork", "style": { "cssText": "background-image:url(/img/icon/mindNetwork.png)" } },
  40. { "Name": "实时课堂", "Url": "studentClassRoom", "style": { "cssText": "background-image:url(/img/icon/classRoom.png)" } }
  41. ];
  42. U.MD.D.I.schoolDeskIcon = [
  43. { "Name": "项目管理", "Url": "project", "style": { "cssText": "background-image:url(/img/icon/project.png)" } },
  44. { "Name": "学习中心", "Url": "study", "style": { "cssText": "background-image:url(/img/icon/study.png)" } },
  45. { "Name": "评价管理", "Url": "evaluate", "style": { "cssText": "background-image:url(/img/icon/evaluation.png)" } },
  46. { "Name": "通知公告", "Url": "notice", "style": { "cssText": "background-image:url(/img/icon/news.png)" } },
  47. { "Name": "学习资料", "Url": "stuLibrary", "style": { "cssText": "background-image:url(/img/icon/library.png)" } },
  48. { "Name": "电子白板", "Url": "whiteboard", "style": { "cssText": "background-image:url(/img/icon/whiteBoard.png)" } },
  49. { "Name": "问卷调查", "Url": "investigation", "style": { "cssText": "background-image:url(/img/icon/ask.png)" } },
  50. { "Name": "思维导图", "Url": "mind", "style": { "cssText": "background-image:url(/img/icon/mindMapping.png)" } },
  51. { "Name": "协同文档", "Url": "doc", "style": { "cssText": "background-image:url(/img/icon/doc.png)" } },
  52. { "Name": "思维网格", "Url": "mindNetwork", "style": { "cssText": "background-image:url(/img/icon/mindNetwork.png)" } },
  53. { "Name": "训练服务器", "Url": "train", "style": { "cssText": "background-image:url(/img/icon/trainPlatform.png)" } },
  54. ];
  55. //#region 桌面初始化a
  56. /**
  57. * 初始化桌面的起始函数
  58. *
  59. */
  60. U.MD.D.I.init = function() {
  61. if ($("#U_MD_D_K")[0]) {
  62. //初始化桌面图标
  63. U.MD.D.I.initDesktopIcons($("#U_MD_D_K")[0]);
  64. // var clickUrl = ':12588/requestIp.php';
  65. // U.MD.D.I.Mysqlrequest(clickUrl,function(data){
  66. // U.MD.D.I.Ip = data;
  67. // var AccessUrl = ':12588/useAccess.php?ip=' + U.MD.D.I.Ip;
  68. // U.MD.D.I.Mysqlrequest(AccessUrl,function(data){
  69. // U.selectEl("#U_MD_D_RW").css("width", US.width - 165 + "px");
  70. // })
  71. // //初始化任务栏,因为是静态的,所以直接改变样式即可.
  72. // })
  73. }
  74. }
  75. /**
  76. * 隐藏任务栏
  77. *
  78. * @param {element} 桌面元素
  79. */
  80. U.MD.D.I.hiddenTaskbar = function(el) {
  81. //任务栏位置变小
  82. U.selectEl(el).parentElement(3).css({ "bottom": "-60px" });
  83. //桌面的位置变大
  84. // U.selectEl("#U_MD_D_K").css({ "left": "5px" });
  85. }
  86. /**
  87. * 隐藏任务栏
  88. *
  89. * @param {element} 桌面元素
  90. */
  91. U.MD.D.I.hiddenTaskbarout = function(el) {
  92. //任务栏位置变小
  93. if (!U.UF.EV.stopBubbleMouseOutOrOver(el)) {
  94. //任务栏位置变化
  95. U.selectEl(el).css({ "bottom": "-60px" });
  96. //桌面的位置变大
  97. // U.selectEl("#U_MD_D_K").css({ "left": "5px" });
  98. }
  99. }
  100. /**
  101. * 初始化打印桌面图标
  102. *
  103. * @param {element} 桌面元素
  104. */
  105. U.MD.D.I.initDesktopIcons = function(el) {
  106. var i, //用于循环
  107. _content, //桌面图标元素
  108. _iconcontent, //桌面图标元素
  109. _frag = $$("frag"), //定义一个碎片元素
  110. _type = US.userInfo.type,
  111. _oid = US.userInfo.organizeid;
  112. _teacherDesktopIconInfo = U.MD.D.I.teacherDeskIcon, //获取教师端桌面图标
  113. _studentDesktopIconInfo = U.MD.D.I.studentDeskIcon, //获取学生端桌面图标
  114. _schoolDesktopIconInfo = U.MD.D.I.schoolDeskIcon; //获取测试学校桌面图标
  115. //清楚桌面图标
  116. el.innerHTML = "";
  117. //循环创建桌面图标
  118. if (_type == 2 && _oid != "91305d49-01ba-11ed-8c78-005056b86db5") {
  119. for (i = 0; i < _studentDesktopIconInfo.length; i++) {
  120. _content = $$("div", {
  121. className: "U_MD_D_KO",
  122. "onmousedown": U.UF.C.closure(function(obj) {
  123. //防止拖动图标即打开了桌面应用
  124. U.MD.D.click(this, obj);
  125. }, [_studentDesktopIconInfo[i]]),
  126. "onclick": U.UF.C.closure(function(obj) {
  127. //防止拖动图标即打开了桌面应用
  128. U.MD.D.click(this, obj);
  129. }, [_studentDesktopIconInfo[i]])
  130. }, _frag); //
  131. _iconcontent = $$("div", { className: "U_MD_D_KOA" }, _content);
  132. $$("div", { className: "U_MD_D_KOS U_Img", "style": _studentDesktopIconInfo[i].style }, _iconcontent);
  133. $$("div", { className: "U_MD_D_KOX", "style": { "cssText": "text-shadow: rgb(100 100 100) 2px 1px 3px, rgb(102 102 102) 0px 1px 0px, rgb(85 85 85) -1px 0px 0px, rgb(153 153 153) 0px -1px 0px; -webkit-text-shadow: rgb(100 100 100) 2px 1px 3px, rgb(102 102 102) 0px 1px 0px, rgb(85 85 85) -1px 0px 0px, rgb(153 153 153) 0px -1px 0px; -moz-text-shadow: rgb(100 100 100) 2px 1px 3px, rgb(102 102 102) 0px 1px 0px, rgb(85 85 85) -1px 0px 0px, rgb(153 153 153) 0px -1px 0px; filter: Glow(color=#777777, strength=1)\9;" }, "innerHTML": _studentDesktopIconInfo[i].Name }, _iconcontent);
  134. }
  135. } else if (_type == 1 && _oid != "91305d49-01ba-11ed-8c78-005056b86db5") {
  136. for (i = 0; i < _teacherDesktopIconInfo.length; i++) {
  137. _content = $$("div", {
  138. className: "U_MD_D_KO",
  139. "onmousedown": U.UF.C.closure(function(obj) {
  140. //防止拖动图标即打开了桌面应用
  141. U.MD.D.click(this, obj);
  142. }, [_teacherDesktopIconInfo[i]]),
  143. "onclick": U.UF.C.closure(function(obj) {
  144. //防止拖动图标即打开了桌面应用
  145. U.MD.D.click(this, obj);
  146. }, [_teacherDesktopIconInfo[i]])
  147. }, _frag); //
  148. _iconcontent = $$("div", { className: "U_MD_D_KOA" }, _content);
  149. $$("div", { className: "U_MD_D_KOS U_Img", "style": _teacherDesktopIconInfo[i].style }, _iconcontent);
  150. $$("div", { className: "U_MD_D_KOX", "style": { "cssText": "text-shadow: rgb(100 100 100) 2px 1px 3px, rgb(102 102 102) 0px 1px 0px, rgb(85 85 85) -1px 0px 0px, rgb(153 153 153) 0px -1px 0px; -webkit-text-shadow: rgb(100 100 100) 2px 1px 3px, rgb(102 102 102) 0px 1px 0px, rgb(85 85 85) -1px 0px 0px, rgb(153 153 153) 0px -1px 0px; -moz-text-shadow: rgb(100 100 100) 2px 1px 3px, rgb(102 102 102) 0px 1px 0px, rgb(85 85 85) -1px 0px 0px, rgb(153 153 153) 0px -1px 0px; filter: Glow(color=#777777, strength=1)\9;" }, "innerHTML": _teacherDesktopIconInfo[i].Name }, _iconcontent);
  151. }
  152. } else if (_type == 1 && _oid == "91305d49-01ba-11ed-8c78-005056b86db5") {
  153. for (i = 0; i < _schoolDesktopIconInfo.length; i++) {
  154. _content = $$("div", {
  155. className: "U_MD_D_KO",
  156. "onmousedown": U.UF.C.closure(function(obj) {
  157. //防止拖动图标即打开了桌面应用
  158. U.MD.D.click(this, obj);
  159. }, [_schoolDesktopIconInfo[i]]),
  160. "onclick": U.UF.C.closure(function(obj) {
  161. //防止拖动图标即打开了桌面应用
  162. U.MD.D.click(this, obj);
  163. }, [_schoolDesktopIconInfo[i]])
  164. }, _frag); //
  165. _iconcontent = $$("div", { className: "U_MD_D_KOA" }, _content);
  166. $$("div", { className: "U_MD_D_KOS U_Img", "style": _schoolDesktopIconInfo[i].style }, _iconcontent);
  167. $$("div", { className: "U_MD_D_KOX", "style": { "cssText": "text-shadow: rgb(100 100 100) 2px 1px 3px, rgb(102 102 102) 0px 1px 0px, rgb(85 85 85) -1px 0px 0px, rgb(153 153 153) 0px -1px 0px; -webkit-text-shadow: rgb(100 100 100) 2px 1px 3px, rgb(102 102 102) 0px 1px 0px, rgb(85 85 85) -1px 0px 0px, rgb(153 153 153) 0px -1px 0px; -moz-text-shadow: rgb(100 100 100) 2px 1px 3px, rgb(102 102 102) 0px 1px 0px, rgb(85 85 85) -1px 0px 0px, rgb(153 153 153) 0px -1px 0px; filter: Glow(color=#777777, strength=1)\9;" }, "innerHTML": _schoolDesktopIconInfo[i].Name }, _iconcontent);
  168. }
  169. } else {
  170. for (i = 0; i < _teacherDesktopIconInfo.length; i++) {
  171. _content = $$("div", {
  172. className: "U_MD_D_KO",
  173. "onmousedown": U.UF.C.closure(function(obj) {
  174. //防止拖动图标即打开了桌面应用
  175. U.MD.D.click(this, obj);
  176. }, [_teacherDesktopIconInfo[i]]),
  177. "onclick": U.UF.C.closure(function(obj) {
  178. //防止拖动图标即打开了桌面应用
  179. U.MD.D.click(this, obj);
  180. }, [_teacherDesktopIconInfo[i]])
  181. }, _frag); //
  182. _iconcontent = $$("div", { className: "U_MD_D_KOA" }, _content);
  183. $$("div", { className: "U_MD_D_KOS U_Img", "style": _teacherDesktopIconInfo[i].style }, _iconcontent);
  184. $$("div", { className: "U_MD_D_KOX", "style": { "cssText": "text-shadow: rgb(100 100 100) 2px 1px 3px, rgb(102 102 102) 0px 1px 0px, rgb(85 85 85) -1px 0px 0px, rgb(153 153 153) 0px -1px 0px; -webkit-text-shadow: rgb(100 100 100) 2px 1px 3px, rgb(102 102 102) 0px 1px 0px, rgb(85 85 85) -1px 0px 0px, rgb(153 153 153) 0px -1px 0px; -moz-text-shadow: rgb(100 100 100) 2px 1px 3px, rgb(102 102 102) 0px 1px 0px, rgb(85 85 85) -1px 0px 0px, rgb(153 153 153) 0px -1px 0px; filter: Glow(color=#777777, strength=1)\9;" }, "innerHTML": _teacherDesktopIconInfo[i].Name }, _iconcontent);
  185. }
  186. }
  187. //加载好后给图标定位
  188. U.MD.D.iconPostion($(_frag).Child());
  189. //把图标加载到页面
  190. el.appendChild(_frag);
  191. }
  192. /**
  193. * 显示任务栏
  194. *
  195. * @param {element} 桌面元素
  196. */
  197. U.MD.D.I.displayTaskbar = function(el) {
  198. //判断是否需要形式任务栏,由于用了mouseover事件会冒泡响应多次,这里做了过滤
  199. if (!U.UF.EV.stopBubbleMouseOutOrOver(el) && U.selectEl(el).css("bottom") != "0px") {
  200. //任务栏位置变化
  201. U.selectEl(el).css({ "bottom": "0px" });
  202. //桌面位置变话
  203. // U.selectEl("#U_MD_D_K").css({ "left": "70px" });
  204. }
  205. }
  206. //#region 桌面图标拖动逻辑
  207. /**
  208. * 桌面排列图标
  209. *
  210. * @param {element} 桌面元素
  211. * @param {object} 上下相距的距离
  212. * @param {object} 左右相距的距离
  213. * @return {object} 命名空间
  214. */
  215. U.MD.D.iconPostion = function(childs, top, left) {
  216. var i; //用于循环处理
  217. top = top || 15; //如果没有设置元素的间距处理默认上间距为15
  218. left = left || 20; //如果没有设置元素的间距处理默认左间距为15
  219. //循环所有的图标,设置每个图标的间距,打印顺序是竖排打印的方式
  220. for (i = 0; i < childs.length; i++) {
  221. //如果竖排top超过了范围处理
  222. if (top + 95 > US.height - 10) {
  223. //left超过了页面范围处理,则向上重叠打印处理
  224. if ((left + 180) > US.width) {
  225. top -= 115;
  226. left -= 90;
  227. }
  228. //没有超过范围,那么left+90添加到下一个竖排打印
  229. else {
  230. left += 90;
  231. top = 15;
  232. };
  233. }
  234. //给图标的位置赋值
  235. U.selectEl(childs[i]).css({ top: top + "px", left: left + "px" });
  236. if (i < childs.length - 1) {
  237. //页面图标每次向下加115
  238. top += 115;
  239. }
  240. }
  241. //返回最后调用的图标的位置
  242. return [top, left];
  243. }
  244. /**
  245. * 桌面点击事件逻辑
  246. *
  247. * @param {element} 桌面元素
  248. * @param {object} 上下相距的距离
  249. * @param {object} 左右相距的距离
  250. * @return {object} 命名空间
  251. */
  252. U.MD.D.click = function(el, obj) {
  253. var _buttonnumber = event.button; //点击的按钮的事件值
  254. var _userinfo = US.userInfo;
  255. U.UF.EV.stopBubble(); //阻止向上冒泡
  256. //onmousedown 包含了左键和右键 这里大于2是为了兼容 所有浏览器的右键处理
  257. if (_buttonnumber < 2) {
  258. //如果是click事件的处理
  259. if (event.type == "click") {
  260. //如果元素在mousemove事件中没有移动则出发click事件
  261. if (!U.MD.D.I.IsDrag) {
  262. if (!_userinfo || Object.keys(_userinfo).length === 0) {
  263. U.alert("请先登录您的账号!");
  264. setTimeout(() => {
  265. U.MD.U.L.login();
  266. }, 2000);
  267. } else {
  268. //打开应用处理
  269. U.MD.D.I.openApplication(obj.Url, { "userid": US.userInfo.userid, "directoryid": US.FTPFOLDERID });
  270. }
  271. }
  272. }
  273. //如果是mouse事件的处理
  274. else {
  275. //拖动处理,添加拖动和拖动结束事件
  276. U.UF.F.drag(el, U.MD.D.iconMove, U.MD.D.iconUp);
  277. }
  278. U.MD.D.I.IsDrag = false;
  279. }
  280. }
  281. /**
  282. * 拖动的处理
  283. *
  284. */
  285. U.MD.D.iconMove = function() {
  286. //如果当前位置点击初始化的位置出现了变化,则设置是否拖动的属性 U.MD.D.I.IsDrag为true
  287. U.MD.D.I.IsDrag = true;
  288. }
  289. /**
  290. * 拖动结束后,这里是定位处理,以网状的形式定位
  291. *
  292. * @param {element} 拖动的元素
  293. * @return {object} 命名空间
  294. */
  295. U.MD.D.iconUp = function(el) {
  296. var _top = 15,
  297. _left = 20,
  298. _margin,
  299. _childs = U.selectEl("#U_MD_D_K").Child(), //桌面所有的图标
  300. _positioninfo = U.UF.EL.getElementInfo(el); //获取拖动结束的元素的位置
  301. if (_positioninfo["OT"] > 15) {
  302. //网状的形式定位,如果差超过了55,那么向下定位,否则向上定位
  303. _margin = ((_positioninfo["OT"] - 15) % 115 > 55 && _positioninfo["OT"] + 115 < US.height) ? 1 : 0;
  304. _top = (Math.floor((_positioninfo["OT"] - 15) / 115) + _margin) * 115 + 15;
  305. }
  306. if (_positioninfo["OL"] > 20) {
  307. //网状的形式定位,如果差超过了90,那么向右定位,否则向左定位
  308. _margin = ((_positioninfo["OL"] - 20) % 90 > 45 && _positioninfo["OL"] + 90 < US.width) ? 1 : 0;
  309. _left = (Math.floor((_positioninfo["OL"] - 20) / 90) + _margin) * 90 + 20
  310. }
  311. //while循环判断么一个重叠的元素
  312. do {
  313. _positioninfo = U.MD.D.iconPostion([el], _top, _left); //给重叠的元素向下定位
  314. _top = _positioninfo[0] + 115; //得到定位后的top
  315. _left = _positioninfo[1]; //得到定位后的left
  316. } while (el = U.MD.D.isOverlap(el, _childs, _positioninfo))
  317. }
  318. /**
  319. * 判断拖动后图标是否重叠
  320. *
  321. * @param {element} 拖动的元素
  322. * @param {element} 桌面所有的元素
  323. * @param {array} 拖动元素的位置
  324. ----------[0] 上 top
  325. ----------[1] 左 left
  326. * @return {object} 命名空间
  327. */
  328. U.MD.D.isOverlap = function(el, childs, postionarray) {
  329. //循环所有的图标
  330. for (var i = 0; i < childs.length; i++) {
  331. //判断有没有和该图标诶子重叠的元素
  332. if (el != childs[i] && (childs[i].offsetTop == postionarray[0] && childs[i].offsetLeft == postionarray[1])) {
  333. return childs[i]; //如果有返回
  334. }
  335. }
  336. }
  337. //#endregion
  338. //#endregion
  339. //#region 桌面应用
  340. /**
  341. * 打开应用
  342. *
  343. * @param {string} 类型
  344. -----------------Disk 网盘系统
  345. -----------------PDisk 学习系统网盘
  346. -----------------Poto 图片
  347. -----------------Video 视频
  348. -----------------Music 音乐
  349. -----------------Word word
  350. -----------------Excel excel
  351. -----------------Txt 记事本
  352. -----------------PB 学习系统
  353. -----------------Blog 朋友圈系统
  354. -----------------FTP ftp系统
  355. -----------------Group 好友群
  356. -----------------SY 首页系统
  357. -----------------Set 个人设置
  358. -----------------XSet 系统设置
  359. -----------------App 我们所有的app
  360. -----------------BC c.1473.cn 平台
  361. -----------------CWeb d.1473.cn 变成平台
  362. -----------------其他的外联系统 我们统一用iframe打开
  363. * @param {array} 类型
  364. 如果第一个参数为"disk",则第二个参数为object,里面包含了用户id和目录id{userid:"",directoryid:""}
  365. 如果第一个参数为"word"或者"excel","txt",则第二个参数为文件信息fileinfo。
  366. 如果第一个参数为"blog"或者"PDisk"。建议删除。
  367. 如果第一个参数为其他,则无第二个参数
  368. * @returns {array}
  369. */
  370. window.addEventListener('message', function(e) { // 监听 message 事件
  371. // alert(e.data.type);
  372. if (e.data.type && e.data.type == "1") { //项目管理传入
  373. U.MD.D.I.openInApplication("study", e.data.cid)
  374. } else if (e.data.close && e.data.close == "1") { //更新用户信息
  375. U.MD.D.I.selectUser();
  376. } else if (e.data.tools && e.data.tools == "1") {
  377. U.MD.D.I.openApplication("whiteboard")
  378. } else if (e.data.tools && e.data.tools == "2") {
  379. U.MD.D.I.openApplication("note")
  380. } else if (e.data.tools && e.data.tools == "3") {
  381. U.MD.D.I.openApplication("mind")
  382. } else if (e.data.tools && e.data.tools == "4") {
  383. U.MD.D.I.openApplication("investigation")
  384. } else if (e.data.tools && e.data.tools == "6") {
  385. U.MD.D.I.openApplication("doc")
  386. } else if (e.data.tools && e.data.tools == "7") {
  387. U.MD.D.I.openApplication("mindNetwork")
  388. } else if (e.data.tools && e.data.tools == "8") {
  389. U.MD.D.I.openApplication("library")
  390. } else if (e.data.tools && e.data.tools == "17") {
  391. U.MD.D.I.openApplication("stuLibrary")
  392. } else if (e.data.tools && e.data.tools == "18") {
  393. U.MD.D.I.openApplication("train")
  394. }
  395. });
  396. U.MD.D.I.selectUser = function() {
  397. U.A.Request(US.Config.pbl + "selectUser?userid=" + US.userInfo.userid, [], function(res) { //US.userInfo.userid
  398. if (res.value[0].length > 0) {
  399. US.userInfo = res.value[0][0];
  400. $(".userName")[0].innerHTML = US.userInfo.username;
  401. }
  402. }, [], { "type": "GET", "withCredentials": true });
  403. }
  404. U.MD.D.I.openInApplication = function(str, data) {
  405. var _userinfo = US.userInfo, //登录用户信息
  406. _userid = US.userInfo.userid, //登录用户id
  407. _oid = _userinfo.organizeid;
  408. switch (str) {
  409. case "study":
  410. if (!_userinfo || Object.keys(_userinfo).length === 0) {
  411. setTimeout(() => {
  412. U.MD.U.L.login();
  413. }, 2000);
  414. } else {
  415. _formdiv = new U.UF.UI.form(
  416. "项目详情",
  417. $$("iframe", { "webkitallowfullscreen": "", "mozallowfullscreen": "", "allowfullscreen": "", "frameborder": "no", "border": "0", "scrolling ": "no", "style": { "cssText": "border:0;width:100%;height:100%" }, "src": "https://pbl.cocorobo.cn/pbl-student-table/dist/#/courseDetail?userid=" + _userid + "&oid=" + _oid + "&courseId=" + data }), {
  418. "id": "study",
  419. "style": { "width": "70%", "height": "90%", "overflow": 'hidden' },
  420. "onresize": function() {}
  421. }, {
  422. closecallback: function() {}
  423. }, { "style": { "height": "36px" } }).form; //创建窗体
  424. _taskbar = { "id": str + _formdiv.id, "style": { "backgroundImage": "url(/img/icon/study.png)" }, "name": "学习中心", "forms": _formdiv, "click": function() { U.MD.D.I.openApplication(str, obj, info); } }
  425. break;
  426. }
  427. }
  428. }
  429. U.MD.D.I.openApplication = function(str, obj, info) {
  430. obj = obj || {};
  431. var _taskbar, //_taskbar 作为任务栏显示的元素,包含图标和名字
  432. _formdiv, //创建任务栏时同时弹出的窗体元素。
  433. _userinfo = US.userInfo, //登录用户信息
  434. _userid = obj.userid || US.userInfo.userid, //登录用户id
  435. _oid = obj.organizeid || _userinfo.organizeid,
  436. _type = US.userInfo.type || US.userInfo.identity;
  437. if (US.userInfo.identity && US.userInfo.identity == 0) {
  438. _type = 1;
  439. } else if (US.userInfo.identity && US.userInfo.identity == 1) {
  440. _type = 2;
  441. } else if (US.userInfo.identity && US.userInfo.identity == 2) {
  442. _type = 0;
  443. }
  444. if (_type == 2 || _type == 0 && _oid != "91305d49-01ba-11ed-8c78-005056b86db5") {
  445. switch (str) {
  446. case "studnetProject": //好友打开
  447. _formdiv = new U.UF.UI.form(
  448. "我的项目",
  449. $$("iframe", { "frameborder": "no", "border": "0", "scrolling ": "no", "style": { "cssText": "border:0;width:100%;height:100%" }, "src": "https://pbl.cocorobo.cn/pbl-student-table/dist/#/project?userid=" + _userid + "&oid=" + _oid }), {
  450. "id": "studnetProject",
  451. "style": { "width": "70%", "height": "90%", "overflow": 'hidden' },
  452. "onresize": function() {}
  453. }, {
  454. closecallback: function() {}
  455. }, { "style": { "height": "36px" } }).form; //创建窗体
  456. _taskbar = { "id": str + _formdiv.id, "style": { "backgroundImage": "url(/img/icon/project.png)" }, "name": "我的项目", "forms": _formdiv, "click": function() { U.MD.D.I.openApplication(str, obj, info); } }
  457. break;
  458. case "studentEvaluate": //好友打开
  459. _formdiv = new U.UF.UI.form(
  460. "我的评价",
  461. $$("iframe", { "frameborder": "no", "border": "0", "scrolling ": "no", "style": { "cssText": "border:0;width:100%;height:100%" }, "src": "https://pbl.cocorobo.cn/pbl-student-table/dist/#/works?userid=" + _userid + "&oid=" + _oid }), {
  462. "id": "studentEvaluate",
  463. "style": { "width": "70%", "height": "90%", "overflow": 'hidden' },
  464. "onresize": function() {}
  465. }, {
  466. closecallback: function() {}
  467. }, { "style": { "height": "36px" } }).form; //创建窗体
  468. _taskbar = { "id": str + _formdiv.id, "style": { "backgroundImage": "url(/img/icon/evaluation.png)" }, "name": "我的评价", "forms": _formdiv, "click": function() { U.MD.D.I.openApplication(str, obj, info); } }
  469. break;
  470. case "my":
  471. _formdiv = new U.UF.UI.form(
  472. "我的资料",
  473. $$("iframe", { "frameborder": "no", "border": "0", "scrolling ": "no", "style": { "cssText": "border:0;width:100%;height:100%" }, "src": "https://pbl.cocorobo.cn/pbl-teacher-table/dist/#/data?userid=" + _userid }), {
  474. "id": "my",
  475. "style": { "width": "42%", "height": "90%", "overflow": 'hidden' },
  476. "onresize": function() {}
  477. }, {
  478. closecallback: function() {}
  479. }, { "style": { "height": "36px" } }).form; //创建窗体
  480. _taskbar = { "id": str + _formdiv.id, "style": { "backgroundImage": "url(/img/icon/myMessage.png)" }, "name": "我的资料", "forms": _formdiv, "click": function() { U.MD.D.I.openApplication(str, obj, info); } }
  481. break;
  482. case "library":
  483. _formdiv = new U.UF.UI.form(
  484. "素材库",
  485. $$("iframe", { "frameborder": "no", "border": "0", "scrolling ": "no", "style": { "cssText": "border:0;width:100%;height:100%" }, "src": "https://pbl.cocorobo.cn/pbl-teacher-table/dist/#/library?userid=" + _userid }), {
  486. "id": "library",
  487. "style": { "width": "90%", "height": "90%", "overflow": 'hidden' },
  488. "onresize": function() {}
  489. }, {
  490. closecallback: function() {}
  491. }, { "style": { "height": "36px" } }).form; //创建窗体
  492. _taskbar = { "id": str + _formdiv.id, "style": { "backgroundImage": "url(/img/icon/library.png)" }, "name": "素材库", "forms": _formdiv, "click": function() { U.MD.D.I.openApplication(str, obj, info); } }
  493. break;
  494. case "whiteboard":
  495. _formdiv = new U.UF.UI.form(
  496. "电子白板",
  497. $$("iframe", { "frameborder": "no", "border": "0", "scrolling ": "no", "style": { "cssText": "border:0;width:100%;height:100%" }, "src": "https://iwb.cocorobo.cn/" }), {
  498. "id": "whiteboard",
  499. "style": { "width": "90%", "height": "90%", "overflow": 'hidden' },
  500. "onresize": function() {}
  501. }, {
  502. closecallback: function() {}
  503. }, { "style": { "height": "36px" } }).form; //创建窗体
  504. _taskbar = { "id": str + _formdiv.id, "style": { "backgroundImage": "url(/img/icon/whiteBoard.png)" }, "name": "电子白板", "forms": _formdiv, "click": function() { U.MD.D.I.openApplication(str, obj, info); } }
  505. break;
  506. case "investigation":
  507. _formdiv = new U.UF.UI.form(
  508. "问卷调查",
  509. $$("iframe", { "frameborder": "no", "border": "0", "scrolling ": "no", "style": { "cssText": "border:0;width:100%;height:100%" }, "src": "https://pbl.cocorobo.cn/pbl-teacher-table/dist/#/ask?userid=" + _userid }), {
  510. "id": "investigation",
  511. "style": { "width": "90%", "height": "90%", "overflow": 'hidden' },
  512. "onresize": function() {}
  513. }, {
  514. closecallback: function() {}
  515. }, { "style": { "height": "36px" } }).form; //创建窗体
  516. _taskbar = { "id": str + _formdiv.id, "style": { "backgroundImage": "url(/img/icon/ask.png)" }, "name": "问卷调查", "forms": _formdiv, "click": function() { U.MD.D.I.openApplication(str, obj, info); } }
  517. break;
  518. case "note":
  519. _formdiv = new U.UF.UI.form(
  520. "便签分类",
  521. $$("iframe", { "frameborder": "no", "border": "0", "scrolling ": "no", "style": { "cssText": "border:0;width:100%;height:100%" }, "src": "https://pbl.cocorobo.cn/pbl-teacher-table/dist/#/note?userid=" + _userid }), {
  522. "id": "note",
  523. "style": { "width": "20%", "height": "90%", "overflow": 'hidden' },
  524. "onresize": function() {}
  525. }, {
  526. closecallback: function() {}
  527. }, { "style": { "height": "36px" } }).form; //创建窗体
  528. _taskbar = { "id": str + _formdiv.id, "style": { "backgroundImage": "url(/img/icon/note.png)" }, "name": "便签分类", "forms": _formdiv, "click": function() { U.MD.D.I.openApplication(str, obj, info); } }
  529. break;
  530. // case "score":
  531. // _formdiv = new U.UF.UI.form(
  532. // "量规评分",
  533. // $$("iframe", { "frameborder": "no", "border": "0", "scrolling ": "no", "style": { "cssText": "border:0;width:100%;height:100%" }, "src": "https://pbl.cocorobo.cn" }), {
  534. // "id": "score",
  535. // "style": { "width": "90%", "height": "90%", "overflow": 'hidden' },
  536. // "onresize": function() {}
  537. // }, {
  538. // closecallback: function() {}
  539. // }, { "style": { "height": "36px" } }).form; //创建窗体
  540. // _taskbar = { "id": str + _formdiv.id, "style": { "backgroundImage": "url(/img/icon/score.png)" }, "name": "量规评分", "forms": _formdiv, "click": function() { U.MD.D.I.openApplication(str, obj, info); } }
  541. // break;
  542. case "mind":
  543. _formdiv = new U.UF.UI.form(
  544. "思维导图",
  545. $$("iframe", { "frameborder": "no", "border": "0", "scrolling ": "no", "style": { "cssText": "border:0;width:100%;height:100%" }, "src": "/kityminder-editor/dist/index.html" }), { //"/jsmind/example/demo.html"
  546. "id": "mind",
  547. "style": { "width": "90%", "height": "90%", "overflow": 'hidden' },
  548. "onresize": function() {}
  549. }, {
  550. closecallback: function() {}
  551. }, { "style": { "height": "36px" } }).form; //创建窗体
  552. _taskbar = { "id": str + _formdiv.id, "style": { "backgroundImage": "url(/img/icon/mindMapping.png)" }, "name": "思维导图", "forms": _formdiv, "click": function() { U.MD.D.I.openApplication(str, obj, info); } }
  553. break;
  554. case "doc":
  555. // U.MD.D.I.isRoom();
  556. _formdiv = new U.UF.UI.form(
  557. "协同文档",
  558. $$("iframe", { "frameborder": "no", "border": "0", "scrolling ": "no", "style": { "cssText": "border:0;width:100%;height:100%" }, "src": "/Office/Word/WordEditArea.htm" }), {
  559. "id": "doc",
  560. "style": { "width": "90%", "height": "90%", "overflow": 'hidden' },
  561. "onresize": function() {}
  562. }, {
  563. closecallback: function() {}
  564. }, { "style": { "height": "36px" } }).form; //创建窗体
  565. U.UF.DL.iframeLoad($("iframe", _formdiv)[0], function() {
  566. $("iframe", _formdiv)[0].contentWindow.U.MD.O.W.load();
  567. })
  568. _taskbar = { "id": str + _formdiv.id, "style": { "backgroundImage": "url(/img/icon/doc.png)" }, "name": "协同文档", "forms": _formdiv, "click": function() { U.MD.D.I.openApplication(str, obj, info); } }
  569. break;
  570. case "studentStudy":
  571. _formdiv = new U.UF.UI.form(
  572. "学习中心",
  573. $$("iframe", { "webkitallowfullscreen": "", "mozallowfullscreen": "", "allowfullscreen": "", "frameborder": "no", "border": "0", "scrolling ": "no", "style": { "cssText": "border:0;width:100%;height:100%" }, "src": "https://pbl.cocorobo.cn/pbl-student-table/dist/#/index?userid=" + _userid + "&oid=" + _oid }), { //https://pbl.cocorobo.cn/pbl-student-table/dist/#/index
  574. "id": "studentStudy",
  575. "style": { "width": "70%", "height": "90%", "overflow": 'hidden' },
  576. "onresize": function() {}
  577. }, {
  578. closecallback: function() {}
  579. }, { "style": { "height": "36px" } }).form; //创建窗体
  580. _taskbar = { "id": str + _formdiv.id, "style": { "backgroundImage": "url(/img/icon/study.png)" }, "name": "学习中心", "forms": _formdiv, "click": function() { U.MD.D.I.openApplication(str, obj, info); } }
  581. break;
  582. case "mindNetwork": //好友打开
  583. _formdiv = new U.UF.UI.form(
  584. "思维网格",
  585. $$("iframe", { "webkitallowfullscreen": "", "mozallowfullscreen": "", "allowfullscreen": "", "frameborder": "no", "border": "0", "scrolling ": "no", "style": { "cssText": "border:0; width:100%; height:100%;" }, "src": "https://pbl.cocorobo.cn/pbl-teacher-table/dist/#/Grid?userid=" + _userid }), {
  586. "id": "mindNetwork",
  587. "style": { "width": "90%", "height": "90%", "overflow": 'hidden' },
  588. "onresize": function() {}
  589. }, {
  590. closecallback: function() {}
  591. }, { "style": { "height": "36px" } }).form; //创建窗体
  592. _taskbar = { "id": str + _formdiv.id, "style": { "backgroundImage": "url(/img/icon/mindNetwork.png)" }, "name": "思维网格", "forms": _formdiv, "click": function() { U.MD.D.I.openApplication(str, obj, info); } }
  593. break;
  594. case "studentClassRoom": //好友打开
  595. _formdiv = new U.UF.UI.form(
  596. "实时课堂",
  597. $$("iframe", { "frameborder": "no", "border": "0", "scrolling ": "no", "style": { "cssText": "border:0; width:100%; height:100%;" }, "src": "https://pbl.cocorobo.cn/pbl-student-table/dist/#/liveRoom?userid=" + _userid + "&oid=" + _oid }), {
  598. "id": "studentClassRoom",
  599. "style": { "width": "90%", "height": "90%", "overflow": 'hidden' },
  600. "onresize": function() {}
  601. }, {
  602. closecallback: function() {}
  603. }, { "style": { "height": "36px" } }).form; //创建窗体
  604. _taskbar = { "id": str + _formdiv.id, "style": { "backgroundImage": "url(/img/icon/classRoom.png)" }, "name": "实时课堂", "forms": _formdiv, "click": function() { U.MD.D.I.openApplication(str, obj, info); } }
  605. setTimeout(() => {
  606. U.UF.F.windowZooming(_formdiv)
  607. }, 0);
  608. break;
  609. }
  610. } else if (_type == 1 || _type == 0 && _oid != "91305d49-01ba-11ed-8c78-005056b86db5") {
  611. //选择应用处理
  612. switch (str) {
  613. case "project": //好友打开
  614. _formdiv = new U.UF.UI.form(
  615. "项目管理",
  616. $$("iframe", { "frameborder": "no", "border": "0", "scrolling ": "no", "style": { "cssText": "border:0; width:100%; height:100%;" }, "src": "https://pbl.cocorobo.cn/pbl-teacher-table/dist/#/course?userid=" + _userid + "&oid=" + _oid }), {
  617. "id": "project",
  618. "style": { "width": "90%", "height": "90%", "overflow": 'hidden' },
  619. "onresize": function() {}
  620. }, {
  621. closecallback: function() {}
  622. }, { "style": { "height": "36px" } }).form; //创建窗体
  623. _taskbar = { "id": str + _formdiv.id, "style": { "backgroundImage": "url(/img/icon/project.png)" }, "name": "项目管理", "forms": _formdiv, "click": function() { U.MD.D.I.openApplication(str, obj, info); } }
  624. break;
  625. case "student":
  626. _formdiv = new U.UF.UI.form(
  627. "学生管理",
  628. $$("iframe", { "frameborder": "no", "border": "0", "scrolling ": "no", "style": { "cssText": "border:0;width:100%;height:100%" }, "src": "https://pbl.cocorobo.cn/pbl-teacher-table/dist/#/student?userid=" + _userid + "&oid=" + _oid }), {
  629. "id": "student",
  630. "style": { "width": "90%", "height": "90%", "overflow": 'hidden' },
  631. "onresize": function() {}
  632. }, {
  633. closecallback: function() {}
  634. }, { "style": { "height": "36px" } }).form; //创建窗体
  635. _taskbar = { "id": str + _formdiv.id, "style": { "backgroundImage": "url(/img/icon/student.png)" }, "name": "学生管理", "forms": _formdiv, "click": function() { U.MD.D.I.openApplication(str, obj, info); } }
  636. break;
  637. case "evaluate":
  638. _formdiv = new U.UF.UI.form(
  639. "评价管理",
  640. $$("iframe", { "frameborder": "no", "border": "0", "scrolling ": "no", "style": { "cssText": "border:0;width:100%;height:100%" }, "src": "https://pbl.cocorobo.cn/pbl-teacher-table/dist/#/works?userid=" + _userid + "&oid=" + _oid }), {
  641. "id": "evaluate",
  642. "style": { "width": "90%", "height": "90%", "overflow": 'hidden' },
  643. "onresize": function() {}
  644. }, {
  645. closecallback: function() {}
  646. }, { "style": { "height": "36px" } }).form; //创建窗体
  647. _taskbar = { "id": str + _formdiv.id, "style": { "backgroundImage": "url(/img/icon/evaluation.png)" }, "name": "评价管理", "forms": _formdiv, "click": function() { U.MD.D.I.openApplication(str, obj, info); } }
  648. break;
  649. case "class":
  650. _formdiv = new U.UF.UI.form(
  651. "班级管理",
  652. $$("iframe", { "frameborder": "no", "border": "0", "scrolling ": "no", "style": { "cssText": "border:0;width:100%;height:100%" }, "src": "https://pbl.cocorobo.cn/pbl-teacher-table/dist/#/class?userid=" + _userid + "&oid=" + _oid }), {
  653. "id": "class",
  654. "style": { "width": "90%", "height": "90%", "overflow": 'hidden' },
  655. "onresize": function() {}
  656. }, {
  657. closecallback: function() {}
  658. }, { "style": { "height": "36px" } }).form; //创建窗体
  659. _taskbar = { "id": str + _formdiv.id, "style": { "backgroundImage": "url(/img/icon/class.png)" }, "name": "班级管理", "forms": _formdiv, "click": function() { U.MD.D.I.openApplication(str, obj, info); } }
  660. break;
  661. case "my":
  662. _formdiv = new U.UF.UI.form(
  663. "我的资料",
  664. $$("iframe", { "frameborder": "no", "border": "0", "scrolling ": "no", "style": { "cssText": "border:0;width:100%;height:100%" }, "src": "https://pbl.cocorobo.cn/pbl-teacher-table/dist/#/data?userid=" + _userid }), {
  665. "id": "my",
  666. "style": { "width": "42%", "height": "90%", "overflow": 'hidden' },
  667. "onresize": function() {}
  668. }, {
  669. closecallback: function() {}
  670. }, { "style": { "height": "36px" } }).form; //创建窗体
  671. _taskbar = { "id": str + _formdiv.id, "style": { "backgroundImage": "url(/img/icon/myMessage.png)" }, "name": "我的资料", "forms": _formdiv, "click": function() { U.MD.D.I.openApplication(str, obj, info); } }
  672. break;
  673. case "notice":
  674. _formdiv = new U.UF.UI.form(
  675. "通知公告",
  676. $$("iframe", { "frameborder": "no", "border": "0", "scrolling ": "no", "style": { "cssText": "border:0;width:100%;height:100%" }, "src": "https://pbl.cocorobo.cn/pbl-teacher-table/dist/#/notice?userid=" + _userid }), {
  677. "id": "notice",
  678. "style": { "width": "90%", "height": "90%", "overflow": 'hidden' },
  679. "onresize": function() {}
  680. }, {
  681. closecallback: function() {}
  682. }, { "style": { "height": "36px" } }).form; //创建窗体
  683. _taskbar = { "id": str + _formdiv.id, "style": { "backgroundImage": "url(/img/icon/news.png)" }, "name": "通知公告", "forms": _formdiv, "click": function() { U.MD.D.I.openApplication(str, obj, info); } }
  684. break;
  685. case "library":
  686. _formdiv = new U.UF.UI.form(
  687. "素材库",
  688. $$("iframe", { "frameborder": "no", "border": "0", "scrolling ": "no", "style": { "cssText": "border:0;width:100%;height:100%" }, "src": "https://pbl.cocorobo.cn/pbl-teacher-table/dist/#/library?userid=" + _userid }), {
  689. "id": "library",
  690. "style": { "width": "90%", "height": "90%", "overflow": 'hidden' },
  691. "onresize": function() {}
  692. }, {
  693. closecallback: function() {}
  694. }, { "style": { "height": "36px" } }).form; //创建窗体
  695. _taskbar = { "id": str + _formdiv.id, "style": { "backgroundImage": "url(/img/icon/library.png)" }, "name": "素材库", "forms": _formdiv, "click": function() { U.MD.D.I.openApplication(str, obj, info); } }
  696. break;
  697. case "whiteboard":
  698. _formdiv = new U.UF.UI.form(
  699. "电子白板",
  700. $$("iframe", { "frameborder": "no", "border": "0", "scrolling ": "no", "style": { "cssText": "border:0;width:100%;height:100%" }, "src": "https://iwb.cocorobo.cn/" }), {
  701. "id": "whiteboard",
  702. "style": { "width": "90%", "height": "90%", "overflow": 'hidden' },
  703. "onresize": function() {}
  704. }, {
  705. closecallback: function() {}
  706. }, { "style": { "height": "36px" } }).form; //创建窗体
  707. _taskbar = { "id": str + _formdiv.id, "style": { "backgroundImage": "url(/img/icon/whiteBoard.png)" }, "name": "电子白板", "forms": _formdiv, "click": function() { U.MD.D.I.openApplication(str, obj, info); } }
  708. break;
  709. case "investigation":
  710. _formdiv = new U.UF.UI.form(
  711. "问卷调查",
  712. $$("iframe", { "frameborder": "no", "border": "0", "scrolling ": "no", "style": { "cssText": "border:0;width:100%;height:100%" }, "src": "https://pbl.cocorobo.cn/pbl-teacher-table/dist/#/ask?userid=" + _userid }), {
  713. "id": "investigation",
  714. "style": { "width": "90%", "height": "90%", "overflow": 'hidden' },
  715. "onresize": function() {}
  716. }, {
  717. closecallback: function() {}
  718. }, { "style": { "height": "36px" } }).form; //创建窗体
  719. _taskbar = { "id": str + _formdiv.id, "style": { "backgroundImage": "url(/img/icon/ask.png)" }, "name": "问卷调查", "forms": _formdiv, "click": function() { U.MD.D.I.openApplication(str, obj, info); } }
  720. break;
  721. case "note":
  722. _formdiv = new U.UF.UI.form(
  723. "便签分类",
  724. $$("iframe", { "frameborder": "no", "border": "0", "scrolling ": "no", "style": { "cssText": "border:0;width:100%;height:100%" }, "src": "https://pbl.cocorobo.cn/pbl-teacher-table/dist/#/note?userid=" + _userid }), {
  725. "id": "note",
  726. "style": { "width": "20%", "height": "90%", "overflow": 'hidden' },
  727. "onresize": function() {}
  728. }, {
  729. closecallback: function() {}
  730. }, { "style": { "height": "36px" } }).form; //创建窗体
  731. _taskbar = { "id": str + _formdiv.id, "style": { "backgroundImage": "url(/img/icon/note.png)" }, "name": "便签分类", "forms": _formdiv, "click": function() { U.MD.D.I.openApplication(str, obj, info); } }
  732. break;
  733. // case "score":
  734. // _formdiv = new U.UF.UI.form(
  735. // "量规评分",
  736. // $$("iframe", { "frameborder": "no", "border": "0", "scrolling ": "no", "style": { "cssText": "border:0;width:100%;height:100%" }, "src": "https://pbl.cocorobo.cn" }), {
  737. // "id": "score",
  738. // "style": { "width": "90%", "height": "90%", "overflow": 'hidden' },
  739. // "onresize": function() {}
  740. // }, {
  741. // closecallback: function() {}
  742. // }, { "style": { "height": "36px" } }).form; //创建窗体
  743. // _taskbar = { "id": str + _formdiv.id, "style": { "backgroundImage": "url(/img/icon/score.png)" }, "name": "量规评分", "forms": _formdiv, "click": function() { U.MD.D.I.openApplication(str, obj, info); } }
  744. // break;
  745. case "mind":
  746. _formdiv = new U.UF.UI.form(
  747. "思维导图",
  748. $$("iframe", { "frameborder": "no", "border": "0", "scrolling ": "no", "style": { "cssText": "border:0;width:100%;height:100%" }, "src": "/kityminder-editor/dist/index.html" }), { //"/jsmind/example/demo.html"
  749. "id": "mind",
  750. "style": { "width": "90%", "height": "90%", "overflow": 'hidden' },
  751. "onresize": function() {}
  752. }, {
  753. closecallback: function() {}
  754. }, { "style": { "height": "36px" } }).form; //创建窗体
  755. _taskbar = { "id": str + _formdiv.id, "style": { "backgroundImage": "url(/img/icon/mindMapping.png)" }, "name": "思维导图", "forms": _formdiv, "click": function() { U.MD.D.I.openApplication(str, obj, info); } }
  756. break;
  757. case "doc":
  758. // U.MD.D.I.isRoom();
  759. _formdiv = new U.UF.UI.form(
  760. "协同文档",
  761. $$("iframe", { "frameborder": "no", "border": "0", "scrolling ": "no", "style": { "cssText": "border:0;width:100%;height:100%" }, "src": "/Office/Word/WordEditArea.htm" }), {
  762. "id": "doc",
  763. "style": { "width": "90%", "height": "90%", "overflow": 'hidden' },
  764. "onresize": function() {}
  765. }, {
  766. closecallback: function() {}
  767. }, { "style": { "height": "36px" } }).form; //创建窗体
  768. U.UF.DL.iframeLoad($("iframe", _formdiv)[0], function() {
  769. $("iframe", _formdiv)[0].contentWindow.U.MD.O.W.load();
  770. })
  771. _taskbar = { "id": str + _formdiv.id, "style": { "backgroundImage": "url(/img/icon/doc.png)" }, "name": "协同文档", "forms": _formdiv, "click": function() { U.MD.D.I.openApplication(str, obj, info); } }
  772. break;
  773. case "study":
  774. _formdiv = new U.UF.UI.form(
  775. "学习中心",
  776. $$("iframe", { "webkitallowfullscreen": "", "mozallowfullscreen": "", "allowfullscreen": "", "frameborder": "no", "border": "0", "scrolling ": "no", "style": { "cssText": "border:0;width:100%;height:100%" }, "src": "https://pbl.cocorobo.cn/pbl-student-table/dist/#/index?userid=" + _userid + "&oid=" + _oid }), { //https://pbl.cocorobo.cn/pbl-student-table/dist/#/index
  777. "id": "study",
  778. "style": { "width": "70%", "height": "90%", "overflow": 'hidden' },
  779. "onresize": function() {}
  780. }, {
  781. closecallback: function() {}
  782. }, { "style": { "height": "36px" } }).form; //创建窗体
  783. _taskbar = { "id": str + _formdiv.id, "style": { "backgroundImage": "url(/img/icon/study.png)" }, "name": "学习中心", "forms": _formdiv, "click": function() { U.MD.D.I.openApplication(str, obj, info); } }
  784. break;
  785. case "mindNetwork": //好友打开
  786. _formdiv = new U.UF.UI.form(
  787. "思维网格",
  788. $$("iframe", { "webkitallowfullscreen": "", "mozallowfullscreen": "", "allowfullscreen": "", "frameborder": "no", "border": "0", "scrolling ": "no", "style": { "cssText": "border:0; width:100%; height:100%;" }, "src": "https://pbl.cocorobo.cn/pbl-teacher-table/dist/#/Grid?userid=" + _userid }), {
  789. "id": "mindNetwork",
  790. "style": { "width": "90%", "height": "90%", "overflow": 'hidden' },
  791. "onresize": function() {}
  792. }, {
  793. closecallback: function() {}
  794. }, { "style": { "height": "36px" } }).form; //创建窗体
  795. _taskbar = { "id": str + _formdiv.id, "style": { "backgroundImage": "url(/img/icon/mindNetwork.png)" }, "name": "思维网格", "forms": _formdiv, "click": function() { U.MD.D.I.openApplication(str, obj, info); } }
  796. break;
  797. case "teacherClassRoom": //好友打开
  798. _formdiv = new U.UF.UI.form(
  799. "实时课堂",
  800. $$("iframe", { "frameborder": "no", "border": "0", "scrolling ": "no", "style": { "cssText": "border:0; width:100%; height:100%;" }, "src": "https://pbl.cocorobo.cn/pbl-teacher-table/dist/#/classRoom?userid=" + _userid + "&oid=" + _oid }), {
  801. "id": "teacherClassRoom",
  802. "style": { "width": "90%", "height": "90%", "overflow": 'hidden' },
  803. "onresize": function() {}
  804. }, {
  805. closecallback: function() {}
  806. }, { "style": { "height": "36px" } }).form; //创建窗体
  807. _taskbar = { "id": str + _formdiv.id, "style": { "backgroundImage": "url(/img/icon/classRoom.png)" }, "name": "实时课堂", "forms": _formdiv, "click": function() { U.MD.D.I.openApplication(str, obj, info); } }
  808. setTimeout(() => {
  809. U.UF.F.windowZooming(_formdiv)
  810. }, 0);
  811. break;
  812. }
  813. } else if (_type == 1 || _type == 0 && _oid == "91305d49-01ba-11ed-8c78-005056b86db5") {
  814. switch (str) {
  815. case "project": //好友打开
  816. _formdiv = new U.UF.UI.form(
  817. "项目管理",
  818. $$("iframe", { "frameborder": "no", "border": "0", "scrolling ": "no", "style": { "cssText": "border:0; width:100%; height:100%;" }, "src": "https://pbl.cocorobo.cn/pbl-teacher-table/dist/#/course?userid=" + _userid + "&oid=" + _oid }), {
  819. "id": "project",
  820. "style": { "width": "90%", "height": "90%", "overflow": 'hidden' },
  821. "onresize": function() {}
  822. }, {
  823. closecallback: function() {}
  824. }, { "style": { "height": "36px" } }).form; //创建窗体
  825. _taskbar = { "id": str + _formdiv.id, "style": { "backgroundImage": "url(/img/icon/project.png)" }, "name": "项目管理", "forms": _formdiv, "click": function() { U.MD.D.I.openApplication(str, obj, info); } }
  826. break;
  827. case "evaluate":
  828. _formdiv = new U.UF.UI.form(
  829. "评价管理",
  830. $$("iframe", { "frameborder": "no", "border": "0", "scrolling ": "no", "style": { "cssText": "border:0;width:100%;height:100%" }, "src": "https://pbl.cocorobo.cn/pbl-teacher-table/dist/#/works?userid=" + _userid + "&oid=" + _oid }), {
  831. "id": "evaluate",
  832. "style": { "width": "90%", "height": "90%", "overflow": 'hidden' },
  833. "onresize": function() {}
  834. }, {
  835. closecallback: function() {}
  836. }, { "style": { "height": "36px" } }).form; //创建窗体
  837. _taskbar = { "id": str + _formdiv.id, "style": { "backgroundImage": "url(/img/icon/evaluation.png)" }, "name": "评价管理", "forms": _formdiv, "click": function() { U.MD.D.I.openApplication(str, obj, info); } }
  838. break;
  839. case "notice":
  840. _formdiv = new U.UF.UI.form(
  841. "通知公告",
  842. $$("iframe", { "frameborder": "no", "border": "0", "scrolling ": "no", "style": { "cssText": "border:0;width:100%;height:100%" }, "src": "https://pbl.cocorobo.cn/pbl-teacher-table/dist/#/notice?userid=" + _userid }), {
  843. "id": "notice",
  844. "style": { "width": "90%", "height": "90%", "overflow": 'hidden' },
  845. "onresize": function() {}
  846. }, {
  847. closecallback: function() {}
  848. }, { "style": { "height": "36px" } }).form; //创建窗体
  849. _taskbar = { "id": str + _formdiv.id, "style": { "backgroundImage": "url(/img/icon/news.png)" }, "name": "通知公告", "forms": _formdiv, "click": function() { U.MD.D.I.openApplication(str, obj, info); } }
  850. break;
  851. case "stuLibrary":
  852. _formdiv = new U.UF.UI.form(
  853. "学习资料",
  854. $$("iframe", { "frameborder": "no", "border": "0", "scrolling ": "no", "style": { "cssText": "border:0;width:100%;height:100%" }, "src": "https://pbl.cocorobo.cn/pbl-teacher-table/dist/#/studyLibrary?userid=" + _userid }), {
  855. "id": "stuLibrary",
  856. "style": { "width": "90%", "height": "90%", "overflow": 'hidden' },
  857. "onresize": function() {}
  858. }, {
  859. closecallback: function() {}
  860. }, { "style": { "height": "36px" } }).form; //创建窗体
  861. _taskbar = { "id": str + _formdiv.id, "style": { "backgroundImage": "url(/img/icon/stuLibrary.png)" }, "name": "学习资料", "forms": _formdiv, "click": function() { U.MD.D.I.openApplication(str, obj, info); } }
  862. break;
  863. case "whiteboard":
  864. _formdiv = new U.UF.UI.form(
  865. "电子白板",
  866. $$("iframe", { "frameborder": "no", "border": "0", "scrolling ": "no", "style": { "cssText": "border:0;width:100%;height:100%" }, "src": "https://iwb.cocorobo.cn/" }), {
  867. "id": "whiteboard",
  868. "style": { "width": "90%", "height": "90%", "overflow": 'hidden' },
  869. "onresize": function() {}
  870. }, {
  871. closecallback: function() {}
  872. }, { "style": { "height": "36px" } }).form; //创建窗体
  873. _taskbar = { "id": str + _formdiv.id, "style": { "backgroundImage": "url(/img/icon/whiteBoard.png)" }, "name": "电子白板", "forms": _formdiv, "click": function() { U.MD.D.I.openApplication(str, obj, info); } }
  874. break;
  875. case "investigation":
  876. _formdiv = new U.UF.UI.form(
  877. "问卷调查",
  878. $$("iframe", { "frameborder": "no", "border": "0", "scrolling ": "no", "style": { "cssText": "border:0;width:100%;height:100%" }, "src": "https://pbl.cocorobo.cn/pbl-teacher-table/dist/#/ask?userid=" + _userid }), {
  879. "id": "investigation",
  880. "style": { "width": "90%", "height": "90%", "overflow": 'hidden' },
  881. "onresize": function() {}
  882. }, {
  883. closecallback: function() {}
  884. }, { "style": { "height": "36px" } }).form; //创建窗体
  885. _taskbar = { "id": str + _formdiv.id, "style": { "backgroundImage": "url(/img/icon/ask.png)" }, "name": "问卷调查", "forms": _formdiv, "click": function() { U.MD.D.I.openApplication(str, obj, info); } }
  886. break;
  887. case "mind":
  888. _formdiv = new U.UF.UI.form(
  889. "思维导图",
  890. $$("iframe", { "frameborder": "no", "border": "0", "scrolling ": "no", "style": { "cssText": "border:0;width:100%;height:100%" }, "src": "/kityminder-editor/dist/index.html" }), { //"/jsmind/example/demo.html"
  891. "id": "mind",
  892. "style": { "width": "90%", "height": "90%", "overflow": 'hidden' },
  893. "onresize": function() {}
  894. }, {
  895. closecallback: function() {}
  896. }, { "style": { "height": "36px" } }).form; //创建窗体
  897. _taskbar = { "id": str + _formdiv.id, "style": { "backgroundImage": "url(/img/icon/mindMapping.png)" }, "name": "思维导图", "forms": _formdiv, "click": function() { U.MD.D.I.openApplication(str, obj, info); } }
  898. break;
  899. case "doc":
  900. // U.MD.D.I.isRoom();
  901. _formdiv = new U.UF.UI.form(
  902. "协同文档",
  903. $$("iframe", { "frameborder": "no", "border": "0", "scrolling ": "no", "style": { "cssText": "border:0;width:100%;height:100%" }, "src": "/Office/Word/WordEditArea.htm" }), {
  904. "id": "doc",
  905. "style": { "width": "90%", "height": "90%", "overflow": 'hidden' },
  906. "onresize": function() {}
  907. }, {
  908. closecallback: function() {}
  909. }, { "style": { "height": "36px" } }).form; //创建窗体
  910. U.UF.DL.iframeLoad($("iframe", _formdiv)[0], function() {
  911. $("iframe", _formdiv)[0].contentWindow.U.MD.O.W.load();
  912. })
  913. _taskbar = { "id": str + _formdiv.id, "style": { "backgroundImage": "url(/img/icon/doc.png)" }, "name": "协同文档", "forms": _formdiv, "click": function() { U.MD.D.I.openApplication(str, obj, info); } }
  914. break;
  915. case "study":
  916. _formdiv = new U.UF.UI.form(
  917. "学习中心",
  918. $$("iframe", { "webkitallowfullscreen": "", "mozallowfullscreen": "", "allowfullscreen": "", "frameborder": "no", "border": "0", "scrolling ": "no", "style": { "cssText": "border:0;width:100%;height:100%" }, "src": "https://pbl.cocorobo.cn/pbl-student-table/dist/#/index?userid=" + _userid + "&oid=" + _oid }), { //https://pbl.cocorobo.cn/pbl-student-table/dist/#/index
  919. "id": "study",
  920. "style": { "width": "70%", "height": "90%", "overflow": 'hidden' },
  921. "onresize": function() {}
  922. }, {
  923. closecallback: function() {}
  924. }, { "style": { "height": "36px" } }).form; //创建窗体
  925. _taskbar = { "id": str + _formdiv.id, "style": { "backgroundImage": "url(/img/icon/study.png)" }, "name": "学习中心", "forms": _formdiv, "click": function() { U.MD.D.I.openApplication(str, obj, info); } }
  926. break;
  927. case "mindNetwork": //好友打开
  928. _formdiv = new U.UF.UI.form(
  929. "思维网格",
  930. $$("iframe", { "webkitallowfullscreen": "", "mozallowfullscreen": "", "allowfullscreen": "", "frameborder": "no", "border": "0", "scrolling ": "no", "style": { "cssText": "border:0; width:100%; height:100%;" }, "src": "https://pbl.cocorobo.cn/pbl-teacher-table/dist/#/Grid?userid=" + _userid }), {
  931. "id": "mindNetwork",
  932. "style": { "width": "90%", "height": "90%", "overflow": 'hidden' },
  933. "onresize": function() {}
  934. }, {
  935. closecallback: function() {}
  936. }, { "style": { "height": "36px" } }).form; //创建窗体
  937. _taskbar = { "id": str + _formdiv.id, "style": { "backgroundImage": "url(/img/icon/mindNetwork.png)" }, "name": "思维网格", "forms": _formdiv, "click": function() { U.MD.D.I.openApplication(str, obj, info); } }
  938. break;
  939. case "train": //好友打开
  940. _formdiv = new U.UF.UI.form(
  941. "训练服务器",
  942. $$("iframe", { "webkitallowfullscreen": "", "mozallowfullscreen": "", "allowfullscreen": "", "frameborder": "no", "border": "0", "scrolling ": "no", "style": { "cssText": "border:0; width:100%; height:100%;" }, "src": "https://xunlian.cocorobo.cn" }), {
  943. "id": "mindNetwork",
  944. "style": { "width": "90%", "height": "90%", "overflow": 'hidden' },
  945. "onresize": function() {}
  946. }, {
  947. closecallback: function() {}
  948. }, { "style": { "height": "36px" } }).form; //创建窗体
  949. _taskbar = { "id": str + _formdiv.id, "style": { "backgroundImage": "url(/img/icon/mindNetwork.png)" }, "name": "训练服务器", "forms": _formdiv, "click": function() { U.MD.D.I.openApplication(str, obj, info); } }
  950. break;
  951. }
  952. }
  953. //U.MD.D.I.openClick(str);
  954. //如果有任务栏信息
  955. if (_taskbar) {
  956. U.MD.D.T.taskbar(_taskbar); //创建任务处理
  957. }
  958. }
  959. // U.MD.D.I.openClick = function(str){
  960. // var click = '';
  961. // switch(str){
  962. // case 'friend':
  963. // click = '我的好友';
  964. // break;
  965. // case 'domain':
  966. // click = '域名管理';
  967. // break;
  968. // case 'disk':
  969. // click = '我的云盘';
  970. // break;
  971. // case 'word':
  972. // click = 'Word';
  973. // break;
  974. // case 'excel':
  975. // click = 'Execl';
  976. // break;
  977. // case 'txt':
  978. // click = '文本文件';
  979. // break;
  980. // case 'lookupFriend':
  981. // click = '查找好友';
  982. // break;
  983. // case 'ftp':
  984. // click = 'FTP';
  985. // break;
  986. // case 'group':
  987. // click = '群组';
  988. // break;
  989. // case 'set':
  990. // click = '我的设置';
  991. // break;
  992. // case 'systemSet':
  993. // click = '系统设置';
  994. // break;
  995. // case 'boomYun':
  996. // click = '互联办公';
  997. // break;
  998. // case 'xz':
  999. // click = '云端下载';
  1000. // break;
  1001. // case 'client':
  1002. // click = '有思浏览器';
  1003. // break;
  1004. // case 'backEndProgramming':
  1005. // click = '在线后台编程';
  1006. // break;
  1007. // case 'frontEndProgramming':
  1008. // click = '在线前端编程';
  1009. // break;
  1010. // default: break;
  1011. // }
  1012. // if(U.MD.D.I.Ip && click){
  1013. // var clickUrl = ':12588/useClick.php?name=' + click + '&ip=' + U.MD.D.I.Ip;
  1014. // U.MD.D.I.Mysqlrequest(clickUrl,function(data){
  1015. // })
  1016. // }
  1017. // }
  1018. /**
  1019. *函数作用:ajax简易函数,使用post格式
  1020. *@param url {data} 后台地址
  1021. *@param data {data} 参数json
  1022. *@param fn {data} 回调函数
  1023. *
  1024. */
  1025. // U.MD.D.I.Mysqlrequest = function(url,fn){
  1026. // var xhr = new XMLHttpRequest();
  1027. // xhr.open("GET",url,true);
  1028. // xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  1029. // xhr.onreadystatechange = function(){
  1030. // if(xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 304)){
  1031. // fn.call(this,xhr.responseText);
  1032. // }
  1033. // };
  1034. // xhr.send();
  1035. // }
  1036. /*判断是否是内网IP*/
  1037. // U.MD.D.I.isInnerIPFn = function(str){
  1038. // var curPageUrl = str;
  1039. // var reg1 = /(http|ftp|https|www):\/\//g;//去掉前缀
  1040. // curPageUrl =curPageUrl.replace(reg1,'');
  1041. // // console.log('curPageUrl-1 '+curPageUrl);
  1042. // var reg2 = /\:+/g;//替换冒号为一点
  1043. // curPageUrl =curPageUrl.replace(reg2,'.');
  1044. // // console.log('curPageUrl-2 '+curPageUrl);
  1045. // curPageUrl = curPageUrl.split('.');//通过一点来划分数组
  1046. // var ipAddress = curPageUrl[0]+'.'+curPageUrl[1]+'.'+curPageUrl[2]+'.'+curPageUrl[3];
  1047. // if(curPageUrl[2] != '16'){
  1048. // return ipAddress;
  1049. // }else{
  1050. // return false;
  1051. // }
  1052. // }
  1053. // U.MD.D.I.getUserIP = function(onNewIP) { // onNewIp - your listener function for new IPs
  1054. // //compatibility for firefox and chrome
  1055. // var myPeerConnection = window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitRTCPeerConnection;
  1056. // var pc = new myPeerConnection({
  1057. // iceServers: []
  1058. // }),
  1059. // noop = function() {},
  1060. // localIPs = {},
  1061. // ipRegex = /([0-9]{1,3}(\.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})/g,
  1062. // key;
  1063. // function iterateIP(ip) {
  1064. // if (!localIPs[ip]) onNewIP(ip);
  1065. // localIPs[ip] = true;
  1066. // }
  1067. // //create a bogus data channel
  1068. // pc.createDataChannel("");
  1069. // // create offer and set local description
  1070. // pc.createOffer().then(function(sdp) {
  1071. // sdp.sdp.split('\n').forEach(function(line) {
  1072. // if (line.indexOf('candidate') < 0) return;
  1073. // line.match(ipRegex).forEach(iterateIP);
  1074. // });
  1075. // pc.setLocalDescription(sdp, noop, noop);
  1076. // }).catch(function(reason) {
  1077. // // An error occurred, so handle the failure to connect
  1078. // });
  1079. // //sten for candidate events
  1080. // pc.onicecandidate = function(ice) {
  1081. // if (!ice || !ice.candidate || !ice.candidate.candidate || !ice.candidate.candidate.match(ipRegex)) return;
  1082. // ice.candidate.candidate.match(ipRegex).forEach(iterateIP);
  1083. // };
  1084. // }
  1085. // U.MD.D.I.getUserIpBool = function(callback){
  1086. // U.MD.D.I.getUserIP(function(ip){
  1087. // alert("Got IP! :" + ip);
  1088. // });
  1089. //}
  1090. //#endregion