panel.ejs 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. <% include ./sub_menu.ejs %>
  2. <div class="panel-content">
  3. <div class="panel-title">
  4. <div class="title-main d-flex">
  5. <% include ./sub_mini_menu.ejs %>
  6. <h2>合同概况</h2>
  7. <div class="ml-auto">
  8. <% if (ctx.session.sessionUser.is_admin) { %>
  9. <a class="btn btn-sm btn-primary pull-right" href="#bd-set-1" data-toggle="modal" data-target="#bd-set-1">合同设置</a>
  10. <% } %>
  11. </div>
  12. </div>
  13. </div>
  14. <div class="content-wrap">
  15. <div class="c-body">
  16. <div class="sjs-height-0">
  17. <div class="m-3">
  18. <!--概况-->
  19. <div class="row mx-0 mb-3">
  20. <div class="col-6 pl-0 pr-5">
  21. <div class="card text-center mb-3">
  22. <div class="card-body">
  23. <h5 class="card-title">支出合同结算进度</h5>
  24. <div class="mb-0">
  25. <div class="progress">
  26. <div class="progress-bar bg-danger" style="width: <%- ctx.helper.round(prices.expenses_rate, 0) %>%;" data-placement="bottom" data-toggle="tooltip" data-original-title="已支付:¥<%- ctx.helper.formatMoney(prices.expenses_yf_price) %>"><%- ctx.helper.round(prices.expenses_rate, 0) %>%</div>
  27. <div class="progress-bar bg-gray" style="width: <%- ctx.helper.sub(100, ctx.helper.round(prices.expenses_rate, 0)) %>%;" data-placement="bottom" data-toggle="tooltip" data-original-title="未支付:¥<%- ctx.helper.formatMoney(ctx.helper.sub(prices.expenses_total_price, prices.expenses_yf_price)) %>"><%- ctx.helper.sub(100, ctx.helper.round(prices.expenses_rate, 0)) %>%</div>
  28. </div>
  29. </div>
  30. </div>
  31. </div>
  32. <div class="row">
  33. <div class="col-6">
  34. <div class="card">
  35. <div class="mt-3" id="expensesPieChart" style="height: 300px; width: 100%;"></div>
  36. </div>
  37. </div>
  38. <div class="col-6">
  39. <div class="card text-center">
  40. <div class="card-body">
  41. <h5 class="card-title"><%- ctx.helper.formatMoney(prices.expenses_total_price) %></h5>
  42. <p class="card-text text-muted">支出合同总金额</p>
  43. </div>
  44. </div>
  45. <div class="card text-center my-3">
  46. <div class="card-body">
  47. <h5 class="card-title"><%- ctx.helper.formatMoney(ctx.helper.sub(prices.expenses_total_price, prices.expenses_yf_price)) %></h5>
  48. <p class="card-text text-muted">未支付</p>
  49. </div>
  50. </div>
  51. <div class="card text-center">
  52. <div class="card-body">
  53. <h5 class="card-title"><%- ctx.helper.formatMoney(prices.expenses_yf_price) %></h5>
  54. <p class="card-text text-muted">已支付</p>
  55. </div>
  56. </div>
  57. </div>
  58. </div>
  59. <div class="col-12 px-0 mt-3">
  60. <div class="card">
  61. <div class="mt-3" id="expensesBarChart" style="height: 400px; width: 100%;"></div>
  62. </div>
  63. </div>
  64. </div>
  65. <div class="col-6 pl-5 pr-0">
  66. <!--收入合同进度-->
  67. <div class="card text-center mb-3">
  68. <div class="card-body">
  69. <h5 class="card-title">收入合同结算进度</h5>
  70. <div class="mb-0">
  71. <div class="progress">
  72. <div class="progress-bar bg-danger" style="width: <%- ctx.helper.round(prices.income_rate, 0) %>%;" data-placement="bottom" data-toggle="tooltip" data-original-title="已回款:¥<%- ctx.helper.formatMoney(prices.income_yf_price) %>"><%- ctx.helper.round(prices.income_rate, 0) %>%</div>
  73. <div class="progress-bar bg-gray" style="width: <%- ctx.helper.sub(100, ctx.helper.round(prices.income_rate, 0)) %>%;" data-placement="bottom" data-toggle="tooltip" data-original-title="未回款:¥<%- ctx.helper.formatMoney(ctx.helper.sub(prices.income_total_price, prices.income_yf_price)) %>"><%- ctx.helper.sub(100, ctx.helper.round(prices.income_rate, 0)) %>%</div> </div>
  74. </div>
  75. </div>
  76. </div>
  77. <div class="row">
  78. <div class="col-6">
  79. <div class="card">
  80. <div class="mt-3" id="incomePieChart" style="height: 300px; width: 100%;"></div>
  81. </div>
  82. </div>
  83. <div class="col-6">
  84. <div class="card text-center">
  85. <div class="card-body">
  86. <h5 class="card-title"><%- ctx.helper.formatMoney(prices.income_total_price) %></h5>
  87. <p class="card-text text-muted">收入合同总金额</p>
  88. </div>
  89. </div>
  90. <div class="card text-center my-3">
  91. <div class="card-body">
  92. <h5 class="card-title"><%- ctx.helper.formatMoney(ctx.helper.sub(prices.income_total_price, prices.income_yf_price)) %></h5>
  93. <p class="card-text text-muted">未回款</p>
  94. </div>
  95. </div>
  96. <div class="card text-center">
  97. <div class="card-body">
  98. <h5 class="card-title"><%- ctx.helper.formatMoney(prices.income_yf_price) %></h5>
  99. <p class="card-text text-muted">已回款</p>
  100. </div>
  101. </div>
  102. </div>
  103. </div>
  104. <div class="col-12 px-0 mt-3">
  105. <div class="card">
  106. <div class="mt-3" id="incomeBarChart" style="height: 400px; width: 100%;"></div>
  107. </div>
  108. </div>
  109. </div>
  110. </div>
  111. </div>
  112. </div>
  113. </div>
  114. </div>
  115. </div>
  116. <script>
  117. const thisUrl = JSON.parse(unescape('<%- escape(JSON.stringify(thisUrl)) %>'));
  118. const prices = JSON.parse(unescape('<%- escape(JSON.stringify(prices)) %>'));
  119. const expensesList = JSON.parse(unescape('<%- escape(JSON.stringify(expensesList)) %>'));
  120. const incomeList = JSON.parse(unescape('<%- escape(JSON.stringify(incomeList)) %>'));
  121. const incomePayList = JSON.parse(unescape('<%- escape(JSON.stringify(incomePayList)) %>'));
  122. const expensesPayList = JSON.parse(unescape('<%- escape(JSON.stringify(expensesPayList)) %>'));
  123. let contractPays = [];
  124. </script>