responseDecorator.js 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. // import { openApiRes } from '@/api/openApi/type'
  2. // type openApiGanZhiGet8ziByDate = openApiRes.openApiGanZhiGet8ziByDate["data"]
  3. // interface ganZhiGet8ziByDate extends openApiGanZhiGet8ziByDate {
  4. // ganZhiProRowVoList: openApiGanZhiGet8ziByDate["ganZhiRowVoList"][]
  5. // }
  6. const switchTextToHexColor = (text) => {
  7. let color = '#333'
  8. switch (text) {
  9. case '棕':
  10. color = '#9C4B08'
  11. break;
  12. case '红':
  13. color = '#CB2C00'
  14. break;
  15. case '绿':
  16. color = '#53996B'
  17. break;
  18. case '蓝':
  19. color = '#006494'
  20. break;
  21. case '橙':
  22. color = '#D19C03'
  23. break;
  24. default:
  25. color = '#333'
  26. }
  27. return color
  28. }
  29. const switchTextToEnColor = (text) => {
  30. let color = ''
  31. switch (text) {
  32. case '棕':
  33. color = 'brown'
  34. break;
  35. case '红':
  36. color = 'red'
  37. break;
  38. case '绿':
  39. color = 'green'
  40. break;
  41. case '蓝':
  42. color = 'blue'
  43. break;
  44. case '橙':
  45. color = 'yellow'
  46. break;
  47. default:
  48. color = ''
  49. }
  50. return color
  51. }
  52. const get8ziByDateDecorator = function (responseData) {
  53. const respData = {
  54. ...responseData,
  55. ganZhiProRowVoList: []
  56. }
  57. for (let index = 0; index < (respData.ganZhiRowVoList.length / 2); index++) {
  58. const element1 = respData.ganZhiRowVoList[index * 2];
  59. const element2 = respData.ganZhiRowVoList[index * 2 + 1];
  60. element1.hexColor = switchTextToHexColor(element1.color)
  61. element2.hexColor = switchTextToHexColor(element2.color)
  62. element1.enColor = switchTextToEnColor(element1.color)
  63. element2.enColor = switchTextToEnColor(element2.color)
  64. respData.ganZhiProRowVoList.push([element1, element2])
  65. }
  66. return respData
  67. }
  68. export default {
  69. get8ziByDateDecorator
  70. }