tender_list.js 5.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. const tenderListSpec = (function(){
  2. function getTenderTreeHeaderHtml() {
  3. const html = [];
  4. const titleHeight = $('.panel-title').height();
  5. html.push(`<table class="table table-hover table-bordered">`);
  6. const left = $('#sub-menu').css('display') === 'none' ? 56 : 176;
  7. const theadTop = Math.round(titleHeight - 2, 2);
  8. const subMenuStyle = showListSubMenu ? `style="position: fixed;left:${left}px;top: ${theadTop}px;"` : `style="position: fixed; top: ${theadTop}px;"`;
  9. html.push(`<thead ${subMenuStyle}>`, '<tr>');
  10. html.push('<th class="text-center" style="width: 40%">', '标段名称', tenderListOrder.getOrderButton('name'), '</th>');
  11. html.push('<th class="text-center" style="width: 9%">', '计量模式', '</th>');
  12. html.push('<th class="text-center" style="width: 9%">', '创建人', '</th>');
  13. html.push('<th class="text-center" style="width: 9%">', '游客', '</th>');
  14. html.push('<th class="text-center" style="width: 9%">', '创建时间', tenderListOrder.getOrderButton('create_time'), '</th>');
  15. html.push('<th class="text-center" style="width: 9%">', '计量期数', '</th>');
  16. html.push('<th class="text-center" style="width: 15%">', '审批状态', '</th>');
  17. html.push('</tr>', '</thead>');
  18. return html.join('');
  19. }
  20. function getTenderNodeHtml(node, arr, pid) {
  21. const html = [];
  22. html.push('<tr pid="' + pid + '">');
  23. // 名称
  24. html.push('<td style="width: 40%" class="in-' + node.level + '">');
  25. if (node.cid) {
  26. html.push('<span onselectstart="return false" style="{-moz-user-select:none}" class="fold-switch mr-1" title="收起" cid="'+ node.sort_id +'"><i class="fa fa-minus-square-o"></i></span> <i class="fa fa-folder-o"></i> ');
  27. html.push((node.level === 1 ? '<b>' : ''), node.name, (node.level === 1 ? '</b>' : ''));
  28. } else {
  29. html.push('<span class="text-muted mr-2">');
  30. html.push(arr.indexOf(node) === arr.length - 1 ? '└' : '├');
  31. html.push('</span>');
  32. //html.push('<a href="/tender/' + node.id + '">', node[c.field], '</a>');
  33. html.push('<a href="javascript: void(0)" id="' + node.id + '" name="name">', node.name, '</a>');
  34. }
  35. html.push('</td>');
  36. // 计量模式
  37. html.push('<td style="width: 9%" class="text-center">');
  38. if (node.measure_type) {
  39. html.push(node.measure_type === measureType.tz.value ? '0号台账' : '工程量清单');
  40. }
  41. html.push('</td>');
  42. // 创建人
  43. html.push('<td style="width: 9%" class="text-center">', node.user_name ? node.user_name : '', '</td>');
  44. // 游客
  45. const visitor = node.visitor && node.visitor.length > 0
  46. ? `<a href="javascirpt: void(0)" data-toggle="tooltip" data-placement="top" data-original-title="${node.visitor.join(',')}">${node.visitor.length}</a>`
  47. : '';
  48. html.push('<td style="width: 9%" class="text-center">', visitor, '</td>');
  49. // 创建时间
  50. html.push('<td style="width: 9%">', node.create_time ? moment(node.create_time).format('YYYY-MM-DD HH:mm:ss') : '', '</td>');
  51. // 计量模式
  52. // html.push('<td>');
  53. // if (node.measure_type) {
  54. // html.push(node.measure_type === measureType.tz.value ? '0号台账' : '工程量清单');
  55. // }
  56. // html.push('</td>');
  57. // 计量期数
  58. html.push('<td style="width: 9%" class="text-center">');
  59. if (!node.cid) {
  60. if (node.progress) {
  61. html.push(node.progress.title === '台账' ? '' : node.progress.title);
  62. } else {
  63. html.push(node.lastStage ? '第' + node.lastStage.order + '期' : '台账');
  64. }
  65. }
  66. html.push('</td>');
  67. // 审批状态
  68. html.push('<td style="width: 15%">');
  69. if (!node.cid && node.cur_flow) {
  70. if (node.stage_status !== undefined) {
  71. if (node.cur_flow instanceof Array && node.cur_flow[0].audit_type && node.cur_flow[0].audit_type !== auditType.key.common) {
  72. html.push(`<span class="${node.progress.status_class}">${node.progress.status}</span>(${transFormToChinese(node.cur_flow[0].audit_order)}审)`);
  73. } else {
  74. html.push(`<span class="${node.progress.status_class}">${node.progress.status}</span>(${node.cur_flow instanceof Array ? node.cur_flow[0].name : node.cur_flow.name })`);
  75. }
  76. } else {
  77. html.push(`<span class="${node.lastStage ? auditConst.stage.tiStatusStringClass[node.lastStage.status] : auditConst.ledger.tiStatusStringClass[node.ledger_status]}">`);
  78. html.push(node.lastStage ? auditConst.stage.statusString[node.lastStage.status] : auditConst.ledger.statusString[node.ledger_status]);
  79. html.push('</span>');
  80. html.push(node.status_users ? '(' + node.status_users + ')' : '');
  81. }
  82. }
  83. html.push('</td>');
  84. html.push('</tr>');
  85. return html.join('');
  86. }
  87. return { getTenderNodeHtml, getTenderTreeHeaderHtml }
  88. })();