performance_stat.vue 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. <template>
  2. <view class="">
  3. <StatSingleData></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. }
  47. },
  48. methods: {
  49. setSendMd5() {
  50. let str = JSON.stringify(this.dateTypeObj)
  51. return md5(str)
  52. },
  53. initData() {
  54. if (this.dateTypeObj.censusUserType > 0) {
  55. let sendMd5 = this.setSendMd5()
  56. if (sendMd5 !== this.sendMd5) {
  57. this.sendMd5 = sendMd5
  58. this.getUserPerformance()
  59. }
  60. }
  61. },
  62. getUserPerformance() {
  63. getUserPerformance(this.dateTypeObj).then((res) => {
  64. if (res.code === 1) {
  65. this.$refs.workChartObj.setPeakChartData(res.data.items)
  66. this.$refs.workListObj.setDataList(res.data.items)
  67. }
  68. })
  69. },
  70. }
  71. }
  72. </script>
  73. <style>
  74. </style>