Nav.js 59 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437
  1. //查看指定文件,,判断是否保存或者覆盖,包括创建邀请协作人员,创建编辑历史,创建生成链接.创建热门模板。加载当前word文档的内容。创建光标,监控键盘输入等。这里是iframe中的word起始点。
  2. //监控输入输出,
  3. //添加成员,共同编辑。
  4. Namespace.register("U.MD.O.W.T.N");
  5. U.MD.O.W.T.N = {
  6. navInfo: [], //文件信息
  7. nowNavId: "", //当前操作的导航页面ID
  8. navcontent: {}
  9. };
  10. /**
  11. * 获取当前展示的页面的内容
  12. * @param navinfo {object} 导航信息
  13. *
  14. */
  15. U.MD.O.W.T.N.form = function (navinfo) {
  16. //简易版导航
  17. U.MD.O.W.T.N.Easy(navinfo);
  18. //判断导航窗体是否创建
  19. //if (false && !$('#U_MD_O_W_N')[0]) {
  20. if(!$('#U_MD_O_W_N')[0]){
  21. //窗体创建的父级窗体
  22. var _coopwindow = $("#U_MD_O_R_Parent")[0];
  23. //内容区域盒子
  24. var _box = $$('div', { id: "U_MD_O_W_N" });
  25. //logo
  26. var _logo = $$('div', { "className": "U_MD_O_W_N_Logo" }, _box);
  27. var _logoImg = $$('img', { "onerror": U.MD.C.imgError, "src": "/img/Logo_.png", "className": "U_MD_O_W_N_LogoImg", 'id': 'U_MD_O_W_N_LOGO' }, _logo);
  28. //存放本地上传、云盘上传两个按钮的div
  29. var _uploadbutton = $$('div', { "className": 'U_MD_O_W_N_uploadbutton' }, _box);
  30. //input file按钮(隐藏)
  31. var _localupload = $$('input', { type: "file", "className": "U_MD_O_W_N_localupload", innerHTML: "本地上传", 'id': 'U_MD_O_W_N_LocalUpload', 'onchange': function () { U.MD.O.W.T.N.changeLogo($('#U_MD_O_W_N_LocalUpload')[0], $('#U_MD_O_W_N_LOGO')[0]) } }, _uploadbutton);
  32. //本地上传按钮,调用了input file(隐藏)的点击事件
  33. var _localupload2 = $$('button', { "className": 'U_MD_O_W_N_localupload2', innerHTML: "本地上传", 'id': 'pic', 'onclick': function () { $('#U_MD_O_W_N_LocalUpload')[0].click(); } }, _uploadbutton);
  34. //云盘上传按钮
  35. var _cdupload = $$('button', { "className": "U_MD_O_W_N_CDupload", innerHTML: "云盘上传" }, _uploadbutton);
  36. //导航区域
  37. var _nav = $$('div', { "className": 'U_MD_O_W_N_NavBox', innerHTML: "" }, _box);
  38. //底部区域
  39. var _bottom = $$('div', { "className": 'U_MD_O_W_N_Bottom' }, _box);
  40. //新建页面按钮
  41. var _newpage = $$('button', { "className": 'U_MD_O_W_N_Button', innerHTML: "新建页面", 'onclick': function () { U.MD.O.W.T.N.addNewNav(navinfo.nav); } }, _bottom);
  42. //预览按钮
  43. var _newpage = $$('button', { "className": 'U_MD_O_W_N_Button', innerHTML: "预览" }, _bottom);
  44. //窗体
  45. var _form = new U.UF.UI.form("导航管理", _box, { style: { border: "none", position: "absolute", width: "300px", height: "700px", top: "60px", left: "15px", "box-shadow": "3px 3px 10px #888888"} }, { isenlarge: false, isnarrow: false }, { style: { margin: "0px 5px", "border-bottom": "1px solid #d6def0", color: "#000", background: "#fff"} }, null, null, _coopwindow);
  46. }
  47. U.MD.O.W.T.N.getPageContent();
  48. //打印导航
  49. U.MD.O.W.T.N.printNav(navinfo);
  50. }
  51. /**
  52. * 打印导航
  53. * @param navinfo {object} 导航信息
  54. *
  55. */
  56. U.MD.O.W.T.N.printNav = function (navinfo) {
  57. U.MD.O.W.T.N.navInfo = navinfo; //记录导航信息
  58. U.MD.O.W.T.N.nowNavId = navinfo.nav[0].pageId; //设置默认页面展示页面ID
  59. var _nav = $('.U_MD_O_W_N_NavBox')[0]; //获取导航位置
  60. //打印处理
  61. U.MD.O.W.T.N.createFirstTree(navinfo.nav, _nav);
  62. //获取页面内容
  63. U.MD.O.W.T.N.getPageContent();
  64. }
  65. /**
  66. * 获取当前展示的页面的内容
  67. *
  68. */
  69. U.MD.O.W.T.N.getPageContent = function () {
  70. U.UF.DL.loading($('#U_MD_O_W_E_body')[0]); //设置loading
  71. if (U.MD.O.W.T.N.navcontent[U.MD.O.W.T.N.nowNavId]) {
  72. U.MD.O.W.T.N.getPageContentAsyn({ value: U.MD.O.W.T.N.navcontent[U.MD.O.W.T.N.nowNavId] });
  73. //$("#U_MD_O_H_wordEditor")[0].innerHTML = U.MD.O.W.T.N.navcontent[U.MD.O.W.T.N.nowNavId];
  74. } else if (U.MD.O.W.permission.web) {
  75. //发送获取内容请求
  76. parent.U.A.Request(US.SCOKET, ["getNavPageContent", U.MD.O.W.fileinfo.UserDirectoryID, U.MD.O.W.T.N.nowNavId], function (r) {
  77. U.MD.O.W.T.N.getPageContentAsyn(r); //异步处理
  78. });
  79. } else {
  80. //发送获取内容请求
  81. parent.U.A.Request(US.CD, [US.DB, "UseStudio_Office", "GetNavPageContent", U.MD.O.W.T.N.nowNavId], function (r) {
  82. U.MD.O.W.T.N.getPageContentAsyn(r);
  83. });
  84. }
  85. }
  86. /**
  87. * 获取当前展示的页面的内容异步处理
  88. *
  89. */
  90. U.MD.O.W.T.N.getPageContentAsyn = function (r) {
  91. //内容处理
  92. if (r.value && r.value.UsOffice !== undefined) {
  93. r = r.value.UsOffice;
  94. } else {
  95. r = r.value;
  96. if (U.UF.C.isObject(r)) {
  97. r = r[0] ? r[0].content : "";
  98. }
  99. }
  100. //设置当前展示导航的样式
  101. U.MD.O.W.T.N.setHoverClass();
  102. //设置内容属性
  103. U.MD.O.W.fileinfo.UsOffice = (r || "").unEscapeQuotes(); //word内容
  104. U.MD.O.W.E.initEditor(U.MD.O.W.permission.web); //加载编辑器和内容
  105. //设置切换页面全局状态为false 表示切换结束
  106. U.MD.O.W.T.N.switching = false;
  107. //清楚loading
  108. U.UF.DL.uploading($('#U_MD_O_W_E_body')[0]);
  109. }
  110. /**
  111. * 设置当前展示导航的样式
  112. *
  113. */
  114. U.MD.O.W.T.N.setHoverClass = function () {
  115. //去除已中样式
  116. $('.U_MD_O_H_Nav_Span').removeClass('U_MD_O_H_Nav_Span');
  117. //设置新的导航选中
  118. $('#Word_Nav_' + U.MD.O.W.T.N.nowNavId).addClass('U_MD_O_H_Nav_Span');
  119. $('.U_MD_O_W_T_N_easyDeleteBtn_show').removeClass('U_MD_O_W_T_N_easyDeleteBtn_show');
  120. $('.U_MD_O_W_T_N_easyDeleteBtn_show').removeClass('U_MD_O_W_T_N_easyDeleteBtn_show');
  121. $($('#Word_Nav_' + U.MD.O.W.T.N.nowNavId).next()).addClass('U_MD_O_W_T_N_easyDeleteBtn_show');
  122. }
  123. /**
  124. * 页面导航
  125. * @param callback {function} 回调函数
  126. *
  127. */
  128. U.MD.O.W.T.N.saveNav = function (callback, param) {
  129. //判断用户是否登录,只有登录用户才能保存信息
  130. if (!top.U.MD.U.L.isLogin(function (userinfo) { U.MD.O.W.userinfo = userinfo; })) {
  131. var _isftp,
  132. _isgroupuser,
  133. _uid = U.MD.O.W.userinfo.UserId,
  134. _el = $("#U_MD_O_H_wordEditor")[0], //word编辑区域
  135. _fileinfo = U.MD.O.W.fileinfo, //文件信息
  136. _name = top.$('#UD_Word' + _fileinfo.UserDirectoryID + ' .U_MD_O_H_head_navigation_Title')[0], //文件名
  137. _fileid = _fileinfo.UserDirectoryID, //文件ID
  138. _html = _el.innerHTML, //内容
  139. _data = null;
  140. //判断文档是否是已经保存到数据库的文档
  141. if (_fileid && _fileinfo.UserId && _fileinfo.UserallDirectoryName && U.MD.O.W.permission.edit) { //如果是已经保存到数据库的文档,那么直接保存内容
  142. //保存到数据库
  143. top.U.A.Request(US.AUTH, ["SaveFileContent", _fileid, JSON.stringify(U.MD.O.W.T.N.navInfo), _name.value], function (r) {
  144. U.UF.C.isFunction(callback) && callback.apply(this, param);
  145. }, (['', _el])); //保存到数据库
  146. }
  147. //如果文件没有保存,那么直接新建文件
  148. else {
  149. var _newfileid = Guid.newGuid();
  150. //调用word新建文档的处理
  151. top.U.MD.DK.VW.chosenSaveFile('un', _newfileid, _name.value, function (fileinfo) {
  152. U.MD.O.W.fileinfo = fileinfo //文档信息
  153. top.$('#UD_Word' + _fileid)[0].id = 'UD_Word' + _newfileid;
  154. _name.value = fileinfo.UserDirectoryName;
  155. _isgroup = U.Json.select(US.friend.group, {
  156. "GroupManageID": fileinfo.GroupID
  157. })[0];
  158. if (!U.MD.O.W.permission.edit) {
  159. U.MD.O.W.T.N.saveAllPage(function () {
  160. U.MD.O.W.T.N.saveNav.asyn(_isgroup, fileinfo, _el)
  161. }, 0, _isgroup, _html);
  162. } else {
  163. U.MD.O.W.T.N.saveNav.asyn(_isgroup, fileinfo, _el, _html);
  164. }
  165. });
  166. }
  167. }
  168. }
  169. U.MD.O.W.T.N.saveNav.asyn = function (isgroup, fileinfo, el, html) {
  170. if (isgroup) {
  171. U.A.Request(US.SCOKET, ["newNavSave", fileinfo.UserDirectoryID, JSON.stringify(U.MD.O.W.T.N.navInfo), fileinfo.UserDirectoryName, html ? U.MD.O.W.T.N.nowNavId : "", html || "", US.userInfo.UserId, US.pageId], function (r) {
  172. //top.$('#UD_Word' + newfileid + ' .U_MD_O_H_head_navigation_Title')[0].value = fileinfo.UserDirectoryName;
  173. U.MD.O.W.fileinfo.UsOffice = el.innerHTML;
  174. $('#U_MD_O_H_wordEditor')[0].editor.operaNotice = U.MD.O.W.E.operationNotice;
  175. U.MD.O.W.permission.edit = true;
  176. U.MD.O.W.permission.web = true;
  177. U.Alert("保存成功");
  178. });
  179. } else {
  180. top.U.A.Request(US.AUTH, ["SaveFileContent", fileinfo.UserDirectoryID, JSON.stringify(U.MD.O.W.T.N.navInfo), fileinfo.UserDirectoryName], function (r) {
  181. U.MD.O.W.T.N.savePage(function () {
  182. U.MD.O.W.permission.edit = true;
  183. }, true);
  184. }); //保存到数据库
  185. }
  186. }
  187. U.MD.O.W.T.N.saveAllPage = function (callback, i, group, html) {
  188. var _nowid, _nav = U.MD.O.W.T.N.navInfo.nav;
  189. _nowid = Guid.newGuid();
  190. if (_nav[i].pageId == U.MD.O.W.T.N.nowNavId) {
  191. _content = html;
  192. } else {
  193. _content = U.MD.O.W.T.N.navcontent[_nav[i].pageId] || "";
  194. }
  195. if (group) {
  196. top.U.A.Request(US.SCOKET, ["copyPageContent", U.MD.O.W.fileinfo.UserDirectoryID, _nowid, _content.escapeQuotes(), _nav[i].pageId], U.MD.O.W.T.N.saveAllPage.asyn, [null, i, group, _nav, _nowid, callback]); //保存到数据库
  197. } else {
  198. top.U.A.Request(US.CD, [US.DB, "UseStudio_Office", "CopyPageContent", _nowid, (_content || U.MD.O.W.T.N.navcontent[_nav[i].pageId] || "").escapeQuotes(), _nav[i].pageId], U.MD.O.W.T.N.saveAllPage.asyn, [null, i, group, _nav, _nowid, callback]); //保存到数据库
  199. }
  200. }
  201. U.MD.O.W.T.N.saveAllPage.asyn = function (r) {
  202. if (r.value) {
  203. var i = r.context[1],
  204. _group = r.context[2],
  205. _nav = r.context[3],
  206. _nowid = r.context[4],
  207. _callback = r.context[5];
  208. _nav[i].pageId == U.MD.O.W.T.N.nowNavId && (U.MD.O.W.T.N.nowNavId = _nowid);
  209. $("#Word_Nav_" + _nav[i].pageId)[0].onclick = U.UF.C.closure(U.MD.O.W.T.N.switchPage, [_nowid]);
  210. $("#Word_Nav_" + _nav[i].pageId).attr({ pid: _nowid, id: "#Word_Nav_" + _nowid });
  211. _nav[i].pageId = _nowid;
  212. if (_nav.length == i + 1) {
  213. _callback();
  214. } else {
  215. U.MD.O.W.T.N.saveAllPage(_callback, ++i, _group);
  216. }
  217. }
  218. }
  219. /**
  220. * 新建建站文件
  221. * @param callback {function} 回调函数
  222. * @param alert {boole} 是否弹出弹出提示
  223. *
  224. */
  225. U.MD.O.W.T.N.savePage = function (callback, alert) {
  226. // if (!top.U.MD.U.L.isLogin(function (userinfo) { U.MD.O.W.userinfo = userinfo; })) {
  227. U.UF.DL.loading($('#U_MD_O_W_E_body')[0]);
  228. var _html = $("#U_MD_O_H_wordEditor")[0].innerHTML;
  229. top.U.A.Request(US.CD, [US.DB, "UseStudio_Office", "SaveNavPageContent", U.MD.O.W.T.N.nowNavId, _html.escapeQuotes()], function (r) {
  230. U.MD.O.W.fileinfo.UsOffice = _html;
  231. alert && U.Alert('保存成功');
  232. U.UF.C.isFunction(callback) && callback();
  233. U.UF.DL.uploading($('#U_MD_O_W_E_body')[0]);
  234. }); //保存到数据库
  235. // }
  236. }
  237. /**
  238. * 修改logo 设置logo背景图
  239. * @param fileinput {object} 上传文本框
  240. * @param logoel {object} logo图片
  241. *
  242. */
  243. U.MD.O.W.T.N.changeLogo = function (fileinput, logoel) {
  244. if (!top.U.MD.U.L.isLogin(function (userinfo) { U.MD.O.W.userinfo = userinfo; })) {
  245. U.UF.UP.inputUpload(
  246. [fileinput],
  247. 'http://disk.1473.cn/USUpfile.ashx?typename=UseStudioEditor&UserId=' + US.userInfo.UserId,
  248. function (r) {
  249. //上传之后的处理 r.value[0]上传之后的图片服务器名字 全路径 http://fs.1473.cn/ + r.value[0]
  250. U.MD.O.W.T.N.navInfo.logo = r.value[0];
  251. //logoel.style.backgroundImage = "url('http://fs.1473.cn/" + U.MD.O.W.T.N.navInfo.logo + "')";
  252. logoel.src = "http://fs.1473.cn/" + U.MD.O.W.T.N.navInfo.logo + "";
  253. }
  254. );
  255. }
  256. }
  257. /**
  258. * 切换页面
  259. * @param nav {object} 导航目录信息
  260. *
  261. */
  262. U.MD.O.W.T.N.switching = false; //设置记录切换中属性
  263. U.MD.O.W.T.N.switchPage = function (pageid) {
  264. if (this.contentEditable != "true") {
  265. var _fileinfo = U.MD.O.W.fileinfo; //文件信息
  266. if (!U.MD.O.W.T.N.switching) { // && _fileinfo.UserId && _fileinfo.UserallDirectoryName
  267. U.MD.O.W.T.N.switching = true;
  268. if (U.MD.O.W.permission.edit) {
  269. //先执行保存
  270. U.MD.O.W.T.N.savePage(function () {
  271. //修改记录的当前操作的导航页面ID
  272. U.MD.O.W.T.N.nowNavId = pageid;
  273. //执行切换
  274. U.MD.O.W.T.N.getPageContent();
  275. });
  276. } else {
  277. U.MD.O.W.T.N.navcontent[U.MD.O.W.T.N.nowNavId] = $("#U_MD_O_H_wordEditor")[0].innerHTML;
  278. //修改记录的当前操作的导航页面ID
  279. U.MD.O.W.T.N.nowNavId = pageid;
  280. //执行切换
  281. U.MD.O.W.T.N.getPageContent();
  282. }
  283. }
  284. }
  285. }
  286. /**
  287. * 创建导航信息
  288. * @param name {string} 导航名称
  289. *
  290. */
  291. U.MD.O.W.T.N.navData = function (name) {
  292. return {
  293. pageId: Guid.newGuid(),
  294. name: name || "新的页面"
  295. };
  296. }
  297. /**
  298. * 根据NavId查找对应的导航信息
  299. */
  300. U.MD.O.W.T.N.selectByNavId = function (nowinfo, navid) {
  301. var i = 0;
  302. for (i = 0; i < nowinfo.length; i++) {
  303. object = nowinfo[i];
  304. if (object.pageId == navid) {
  305. return object;
  306. } else if (object.child) {
  307. return us.selectNav(object.child, navid);
  308. }
  309. }
  310. }
  311. /**
  312. * 简易版导航创建
  313. *
  314. */
  315. U.MD.O.W.T.N.Easy = function (navinfo) {
  316. $('.U_MD_O_H_Nav')[0].style.display = "block"; //显示导航
  317. U.MD.O.W.T.N.navInfo = navinfo; //记录导航信息
  318. U.MD.O.W.T.N.nowNavId = navinfo.nav[0].pageId; //设置默认页面展示页面ID
  319. var i;
  320. var _navbox = $('.U_MD_O_H_Nav_Box')[0]; //导航区域
  321. _navbox.innerHTML = "";
  322. for (i = 0; i < navinfo.nav.length; i++) {
  323. if (i == 4) {
  324. U.MD.O.W.T.N.Easy.createMore();
  325. }
  326. U.MD.O.W.T.N.Easy.Print(navinfo.nav[i], navinfo.nav);
  327. }
  328. }
  329. /**
  330. * 打印导航
  331. * @param nav {object} 导航目录信息
  332. *
  333. */
  334. U.MD.O.W.T.N.Easy.Print = function (nav, data, index, isnew) {
  335. var _navbox = $('.U_MD_O_H_Nav_Box'); //导航区域
  336. var _div = $$('div', {}); //创建盒子
  337. var _beforeele = null;
  338. if (index) {
  339. _beforeele = _navbox.Child()[index + 1];
  340. }
  341. $(_div).appendTo(_navbox[0], 0, _beforeele); //添加元素
  342. //内容区域
  343. var _span = $$('span', {
  344. id: "Word_Nav_" + nav.pageId,
  345. innerHTML: nav.name,
  346. pid: nav.pageId,
  347. onclick: U.UF.C.closure(U.MD.O.W.T.N.switchPage, [nav.pageId])
  348. }, _div);
  349. // if (U.MD.O.W.permission.edit) {
  350. if (isnew) {
  351. _span.onblur = function () { U.MD.O.W.T.N.addNav(this, nav, data, top); };
  352. } else {
  353. _span.onblur = function () { U.MD.O.W.T.N.updateNav(this, nav); }
  354. }
  355. _span.ondblclick = U.MD.O.W.T.N.Easy.ondblclick;
  356. _span.onkeydown = U.UF.C.closure(U.MD.O.W.T.N.Easy.enter, [_span]);
  357. $$("div", { 'className': 'U_MD_O_W_T_N_easyDeleteBtn', onclick: function () { U.UF.UI.Confirm('删除当前页面后内容将不可恢复,确认删除?', function () { U.MD.O.W.T.N.deleteNav(nav, data, true); }); } }, _div); //删除按钮
  358. // }
  359. return _span;
  360. }
  361. /**
  362. * 双击事件
  363. *
  364. */
  365. U.MD.O.W.T.N.Easy.ondblclick = function () {
  366. // if (!top.U.MD.U.L.isLogin(function (userinfo) { U.MD.O.W.userinfo = userinfo; })) {
  367. this.setAttribute("contenteditable", "true"); //设置可编辑
  368. this.focus(); //聚焦处理
  369. U.UF.E.getRangeAt().selectNodeContents(this); //全选处理
  370. // }
  371. }
  372. /**
  373. * 回车修改
  374. * @param nav {object} 导航目录信息
  375. *
  376. */
  377. U.MD.O.W.T.N.Easy.enter = function (navel, fun) {
  378. //获取event对象
  379. var e = U.UF.EV.getEventSource();
  380. //获取按下键值
  381. var _code = e.keyCode;
  382. //判断是否为回车键
  383. if (_code == 13) {
  384. navel.setAttribute("contenteditable", "false"); //设置导航不可编辑
  385. //执行修改导航名称函数
  386. // U.MD.O.W.T.N.updateNav(this, nav)
  387. // this.onblur();
  388. U.UF.EV.stopDefault();
  389. }
  390. U.UF.EV.stopBubble(); //阻止默认事件
  391. }
  392. /**
  393. * 添加导航点击事件处理
  394. *
  395. */
  396. U.MD.O.W.T.N.Easy.add = function () {
  397. var _fileinfo = U.MD.O.W.fileinfo; //文件信息
  398. //多导航处理
  399. if (U.MD.O.W.T.N.navInfo.nav.length == 4) {
  400. //提示操作限制
  401. //return U.Alert('目前最多只支持4个页面。。。');
  402. U.MD.O.W.T.N.Easy.createMore();
  403. }
  404. if (U.MD.O.W.T.N.navInfo.nav.length >= 4) {
  405. $('.U_MD_O_H_Nav_Box_More_Hide').removeClass('U_MD_O_H_Nav_Box_More_Hide');
  406. }
  407. //判断文档是否是已经保存到数据库的文档
  408. // if (_fileinfo.UserDirectoryID && _fileinfo.UserId && _fileinfo.UserallDirectoryName) { //如果是已经保存到数据库的文档,那么直接保存内容
  409. if (!U.MD.O.W.permission.edit) {
  410. U.MD.O.W.T.N.navcontent[U.MD.O.W.T.N.nowNavId] = $("#U_MD_O_H_wordEditor")[0].innerHTML;
  411. U.MD.O.W.T.N.Easy.add.asyn();
  412. } else {
  413. if (U.MD.O.W.permission.web) {
  414. U.MD.O.W.T.N.Easy.add.asyn();
  415. } else {
  416. //执行保存页面内容函数
  417. U.MD.O.W.T.N.savePage(U.MD.O.W.T.N.Easy.add.asyn);
  418. }
  419. }
  420. // } else {
  421. // U.MD.O.W.save();
  422. // }
  423. }
  424. /**
  425. * 添加导航点击事件处理 异步
  426. *
  427. */
  428. U.MD.O.W.T.N.Easy.add.asyn = function () {
  429. //创建新的导航
  430. var _nav = U.MD.O.W.T.N.navData();
  431. //添加到导航信息数组里
  432. U.MD.O.W.T.N.navInfo.nav.push(_nav);
  433. //切换记录当前操作的页面ID
  434. U.MD.O.W.T.N.nowNavId = _nav.pageId;
  435. var _editor = $("#U_MD_O_H_wordEditor")[0]; //编辑器元素
  436. U.MD.O.W.fileinfo.UsOffice = "";
  437. U.MD.O.W.E.initEditor();
  438. // _editor.innerHTML = ""; //清空内容
  439. // U.UF.E.key.addDelLine(_editor); //默认添加第一行
  440. //打印导航
  441. var _navel = U.MD.O.W.T.N.Easy.Print(_nav, U.MD.O.W.T.N.navInfo.nav, null, true);
  442. //默认执行导航双击事件 触发修改
  443. _navel.ondblclick();
  444. //设置选中样式
  445. U.MD.O.W.T.N.setHoverClass();
  446. }
  447. U.MD.O.W.T.N.Easy.createMore = function () {
  448. $$('div', { className: "U_Img U_MD_O_H_Nav_More ", onclick: U.MD.O.W.T.N.Easy.showOrHideNav }, $('.U_MD_O_H_Nav_Box')[0]);
  449. $(".U_MD_O_H_Nav_Box").addClass("U_MD_O_H_Nav_Box_More");
  450. $(".U_MD_O_H_Nav_Box").addClass("U_MD_O_H_Nav_Box_More_Hide");
  451. }
  452. U.MD.O.W.T.N.Easy.removeMore = function () {
  453. $('.U_MD_O_H_Nav_More').remove();
  454. $(".U_MD_O_H_Nav_Box").removeClass("U_MD_O_H_Nav_Box_More");
  455. $(".U_MD_O_H_Nav_Box").removeClass("U_MD_O_H_Nav_Box_More_Hide");
  456. }
  457. U.MD.O.W.T.N.Easy.showOrHideNav = function (flag) {
  458. if (flag == true || $('.U_MD_O_H_Nav_Box_More_Hide')[0]) {
  459. $('.U_MD_O_H_Nav_Box_More_Hide').removeClass('U_MD_O_H_Nav_Box_More_Hide');
  460. var _close = function () {
  461. U.MD.O.W.T.N.Easy.showOrHideNav();
  462. $('body').unbind("click", _close);
  463. }
  464. $('body').bind("click", _close);
  465. } else {
  466. $('.U_MD_O_H_Nav_Box_More').addClass('U_MD_O_H_Nav_Box_More_Hide');
  467. }
  468. U.UF.EV.stopBubble();
  469. // var i, _nav = $('.U_MD_O_H_Nav_Box>div').gt(5);
  470. // var _flag = (!flag || _nav[0].style.display == "") ? "none" : "";
  471. // for (i = 0; i < _nav.length; i++) {
  472. // _nav[i].style.display = _flag;
  473. // }
  474. //
  475. // if (_flag) {
  476. //
  477. // }
  478. }
  479. /**
  480. * 添加导航
  481. *
  482. * @param navel {element} 导航标题元素
  483. * @param nav {object} 导航信息对象
  484. * @param data {object} 父级导航信息数组
  485. * @param top {boole} 是否为第一级导航
  486. */
  487. U.MD.O.W.T.N.addNav = function (navel, nav, data, top) {
  488. if (!U.MD.O.W.permission.edit) {
  489. nav.name = navel.innerHTML; //修改记录变量
  490. navel.setAttribute("contenteditable", "false"); //设置导航不可编辑
  491. } else {
  492. if (U.MD.O.W.permission.web) { //协同处理
  493. var _parent, _navinfo = U.MD.O.W.T.N.navInfo.nav;
  494. var _content = $("#U_MD_O_H_wordEditor")[0].innerHTML.escapeQuotes();
  495. nav.name = navel.innerHTML; //修改记录变量
  496. if (top) {
  497. U.MD.O.W.T.N.addNavMessage("", _navinfo.length, nav, _content, function () {
  498. navel.onblur = function () { //覆盖失焦事件
  499. U.MD.O.W.T.N.updateNav(navel, nav); //修改导航处理
  500. }
  501. });
  502. } else {
  503. var _child = data.child; //获取子级
  504. if (_child) { //如果存在子级 则执行删除
  505. _child.every(function (object, index) { //循环找到对应的导航
  506. if (object.pageId == nav.navId) { //如果导航id相等则为对应导航
  507. U.MD.O.W.T.N.addNavMessage(data.pageId, index, nav, _content, function () {
  508. navel.onblur = function () { //覆盖失焦事件
  509. U.MD.O.W.T.N.updateNav(navel, nav); //修改导航处理
  510. }
  511. });
  512. }
  513. });
  514. }
  515. }
  516. } else {
  517. U.MD.O.W.T.N.updateNav(navel, nav); //直接执行修改导航
  518. navel.onblur = function () { //覆盖失焦事件
  519. U.MD.O.W.T.N.updateNav(navel, nav);
  520. }
  521. }
  522. }
  523. }
  524. /**
  525. * 删除导航处理
  526. * nav {object} 当前操作导航信息
  527. * data {object} 父级导航信息
  528. * top {boole} 是否为顶级(第一级)
  529. *
  530. */
  531. U.MD.O.W.T.N.deleteNav = function (nav, data, top) {
  532. if (top && data.length <= 1) { return U.Alert('只剩下一个导航页面啦!'); } //最后一个页面不允许删除
  533. var _child = top ? data : data.child; //获取子级
  534. if (_child) { //如果存在子级 则执行删除
  535. _child.every(function (object, index) { //循环找到对应的导航
  536. if (object.pageId == nav.pageId) { //如果导航id相等则为对应导航
  537. if (U.MD.O.W.permission.web) { //协同处理
  538. U.MD.O.W.T.N.deleteNavMessage(nav.pageId, _child.pageId || "", U.MD.O.W.T.N.deleteNav.asyn, [object, index, US.userInfo.UserId, _child]); //信息处理
  539. }
  540. else if (U.MD.O.W.permission.edit) {
  541. // U.MD.O.W.T.N.deleteNav.asyn(object, index, US.userInfo.UserId, _child); //异步处理
  542. U.MD.O.W.T.N.saveNav(function () { //直接保存页面
  543. U.A.Request(US.CD, [US.DB, "UseStudio_Office", "DeletePage", nav.pageId], function (r) { //删除页面请求
  544. U.MD.O.W.T.N.deleteNav.asyn(object, index, US.userInfo.UserId, _child); //异步处理
  545. });
  546. });
  547. }
  548. else {
  549. U.MD.O.W.T.N.deleteNav.asyn(object, index, US.userInfo.UserId, _child); //异步处理
  550. }
  551. return false; //返回false终止循环
  552. }
  553. return true;
  554. });
  555. } else {
  556. U.Alert("删除有误");
  557. }
  558. }
  559. /**
  560. * 删除导航处理
  561. * object {object} 当前操作导航信息
  562. * index {int} 位于父级导航信息的位置
  563. * userid {uuid} 操作用户id
  564. * parent {object} 导航的父级信息
  565. *
  566. */
  567. U.MD.O.W.T.N.deleteNav.asyn = function (object, index, userid, parent) {
  568. if (!object.child) {
  569. //导航删除
  570. $('#U_MD_O_W_T_N_' + object.pageId).remove();
  571. $($('#Word_Nav_' + object.pageId).Parent()).remove();
  572. //执行切换
  573. if (U.MD.O.W.T.N.nowNavId == object.pageId) {
  574. if (userid != US.userInfo.UserId) {
  575. var _user = U.Json.select(US.friend.groupusers, { UserId: userid })[0];
  576. U.Alert('该页面已被' + (_user ? _user.UserNickName || _user.UserName : "") + '删除');
  577. }
  578. //执行切换页面
  579. if (parent.length) {
  580. if (parent.length == 5) {
  581. U.MD.O.W.T.N.Easy.removeMore();
  582. }
  583. //删除后存在同级页面
  584. U.MD.O.W.T.N.switchPage(parent[index + 1] ? parent[index + 1].pageId : parent[index - 1].pageId);
  585. } else {
  586. //删除后 不存在同级页面
  587. U.MD.O.W.T.N.switchPage(parent.pageId);
  588. }
  589. }
  590. //数据删除
  591. parent && parent.splice(index, 1);
  592. }
  593. }
  594. /**
  595. * 修改导航名称
  596. * @param navel {Element} 导航元素
  597. * @param nav {object} 导航目录信息
  598. *
  599. */
  600. U.MD.O.W.T.N.updateNav = function (navel, nav) {
  601. navel.setAttribute("contenteditable", "false"); //设置导航不可编辑
  602. //修改记录的name
  603. nav.name = navel.innerHTML;
  604. if (U.MD.O.W.permission.edit) {
  605. if (U.MD.O.W.permission.web) { //协同处理
  606. U.MD.O.W.T.N.updateNavMessage(nav.pageId, nav.name, U.MD.O.W.T.N.updateNav.asyn); //协同更新导航处理
  607. } else {
  608. //执行保存导航函数
  609. U.MD.O.W.T.N.saveNav(U.MD.O.W.T.N.updateNav.asyn);
  610. }
  611. }
  612. }
  613. /**
  614. * 修改导航名称 异步处理
  615. * @param nav {object} 导航目录信息
  616. *
  617. */
  618. U.MD.O.W.T.N.updateNav.asyn = function (nav) {
  619. //默认聚到到编辑器区
  620. $("#U_MD_O_H_wordEditor")[0].focus();
  621. // var _fileinfo = U.MD.O.W.fileinfo; //文件信息
  622. // var _issave = true;
  623. // if (!_fileinfo.UserId && !_fileinfo.UserallDirectoryName) { //如果是已经保存到数据库的文档,那么直接保存内容
  624. // _issave = false;
  625. // }
  626. //提示修改成功
  627. //U.Alert('修改成功');
  628. // !_issave && U.MD.O.W.T.N.savePage(null, true);
  629. }
  630. /**
  631. *左目录导航
  632. *
  633. */
  634. U.MD.O.W.T.N.createFirstTree = function (data, parent) {//第一个参数是获取返回的数据,第二个是你要显示目录的位置
  635. var _data = data;
  636. if (parent == $('.U_MD_O_W_N_NavBox')[0] && $('.U_MD_O_W_N_NavBox')[0]!=null) {
  637. parent.innerHTML = "";
  638. }
  639. for (var i = 0; i < _data.length; i++) { //循环创建目录
  640. $$("div", {
  641. 'className': 'U_MD_O_W_T_N_treeDiv',
  642. 'id': 'U_MD_O_W_T_N_' + _data[i].pageId
  643. },
  644. parent);
  645. var _treeDiv = $('#U_MD_O_W_T_N_' + _data[i].pageId)[0];
  646. if (parent == $('.U_MD_O_W_N_NavBox')[0]) {
  647. _treeDiv.deep = 1;
  648. } else {
  649. _treeDiv.deep = parent.deep + 1;
  650. }
  651. _treeDiv.i = i; //给目录添加属性
  652. _treeDiv.pageId = _data[i].pageId;
  653. _treeDiv.flag = true;
  654. $$('div', {
  655. 'className': 'U_MD_O_W_T_N_treeNav',
  656. 'id': 'U_MD_O_W_T_N_treenav' + _data[i].pageId,
  657. 'style': { 'padding-left': 12 + 20 * (_treeDiv.deep - 1) + 'px' }
  658. },
  659. _treeDiv);
  660. var _treeNav = $('#U_MD_O_W_T_N_treenav' + _data[i].pageId)[0];
  661. $$("span", { //创建span标签插入名字
  662. 'className': 'U_MD_O_W_T_N_treeSpan',
  663. 'innerHTML': _data[i].name,
  664. 'id': 'U_MD_O_W_T_N_span' + _data[i].pageId
  665. },
  666. _treeNav);
  667. $$("div", { //创建div标签添加删除按钮
  668. 'className': 'U_MD_O_W_T_N_deleteDiv',
  669. 'id': 'U_MD_O_W_T_N_delete' + _data[i].pageId
  670. },
  671. _treeNav);
  672. $$("div", {//创建div标签添加添加按钮
  673. 'className': 'U_MD_O_W_T_N_addDiv',
  674. 'id': 'U_MD_O_W_T_N_add' + _data[i].pageId
  675. },
  676. _treeNav);
  677. $$("div", { //创建div标签修改按钮
  678. 'className': 'U_MD_O_W_T_N_updateDiv',
  679. 'id': 'U_MD_O_W_T_N_update' + _data[i].pageId
  680. },
  681. _treeNav);
  682. if (_data[i].child) {
  683. if (_data[i].child.length == 0) {
  684. $('#U_MD_O_W_T_N_span' + _data[i].pageId)[0].style.cssText += "margin-left:20px";
  685. } else {
  686. $$('div', {
  687. 'className': 'U_MD_O_W_T_N_checkDiv',
  688. 'id': 'U_MD_O_W_T_N_checkDiv' + _data[i].pageId
  689. },
  690. _treeNav);
  691. }
  692. } else {
  693. $('#U_MD_O_W_T_N_span' + _data[i].pageId)[0].style.cssText += "margin-left:20px";
  694. }
  695. _treeDiv.onclick = function (e) { //点击目录查看子目录
  696. U.MD.O.W.T.N.checkNav(this, data);
  697. e.stopPropagation();
  698. }
  699. //删除按钮点击事件
  700. $('#U_MD_O_W_T_N_delete' + _data[i].pageId)[0].onclick = function (e) {
  701. var _parent = this.parentNode.parentNode.parentNode; //获取子目录的父级
  702. var _delele = this.parentNode.parentNode; //获取你要删除的目录
  703. //删除按钮点击事件函数,第一个参数是要删除的ele,第二个是数据,第三个是父级ele
  704. U.MD.O.W.T.N.deleteOnClick(_delele, data, _parent);
  705. e.stopPropagation();
  706. }
  707. $('#U_MD_O_W_T_N_add' + _data[i].pageId)[0].onclick = function (e) { //添加按钮点击事件
  708. var _addele = this.parentNode.parentNode; //获取你点击添加的目录
  709. var _treenav = this.parentNode;
  710. if ($('.U_MD_O_W_T_N_addCBox')[0]) { //判断添加选项框是否存在
  711. var _addParent = $('.U_MD_O_W_T_N_addCBox')[0].parentNode;
  712. _addParent.removeChild($('.U_MD_O_W_T_N_addCBox')[0]); //判断存在,删除选项框
  713. }
  714. $$("div", { //创建添加选项框
  715. 'className': 'U_MD_O_W_T_N_addCBox'
  716. },
  717. $('body')[0]);
  718. e.preventDefault();
  719. $$("div", { //添加选项
  720. 'className': 'U_MD_O_W_T_N_addCPage',
  721. 'innerHTML': '添加子页面'
  722. },
  723. $('.U_MD_O_W_T_N_addCBox')[0]);
  724. $$("div", {
  725. 'className': 'U_MD_O_W_T_N_addPAbove',
  726. 'innerHTML': '在上方添加页面'
  727. },
  728. $('.U_MD_O_W_T_N_addCBox')[0]);
  729. $$("div", {
  730. 'className': 'U_MD_O_W_T_N_addPBelow',
  731. 'innerHTML': '在下方添加页面'
  732. },
  733. $('.U_MD_O_W_T_N_addCBox')[0]);
  734. //添加子页面点击事件
  735. $(".U_MD_O_W_T_N_addCPage")[0].onclick = function (e) {
  736. U.MD.O.W.T.N.addChildOnClick(_addele, data, _treenav);
  737. }
  738. //在上方添加页面点击事件
  739. $('.U_MD_O_W_T_N_addPAbove')[0].onclick = function (e) {
  740. U.MD.O.W.T.N.addPAboveOnClick(_addele, data, _treenav);
  741. e.stopPropagation();
  742. }
  743. //在下面添加页面点击事件
  744. $('.U_MD_O_W_T_N_addPBelow')[0].onclick = function (e) {
  745. U.MD.O.W.T.N.addPBelowOnClick(_addele, data, _treenav);
  746. e.stopPropagation();
  747. }
  748. document.onclick = function (e) { //显示添加选项框后,点击别的空白地方会关闭选项框
  749. if ($('.U_MD_O_W_T_N_addCBox')[0]) {
  750. var _cBoxParent = $('.U_MD_O_W_T_N_addCBox')[0].parentNode;
  751. _cBoxParent.removeChild($('.U_MD_O_W_T_N_addCBox')[0]);
  752. }
  753. }
  754. U.UF.C.rightClickMenuLocation($('.U_MD_O_W_T_N_addCBox')[0]);
  755. e.stopPropagation();
  756. }
  757. //修改按钮点击事件
  758. $('#U_MD_O_W_T_N_update' + _data[i].pageId)[0].onclick = function (e) {
  759. var _upele = this.parentNode.parentNode;
  760. U.MD.O.W.T.N.updateOnClick(_upele, data); //修改按钮点击事件函数,第一个参数是你要修改的ele,第二个是数据
  761. if (e) {
  762. e.stopPropagation();
  763. }
  764. }
  765. }
  766. }
  767. /**
  768. * 刷新目录名称
  769. * @param data {object} 目录信息
  770. *
  771. */
  772. U.MD.O.W.T.N.cleanInnerHTML = function (data) { //清除内容
  773. var _span = $('#U_MD_O_W_T_N_span' + data.pageId)[0];
  774. _span.innerHTML = data.name; //重新显示名字
  775. }
  776. /**
  777. * 删除页面点击事件
  778. * ele {element} 修改的元素
  779. * data [array] 数据数组
  780. */
  781. U.MD.O.W.T.N.deleteOnClick = function (ele, data, parent) {
  782. var _delele = ele;
  783. var _parent = parent;
  784. for (var i = 0; i < data.length; i++) { //循环找到你删除的子目录的信息
  785. if (data[i].pageId == _delele.pageId) {
  786. if (data[i].child && data[i].child.length > 0) {
  787. var _deleteId = _delele.pageId;
  788. for (var l = 0; l < data[i].child.length; l++) {
  789. _deleteId += "," + data[i].child[l].pageId;
  790. }
  791. U.UF.UI.confirm($$('div', { style: { padding: "25px 0 " }, innerHTML: "删除这些页面将会删除他们的子页面,是否删除?" }), U.UF.C.closure(function (i) {
  792. data.splice(i, 1); //从数据中删除信息
  793. //执行保存导航函数
  794. U.MD.O.W.T.N.saveNav(function () {
  795. U.A.Request(US.CD, [US.DB, "UseStudio_Office", "DeletePage", _deleteId], function (r) {
  796. _parent.removeChild(_delele); //页面上删除子目录
  797. if ($('#U_MD_O_W_T_N_' + _parent.id + ' .U_MD_O_W_T_N_treeNav').length == 0) {
  798. if (_parent != $('.U_MD_O_W_N_NavBox')[0]) {
  799. $('#U_MD_O_W_T_N_treenav' + _parent.pageId)[0].removeChild($('#U_MD_O_W_T_N_checkDiv' + _parent.pageId)[0]);
  800. $('#U_MD_O_W_T_N_span' + _parent.pageId)[0].style.cssText += "margin-left:20px";
  801. }
  802. }
  803. $("#U_MD_O_H_wordEditor")[0].innerHTML = "";
  804. });
  805. });
  806. }, [i]));
  807. } else {
  808. data.splice(i, 1);
  809. //执行保存导航函数
  810. U.MD.O.W.T.N.saveNav(function () {
  811. U.A.Request(US.CD, [US.DB, "UseStudio_Office", "DeletePage", _delele.pageId], function (r) {
  812. console.log(1);
  813. _parent.removeChild(_delele); //页面上删除子目录
  814. if ($('#U_MD_O_W_T_N_' + _parent.id + ' .U_MD_O_W_T_N_treeNav').length == 0) {
  815. if (_parent != $('.U_MD_O_W_N_NavBox')[0]) {
  816. $('#U_MD_O_W_T_N_treenav' + _parent.pageId)[0].removeChild($('#U_MD_O_W_T_N_checkDiv' + _parent.pageId)[0]);
  817. $('#U_MD_O_W_T_N_span' + _parent.pageId)[0].style.cssText += "margin-left:20px";
  818. }
  819. }
  820. $("#U_MD_O_H_wordEditor")[0].innerHTML = "";
  821. });
  822. });
  823. }
  824. }
  825. }
  826. }
  827. /**
  828. * 修改页面点击事件
  829. * ele {element} 修改的元素
  830. * data [array] 数据数组
  831. */
  832. U.MD.O.W.T.N.updateOnClick = function (ele, data) {
  833. var _upele = ele;
  834. if ($('.U_MD_O_W_T_N_updateInput')[0]) {//如果修改输入框已经存在,则移除输入框
  835. var _inputParent = $('.U_MD_O_W_T_N_updateInput')[0].parentNode;
  836. _inputParent.removeChild($('.U_MD_O_W_T_N_updateInput')[0]);
  837. }
  838. $$("input", { //创建输入框
  839. 'className': 'U_MD_O_W_T_N_updateInput',
  840. 'type': 'text',
  841. 'style': {
  842. 'left': 7 + 20 * _upele.deep + 'px'
  843. },
  844. 'value': $('#U_MD_O_W_T_N_span' + _upele.pageId)[0].innerHTML
  845. },
  846. _upele);
  847. //输入框阻止冒泡
  848. $('.U_MD_O_W_T_N_updateInput')[0].onclick = function (e) {
  849. e.stopPropagation();
  850. }
  851. document.onclick = function () { //点击空白处关闭输入框
  852. if ($('.U_MD_O_W_T_N_updateInput')[0]) {
  853. var _upvalue = $('.U_MD_O_W_T_N_updateInput')[0].value;
  854. //判断输入的内容是否为空
  855. if (_upvalue == "" || _upvalue == null) {
  856. return false;
  857. }
  858. _upele.removeChild($('.U_MD_O_W_T_N_updateInput')[0]);
  859. for (var i = 0; i < data.length; i++) {
  860. if (data[i].pageId == _upele.pageId) {
  861. data[i].name = _upvalue;
  862. U.MD.O.W.T.N.saveNav(function () {
  863. U.MD.O.W.T.N.cleanInnerHTML(data[i]);
  864. console.log(data);
  865. });
  866. return false;
  867. }
  868. }
  869. if ($('.U_MD_O_W_T_N_updateInput')[0]) {
  870. _upele.removeChild($('.U_MD_O_W_T_N_updateInput')[0]);
  871. }
  872. }
  873. }
  874. document.onkeydown = function () { //网页内按下回车触发
  875. if (event.keyCode == 13) { //点击回车修改目录信息
  876. var _upvalue = $('.U_MD_O_W_T_N_updateInput')[0].value;
  877. if (_upvalue == "" || _upvalue == null) {
  878. return false;
  879. }
  880. _upele.removeChild($('.U_MD_O_W_T_N_updateInput')[0]);
  881. for (var i = 0; i < data.length; i++) {
  882. if (data[i].pageId == _upele.pageId) {
  883. data[i].name = _upvalue;
  884. U.MD.O.W.T.N.saveNav(function () {
  885. U.MD.O.W.T.N.cleanInnerHTML(data[i]);
  886. console.log(data);
  887. });
  888. return false;
  889. }
  890. }
  891. }
  892. }
  893. }
  894. /**
  895. * 查看页面点击事件
  896. * @param data {object} 目录信息
  897. *
  898. */
  899. U.MD.O.W.T.N.checkNav = function (ele, data) {
  900. var _data = data; //获取返回的数据
  901. var _ele = ele;
  902. //清空其他选中样式,增删改按钮
  903. for (var i = 0; i < $('.U_MD_O_W_N_NavBox .U_MD_O_W_T_N_treeNav').length; i++) {
  904. $('.U_MD_O_W_T_N_treeNav')[i].style.background = '#fff';
  905. var _treeNavParent = $('.U_MD_O_W_T_N_treeNav')[i].parentNode;
  906. $('#U_MD_O_W_T_N_update' + _treeNavParent.pageId)[0].style.display = "none";
  907. $('#U_MD_O_W_T_N_add' + _treeNavParent.pageId)[0].style.display = "none";
  908. $('#U_MD_O_W_T_N_delete' + _treeNavParent.pageId)[0].style.display = "none";
  909. }
  910. var _treeNav = $('#U_MD_O_W_T_N_treenav' + _data[_ele.i].pageId)[0];
  911. _treeNav.style.background = "#ccebf8";
  912. //显示增删改按钮
  913. $('#U_MD_O_W_T_N_update' + _data[_ele.i].pageId)[0].style.display = "block";
  914. $('#U_MD_O_W_T_N_add' + _data[_ele.i].pageId)[0].style.display = "block";
  915. $('#U_MD_O_W_T_N_delete' + _data[_ele.i].pageId)[0].style.display = "block";
  916. U.MD.O.W.T.N.switching = false; //设置记录切换中属性
  917. U.MD.O.W.T.N.switchPage(_data[_ele.i].pageId);
  918. if (_data[_ele.i].child && _data[_ele.i].child.length > 0) { //如果目录有子目录则执行
  919. if (_ele.flag) { //根据flag判定子目录是否已经存在
  920. $('#U_MD_O_W_T_N_checkDiv' + _data[_ele.i].pageId)[0].style.cssText += 'background: url(../../../img/U_MD_O_W_T_N_check.png) center no-repeat;background-size:100%;';
  921. U.MD.O.W.T.N.createFirstTree(data[_ele.i].child, _ele); //显示子目录
  922. _ele.flag = false;
  923. } else {
  924. for (var i = 0; i < $('.U_MD_O_W_N_NavBox .U_MD_O_W_T_N_treeNav').length; i++) {
  925. $('.U_MD_O_W_T_N_treeNav')[i].style.background = '#fff';
  926. var _treeNavParent = $('.U_MD_O_W_T_N_treeNav')[i].parentNode;
  927. }
  928. var _treeNav = $('#U_MD_O_W_T_N_treenav' + _data[_ele.i].pageId)[0];
  929. $('#U_MD_O_W_T_N_checkDiv' + _data[_ele.i].pageId)[0].style.cssText += 'background: url(../../../img/U_MD_O_W_T_N_check2.png) center no-repeat;background-size:100%;';
  930. _treeNav.style.background = "#ccebf8";
  931. if ($('.U_MD_O_W_T_N_addCBox')[0]) {
  932. var _cBoxParent = $('.U_MD_O_W_T_N_addCBox')[0].parentNode;
  933. _cBoxParent.removeChild($('.U_MD_O_W_T_N_addCBox')[0]);
  934. }
  935. for (var l = 0; l < _data[_ele.i].child.length; l++) {//子目录已经存在,删除子目录
  936. _ele.removeChild($('#U_MD_O_W_T_N_' + _data[_ele.i].child[l].pageId)[0]);
  937. }
  938. // U.MD.O.W.T.N.cleanInnerHTML(this, _data[this.i]);
  939. _ele.flag = true;
  940. }
  941. }
  942. }
  943. /**
  944. * 新建页面点击事件
  945. * @param data {object} 目录信息
  946. *
  947. */
  948. U.MD.O.W.T.N.addNewNav = function (data) { //添加新页面的点击事件
  949. var _data = data; //获取返回的数据
  950. U.MD.O.W.T.N.saveNav(function () {
  951. U.MD.O.W.T.N.savePage(function () {
  952. //创建新的导航
  953. var _nav = U.MD.O.W.T.N.navData('新页面');
  954. //添加到导航信息数组里
  955. U.MD.O.W.T.N.navInfo.nav.push(_nav);
  956. //清空目录
  957. $('.U_MD_O_W_N_NavBox')[0].innerHTML = "";
  958. //重新从数据里获取最新的信息
  959. U.MD.O.W.T.N.createFirstTree(data, $('.U_MD_O_W_N_NavBox')[0]);
  960. //移除目录选中样式
  961. for (var i = 0; i < $('.U_MD_O_W_N_NavBox .U_MD_O_W_T_N_treeNav').length; i++) {
  962. $('.U_MD_O_W_T_N_treeNav')[i].style.background = '#fff';
  963. }
  964. var _treeNav = $('#U_MD_O_W_T_N_treenav' + _nav.pageId)[0];
  965. $('#U_MD_O_W_T_N_update' + _nav.pageId)[0].style.display = "block";
  966. $('#U_MD_O_W_T_N_add' + _nav.pageId)[0].style.display = "block";
  967. $('#U_MD_O_W_T_N_delete' + _nav.pageId)[0].style.display = "block";
  968. //选中新添加的目录
  969. _treeNav.style.background = "#ccebf8";
  970. $('#U_MD_O_W_T_N_update' + _nav.pageId)[0].onclick();
  971. //打印导航
  972. var _navel = U.MD.O.W.T.N.Easy.Print(_nav, U.MD.O.W.T.N.navInfo.nav);
  973. //默认执行导航双击事件 触发修改
  974. _navel.ondblclick();
  975. //切换记录当前操作的页面ID
  976. U.MD.O.W.T.N.nowNavId = _nav.pageId;
  977. //情况页面内容
  978. $("#U_MD_O_H_wordEditor")[0].innerHTML = "";
  979. //设置选中样式
  980. U.MD.O.W.T.N.setHoverClass();
  981. }, true);
  982. });
  983. if ($('.U_MD_O_W_T_N_addCBox')[0]) {
  984. var _cBoxParent = $('.U_MD_O_W_T_N_addCBox')[0].parentNode;
  985. _cBoxParent.removeChild($('.U_MD_O_W_T_N_addCBox')[0]);
  986. }
  987. }
  988. /**
  989. * 添加子页面点击事件
  990. * ele {element} 获取你点击的元素
  991. * data {array} 数据信息
  992. *parent {element} 获取你点击的父级
  993. */
  994. U.MD.O.W.T.N.addChildOnClick = function (ele, data, parent) {
  995. var _addele = ele;
  996. var _treenav = parent;
  997. if (_addele.flag == false) {
  998. if ($('#U_MD_O_W_T_N_checkDiv' + _addele.pageId)[0]) {
  999. _treenav.removeChild($('#U_MD_O_W_T_N_checkDiv' + _addele.pageId)[0]);
  1000. }
  1001. for (var l = 0; l < data[_addele.i].child.length; l++) {//子目录已经存在,删除子目录
  1002. _addele.removeChild($('#U_MD_O_W_T_N_' + data[_addele.i].child[l].pageId)[0]);
  1003. }
  1004. }
  1005. U.MD.O.W.T.N.saveNav(function () {
  1006. U.MD.O.W.T.N.savePage(function () {
  1007. //创建新的导航
  1008. var _nav = U.MD.O.W.T.N.navData('新页面');
  1009. for (var i = 0; i < data.length; i++) { //循环找到你要添加子目录的目录
  1010. if (data[i].pageId == _addele.pageId) {
  1011. if ($('#U_MD_O_W_T_N_checkDiv' + _addele.pageId)[0]) {//如果查看标签已经存在,则删除标签
  1012. var _checkParent = $('#U_MD_O_W_T_N_checkDiv' + _addele.pageId)[0].parentNode;
  1013. _checkParent.removeChild($('#U_MD_O_W_T_N_checkDiv' + _addele.pageId)[0]);
  1014. }
  1015. $$('div', {//创建查看标签
  1016. 'className': 'U_MD_O_W_T_N_checkDiv',
  1017. 'style': {
  1018. 'background': 'url(../../../img/U_MD_O_W_T_N_check.png) center no-repeat;',
  1019. 'background-size': '100%;'
  1020. },
  1021. 'id': 'U_MD_O_W_T_N_checkDiv' + _addele.pageId
  1022. },
  1023. _treenav);
  1024. _addele.flag = false;
  1025. if (data[i].child) { //判断是否已经有child,有则直接插入,没有则创建数组再插入
  1026. //添加到导航信息数组里
  1027. data[i].child.push(_nav);
  1028. U.MD.O.W.T.N.createFirstTree(data[i].child, _addele); //重新从数据里获取最新的信息
  1029. } else {
  1030. data[i].child = new Array();
  1031. //添加到导航信息数组里
  1032. data[i].child.push(_nav);
  1033. U.MD.O.W.T.N.createFirstTree(data[i].child, _addele); //重新从数据里获取最新的信息
  1034. }
  1035. }
  1036. }
  1037. for (var i = 0; i < $('.U_MD_O_W_N_NavBox .U_MD_O_W_T_N_treeNav').length; i++) {
  1038. $('.U_MD_O_W_T_N_treeNav')[i].style.background = '#fff';
  1039. var _treeNavParent = $('.U_MD_O_W_T_N_treeNav')[i].parentNode;
  1040. // 隐藏增删改按钮
  1041. $('#U_MD_O_W_T_N_update' + _treeNavParent.pageId)[0].style.display = "none";
  1042. $('#U_MD_O_W_T_N_add' + _treeNavParent.pageId)[0].style.display = "none";
  1043. $('#U_MD_O_W_T_N_delete' + _treeNavParent.pageId)[0].style.display = "none";
  1044. }
  1045. $('#U_MD_O_W_T_N_span' + _addele.pageId)[0].style.cssText += "margin-left:5px";
  1046. var _treeNav = $('#U_MD_O_W_T_N_treenav' + _nav.pageId)[0];
  1047. _treeNav.style.background = "#ccebf8";
  1048. //执行修改按钮点击事件
  1049. $('#U_MD_O_W_T_N_update' + _nav.pageId)[0].onclick();
  1050. $('#U_MD_O_W_T_N_update' + _nav.pageId)[0].style.display = "block";
  1051. $('#U_MD_O_W_T_N_add' + _nav.pageId)[0].style.display = "block";
  1052. $('#U_MD_O_W_T_N_delete' + _nav.pageId)[0].style.display = "block";
  1053. //打印导航
  1054. var _navel = U.MD.O.W.T.N.Easy.Print(_nav, U.MD.O.W.T.N.navInfo.nav);
  1055. //默认执行导航双击事件 触发修改
  1056. _navel.ondblclick();
  1057. //切换记录当前操作的页面ID
  1058. U.MD.O.W.T.N.nowNavId = _nav.pageId;
  1059. //情况页面内容
  1060. $("#U_MD_O_H_wordEditor")[0].innerHTML = "";
  1061. //设置选中样式
  1062. U.MD.O.W.T.N.setHoverClass();
  1063. }, true);
  1064. });
  1065. //如果添加选项窗口还存在就移除窗口
  1066. if ($('.U_MD_O_W_T_N_addCBox')[0]) {
  1067. var _cBoxParent = $('.U_MD_O_W_T_N_addCBox')[0].parentNode;
  1068. _cBoxParent.removeChild($('.U_MD_O_W_T_N_addCBox')[0]);
  1069. }
  1070. }
  1071. /**
  1072. * 在下方添加页面点击事件
  1073. * ele {element} 获取你点击的元素
  1074. * data {array} 数据信息
  1075. *parent {element} 获取你点击的父级
  1076. */
  1077. U.MD.O.W.T.N.addPBelowOnClick = function (ele, data, parent) {
  1078. var _addele = ele;
  1079. var _treenav = parent;
  1080. U.MD.O.W.T.N.saveNav(function () {
  1081. U.MD.O.W.T.N.savePage(function () {
  1082. //创建新的导航
  1083. var _nav = U.MD.O.W.T.N.navData("新页面");
  1084. var _parentNode = _addele.parentNode;
  1085. if (_parentNode.pageId == null) { //判断是否是一级目录
  1086. data.splice(_addele.i + 1, 0, _nav);
  1087. _parentNode.innerHTML = ""; //清空目录
  1088. U.MD.O.W.T.N.createFirstTree(data, _parentNode);
  1089. } else {
  1090. for (var i = 0; i < data.length; i++) { //在数据里查询你要插入的目录
  1091. if (data[i].pageId == _addele.pageId) {
  1092. for (var l = 0; l < data.length; l++) { //如果找到该目录则删除父亲目录下所有子目录
  1093. _parentNode.removeChild($('#U_MD_O_W_T_N_' + data[l].pageId)[0]);
  1094. }
  1095. _parentNode.flag = false;
  1096. data.splice(i + 1, 0, _nav); //在数据里你添加页面的目录上方插入数据
  1097. U.MD.O.W.T.N.createFirstTree(data, _parentNode);
  1098. break;
  1099. }
  1100. }
  1101. }
  1102. //移除目录选中样式
  1103. for (var i = 0; i < $('.U_MD_O_W_N_NavBox .U_MD_O_W_T_N_treeNav').length; i++) {
  1104. $('.U_MD_O_W_T_N_treeNav')[i].style.background = '#fff';
  1105. }
  1106. var _treeNav = $('#U_MD_O_W_T_N_treenav' + _nav.pageId)[0];
  1107. //选中新添加的目录
  1108. _treeNav.style.background = "#ccebf8";
  1109. $('#U_MD_O_W_T_N_update' + _nav.pageId)[0].onclick();
  1110. $('#U_MD_O_W_T_N_update' + _nav.pageId)[0].style.display = "block";
  1111. $('#U_MD_O_W_T_N_add' + _nav.pageId)[0].style.display = "block";
  1112. $('#U_MD_O_W_T_N_delete' + _nav.pageId)[0].style.display = "block";
  1113. //打印导航
  1114. var _navel = U.MD.O.W.T.N.Easy.Print(_nav, U.MD.O.W.T.N.navInfo.nav);
  1115. //默认执行导航双击事件 触发修改
  1116. _navel.ondblclick();
  1117. //切换记录当前操作的页面ID
  1118. U.MD.O.W.T.N.nowNavId = _nav.pageId;
  1119. //情况页面内容
  1120. $("#U_MD_O_H_wordEditor")[0].innerHTML = "";
  1121. //设置选中样式
  1122. U.MD.O.W.T.N.setHoverClass();
  1123. }, true);
  1124. });
  1125. if ($('.U_MD_O_W_T_N_addCBox')[0]) {
  1126. var _cBoxParent = $('.U_MD_O_W_T_N_addCBox')[0].parentNode;
  1127. _cBoxParent.removeChild($('.U_MD_O_W_T_N_addCBox')[0]);
  1128. }
  1129. }
  1130. /**
  1131. * 在上方添加页面点击事件
  1132. * ele {element} 获取你点击的元素
  1133. * data {array} 数据信息
  1134. *parent {element} 获取你点击的父级
  1135. */
  1136. U.MD.O.W.T.N.addPAboveOnClick = function (ele, data, parent) {
  1137. var _addele = ele;
  1138. var _treenav = parent;
  1139. U.MD.O.W.T.N.saveNav(function () {
  1140. U.MD.O.W.T.N.savePage(function () {
  1141. //创建新的导航
  1142. var _nav = U.MD.O.W.T.N.navData('新页面');
  1143. var _parentNode = _addele.parentNode;
  1144. if (_parentNode.pageId == null) { //判断是否是一级目录
  1145. data.splice(_addele.i, 0, _nav);
  1146. _parentNode.innerHTML = ""; //清空目录
  1147. U.MD.O.W.T.N.createFirstTree(data, _parentNode);
  1148. } else {
  1149. for (var i = 0; i < data.length; i++) { //在数据里查询你要插入的目录
  1150. if (data[i].pageId == _addele.pageId) {
  1151. for (var l = 0; l < data.length; l++) { //如果找到该目录则删除父亲目录下所有子目录
  1152. _parentNode.removeChild($('#U_MD_O_W_T_N_' + data[l].pageId)[0]);
  1153. }
  1154. _parentNode.flag = false;
  1155. data.splice(i, 0, _nav); //在数据里你添加页面的目录上方插入数据
  1156. U.MD.O.W.T.N.createFirstTree(data, _parentNode);
  1157. break;
  1158. }
  1159. }
  1160. }
  1161. //清空选中样式
  1162. for (var i = 0; i < $('.U_MD_O_W_N_NavBox .U_MD_O_W_T_N_treeNav').length; i++) {
  1163. $('.U_MD_O_W_T_N_treeNav')[i].style.background = '#fff';
  1164. }
  1165. var _treeNav = $('#U_MD_O_W_T_N_treenav' + _nav.pageId)[0];
  1166. _treeNav.style.background = "#ccebf8";
  1167. $('#U_MD_O_W_T_N_update' + _nav.pageId)[0].onclick();
  1168. //显示三个按钮
  1169. $('#U_MD_O_W_T_N_update' + _nav.pageId)[0].style.display = "block";
  1170. $('#U_MD_O_W_T_N_add' + _nav.pageId)[0].style.display = "block";
  1171. $('#U_MD_O_W_T_N_delete' + _nav.pageId)[0].style.display = "block";
  1172. //打印导航
  1173. var _navel = U.MD.O.W.T.N.Easy.Print(_nav, U.MD.O.W.T.N.navInfo.nav);
  1174. //默认执行导航双击事件 触发修改
  1175. _navel.ondblclick();
  1176. //切换记录当前操作的页面ID
  1177. U.MD.O.W.T.N.nowNavId = _nav.pageId;
  1178. //情况页面内容
  1179. $("#U_MD_O_H_wordEditor")[0].innerHTML = "";
  1180. //设置选中样式
  1181. U.MD.O.W.T.N.setHoverClass();
  1182. }, true);
  1183. });
  1184. //如果添加选项窗口还存在就移除窗口
  1185. if ($('.U_MD_O_W_T_N_addCBox')[0]) {
  1186. var _cBoxParent = $('.U_MD_O_W_T_N_addCBox')[0].parentNode;
  1187. _cBoxParent.removeChild($('.U_MD_O_W_T_N_addCBox')[0]);
  1188. }
  1189. }
  1190. //#region 导航文档互联区域
  1191. /**
  1192. * 修改导航
  1193. * @param navid {guid} 操作导航ID
  1194. * @param name {string} 导航名称
  1195. * @param cb {string} 回调函数
  1196. * @param param {string} 回调函数参数
  1197. */
  1198. U.MD.O.W.T.N.updateNavMessage = function (navid, name, cb, param) {
  1199. var _message = U.MD.O.W.T.N.navMessage('updateNav', { navId: navid, name: name }); //生成修改导航信息
  1200. U.A.Request(US.SCOKET, ["send", JSON.stringify({ //发送send请求
  1201. "us.nav": [_message]
  1202. })], function (r) {
  1203. if (U.UF.C.isFunction(cb)) {
  1204. cb.apply(this, param);
  1205. } else {
  1206. console.log(r);
  1207. }
  1208. });
  1209. }
  1210. /**
  1211. * 添加导航
  1212. * @param parentid {guid} 父级导航ID
  1213. * @param index {string} 添加位置
  1214. * @param navinfo {object} 导航信息
  1215. */
  1216. U.MD.O.W.T.N.addNavMessage = function (parentid, index, navinfo, content, cb, param) {
  1217. var _message = U.MD.O.W.T.N.navMessage('addNav', { parentId: parentid, index: index, addNav: navinfo, content: content }); //生成添加导航信息
  1218. U.A.Request(US.SCOKET, ["send", JSON.stringify({ //发送send请求
  1219. "us.nav": [_message]
  1220. })], function (r) {
  1221. if (U.UF.C.isFunction(cb)) {
  1222. cb.apply(this, param);
  1223. } else {
  1224. console.log(r);
  1225. }
  1226. });
  1227. }
  1228. /**
  1229. * 修改导航
  1230. * navid {guid} 操作导航ID
  1231. * parentid {guid} 父级导航ID
  1232. */
  1233. U.MD.O.W.T.N.deleteNavMessage = function (navid, parentid, cb, param) {
  1234. var _message = U.MD.O.W.T.N.navMessage('deleteNav', { navId: navid, parentId: parentid, userId: US.userInfo.UserId }); //生成删除导航信息
  1235. U.A.Request(US.SCOKET, ["send", JSON.stringify({ //发送send请求
  1236. "us.nav": [_message]
  1237. })], function (r) {
  1238. if (U.UF.C.isFunction(cb)) {
  1239. cb.apply(this, param);
  1240. } else {
  1241. console.log(r);
  1242. }
  1243. });
  1244. }
  1245. /**
  1246. * 更新logo
  1247. * logo {url} logo路径
  1248. */
  1249. U.MD.O.W.T.N.updateLogoMessage = function (logo) {
  1250. var _message = U.MD.O.W.T.N.navMessage('updateLogo', { logo: logo }); //生成删除导航信息
  1251. U.A.Request(US.SCOKET, ["send", JSON.stringify({ //发送send请求
  1252. "us.nav": [_message]
  1253. })], function (r) { });
  1254. }
  1255. /**
  1256. * 导航文档 消息类
  1257. * type {string} 操作类型
  1258. * message {object} 自定义参数
  1259. */
  1260. U.MD.O.W.T.N.navMessage = function (type, message) {
  1261. var _data = {
  1262. sendId: U.MD.O.W.userinfo.UserId, //发送人id
  1263. receiveId: U.MD.O.W.fileinfo.UserDirectoryID, //文件id
  1264. // type: navid ? 'us.nav' : 'us.word', //消息类型 后台已判断 目前该参数无作用 因为前台传递时已往上扩展一级 其中已说明类型
  1265. messageInfo: {
  1266. type: type, //类型
  1267. docId: U.MD.O.W.fileinfo.UserDirectoryID, //文档id
  1268. pageId: US.pageId //当前页面id
  1269. }
  1270. };
  1271. //如果存在自定义参数
  1272. if (typeof message == 'object') {
  1273. var _key; //定义变量
  1274. for (_key in message) { //循环追加自定义参数
  1275. _data.messageInfo[_key] = message[_key];
  1276. }
  1277. }
  1278. //返回消息类
  1279. return _data;
  1280. };
  1281. //#endregion
  1282. //#region 轮训跟新
  1283. Namespace.register("U.MD.O.W.T.N.Poll");
  1284. /**
  1285. * 跟新导航
  1286. * ele {element} 获取你点击的元素
  1287. * data {array} 数据信息
  1288. * parent {element} 获取你点击的父级
  1289. */
  1290. U.MD.O.W.T.N.Poll.updateNav = function (message) {
  1291. var _navinfo = U.MD.O.W.T.N.navInfo.nav;
  1292. var _nav = U.MD.O.W.T.N.selectByNavId(_navinfo, message.navId);
  1293. if (_nav) { //判断是否存在
  1294. _nav.name = message.name; //替换名字
  1295. $('#U_MD_O_W_T_N_span' + message.navId)[0] && ($('#U_MD_O_W_T_N_span' + message.navId)[0].innerHTML = _nav.name); //修改名字
  1296. $('#Word_Nav_' + message.navId)[0].innerHTML = _nav.name; //修改名字
  1297. }
  1298. }
  1299. /**
  1300. * 添加导航
  1301. * ele {element} 获取你点击的元素
  1302. * data {array} 数据信息
  1303. * parent {element} 获取你点击的父级
  1304. */
  1305. U.MD.O.W.T.N.Poll.addNav = function (message) {
  1306. var _parent, _navinfo = U.MD.O.W.T.N.navInfo.nav;
  1307. if (message.parentId) {
  1308. _parent = U.MD.O.W.T.N.selectByNavId(_navinfo, message.parentId);
  1309. //如果已存在子级处理
  1310. if (_parent.child) {
  1311. //插入指定位置
  1312. _parent.child.splice(message.index, 0, message.addNav);
  1313. } else {
  1314. // 为存在子级则新建子级
  1315. _parent.child = [message.addNav];
  1316. }
  1317. } else {
  1318. _parent = _navinfo;
  1319. _parent.splice(message.index, 0, message.addNav);
  1320. U.MD.O.W.T.N.Easy.Print(message.addNav, _parent, message.index);
  1321. }
  1322. //执行打印 复杂版本
  1323. }
  1324. /**
  1325. * 删除导航
  1326. * ele {element} 获取你点击的元素
  1327. * data {array} 数据信息
  1328. * parent {element} 获取你点击的父级
  1329. */
  1330. U.MD.O.W.T.N.Poll.deleteNav = function (message) {
  1331. // 寻找父级
  1332. var _child;
  1333. if (message.parentId) {
  1334. var _navinfo = U.MD.O.W.T.N.navInfo.nav;
  1335. var _parent = U.MD.O.W.T.N.selectByNavId(_navinfo, message.parentId);
  1336. _child = _parent.child;
  1337. } else {
  1338. _child = U.MD.O.W.T.N.navInfo.nav;
  1339. }
  1340. if (_child) {
  1341. _child.every(function (object, index) {
  1342. if (object.pageId == message.navId) {
  1343. U.MD.O.W.T.N.deleteNav.asyn(object, index, message.userId, _child);
  1344. return false;
  1345. }
  1346. return true;
  1347. });
  1348. }
  1349. }
  1350. /**
  1351. * 更新logo信息
  1352. * ele {element} 获取你点击的元素
  1353. * data {array} 数据信息
  1354. * parent {element} 获取你点击的父级
  1355. */
  1356. U.MD.O.W.T.N.Poll.updateLogo = function (message) {
  1357. U.MD.O.W.T.N.navInfo.logo = message.logo;
  1358. //修改logo元素src
  1359. }
  1360. //#endregion