project_info.js 4.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. /**
  2. * Created by Mai on 2017/6/21.
  3. */
  4. var projectInfoObj = {
  5. getSubShareInfo: function (proj) {
  6. const { allowCopy, allowCooperate } = proj.shareState;
  7. let str = '(';
  8. if (allowCopy) {
  9. str += '可拷贝 ';
  10. }
  11. if (allowCooperate) {
  12. if (allowCopy) {
  13. str += ' ';
  14. }
  15. str += '可编辑';
  16. }
  17. str += ')';
  18. return str === '()' ? '' : str;
  19. },
  20. getFullPathHtml: function (proj) {
  21. let fullPath = [], i, pm = '<span class="text-truncate"><a href="/pm">项目管理</a></span>', angleRight = '<span class="text-truncate"><i class="fa fa-angle-right fa-fw"></i></span>';
  22. if (proj) {
  23. let pathArr = proj.fullPath;
  24. let engName = pathArr[pathArr.length - 2] || '',
  25. projectName = pathArr[pathArr.length - 3] || '',
  26. folderName = pathArr[pathArr.length - 4] || '';
  27. const subShareInfo = projectInfoObj.getSubShareInfo(proj);
  28. const receiveTip = `<span class="alert alert-success py-0 px-2 m-0" id="share-info"><i class="fa fa-share-alt"></i>来自 ${proj.owner && proj.owner.real_name || ''} 的分享${subShareInfo}</span>`;
  29. let newHtml = ` <span data-toggle="tooltip" data-placement="bottom" data-original-title="${folderName}"><i class="fa fa-folder-open-o"></i>...</span>
  30. <span class="text-muted px-1">\</span>
  31. <span data-toggle="tooltip" data-placement="bottom" data-original-title="${projectName}"><i class="fa fa-cubes"></i>...</span>
  32. <span class="text-muted px-1">\</span>
  33. <span data-toggle="tooltip" data-placement="bottom" data-original-title="${engName}"><i class="fa fa-cube"></i>...</span>
  34. <span class="text-muted px-1">\</span>
  35. <span><i class="fa fa-sticky-note-o"></i></span>
  36. <span class="text-truncate" data-toggle="tooltip" data-placement="bottom" data-original-title="${proj.name}">&nbsp;${proj.name}</span>
  37. ${projectReadOnly || projectCooperate ? receiveTip : `<span id="share-tip" class="ml-2" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="${proj.shareTip}"><a id="init-share" href="javascript:;" class="btn btn-xs btn-primary"><i class="fa fa-share-alt"></i> 分享</a></span>`}
  38. `;
  39. /* ${projectReadOnly ?
  40. '<span data-toggle="tooltip" data-placement="bottom" data-original-title="当前的工程状态为“只读”,如果要进行编辑,请在项目管理-分享界面,使用“拷贝工程”功能。">(只读)</span>'
  41. : ''}
  42. ${projectCooperate ?
  43. '<span data-toggle="tooltip" data-placement="bottom" data-original-title="当前的工程状态为“协作”,可直接编辑分享人的原始数据。">(协作)</span>'
  44. : ''}
  45. ${projectReadOnly || projectCooperate ? '' : `<span id="share-tip" class="ml-2" data-toggle="tooltip" data-placement="bottom" title="" data-original-title="${proj.shareTip}"><a id="init-share" href="javascript:;" class="btn btn-xs btn-primary"><i class="fa fa-share-alt"></i> 分享</a></span>`} */
  46. fullPath.push(newHtml);
  47. fullPath.push(`<input id="rootProjectName" value="${projectName}" type="hidden">`);
  48. }
  49. return fullPath.join('');
  50. },
  51. showProjectInfo: function (data) {
  52. if (data) {
  53. if (!data.engineeringInfo.billsGuidance_lib || data.engineeringInfo.billsGuidance_lib.length === 0) {
  54. $('#stdBillsGuidanceTab').addClass('disabled');
  55. } else {
  56. // 清单子界面的模块:清单指引、清单精灵
  57. for (let billsGuidanceLib of data.engineeringInfo.billsGuidance_lib) {
  58. BillsSub.switchModule(billsGuidanceLib.type);
  59. }
  60. }
  61. //init decimal
  62. setDecimal(decimalObj, data.property.decimal);
  63. billsQuanDecimal.datas = data.property.billsQuantityDecimal || [billsDecimalView.angleDecimal];
  64. basicInfoView.orgDatas = data.property.basicInformation ? basicInfoView.toViewDatas(data.property.basicInformation) : [];
  65. projFeatureView.orgDatas = data.property.projectFeature ? projFeatureView.toViewDatas(data.property.projectFeature) : [];
  66. console.log(`me.orgDatas`);
  67. console.log(projFeatureView.orgDatas);
  68. $('#fullpath').html(this.getFullPathHtml(data));
  69. // 分享给
  70. $('#init-share').click(() => SHARE_TO.initModal(projectObj.project.ID()));
  71. SHARE_TO.handleEventListener();
  72. $("[data-toggle='tooltip']").tooltip();
  73. }
  74. }
  75. };