PatrolProblem.vue 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. <template>
  2. <div class="modelBlock">
  3. <template v-if="permissionFiltering">
  4. <div class="model-title">
  5. <div class="model-title-text">巡更问题前十排行</div>
  6. <div class="model-title-right">
  7. <el-date-picker
  8. value-format="yyyy-MM"
  9. v-model="queryDate"
  10. type="month"
  11. placeholder="选择月"
  12. class="saveColumn-select"
  13. @change="changeTime"
  14. :clearable="false"
  15. >
  16. </el-date-picker>
  17. </div>
  18. </div>
  19. <div class="model-content">
  20. <zz-echart
  21. :option="clientOptions"
  22. class="chart"
  23. ></zz-echart>
  24. </div>
  25. </template>
  26. <no-permission
  27. v-else
  28. tipsText="巡更问题前十排行"
  29. ></no-permission>
  30. </div>
  31. </template>
  32. <script>
  33. import { columnOptionsChartName } from './indexOptionChart';
  34. import permissionComponent from './permissionComponent';
  35. export default {
  36. mixins: [permissionComponent],
  37. data () {
  38. return {
  39. defaultModel: {
  40. permissUrl: '19',
  41. titleName: '安保巡更'
  42. },
  43. mixins_query: {
  44. communityId: '',
  45. queryDate: ''
  46. },
  47. queryDate: '',
  48. clientOptions: columnOptionsChartName(
  49. '(个)',
  50. ['name1', 'name2', 'name3'],
  51. [
  52. {
  53. name: 'name1',
  54. data: 0
  55. },
  56. {
  57. name: 'name2',
  58. data: 0
  59. },
  60. {
  61. name: 'name3',
  62. data: 0
  63. }
  64. ],
  65. [],
  66. 10
  67. )
  68. };
  69. },
  70. methods: {
  71. // getData () {
  72. // this.$http.get('/czc-community/statisticPatrolPersonnelDuration', this.mixins_query).then(({ data, msg, status }) => {
  73. // if (status == 0 && !!data.length) {
  74. // let name = [];
  75. // data.map((item) => {
  76. // name.push(item.name);
  77. // item.data = item.data.toFixed(2);
  78. // });
  79. // this.clientOptions = columnOptionsChartName('(小时)', name, data, [], 10);
  80. // } else {
  81. // this.clientOptions = columnOptionsChartName(
  82. // '(小时)',
  83. // ['name1', 'name2', 'name3'],
  84. // [
  85. // {
  86. // name: 'name1',
  87. // data: 0
  88. // },
  89. // {
  90. // name: 'name2',
  91. // data: 0
  92. // },
  93. // {
  94. // name: 'name3',
  95. // data: 0
  96. // }
  97. // ],
  98. // [],
  99. // 10
  100. // );
  101. // }
  102. // });
  103. // },
  104. changeTime (v) {
  105. this.mixins_query.queryDate = v;
  106. this.getData();
  107. },
  108. getData () {
  109. this.$http.get('/czc-community/patrol/record/standard/top', this.mixins_query).then(({ data, msg, status }) => {
  110. if (status == 0) {
  111. let name = [];
  112. let resDate = [];
  113. data.map((item, index) => {
  114. name.push(item.content)
  115. resDate.push({
  116. name: item.content,
  117. data: item.count
  118. })
  119. })
  120. this.clientOptions = columnOptionsChartName('(个)', name, resDate, [], 10);
  121. }
  122. })
  123. }
  124. },
  125. created () {
  126. this.queryDate = this.$moment().format('YYYY-MM');
  127. this.mixins_query.queryDate = this.$moment().format('YYYY-MM');
  128. this.getData();
  129. }
  130. };
  131. </script>
  132. <style scoped lang="scss">
  133. @import './style.scss';
  134. .model-title {
  135. .model-title-right {
  136. .saveColumn-select {
  137. &:not(:first-child) {
  138. margin-left: rem(20);
  139. }
  140. }
  141. }
  142. }
  143. </style>