setting.vue 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. <template>
  2. <div class="bs-setting-wrap">
  3. <el-form
  4. ref="form"
  5. label-width="100px"
  6. label-position="left"
  7. :model="config"
  8. :rules="rules"
  9. class="bs-el-form"
  10. >
  11. <SettingTitle>标题</SettingTitle>
  12. <div class="bs-setting-wrap">
  13. <el-form-item
  14. label="标题"
  15. label-width="100px"
  16. prop="title"
  17. >
  18. <el-input
  19. v-model="config.customize.title"
  20. placeholder="请输入标题"
  21. clearable
  22. />
  23. </el-form-item>
  24. </div>
  25. <SettingTitle>位置</SettingTitle>
  26. <div class="lc-field-body">
  27. <PosWhSetting :config="config" />
  28. </div>
  29. <SettingTitle v-if="config.border">边框</SettingTitle>
  30. <div class="lc-field-body">
  31. <BorderSetting
  32. v-if="config.border"
  33. label-width="100px"
  34. :config="config.border"
  35. />
  36. </div>
  37. <SettingTitle>基础</SettingTitle>
  38. <div class="lc-field-body">
  39. <el-form-item
  40. label="标题字体大小"
  41. label-width="100px"
  42. >
  43. <el-input
  44. v-model="config.customize.fontSize"
  45. placeholder="请输入标题字体大小"
  46. clearable
  47. >
  48. <template slot="append">
  49. px
  50. </template>
  51. </el-input>
  52. </el-form-item>
  53. <el-form-item
  54. label="标题字体权重"
  55. label-width="100px"
  56. >
  57. <el-input-number
  58. v-model="config.customize.fontWeight"
  59. class="bs-el-input-number"
  60. placeholder="请输入标题字体权重"
  61. />
  62. </el-form-item>
  63. <TextGradient v-model="config.customize.color" />
  64. </div>
  65. </el-form>
  66. </div>
  67. </template>
  68. <script>
  69. import SettingTitle from 'data-room-ui/SettingTitle/index.vue'
  70. import BorderSetting from 'data-room-ui/BigScreenDesign/RightSetting/BorderSetting.vue'
  71. import TextGradient from 'data-room-ui/BigScreenDesign/RightSetting/TextGradient/index'
  72. import PosWhSetting from 'data-room-ui/BigScreenDesign/RightSetting/PosWhSetting.vue'
  73. export default {
  74. name: 'TextSetting',
  75. components: {
  76. TextGradient,
  77. PosWhSetting,
  78. SettingTitle,
  79. BorderSetting
  80. },
  81. data () {
  82. return {
  83. rules: {
  84. title: [
  85. { required: true, message: '请输入标题', trigger: 'blur' }
  86. ]
  87. }
  88. }
  89. },
  90. computed: {
  91. config: {
  92. get () {
  93. return this.$store.state.bigScreen.activeItemConfig
  94. },
  95. set (val) {
  96. this.$store.state.bigScreen.activeItemConfig = val
  97. }
  98. }
  99. },
  100. watch: {
  101. },
  102. mounted () {},
  103. methods: {
  104. }
  105. }
  106. </script>
  107. <style lang="scss" scoped>
  108. @import "../../assets/style/settingWrap.scss";
  109. .bs-setting-wrap{
  110. padding-top: 16px;
  111. }
  112. .lc-field-body {
  113. padding: 12px 16px;
  114. }
  115. </style>