init.js 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  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="sddsd">
  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. const owners = shareList.map(owner => owner.real_name);
  42. const tips = `已分享给 ${owners.join(' ')}`;
  43. $('#share-tip').attr('data-original-title', tips);
  44. }
  45. // 定额库下拉
  46. function initLibOptions(receiveList) {
  47. const libList = [
  48. `<option value="${userID}">我的补充定额库</option>`
  49. ];
  50. const options = receiveList.map(owner => `<option value=${owner._id} ${curUserID === owner._id ? 'selected' : ''}>${owner.real_name}的补充定额库</option>`);
  51. libList.push(...options);
  52. $('#ration-libs').html(libList.join(''))
  53. }
  54. $('#ration-libs').change(function () {
  55. const userID = $(this).val();
  56. window.location.href = `/complementaryRation/ration/${userID}`;
  57. });
  58. }
  59. $(document).ready(function () {
  60. $.bootstrapLoading.start();
  61. CommonAjax.get('/complementaryRation/api/initData', { userID: curUserID }, res => {
  62. if (res.error) {
  63. alert('数据初始化失败,请重试。');
  64. setTimeout(() => {
  65. window.location.href = '/'
  66. }, 1200);
  67. } else {
  68. const data = res.data;
  69. initHeaderTools(data.receiveLibs, data.shareLibs);
  70. pageOprObj.rationTreeData = data.rationTreeData;
  71. pageOprObj.mixedTreeData = data.mixedTreeData;
  72. pageOprObj.mixedGLJData = data.mixedGLJData;
  73. rationGLJOprObj.distTypeTree = data.gljDistTypeCache;
  74. rationOprObj.rationsCodes = data.rationsCodes;
  75. rationOprObj.buildSheet($("#rationItemsSheet")[0]);
  76. // tabPanel 下有多个Spread时,相互之间不能正确显示。改成一个Spread下多个Sheet。
  77. var rdSpread = sheetCommonObj.createSpread($("#rdSpread")[0], 4);
  78. rdSpread.options.allowUserDragFill = false;
  79. rdSpread.options.allowUserDragDrop = false;
  80. sheetCommonObj.spreadDefaultStyle(rdSpread);
  81. rationGLJOprObj.buildSheet(rdSpread.getSheet(0));
  82. rationAssistOprObj.buildSheet(rdSpread.getSheet(1));
  83. rationCoeOprObj.buildSheet(rdSpread.getSheet(2));
  84. rationInstObj.buildSheet(rdSpread.getSheet(3));
  85. rationInstObj.getInstallation(data.installationData);
  86. let rdSpreadEscSheets = [];
  87. rdSpreadEscSheets.push({sheet: rdSpread.getSheet(0), editStarting: rationGLJOprObj.onEditStarting, editEnded: rationGLJOprObj.onCellEditEnd});
  88. rdSpreadEscSheets.push({sheet: rdSpread.getSheet(1), editStarting: rationAssistOprObj.onEditStarting, editEnded: rationAssistOprObj.onEditEnded});
  89. rdSpreadEscSheets.push({sheet: rdSpread.getSheet(2), editStarting: rationCoeOprObj.onEditStarting, editEnded: rationCoeOprObj.onEditEnded});
  90. rdSpreadEscSheets.push({sheet: rdSpread.getSheet(3), editStarting: rationInstObj.onEditStarting, editEnded: rationInstObj.onEditEnded});
  91. sheetCommonObj.bindEscKey(rdSpread, rdSpreadEscSheets);
  92. gljAdjOprObj.gljList = data.mixedGLJData.stdGljs.concat(data.mixedGLJData.complementaryGljs);
  93. pageOprObj.initPage();
  94. if (isReadOnly) {
  95. sheetCommonObj.disableSpread(sectionTreeObj.workBook);
  96. sheetCommonObj.disableSpread(rationOprObj.workBook);
  97. sheetCommonObj.disableSpread(rdSpread);
  98. $('#tree_Insert').addClass('disabled');
  99. $('#tree_remove').addClass('disabled');
  100. $('#tree_upLevel').addClass('disabled');
  101. $('#tree_downLevel').addClass('disabled');
  102. $('#tree_downMove').addClass('disabled');
  103. $('#tree_upMove').addClass('disabled');
  104. $('#init-share').addClass('disabled');
  105. }
  106. $("#linkGLJ").click(function(){
  107. rationGLJOprObj.bindRationGljDelOpr();
  108. rdSpread.setActiveSheetIndex(0);
  109. });
  110. $("#linkFZDE").click(function(){
  111. rationAssistOprObj.bindRationAssDel();
  112. rdSpread.setActiveSheetIndex(1);
  113. });
  114. $("#linkFZTJ").click(function(){
  115. rationCoeOprObj.bindRationCoeDel();
  116. rdSpread.setActiveSheetIndex(2);
  117. });
  118. $("#linkAZZJ").click(function(){
  119. rationInstObj.bindRationInstDel();
  120. rdSpread.setActiveSheetIndex(3);
  121. });
  122. }
  123. $.bootstrapLoading.end();
  124. });
  125. //解决spreadjs sheet初始化没高度宽度
  126. /* $('#modalCon').width($(window).width()*0.5);
  127. $('#gljSelTreeDiv').height($(window).height() - 300);
  128. $("#gljSelSheet").height($("#gljSelTreeDiv").height()-21.6);
  129. $("#gljSelSheet").width($('#modalCon').width() * 0.63);
  130. $(window).resize(function () {
  131. $('#modalCon').width($(window).width()*0.5);
  132. $('#gljSelTreeDiv').height($(window).height() - 300);
  133. $("#gljSelSheet").height($("#gljSelTreeDiv").height()-21.6);
  134. $("#gljSelSheet").width($('#modalCon').width()* 0.63);
  135. }); */
  136. });
  137. })();