setting.vue 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205
  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. <div>
  11. <el-form
  12. :model="config.customize"
  13. label-position="left"
  14. class="setting-body bs-el-form"
  15. label-width="90px"
  16. >
  17. <SettingTitle>标题</SettingTitle>
  18. <div class="lc-field-body">
  19. <el-form-item label="翻牌器名称">
  20. <el-input
  21. v-model="config.title"
  22. clearable
  23. />
  24. </el-form-item>
  25. </div>
  26. <SettingTitle>位置</SettingTitle>
  27. <div class="lc-field-body">
  28. <PosWhSetting :config="config" />
  29. </div>
  30. <SettingTitle v-if="config.border">边框</SettingTitle>
  31. <div class="lc-field-body">
  32. <BorderSetting
  33. v-if="config.border"
  34. label-width="100px"
  35. :config="config.border"
  36. :bigTitle='config.title'
  37. />
  38. </div>
  39. <!-- <SettingTitle>旋转</SettingTitle>
  40. <div class="lc-field-body">
  41. <RotateSetting
  42. :config="config"
  43. />
  44. </div> -->
  45. <SettingTitle>基础</SettingTitle>
  46. <div class="lc-field-body">
  47. <el-form-item label="字体大小">
  48. <el-input-number
  49. v-model="config.customize.fontSize"
  50. class="bs-el-input-number"
  51. :min="12"
  52. :step="1"
  53. />
  54. </el-form-item>
  55. <el-form-item label="字体权重">
  56. <el-input-number
  57. v-model="config.customize.fontWeight"
  58. class="bs-el-input-number"
  59. :min="0"
  60. :step="1"
  61. />
  62. </el-form-item>
  63. <el-form-item label="字体颜色">
  64. <ColorPicker
  65. v-model="config.customize.color"
  66. :predefine="predefineThemeColors"
  67. />
  68. </el-form-item>
  69. <el-form-item label="卡片宽度">
  70. <el-input-number
  71. v-model="config.customize.width"
  72. class="bs-el-input-number"
  73. :min="0"
  74. :step="1"
  75. />
  76. </el-form-item>
  77. <el-form-item label="卡片高度">
  78. <el-input-number
  79. v-model="config.customize.height"
  80. class="bs-el-input-number"
  81. :min="0"
  82. :step="1"
  83. />
  84. </el-form-item>
  85. <el-form-item label="卡片间距">
  86. <el-input-number
  87. v-model="config.customize.marginRight"
  88. class="bs-el-input-number"
  89. :min="0"
  90. :step="1"
  91. />
  92. </el-form-item>
  93. <el-form-item label="卡片背景">
  94. <ColorPicker
  95. v-model="config.customize.bgColor"
  96. :predefine="predefineThemeColors"
  97. />
  98. </el-form-item>
  99. <el-form-item label="卡片圆角">
  100. <el-input-number
  101. v-model="config.customize.borderRadius"
  102. class="bs-el-input-number"
  103. :min="0"
  104. :step="1"
  105. />
  106. </el-form-item>
  107. <el-form-item label="卡片边框">
  108. <el-input-number
  109. v-model="config.customize.borderWidth"
  110. class="bs-el-input-number"
  111. :min="0"
  112. :step="1"
  113. />
  114. </el-form-item>
  115. <el-form-item label="卡片边框色">
  116. <ColorPicker
  117. v-model="config.customize.borderColor"
  118. :predefine="predefineThemeColors"
  119. />
  120. </el-form-item>
  121. <el-form-item label="最小个数">
  122. <el-input-number
  123. v-model="config.customize.numberDigits"
  124. class="bs-el-input-number"
  125. :min="0"
  126. :step="1"
  127. />
  128. </el-form-item>
  129. <el-form-item label="分隔个数">
  130. <el-input-number
  131. v-model="config.customize.formatter"
  132. class="bs-el-input-number"
  133. :min="0"
  134. :max="100"
  135. :step="1"
  136. />
  137. </el-form-item>
  138. <el-form-item label="占位符">
  139. <el-input
  140. v-model="config.customize.placeHolder"
  141. clearable
  142. />
  143. </el-form-item>
  144. <el-form-item label="头部单位">
  145. <el-input
  146. v-model="config.customize.slotLeft"
  147. clearable
  148. />
  149. </el-form-item>
  150. <el-form-item label="尾部单位">
  151. <el-input
  152. v-model="config.customize.slotRight"
  153. clearable
  154. />
  155. </el-form-item>
  156. </div>
  157. </el-form>
  158. </div>
  159. </el-form>
  160. </div>
  161. </template>
  162. <script>
  163. import SettingTitle from 'data-room-ui/SettingTitle/index.vue'
  164. import ColorPicker from 'data-room-ui/ColorPicker/index.vue'
  165. import BorderSetting from 'data-room-ui/BigScreenDesign/RightSetting/BorderSetting.vue'
  166. import PosWhSetting from 'data-room-ui/BigScreenDesign/RightSetting/PosWhSetting.vue'
  167. import RotateSetting from 'data-room-ui/BigScreenDesign/RightSetting/RotateSetting.vue'
  168. import {predefineColors} from "data-room-ui/js/utils/colorList";
  169. export default {
  170. name: 'BarSetting',
  171. components: {
  172. ColorPicker,
  173. PosWhSetting,
  174. SettingTitle,
  175. BorderSetting,
  176. RotateSetting
  177. },
  178. data () {
  179. return {
  180. // 预设主题色
  181. predefineThemeColors: predefineColors
  182. }
  183. },
  184. computed: {
  185. config: {
  186. get () {
  187. return this.$store.state.bigScreen.activeItemConfig
  188. },
  189. set (val) {
  190. this.$store.state.bigScreen.activeItemConfig = val
  191. }
  192. }
  193. },
  194. watch: {},
  195. mounted () {},
  196. methods: {}
  197. }
  198. </script>
  199. <style lang="scss" scoped>
  200. @import '../../assets/style/settingWrap.scss';
  201. .lc-field-body {
  202. padding: 12px 16px;
  203. }
  204. </style>