wechat.vue 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. <template>
  2. <view class="content">
  3. <scroll-view v-if="true" scroll-y class="data_body" :style="{height:scrollHeight}">
  4. <!--数据进度条-->
  5. <view class="progress">
  6. <data-progress :progressList="wechatLineBar" :borderRadius="20" padMiddle="true"></data-progress>
  7. </view>
  8. <view class="split_line"></view>
  9. <!-- 微好友运营-->
  10. <view class="friend_operate">
  11. <view class="title">微好友运营</view>
  12. <text-block :content="friendTextBlock"></text-block>
  13. <view style="display: flex;justify-content: space-around;">
  14. <view v-for="(item,index) in panelData" :key="index" class="charts-box"
  15. style="width: 45%;height: 200px;">
  16. <qiun-data-charts type="gauge"
  17. :opts="{title:{name: item.series[0].data * 100 + '%',color: '#24ABFD',offsetY:30},subtitle: {name: item.series[0].name,color: '#666666',fontSize: 15,offsetY:70},extra:{gauge:{type:'progress',width:20,splitLine:{fixRadius:-10,width:15,},}}}"
  18. :chartData="item" :reshow="delayload" :canvas2d="isCanvas2d" :canvasId="'one_a_' + index" />
  19. </view>
  20. </view>
  21. <view class="trend_title">新增微好友&小程序会员趋势</view>
  22. <view class="charts-box">
  23. <qiun-data-charts type="mix" :chartData="friendTrand" :reshow="delayload"
  24. :canvas2d="isCanvas2d" canvasId="one_b" :opts="{yAxis:{data:[{title: ''}]}}" />
  25. </view>
  26. </view>
  27. <view class="split_line"></view>
  28. <!-- 微客群运营-->
  29. <view class="friend_operate">
  30. <view class="title">微客群运营</view>
  31. <text-block :content="friendTextBlock"></text-block>
  32. <view class="trend_title">新增人群&退群人数趋势</view>
  33. <view class="charts-box">
  34. <qiun-data-charts type="mix" :chartData="teamTrand" :reshow="delayload" :canvas2d="isCanvas2d"
  35. canvasId="one_c" :opts="{yAxis:{data:[{title: '',max:teamTrand?teamTrand.yAxis[0].max:0,min:teamTrand?teamTrand.yAxis[0].min:0}]}}" />
  36. </view>
  37. </view>
  38. <view class="split_line"></view>
  39. <!-- 客户联系-->
  40. <view class="friend_operate">
  41. <view class="title">【客户联系】1对1运营执行</view>
  42. <senior-table :headers="dataTable.headers" :contents="dataTable.contents" :urlCol="dataTable.urlCol" :firstLineFixed="true" :sortCol="dataTable.sortCol"></senior-table>
  43. </view>
  44. </scroll-view>
  45. <view v-else class="container padding_stand-big normal_color">
  46. <li class="iconfont icon-cry cry"></li>暂无数据
  47. </view>
  48. </view>
  49. </template>
  50. <script>
  51. import DataProgress from "../data-progress/data-progress.vue"
  52. import SeniorTable from "../data-table/senior-table.vue"
  53. import wechatLineBar from '../../static/json/wechat/1.json';
  54. import friendTextBlock from '../../static/json/wechat/2.json';
  55. import panelData from '../../static/json/wechat/3.json';
  56. import friendTrand from '../../static/json/wechat/4.json';
  57. import teamTrand from '../../static/json/wechat/5.json';
  58. import dataTable from "../../static/json/wechat/6.json"
  59. import Config from '../../static/js/config'
  60. export default {
  61. name:'wechat',
  62. props: {
  63. scrollHeight:{
  64. type:String,
  65. default:"600px"
  66. }
  67. },
  68. components:{
  69. DataProgress,
  70. SeniorTable,
  71. },
  72. data() {
  73. return {
  74. wechatLineBar,
  75. friendTextBlock,
  76. friendTrand,
  77. panelData,
  78. teamTrand,
  79. dataTable,
  80. scrollTop: 0,
  81. delayload: false,
  82. isCanvas2d: Config.ISCANVAS2D,
  83. }
  84. },
  85. mounted() {
  86. this.getData();
  87. },
  88. methods:{
  89. async getData() {
  90. uni.showLoading();
  91. await setTimeout(() => {
  92. this.delayload = true;
  93. uni.hideLoading();
  94. }, 1000)
  95. }
  96. }
  97. }
  98. </script>
  99. <style scoped lang="less">
  100. .content{
  101. padding-top: 10rpx;
  102. .progress,.firend_operate{
  103. padding: 0 10rpx;
  104. }
  105. .progress{
  106. margin-bottom: 20rpx;
  107. }
  108. .friend_operate{
  109. padding: 30rpx 20rpx;
  110. .title{
  111. text-align:left;
  112. margin-bottom: 30rpx;
  113. font-size: 40rpx;
  114. }
  115. .trend_title{
  116. text-align: right;
  117. font-size: 22rpx;
  118. color: #ff9900;
  119. margin-top: 50rpx;
  120. }
  121. }
  122. }
  123. </style>