setting.vue 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. <template>
  2. <div>
  3. <el-form
  4. ref="form"
  5. :model="config"
  6. :rules="customRules"
  7. label-width="120px"
  8. label-position="left"
  9. class="setting-body bs-el-form"
  10. >
  11. <SettingTitle>基础</SettingTitle>
  12. <div class="lc-field-body">
  13. <el-form-item
  14. label="名称"
  15. >
  16. <el-input
  17. v-model="config.title"
  18. clearable
  19. />
  20. </el-form-item>
  21. </div>
  22. <SettingTitle v-if="config.border">
  23. 边框
  24. </SettingTitle>
  25. <div class="lc-field-body">
  26. <BorderSetting
  27. v-if="config.border"
  28. label-width="120px"
  29. :config="config.border"
  30. :big-title="config.title"
  31. />
  32. </div>
  33. <SettingTitle>位置</SettingTitle>
  34. <div class="lc-field-body">
  35. <PosWhSetting
  36. :config="config"
  37. label-width="120px"
  38. />
  39. </div>
  40. <SettingTitle>旋转</SettingTitle>
  41. <div class="lc-field-body">
  42. <RotateSetting
  43. :config="config"
  44. />
  45. </div>
  46. <SettingTitle>基础</SettingTitle>
  47. <div class="lc-field-body">
  48. <el-form-item label="表头颜色">
  49. <ColorPicker
  50. v-model="config.customize.headerBackgroundColor"
  51. placeholder="请选择表头颜色"
  52. :predefine-colors="predefineThemeColors"
  53. />
  54. </el-form-item>
  55. <el-form-item label="表头字体颜色">
  56. <ColorPicker
  57. v-model="config.customize.headerFontColor"
  58. style="width:180px"
  59. placeholder="请选择表头字体颜色"
  60. :predefine-colors="predefineThemeColors"
  61. />
  62. </el-form-item>
  63. <el-form-item label="表头字体大小">
  64. <el-input-number
  65. v-model="config.customize.headerFontSize"
  66. class="bs-el-input-number"
  67. :min="12"
  68. :max="100"
  69. :step="1"
  70. />
  71. </el-form-item>
  72. <el-form-item label="主体背景颜色">
  73. <ColorPicker
  74. v-model="config.customize.bodyBackgroundColor"
  75. placeholder="请选择主体背景颜色"
  76. :predefine-colors="predefineThemeColors"
  77. />
  78. </el-form-item>
  79. <el-form-item label="主体字体颜色">
  80. <ColorPicker
  81. v-model="config.customize.bodyFontColor"
  82. placeholder="请选择主体字体颜色"
  83. :predefine-colors="predefineThemeColors"
  84. />
  85. </el-form-item>
  86. <el-form-item label="主体字体大小">
  87. <el-input-number
  88. v-model="config.customize.bodyFontSize"
  89. class="bs-el-input-number"
  90. :min="12"
  91. :max="100"
  92. :step="1"
  93. />
  94. </el-form-item>
  95. <el-form-item label="奇数行背景颜色">
  96. <ColorPicker
  97. v-model="config.customize.evenRowBackgroundColor"
  98. placeholder="请选择奇数行背景颜色"
  99. :predefine-colors="predefineThemeColors"
  100. />
  101. </el-form-item>
  102. <el-form-item label="偶数行背景颜色">
  103. <ColorPicker
  104. v-model="config.customize.oddRowBackgroundColor"
  105. placeholder="请选择偶数行背景颜色"
  106. :predefine-colors="predefineThemeColors"
  107. />
  108. </el-form-item>
  109. </div>
  110. </el-form>
  111. </div>
  112. </template>
  113. <script>
  114. import BorderSetting from 'data-room-ui/BigScreenDesign/RightSetting/BorderSetting.vue'
  115. import SettingTitle from 'data-room-ui/SettingTitle/index.vue'
  116. import ColorPicker from 'data-room-ui/ColorPicker/index.vue'
  117. import { chartSettingMixins } from 'data-room-ui/js/mixins/chartSettingMixins'
  118. import PosWhSetting from 'data-room-ui/BigScreenDesign/RightSetting/PosWhSetting.vue'
  119. import RotateSetting from 'data-room-ui/BigScreenDesign/RightSetting/RotateSetting.vue'
  120. import { predefineColors } from 'data-room-ui/js/utils/colorList'
  121. export default {
  122. components: {
  123. ColorPicker,
  124. PosWhSetting,
  125. SettingTitle,
  126. BorderSetting,
  127. RotateSetting
  128. },
  129. mixins: [chartSettingMixins],
  130. data () {
  131. return {
  132. predefineThemeColors: predefineColors
  133. }
  134. },
  135. computed: {
  136. config: {
  137. get () {
  138. return this.$store.state.bigScreen.activeItemConfig
  139. },
  140. set (val) {
  141. this.$store.state.bigScreen.activeItemConfig = val
  142. }
  143. },
  144. pageCode () {
  145. return this.$route.query.code
  146. }
  147. },
  148. watch: {},
  149. mounted () { },
  150. methods: {
  151. }
  152. }
  153. </script>
  154. <style lang="scss" scoped>
  155. @import "../../assets/style/settingWrap.scss";
  156. .lc-field-body {
  157. padding: 12px 16px;
  158. }
  159. </style>