panel.ejs 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  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>
  8. </div>
  9. <div class="content-wrap">
  10. <div class="c-body">
  11. <div class="sjs-height-0">
  12. <div class="m-3">
  13. <!--概况-->
  14. <div class="row mx-0 mb-3">
  15. <div class="col-6 pl-0 pr-5">
  16. <div class="card text-center mb-3">
  17. <div class="card-body">
  18. <h5 class="card-title">支出合同结算进度</h5>
  19. <div class="mb-0">
  20. <div class="progress">
  21. <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>
  22. <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>
  23. </div>
  24. </div>
  25. </div>
  26. </div>
  27. <div class="row">
  28. <div class="col-6">
  29. <div class="card">
  30. <div class="mt-3" id="expensesPieChart" style="height: 300px; width: 100%;"></div>
  31. </div>
  32. </div>
  33. <div class="col-6">
  34. <div class="card text-center">
  35. <div class="card-body">
  36. <h5 class="card-title"><%- ctx.helper.formatMoney(prices.expenses_total_price) %></h5>
  37. <p class="card-text text-muted">支出合同总金额</p>
  38. </div>
  39. </div>
  40. <div class="card text-center my-3">
  41. <div class="card-body">
  42. <h5 class="card-title"><%- ctx.helper.formatMoney(ctx.helper.sub(prices.expenses_total_price, prices.expenses_yf_price)) %></h5>
  43. <p class="card-text text-muted">未支付</p>
  44. </div>
  45. </div>
  46. <div class="card text-center">
  47. <div class="card-body">
  48. <h5 class="card-title"><%- ctx.helper.formatMoney(prices.expenses_yf_price) %></h5>
  49. <p class="card-text text-muted">已支付</p>
  50. </div>
  51. </div>
  52. </div>
  53. </div>
  54. <div class="col-12 px-0 mt-3">
  55. <div class="card">
  56. <div class="mt-3" id="expensesBarChart" style="height: 400px; width: 100%;"></div>
  57. </div>
  58. </div>
  59. </div>
  60. <div class="col-6 pl-5 pr-0">
  61. <!--收入合同进度-->
  62. <div class="card text-center mb-3">
  63. <div class="card-body">
  64. <h5 class="card-title">收入合同结算进度</h5>
  65. <div class="mb-0">
  66. <div class="progress">
  67. <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>
  68. <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>
  69. </div>
  70. </div>
  71. </div>
  72. <div class="row">
  73. <div class="col-6">
  74. <div class="card">
  75. <div class="mt-3" id="incomePieChart" style="height: 300px; width: 100%;"></div>
  76. </div>
  77. </div>
  78. <div class="col-6">
  79. <div class="card text-center">
  80. <div class="card-body">
  81. <h5 class="card-title"><%- ctx.helper.formatMoney(prices.income_total_price) %></h5>
  82. <p class="card-text text-muted">收入合同总金额</p>
  83. </div>
  84. </div>
  85. <div class="card text-center my-3">
  86. <div class="card-body">
  87. <h5 class="card-title"><%- ctx.helper.formatMoney(ctx.helper.sub(prices.income_total_price, prices.income_yf_price)) %></h5>
  88. <p class="card-text text-muted">未回款</p>
  89. </div>
  90. </div>
  91. <div class="card text-center">
  92. <div class="card-body">
  93. <h5 class="card-title"><%- ctx.helper.formatMoney(prices.income_yf_price) %></h5>
  94. <p class="card-text text-muted">已回款</p>
  95. </div>
  96. </div>
  97. </div>
  98. </div>
  99. <div class="col-12 px-0 mt-3">
  100. <div class="card">
  101. <div class="mt-3" id="incomeBarChart" style="height: 400px; width: 100%;"></div>
  102. </div>
  103. </div>
  104. </div>
  105. </div>
  106. </div>
  107. </div>
  108. </div>
  109. </div>
  110. </div>
  111. <script>
  112. const thisUrl = JSON.parse(unescape('<%- escape(JSON.stringify(thisUrl)) %>'));
  113. const prices = JSON.parse(unescape('<%- escape(JSON.stringify(prices)) %>'));
  114. const expensesList = JSON.parse(unescape('<%- escape(JSON.stringify(expensesList)) %>'));
  115. const incomeList = JSON.parse(unescape('<%- escape(JSON.stringify(incomeList)) %>'));
  116. const incomePayList = JSON.parse(unescape('<%- escape(JSON.stringify(incomePayList)) %>'));
  117. const expensesPayList = JSON.parse(unescape('<%- escape(JSON.stringify(expensesPayList)) %>'));
  118. let contractPays = [];
  119. </script>