index_admin.vue 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. <template>
  2. <div class="dashboard-editor-container">
  3. <top title="欢迎使用承揽时代管理端"></top>
  4. <div class="chart-wrapper">
  5. <div class="pop" style="width: 65%">
  6. <div class="out">
  7. <div class="int">
  8. <div class="bos">
  9. <div class="lab">
  10. <div class="bsg"></div>
  11. <div class="tit">平台信息</div>
  12. </div>
  13. <platform :money="data.currentMoney"></platform>
  14. <arows :cdata="data" row="结算单"></arows>
  15. </div>
  16. </div>
  17. </div>
  18. <div class="out">
  19. <div class="int">
  20. <div class="bos">
  21. <div class="lab">
  22. <div class="bsg"></div>
  23. <div class="tit">快捷菜单</div>
  24. </div>
  25. <arows :cdata="data" row="快捷菜单"></arows>
  26. </div>
  27. </div>
  28. </div>
  29. <div class="out">
  30. <div class="int">
  31. <div class="bos">
  32. <div class="lab">
  33. <div class="bsg"></div>
  34. <div class="tit">企业交易金额统计</div>
  35. </div>
  36. <div class="years">
  37. <el-date-picker class="dpicker" :clearable="false" v-model="year" type="year" value-format="yyyy" placeholder="请选择年份"></el-date-picker>
  38. <div class="year" :class="{ active: current == index }" @click="current = index" v-for="(item, index) in type" :key="index">{{ item.name }}</div>
  39. </div>
  40. <BarChart :chartData="chartData" height="270px"></BarChart>
  41. </div>
  42. </div>
  43. </div>
  44. </div>
  45. <!--待办事项-->
  46. <div class="pop" style="width: 35%">
  47. <div class="out mar0">
  48. <div class="int">
  49. <div class="bos">
  50. <arows :cdata="data" row="待办事项"></arows>
  51. </div>
  52. </div>
  53. </div>
  54. <div class="out mar0">
  55. <div class="int">
  56. <div class="bos">
  57. <div class="lab">
  58. <div class="bsg"></div>
  59. <div class="tit">统计概览</div>
  60. </div>
  61. <arows :cdata="data" row="统计概览"></arows>
  62. </div>
  63. </div>
  64. </div>
  65. </div>
  66. </div>
  67. </div>
  68. </template>
  69. <script>
  70. import top from '@/views/dashboard/top';
  71. import arows from '@/views/dashboard/arows';
  72. import BarChart from './dashboard/BarChart';
  73. import platform from '@/components/platform';
  74. export default {
  75. components: {
  76. platform,
  77. top,
  78. arows,
  79. BarChart
  80. },
  81. data() {
  82. return {
  83. user: this.$store.state.user,
  84. noticeList: [],
  85. data: {},
  86. current: 0,
  87. chartData: [],
  88. year: this.util.getDate('year'),
  89. type: [
  90. { name: '充值金额', value: 0 },
  91. { name: '提现金额', value: 1 },
  92. { name: '发放金额', value: 2 }
  93. ]
  94. };
  95. },
  96. watch: {
  97. current(val) {
  98. this.getRecord();
  99. },
  100. year(val) {
  101. this.getRecord();
  102. }
  103. },
  104. created() {
  105. this.getData();
  106. this.getRecord();
  107. },
  108. methods: {
  109. getData() {
  110. this.ajax({ url: '/home/index' }).then((response) => {
  111. this.data = response.data.count;
  112. if (response.data.count.gives > 0 || response.data.count.recharge > 0 || response.data.count.moneyOut > 0) {
  113. setTimeout(() => {
  114. this.$notify({
  115. title: '待办事项',
  116. dangerouslyUseHTMLString: true,
  117. message: '你有待处理事项,请及时处理',
  118. type: 'error',
  119. duration: 0
  120. });
  121. }, 1000);
  122. }
  123. });
  124. },
  125. getRecord() {
  126. this.ajax({ url: '/work/company/statistics/chart', data: { year: this.year, type: this.current } }).then((response) => {
  127. this.chartData = response.data;
  128. });
  129. }
  130. }
  131. };
  132. </script>
  133. <style lang="scss" scoped>
  134. .bos {
  135. border: 0px;
  136. }
  137. </style>