project_info.js 3.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  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 projectName = pathArr[pathArr.length -2] || '',
  25. folderName = pathArr[pathArr.length -3] || '';
  26. const subShareInfo = projectInfoObj.getSubShareInfo(proj);
  27. 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>`;
  28. let newHtml = ` <span data-toggle="tooltip" data-placement="bottom" data-original-title="${folderName}"><i class="fa fa-folder-open-o"></i>...</span>
  29. <span class="text-muted px-1">\</span>
  30. <span data-toggle="tooltip" data-placement="bottom" data-original-title="${projectName}"><i class="fa fa-cubes"></i>...</span>
  31. <span class="text-muted px-1">\</span>
  32. <span><i class="fa fa-sticky-note-o"></i></span>
  33. <span class="text-truncate" data-toggle="tooltip" data-placement="bottom" data-original-title="${proj.name}">&nbsp;${proj.name}</span>
  34. ${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>`}`;
  35. fullPath.push(newHtml);
  36. }
  37. return fullPath.join('');
  38. },
  39. showProjectInfo: function (data) {
  40. if (data) {
  41. //如果是工程量清单项目,则显示导入功能
  42. if (data.property.valuationType === 'ration') {
  43. $('#importSpan').show();
  44. }
  45. if(!data.engineeringInfo.billsGuidance_lib || data.engineeringInfo.billsGuidance_lib.length === 0){
  46. $('#stdBillsGuidanceTab').addClass('disabled');
  47. } else {
  48. //打开预算项目时,右侧“清单规则”显示为“项目表”,打开工程量清单项目时,右侧“清单规则”显示为“清单范本”。
  49. $('#stdBillsGuidanceTab').text(data.property.valuationType === 'bill' ? '项目表' : '清单范本');
  50. }
  51. //init decimal
  52. setDecimal(decimalObj, data.property.decimal);
  53. billsQuanDecimal.datas = data.property.billsQuantityDecimal || [billsDecimalView.angleDecimal];
  54. basicInfoView.orgDatas = data.property.basicInformation ? basicInfoView.toViewDatas(data.property.basicInformation) : [];
  55. projFeatureView.orgDatas = data.property.projectFeature ? projFeatureView.toViewDatas(data.property.projectFeature) : [];
  56. $('#fullpath').html(this.getFullPathHtml(data));
  57. // 分享给
  58. $('#init-share').click(() => SHARE_TO.initModal(projectObj.project.ID()));
  59. SHARE_TO.handleEventListener();
  60. $("[data-toggle='tooltip']").tooltip();
  61. if (data.property.valuationType == 'bill'){
  62. $("#tab_tender_price").css('display', 'none');
  63. } else{
  64. $("#about-calc").css('display', 'none');
  65. };
  66. }
  67. }
  68. };