defaultOption.js 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. const defaultOptions = {
  2. title: {
  3. text: '展会访问数据',
  4. left: 'left',
  5. top: 0,
  6. textStyle: {
  7. fontSize: 17
  8. }
  9. },
  10. textStyle: {
  11. color: '#909090'
  12. },
  13. grid: {
  14. top: 37,
  15. left: 40,
  16. right: 0,
  17. bottom: 20
  18. },
  19. color: ["#17D2D2", "#738EFE"],
  20. legend: {
  21. left: 'right',
  22. itemWidth: 14,
  23. icon: 'roundRect',
  24. textStyle: {
  25. fontSize: 11
  26. }
  27. },
  28. tooltip: {
  29. show: true,
  30. trigger: 'axis'
  31. },
  32. xAxis: {
  33. type: 'value',
  34. // boundaryGap: false,
  35. axisTick: {
  36. show: false
  37. },
  38. axisLine: {
  39. lineStyle: {
  40. color: '#e5e5e5'
  41. }
  42. },
  43. axisLabel: {
  44. align: 'right'
  45. },
  46. splitLine: {
  47. lineStyle: {
  48. color: '#e5e5e5'
  49. }
  50. }
  51. },
  52. yAxis: {
  53. type: 'value',
  54. axisTick: {
  55. show: false
  56. },
  57. axisLine: {
  58. lineStyle: {
  59. color: '#e5e5e5'
  60. }
  61. },
  62. axisLabel: {
  63. margin: 7,
  64. formatter (value) {
  65. return value.toString()
  66. }
  67. },
  68. splitLine: {
  69. lineStyle: {
  70. color: '#e5e5e5'
  71. }
  72. }
  73. }
  74. }
  75. function isObject (value) {
  76. return Object.prototype.toString.call(value) === '[object Object]'
  77. }
  78. export function mergeOptions (options, defaultOption=defaultOptions) {
  79. Object.keys(defaultOption).forEach(item => {
  80. if (!options[item]) {
  81. options[item] = defaultOption[item]
  82. } else {
  83. if (isObject(options[item])) {
  84. mergeOptions(options[item], defaultOption[item])
  85. }
  86. }
  87. })
  88. return options
  89. }