农经大屏
Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

před 1 měsícem
před 1 měsícem
před 1 měsícem
před 1 měsícem
před 1 měsícem
před 1 měsícem
před 1 měsícem
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. import Pannel from '@/components/pannel/index.vue';
  2. import ScrollTable from '@/components/scroll-table/index.vue';
  3. import PannelTabs from '@/components/pannel-tabs/index.vue';
  4. import { mapGetters } from 'vuex';
  5. import { analysisOfAmountRanking } from '../../../../api/index.js';
  6. export default {
  7. components: {
  8. PannelTabs,
  9. ScrollTable,
  10. Pannel
  11. },
  12. computed: {
  13. ...mapGetters(['year', 'deptId'])
  14. },
  15. watch: {
  16. year: {
  17. handler () {
  18. this.getData();
  19. },
  20. immediate: true, // 立即执行
  21. },
  22. deptId: {
  23. handler () {
  24. this.getData();
  25. },
  26. immediate: true, // 立即执行
  27. }
  28. },
  29. data () {
  30. return {
  31. tabIndex: '1',
  32. isLoad: false,
  33. headers: ['部门名称', '数量', '排名'],
  34. pannelTabData: [
  35. {
  36. id: '1',
  37. name: '数量'
  38. },
  39. {
  40. id: '2',
  41. name: '金额'
  42. }
  43. ],
  44. data: []
  45. };
  46. },
  47. methods: {
  48. getData () {
  49. if (this.year, this.deptId) {
  50. this.isLoad = false;
  51. analysisOfAmountRanking(this.deptId, this.year).then(res => {
  52. if (this.tabIndex == 1) {
  53. let data = res.data.sl.map(item => {
  54. return [item.name, item.value, item.index]
  55. })
  56. this.data = data
  57. } else if (this.tabIndex == 2) {
  58. let data = res.data.je.map(item => {
  59. return [item.name, item.value, item.index]
  60. })
  61. this.data = data
  62. }
  63. this.isLoad = true;
  64. })
  65. }
  66. },
  67. tabChange (info) {
  68. this.tabIndex = info.id;
  69. this.getData();
  70. }
  71. }
  72. };