setting.vue 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. <template>
  2. <div class="bs-setting-wrap">
  3. <el-form
  4. ref="form"
  5. :model="config"
  6. label-width="90px"
  7. label-position="left"
  8. class="setting-body bs-el-form"
  9. >
  10. <el-form
  11. :model="config.customize"
  12. label-position="left"
  13. class="setting-body bs-el-form"
  14. label-width="90px"
  15. >
  16. <SettingTitle>标题</SettingTitle>
  17. <el-form-item label="装饰名称" class="lc-field-body">
  18. <el-input
  19. v-model="config.title"
  20. clearable
  21. />
  22. </el-form-item>
  23. <SettingTitle>位置</SettingTitle>
  24. <div class="lc-field-body">
  25. <PosWhSetting :config="config" />
  26. </div>
  27. <SettingTitle>基础</SettingTitle>
  28. <div class="lc-field-body">
  29. <el-form-item label="装饰颜色">
  30. <ColorPicker
  31. v-model="config.customize.decorationColor1"
  32. :predefine="predefineThemeColors"
  33. />
  34. </el-form-item>
  35. <!-- <el-form-item label="装饰副颜色">
  36. <ColorPicker
  37. v-model="config.customize.decorationColor2"
  38. :predefine="predefineThemeColors"
  39. />
  40. </el-form-item> -->
  41. <el-form-item label="单次动画时长">
  42. <el-input-number
  43. v-model="config.customize.dur"
  44. class="bs-el-input-number"
  45. :precision="0"
  46. label="请输入时长(s)"
  47. />
  48. </el-form-item>
  49. </div>
  50. </el-form>
  51. </el-form>
  52. </div>
  53. </template>
  54. <script>
  55. import ColorPicker from 'data-room-ui/ColorPicker/index.vue'
  56. import PosWhSetting from 'data-room-ui/BigScreenDesign/RightSetting/PosWhSetting.vue'
  57. import SettingTitle from 'data-room-ui/SettingTitle/index.vue'
  58. export default {
  59. name: 'BarSetting',
  60. components: {
  61. ColorPicker,
  62. PosWhSetting,
  63. SettingTitle
  64. },
  65. data () {
  66. return {
  67. // 预设主题色
  68. predefineThemeColors: [
  69. '#007aff',
  70. '#1aa97b',
  71. '#ff4d53',
  72. '#1890FF',
  73. '#DF0E1B',
  74. '#0086CC',
  75. '#2B74CF',
  76. '#00BC9D',
  77. '#ED7D32'
  78. ]
  79. }
  80. },
  81. computed: {
  82. config: {
  83. get () {
  84. return this.$store.state.bigScreen.activeItemConfig
  85. },
  86. set (val) {
  87. this.$store.state.bigScreen.activeItemConfig = val
  88. }
  89. }
  90. },
  91. watch: {},
  92. mounted () {
  93. },
  94. methods: {
  95. }
  96. }
  97. </script>
  98. <style lang="scss" scoped>
  99. .lc-field-body {
  100. padding: 12px 16px;
  101. }
  102. </style>