KpiChart.vue 3.8 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--enable-row-hover .el-table__body tr:hover > td {
  101. background-color: rgba(0, 0, 0, 0.01) !important;
  102. }
  103. /deep/.el-table .el-table__header-wrapper th, .el-table .el-table__fixed-header-wrapper th {
  104. font-size: 12px;
  105. height: 10px;
  106. background-color: #11285a;
  107. color: #ffffff;
  108. }
  109. /deep/.el-table--group, .el-table--border {
  110. border: 1px solid #11285a;
  111. }
  112. /deep/.el-table--group::after, .el-table--border::after, .el-table::before {
  113. background: rgba(253, 245, 245, 0) linear-gradient(to right, #11285a, #1d2d4a) repeat scroll 0% 0%;
  114. }
  115. /deep/.el-table--border th, .el-table--border td {
  116. border-right: 1px solid #11285a;
  117. }
  118. /deep/.el-table--border th, .el-table--border td {
  119. border-right: 1px solid #11285a;
  120. }
  121. /deep/.el-table {
  122. color: #ffffff;
  123. }
  124. /deep/.el-table tr {
  125. background: rgba(253, 245, 245, 0) linear-gradient(to right, #11285a, #1d2d4a) repeat scroll 0% 0%;
  126. }
  127. </style>