complaintsSuggestions.vue 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. <template>
  2. <div class="modelBlock">
  3. <div class="model-title">
  4. <div class="model-title-text">投诉建议类型</div>
  5. <el-select v-model="mixins_query.communityId" placeholder="全部社区" clearable class="saveColumn-select" @change="getData">
  6. <el-option v-for="(item, index) in communityList" :label="item.communityName" :value="item.id" :key="index"></el-option>
  7. </el-select>
  8. <el-date-picker
  9. value-format="yyyyMM"
  10. v-model="mixins_query.date"
  11. type="month"
  12. placeholder="选择月"
  13. class="saveColumn-select"
  14. @change="getData"
  15. >
  16. </el-date-picker>
  17. </div>
  18. <div class="model-content">
  19. <zz-echart :option="clientOptions" class="chart"></zz-echart>
  20. <div class="totals">
  21. <span>{{ total }}</span>
  22. <span class="numbers">总人数</span>
  23. </div>
  24. </div>
  25. </div>
  26. </template>
  27. <script>
  28. import { GradualChange, ringType } from './indexOptionChart';
  29. export default {
  30. data() {
  31. return {
  32. mixins_query: {
  33. communityId: '',
  34. date: ''
  35. },
  36. total: 0,
  37. clientOptions: ringType(
  38. [
  39. GradualChange('#22D8FF', '#00B2FF'),
  40. GradualChange('#F0646C', '#F4994E'),
  41. GradualChange('#5EEDCC ', '#24C3F1'),
  42. GradualChange('#7178FF', '#D2A4FF'),
  43. GradualChange('#884DD2', '#DF63CC')
  44. ],
  45. [
  46. { value: 0, name: '扰民投诉' },
  47. { value: 0, name: '物业投诉' },
  48. { value: 0, name: '公共卫生' },
  49. { value: 0, name: '安全建议' },
  50. { value: 0, name: '其他' }
  51. ]
  52. )
  53. };
  54. },
  55. computed: {
  56. communityList() {
  57. return this.$store.getters['getAreaSelect'];
  58. }
  59. },
  60. methods: {
  61. getData() {
  62. this.$http.get('/sc-community/statisticComplaint', this.mixins_query).then(({ data, msg, status }) => {
  63. if (status == 0) {
  64. this.clientOptions = ringType(
  65. [
  66. GradualChange('#22D8FF', '#00B2FF'),
  67. GradualChange('#F0646C', '#F4994E'),
  68. GradualChange('#5EEDCC ', '#24C3F1'),
  69. GradualChange('#7178FF', '#D2A4FF'),
  70. GradualChange('#884DD2', '#DF63CC')
  71. ],
  72. this.eachartObj(data)
  73. );
  74. }
  75. });
  76. },
  77. eachartObj(data) {
  78. this.total = data.total;
  79. let typeName = {
  80. 1: '扰民投诉',
  81. 2: '物业投诉',
  82. 3: '公共卫生',
  83. 4: '安全建议',
  84. 5: '其他'
  85. };
  86. let newData = [];
  87. for (let a in data.datas) {
  88. newData.push({
  89. value: data.datas[a],
  90. name: typeName[a]
  91. });
  92. }
  93. return newData;
  94. }
  95. },
  96. created() {
  97. this.getData();
  98. }
  99. };
  100. </script>
  101. <style lang="scss" scoped>
  102. @import './style.scss';
  103. </style>