init.js 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. 'use strict';
  2. /**
  3. *
  4. *
  5. * @author CaiAoLin
  6. * @date 2019/9/24
  7. * @version
  8. */
  9. const initialization = (() => {
  10. const params = location.href.split('/');
  11. const curUserID = params[params.length - 1];
  12. // 头部按钮相关
  13. function initHeaderTools(receiveList, shareList) {
  14. // 设置下拉项
  15. const selectHtml = `
  16. <select class="form-control form-control-sm" id="ration-libs">
  17. </select>`;
  18. // 设置分享按钮
  19. const shareHtml = `
  20. <span id="share-tip" class="ml-2" data-toggle="tooltip" data-placement="bottom" data-original-title="">
  21. <a id="init-share" href="javascript:;" class="btn btn-xs btn-primary"><i class="fa fa-share-alt"></i> 分享</a>
  22. </span>`;
  23. const html = `
  24. <div style="display: flex; align-items: center">
  25. ${selectHtml}
  26. ${shareHtml}
  27. </div>
  28. `
  29. $('#fullpath').html(html);
  30. initShareTip(shareList);
  31. $('[data-toggle="tooltip"]').tooltip();
  32. initLibOptions(receiveList);
  33. // 分享给
  34. SHARE_TO.handleEventListener();
  35. $('#init-share').click(() => {
  36. SHARE_TO.initModal(SHARE_TO.Mode.RATION_LIB);
  37. $('#share-tip').tooltip('hide');
  38. });
  39. // 定额库下拉
  40. function initShareTip(shareList) {
  41. if (shareList.length) {
  42. const owners = shareList.map(owner => owner.real_name);
  43. const tips = `已分享给 ${owners.join(' ')}`;
  44. $('#share-tip').attr('data-original-title', tips);
  45. }
  46. }
  47. // 定额库下拉
  48. function initLibOptions(receiveList) {
  49. const libList = [
  50. `<option value="${userID}">我的补充定额库</option>`
  51. ];
  52. const options = receiveList.map(owner => `<option value=${owner._id} ${curUserID === owner._id ? 'selected' : ''}>${owner.real_name}的补充定额库</option>`);
  53. libList.push(...options);
  54. $('#ration-libs').html(libList.join(''))
  55. }
  56. $('#ration-libs').change(function () {
  57. const userID = $(this).val();
  58. window.location.href = `/complementaryRation/ration/${userID}`;
  59. });
  60. }
  61. $(document).ready(function () {
  62. $.bootstrapLoading.start();
  63. CommonAjax.get('/complementaryRation/api/initData', { userID: curUserID }, res => {
  64. if (res.error) {
  65. alert('数据初始化失败,请重试。');
  66. setTimeout(() => {
  67. window.location.href = '/'
  68. }, 1200);
  69. } else {
  70. const data = res.data;
  71. initHeaderTools(data.receiveLibs, data.shareLibs);
  72. pageOprObj.rationTreeData = data.rationTreeData;
  73. pageOprObj.mixedTreeData = data.mixedTreeData;
  74. pageOprObj.mixedGLJData = data.mixedGLJData;
  75. rationGLJOprObj.distTypeTree = data.gljDistTypeCache;
  76. rationOprObj.rationsCodes = data.rationsCodes;
  77. rationOprObj.buildSheet($("#rationItemsSheet")[0]);
  78. // tabPanel 下有多个Spread时,相互之间不能正确显示。改成一个Spread下多个Sheet。
  79. var rdSpread = sheetCommonObj.createSpread($("#rdSpread")[0], 4);
  80. rdSpread.options.allowUserDragFill = false;
  81. rdSpread.options.allowUserDragDrop = false;
  82. rdSpread.options.allowExtendPasteRange = true;
  83. sheetCommonObj.spreadDefaultStyle(rdSpread);
  84. rationGLJOprObj.buildSheet(rdSpread.getSheet(0));
  85. rationAssistOprObj.buildSheet(rdSpread.getSheet(1));
  86. rationCoeOprObj.buildSheet(rdSpread.getSheet(2));
  87. rationInstObj.buildSheet(rdSpread.getSheet(3));
  88. rationInstObj.getInstallation(data.installationData);
  89. let rdSpreadEscSheets = [];
  90. rdSpreadEscSheets.push({sheet: rdSpread.getSheet(0), editStarting: rationGLJOprObj.onEditStarting, editEnded: rationGLJOprObj.onCellEditEnd});
  91. rdSpreadEscSheets.push({sheet: rdSpread.getSheet(1), editStarting: rationAssistOprObj.onEditStarting, editEnded: rationAssistOprObj.onEditEnded});
  92. rdSpreadEscSheets.push({sheet: rdSpread.getSheet(2), editStarting: rationCoeOprObj.onEditStarting, editEnded: rationCoeOprObj.onEditEnded});
  93. rdSpreadEscSheets.push({sheet: rdSpread.getSheet(3), editStarting: rationInstObj.onEditStarting, editEnded: rationInstObj.onEditEnded});
  94. sheetCommonObj.bindEscKey(rdSpread, rdSpreadEscSheets);
  95. gljAdjOprObj.gljList = data.mixedGLJData.stdGljs.concat(data.mixedGLJData.complementaryGljs);
  96. pageOprObj.initPage();
  97. if (isReadOnly) {
  98. sheetCommonObj.disableSpread(sectionTreeObj.workBook);
  99. sheetCommonObj.disableSpread(rationOprObj.workBook);
  100. sheetCommonObj.disableSpread(rdSpread);
  101. $('#tree_Insert').addClass('disabled');
  102. $('#tree_remove').addClass('disabled');
  103. $('#tree_upLevel').addClass('disabled');
  104. $('#tree_downLevel').addClass('disabled');
  105. $('#tree_downMove').addClass('disabled');
  106. $('#tree_upMove').addClass('disabled');
  107. $('#init-share').addClass('disabled');
  108. }
  109. $("#linkGLJ").click(function(){
  110. rationGLJOprObj.bindRationGljDelOpr();
  111. rdSpread.setActiveSheetIndex(0);
  112. });
  113. $("#linkFZDE").click(function(){
  114. rationAssistOprObj.bindRationAssDel();
  115. rdSpread.setActiveSheetIndex(1);
  116. });
  117. $("#linkFZTJ").click(function(){
  118. rationCoeOprObj.bindRationCoeDel();
  119. rdSpread.setActiveSheetIndex(2);
  120. });
  121. $("#linkAZZJ").click(function(){
  122. rationInstObj.bindRationInstDel();
  123. rdSpread.setActiveSheetIndex(3);
  124. });
  125. }
  126. $.bootstrapLoading.end();
  127. });
  128. //解决spreadjs sheet初始化没高度宽度
  129. /* $('#modalCon').width($(window).width()*0.5);
  130. $('#gljSelTreeDiv').height($(window).height() - 300);
  131. $("#gljSelSheet").height($("#gljSelTreeDiv").height()-21.6);
  132. $("#gljSelSheet").width($('#modalCon').width() * 0.63);
  133. $(window).resize(function () {
  134. $('#modalCon').width($(window).width()*0.5);
  135. $('#gljSelTreeDiv').height($(window).height() - 300);
  136. $("#gljSelSheet").height($("#gljSelTreeDiv").height()-21.6);
  137. $("#gljSelSheet").width($('#modalCon').width()* 0.63);
  138. }); */
  139. });
  140. })();