index.js 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. /*
  2. * @Descripttion: 大屏设置项
  3. * @version:
  4. * @Author: Devli
  5. * @Date: 2021-3-23 13:01:07
  6. * @LastEditors: qianlishi
  7. * @LastEditTime: 2023-3-9 15:00:35
  8. */
  9. import { widgetTool } from "./main"
  10. const screenConfig = {
  11. code: 'screen',
  12. type: 'screen',
  13. label: '大屏设置',
  14. icon: '',
  15. options: {
  16. setup: [
  17. {
  18. type: 'el-input-number',
  19. label: '大屏宽度',
  20. name: 'width',
  21. required: false,
  22. placeholder: 'px',
  23. value: '1920',
  24. },
  25. {
  26. type: 'el-input-number',
  27. label: '大屏高度',
  28. name: 'height',
  29. required: false,
  30. placeholder: 'px',
  31. value: '1080',
  32. },
  33. {
  34. type: 'el-input-text',
  35. label: '标题',
  36. name: 'title',
  37. require: false,
  38. placeholder: '',
  39. value: '大屏',
  40. },
  41. {
  42. type: 'el-input-textarea',
  43. label: '大屏简介',
  44. name: 'description',
  45. required: false,
  46. placeholder: '',
  47. value: ''
  48. },
  49. {
  50. type: 'vue-color',
  51. label: '背景颜色',
  52. name: 'backgroundColor',
  53. required: false,
  54. placeholder: '',
  55. value: '#1E1E1E',
  56. },
  57. {
  58. type: 'custom-upload',
  59. label: '图片地址',
  60. name: 'backgroundImage',
  61. required: false,
  62. placeholder: '',
  63. value: '',
  64. },
  65. {
  66. type: 'el-slider',
  67. label: '刷新间隔(秒)',
  68. name: 'refreshSeconds',
  69. require: false,
  70. placeholder: '',
  71. value: 0,
  72. options: {
  73. step: 1800,
  74. min: 0,
  75. max: 14400,
  76. showStops: true,
  77. }
  78. },
  79. ],
  80. data: [],
  81. position: [],
  82. }
  83. }
  84. export const converArr = (data) => {
  85. let tempArr = [], newArr = []
  86. for (let i = 0; i < data.length; i++) {
  87. const item = data[i]
  88. item.widgetId = ''
  89. if (tempArr.indexOf(item.type) === -1) {
  90. newArr.push({
  91. name: item.tabName,
  92. type: item.type,
  93. list: [item]
  94. })
  95. tempArr.push(item.type);
  96. } else {
  97. for (let j = 0; j < newArr.length; j++) {
  98. if (newArr[j].type == item.type) {
  99. newArr[j].list.push(item)
  100. }
  101. }
  102. }
  103. }
  104. return newArr
  105. }
  106. const widgetTools = converArr([...widgetTool])
  107. const getToolByCode = function (code) {
  108. // 获取大屏底层设置属性
  109. if (code == 'screen') {
  110. return screenConfig
  111. }
  112. // 获取组件
  113. return [...widgetTool].find((item) => {
  114. return item.code == code
  115. })
  116. }
  117. export { widgetTools, getToolByCode }