移动储能车V1版本
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ů.

index.js 2.8KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. import { createStore } from 'vuex';
  2. import { getTime } from "../utils/index.js";
  3. import { getuidatas } from "../api/api.js";
  4. export default createStore({
  5. state: {
  6. formattedTime: getTime("yyyy年MM月dd日 hh:mm:ss"),
  7. uidatasdata: {},
  8. selectorid: null,
  9. selectorindex: null,
  10. status:null
  11. },
  12. mutations: {
  13. increment(state) {
  14. state.count++;
  15. },
  16. setFormattedTime(state, time) {
  17. state.formattedTime = time;
  18. },
  19. setUidatasData(state, data) {
  20. state.uidatasdata = data;
  21. },
  22. setstatus(state, status) {
  23. state.status = status;
  24. },
  25. setSelectorId(state, id) {
  26. state.selectorid = id;
  27. },
  28. setSelectorIndex(state, index) {
  29. state.selectorindex = index;
  30. }
  31. },
  32. actions: {
  33. startClock({ commit }) {
  34. setInterval(() => {
  35. const customFormat = 'yyyy年MM月dd日 hh:mm:ss';
  36. const formattedTime = getTime(customFormat);
  37. commit('setFormattedTime', formattedTime);
  38. }, 1000);
  39. },
  40. async fetchFaultsList({ commit }) {
  41. try {
  42. let data = {
  43. id: "3224a3eb-2375-4dfc-99ce-b182edd30996",
  44. page: 1,
  45. rows: 10000,
  46. };
  47. const response = await getuidatas(data);
  48. // status =response.status
  49. commit('setstatus',response.status)
  50. if (response.status == 'ok') {
  51. const uidatasdata = response.data.reduce((obj, item) => {
  52. let a = item.module;
  53. let b = item[a];
  54. let numericValue = parseFloat(b); // 转换为数字
  55. let roundedValue = ''
  56. if (item.id == "BatCellVPeak_ValMaxCellVoltage" ||
  57. item.id == "BatSysLimitVal_MaxCellTemperatureLimit" ||
  58. item.id == "BatCellVPeak_ValMinCellVoltage" ||
  59. item.id == "CellTemperatureLimitsStatus_MinTemp"
  60. ) {
  61. roundedValue = isNaN(numericValue) ? b : numericValue.toFixed(3);
  62. } else {
  63. roundedValue = isNaN(numericValue) ? b : numericValue.toFixed(2);
  64. }
  65. return {
  66. ...obj,
  67. [item.id]: roundedValue
  68. };
  69. }, {});
  70. commit('setUidatasData', uidatasdata);
  71. if (uidatasdata.SysControl_RunCmd == 1 || uidatasdata.SysControl_Gun1RunCmd == 1 || uidatasdata.SysControl_Gun2RunCmd == 1) {
  72. commit('setSelectorId', uidatasdata.SysInstall_EssRunModeManual);
  73. commit('setSelectorIndex', 1);
  74. }else{
  75. commit('setSelectorId', null);
  76. commit('setSelectorIndex', null);
  77. }
  78. } else {
  79. // Handle failure case if needed
  80. }
  81. } catch (error) {
  82. commit('setstatus',"NO")
  83. } finally {
  84. // Retry fetching data after a delay
  85. setTimeout(() => {
  86. this.dispatch('fetchFaultsList');
  87. }, 2000); // 2秒后重新获取数据
  88. }
  89. }
  90. }
  91. });