hydropower.vue 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. <template>
  2. <div class="modelBlock">
  3. <div class="model-title">
  4. <div class="model-title-text">{{ labeText }}</div>
  5. <div class="model-title-right">
  6. <el-date-picker
  7. value-format="yyyy"
  8. v-model="year"
  9. type="year"
  10. placeholder="选择年"
  11. class="saveColumn-select"
  12. @change="changeTime"
  13. :clearable="false"
  14. >
  15. </el-date-picker>
  16. </div>
  17. </div>
  18. <div class="model-content">
  19. <zz-echart :option="clientOptions" class="chart"></zz-echart>
  20. </div>
  21. </div>
  22. </template>
  23. <script>
  24. import { columnOptionsChart } from './indexOptionChart';
  25. let dataArr = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
  26. import allcommunit from './allcommunit';
  27. export default {
  28. mixins: [allcommunit],
  29. props: {
  30. labeText: {
  31. type: String,
  32. default: '年度水费支出'
  33. },
  34. type: {
  35. type: Number,
  36. default: 1
  37. }
  38. },
  39. data() {
  40. return {
  41. mixins_query: {
  42. communityId: '',
  43. year: '',
  44. type: this.type
  45. },
  46. year: '',
  47. clientOptions: columnOptionsChart('(元)', [], [{ data: dataArr, name: this.labeText }], [], 10)
  48. };
  49. },
  50. methods: {
  51. getData() {
  52. this.$http.get('/sc-charge/charge/report/sum/shared/meter/amount', this.mixins_query).then(({ data, msg, status }) => {
  53. if (status == 0 && !!data.length) {
  54. let timeDay = [],
  55. datas = [];
  56. data.map((item) => {
  57. timeDay.push(item.month);
  58. datas.push(item.volume);
  59. });
  60. this.clientOptions = columnOptionsChart('(元)', timeDay, [{ data: datas, name: this.labeText }], [], 10);
  61. } else {
  62. this.clientOptions = columnOptionsChart('(元)', [], [{ data: dataArr, name: this.labeText }], [], 10);
  63. }
  64. });
  65. },
  66. changeTime(v) {
  67. this.mixins_query.year = v;
  68. this.getData();
  69. }
  70. },
  71. created() {
  72. this.year = this.$moment().format('YYYY');
  73. this.mixins_query.year = this.$moment().format('YYYY');
  74. }
  75. };
  76. </script>
  77. <style scoped lang="scss">
  78. @import './style.scss';
  79. </style>