setting.vue 2.5 KB

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