performance_stat.vue 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <template>
  2. <view class="">
  3. <StatSingleData ref="workTotalObj" :total-num="totalNum" :total-money="totalMoney"></StatSingleData>
  4. <StatLoanChart ref="workChartObj" :leftText="'任务汇总占比'"></StatLoanChart>
  5. <StatRanking ref="workListObj" :is_type="3" :leftText="'放款汇总明细'"></StatRanking>
  6. </view>
  7. </template>
  8. <script>
  9. import StatLoanChart from "../module/stat_loan_chart.vue"
  10. import StatRanking from "../module/stat_ranking.vue"
  11. import StatSingleData from "../module/stat_single_data.vue"
  12. import md5 from "js-md5";
  13. import {
  14. getUserPerformance
  15. } from "@/api/statistics";
  16. export default {
  17. props: {
  18. 'dateTypeObj': {
  19. default: () => {
  20. return {
  21. dateType: 4,
  22. selectDate: '2023-02-25',
  23. money_type: 1,
  24. censusUserType: 0,
  25. product_id: 5,
  26. }
  27. }
  28. }
  29. },
  30. components: {
  31. StatLoanChart,
  32. StatRanking,
  33. StatSingleData
  34. },
  35. watch: {
  36. 'dateTypeObj': function() {
  37. this.initData()
  38. }
  39. },
  40. mounted() {
  41. this.initData()
  42. },
  43. data() {
  44. return {
  45. workList: [],
  46. totalNum:0,
  47. totalMoney:0,
  48. }
  49. },
  50. methods: {
  51. setSendMd5() {
  52. let str = JSON.stringify(this.dateTypeObj)
  53. return md5(str)
  54. },
  55. initData() {
  56. if (this.dateTypeObj.censusUserType > 0) {
  57. let sendMd5 = this.setSendMd5()
  58. if (sendMd5 !== this.sendMd5) {
  59. this.sendMd5 = sendMd5
  60. this.getUserPerformance()
  61. }
  62. }
  63. },
  64. getUserPerformance() {
  65. getUserPerformance(this.dateTypeObj).then((res) => {
  66. if (res.code === 1) {
  67. this.totalNum=res.data.totalNum
  68. this.totalMoney=res.data.totalMoney
  69. this.$refs.workChartObj.setPeakChartData(res.data.items)
  70. this.$refs.workListObj.setDataList(res.data.items)
  71. }
  72. })
  73. },
  74. }
  75. }
  76. </script>
  77. <style>
  78. </style>