BorderSetting.vue 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. <template>
  2. <div>
  3. <el-form-item
  4. :label-width="labelWidth"
  5. label="边框"
  6. >
  7. <el-button
  8. size="small"
  9. type="primary"
  10. @click="init"
  11. >
  12. 选择边框
  13. </el-button>
  14. <BorderSelect
  15. v-model="config.type"
  16. ref="BorderSelect"
  17. />
  18. </el-form-item>
  19. <el-form-item
  20. :label-width="labelWidth"
  21. label="标题高度"
  22. >
  23. <el-input-number
  24. v-model="config.titleHeight"
  25. class="bs-el-input-number"
  26. :min="0"
  27. :step="1"
  28. />
  29. </el-form-item>
  30. <el-form-item
  31. :label-width="labelWidth"
  32. label="标题字体大小"
  33. >
  34. <el-input-number
  35. v-model="config.fontSize"
  36. class="bs-el-input-number"
  37. :min="0"
  38. :step="1"
  39. />
  40. </el-form-item>
  41. <el-form-item
  42. :label-width="labelWidth"
  43. label="颜色"
  44. >
  45. <!-- <color-select
  46. v-model="config.color"
  47. /> -->
  48. <div
  49. style="
  50. display: flex;
  51. align-items: center;
  52. flex-wrap: wrap;
  53. "
  54. class="color-picker-box"
  55. >
  56. <el-color-picker
  57. v-for="(colorItem, colorItemIndex) in config.color"
  58. :key="colorItemIndex"
  59. v-model="config.color[colorItemIndex]"
  60. popper-class="bs-el-color-picker"
  61. show-alpha
  62. class="start-color"
  63. />
  64. </div>
  65. </el-form-item>
  66. </div>
  67. </template>
  68. <script>
  69. import ColorSelect from 'data-room-ui/ColorMultipleSelect/index.vue'
  70. import BorderSelect from 'data-room-ui/BorderSelect/index.vue'
  71. export default {
  72. name: '',
  73. components: {
  74. BorderSelect,
  75. ColorSelect
  76. },
  77. props: {
  78. config: {
  79. type: Object,
  80. default: () => ({
  81. type: '',
  82. titleHeight: 0,
  83. fontSize: 0,
  84. h: 0,
  85. color:['#5B8FF9', '#61DDAA', '#5D7092', '#F6BD16', '#6F5EF9']
  86. })
  87. },
  88. labelWidth: {
  89. type: String,
  90. default: '100px'
  91. }
  92. },
  93. data () {
  94. return {
  95. }
  96. },
  97. mounted () {},
  98. methods: {
  99. init(){
  100. this.$refs.BorderSelect.init()
  101. }
  102. }
  103. }
  104. </script>
  105. <style lang="scss" scoped>
  106. ::v-deep .el-color-picker__trigger {
  107. border-color: var(--bs-el-border);
  108. }
  109. .color-picker-box{
  110. ::v-deep .el-color-picker__trigger {
  111. width: 27px!important;
  112. }
  113. }
  114. </style>