patrolDuration.vue 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  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="date"
  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. date: ''
  46. },
  47. date: '',
  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.date = v + '-01';
  106. this.getData();
  107. }
  108. },
  109. created () {
  110. debugger
  111. this.date = this.$moment().format('YYYY-MM');
  112. this.mixins_query.date = this.$moment().format('YYYY-MM') + '-01';
  113. this.getData();
  114. }
  115. };
  116. </script>
  117. <style scoped lang="scss">
  118. @import './style.scss';
  119. .model-title {
  120. .model-title-right {
  121. .saveColumn-select {
  122. &:not(:first-child) {
  123. margin-left: rem(20);
  124. }
  125. }
  126. }
  127. }
  128. </style>