KpiChart.vue 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. <template>
  2. <div :style="{height:height,width:width}">
  3. <el-table :data="ehskpinewList"
  4. :height="height"
  5. border
  6. :row-class-name="tableRowClassName"
  7. :header-cell-style="headerCellStyle">
  8. <el-table-column v-if="lang == 'zh'" :label="$t('KPI名称')" align="center" prop="kpiname" width="180" :formatter="kpinameFormat" />
  9. <el-table-column v-if="lang == 'en'" :label="$t('KPI名称')" align="center" prop="kpinameen" width="180" :formatter="kpinameenFormat" />
  10. <el-table-column :label="$t('一季度')" align="center" prop="spring" :show-overflow-tooltip="true"/>
  11. <el-table-column :label="$t('二季度')" align="center" prop="summer" :show-overflow-tooltip="true"/>
  12. <el-table-column :label="$t('三季度')" align="center" prop="autumn" :show-overflow-tooltip="true"/>
  13. <el-table-column :label="$t('四季度')" align="center" prop="winter" :show-overflow-tooltip="true"/>
  14. </el-table>
  15. </div>
  16. </template>
  17. <script>
  18. import { listEhskpinew } from "@/api/ehs/ehskpinew";
  19. import Cookies from 'js-cookie'
  20. export default {
  21. computed: {
  22. lang: {
  23. get() {
  24. return this.$store.state.app.language
  25. },
  26. set(lang) {
  27. this.$i18n.locale = lang
  28. this.$store.dispatch('app/setLanguage', lang)
  29. }
  30. }
  31. },
  32. watch: {
  33. '$store.state.app.language'(newLang) {
  34. console.log(newLang)
  35. }
  36. },
  37. props: {
  38. width: {
  39. type: String,
  40. default: '100%'
  41. },
  42. height: {
  43. type: String,
  44. default: '210px'
  45. }
  46. },
  47. data() {
  48. return {
  49. // 查询参数
  50. queryParams: {
  51. },
  52. // KPI统计及格表格数据
  53. ehskpinewList: [],
  54. // kpi名称字典
  55. kpinameOptions: []
  56. }
  57. },
  58. created() {
  59. this.getList();
  60. this.lang = Cookies.get('language')
  61. this.getDicts("KPI_ZHCN_NAME").then(response => {
  62. this.kpinameOptions = response.data;
  63. });
  64. this.getDicts("KPI_ENUS_NAME").then(response => {
  65. this.kpinameenOptions = response.data;
  66. });
  67. },
  68. methods: {
  69. /** 查询能耗管理统计列表 */
  70. getList() {
  71. this.loading = true;
  72. listEhskpinew(this.queryParams).then(response => {
  73. this.ehskpinewList = response.rows;
  74. this.loading = false;
  75. });
  76. },
  77. // kpi名称字典翻译
  78. kpinameFormat(row, column) {
  79. return this.selectDictLabel(this.kpinameOptions, row.kpiname);
  80. },
  81. // kpi英文名字典翻译
  82. kpinameenFormat(row, column) {
  83. return this.selectDictLabel(this.kpinameenOptions, row.kpinameen);
  84. },
  85. tableRowClassName({row, rowIndex}) {
  86. if(rowIndex % 2 === 0){
  87. return 'warning-row';
  88. } else {
  89. return 'success-row';
  90. }
  91. return '';
  92. },
  93. headerCellStyle({ row, rowIndex }) {
  94. return 'background-color: #0f1325;color: #FFFFFF;border: none'
  95. }
  96. }
  97. }
  98. </script>
  99. <style scoped>
  100. /deep/.el-table .warning-row {
  101. background: #171c33;
  102. }
  103. /deep/.el-table .success-row {
  104. background: #0f1325;
  105. }
  106. .el-table {
  107. background-color: #0f1325;
  108. text-align: center;
  109. color: #FFFFFF;
  110. border: 0px;
  111. }
  112. /deep/.el-table__row>td{
  113. border: none;
  114. }
  115. .el-table::before {
  116. height: 0px;
  117. }
  118. /deep/ .el-table__body-wrapper::-webkit-scrollbar {
  119. width: 6px;
  120. height: 6px;
  121. }
  122. /deep/ .el-table__body-wrapper::-webkit-scrollbar-thumb {
  123. background-color: #171c33;
  124. border-radius: 3px;
  125. }
  126. /deep/.el-table__body-wrapper::-webkit-scrollbar-track {
  127. background-color: #0f1325;
  128. }
  129. </style>