企微助手 ,仓库名 短剧

dataAnalyse.vue 2.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. <template>
  2. <div class="con" v-loading="loading">
  3. <div class="backBox" @click="$router.go(-1)">
  4. <div class="back">
  5. <i class="el-icon-back"></i>
  6. <span>返回</span>
  7. (数据分析)
  8. </div>
  9. </div>
  10. <div class="dataBox">
  11. <div v-for="(item,index) in dataPreview" :key="index" class="box_item">
  12. <div class="c-000 fWeight600">{{item.bigTitle?item.bigTitle:'-'}}</div>
  13. <div class="f28 pad120">{{item.bigNum||item.bigNum==0?item.bigNum:'-'}}</div>
  14. </div>
  15. </div>
  16. <div class="topTagBox">
  17. <publicTable
  18. :propsData="{
  19. desCol:desCol,
  20. source:'dataAnalyse'
  21. }"
  22. ></publicTable>
  23. </div>
  24. </div>
  25. </template>
  26. <script>
  27. import publicTable from './publicTable.vue'
  28. export default {
  29. name: "dataAnalyse",
  30. components:{
  31. publicTable
  32. },
  33. data(){
  34. return{
  35. loading:false,
  36. dataPreview:[
  37. {
  38. bigTitle:'总访问人数',
  39. bigNum:0,
  40. bigKey:'total_uv_count',
  41. },
  42. {
  43. bigTitle:'今日访问人数',
  44. bigNum:0,
  45. bigKey:'today_uv_count',
  46. },
  47. {
  48. bigTitle:'总访问次数',
  49. bigNum:0,
  50. bigKey:'total_pv_count',
  51. },
  52. {
  53. bigTitle:'今日访问次数',
  54. bigNum:0,
  55. bigKey:'today_pv_count',
  56. }
  57. ],
  58. desCol:[
  59. { prop: "customer_name", label: "客户" },
  60. { prop: "user_name", label: "所属成员" },
  61. { prop: "last_click_time", label: "最近点击时间" },
  62. { prop: "last_click_channel", label: "最近点击渠道" },
  63. { prop: "pv_count", label: "客户访问总次数"}
  64. ]
  65. }
  66. },
  67. created(){
  68. this.init_preview()
  69. },
  70. methods:{
  71. init_preview(){//数据概览
  72. this.loading = true
  73. this.$axios.get(this.URL.BASEURL + this.URL.radar_dataView, {
  74. params:{
  75. radar_id:this.$route.params.id
  76. }
  77. }).then((res) => {
  78. var res = res.data
  79. this.loading = false
  80. if (res && res.errno == 0) {
  81. this.dataPreview.forEach(item=>{
  82. item.bigNum = res.rst[item.bigKey]
  83. })
  84. } else if (res.errno != 4002) {
  85. this.$message({
  86. message: res.err,
  87. type: "warning"
  88. })
  89. }
  90. }).catch((err) => {
  91. this.loading = false
  92. });
  93. },
  94. }
  95. }
  96. </script>
  97. <style lang="scss" scoped>
  98. @import "@/style/list.scss";
  99. .con{
  100. padding-right: 10px;
  101. }
  102. .dataBox{
  103. display: flex;
  104. align-items: center;
  105. justify-content: space-between;
  106. .box_item{
  107. min-width: 23%;
  108. padding: 20px 15px 10px;
  109. font-size: 14px;
  110. background-color: #fff;
  111. border-radius: 4px;
  112. .splitLine{
  113. width: 100%;
  114. border-bottom: 1px solid #ddd;
  115. }
  116. }
  117. }
  118. .topTagBox{
  119. margin-top: 10px;
  120. font-size: 14px;
  121. }
  122. </style>