index.vue 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. <template>
  2. <div class="bs-setting-wrap">
  3. <div class="padding-box">
  4. <el-form-item
  5. label="上边距"
  6. label-width="120px"
  7. >
  8. <el-input-number
  9. v-model.number="paddingValue[0]"
  10. class="bs-el-input-number input-top input-item"
  11. size="mini"
  12. :min="0"
  13. :step="1"
  14. @change="paddingChange"
  15. />
  16. </el-form-item>
  17. <el-form-item
  18. label="下边距"
  19. label-width="120px"
  20. >
  21. <el-input-number
  22. v-model.number="paddingValue[2]"
  23. class="bs-el-input-number input-bottom input-item"
  24. size="mini"
  25. :min="0"
  26. :step="1"
  27. @change="paddingChange"
  28. />
  29. </el-form-item>
  30. <el-form-item
  31. label="左边距"
  32. label-width="120px"
  33. >
  34. <el-input-number
  35. v-model.number="paddingValue[3]"
  36. class="bs-el-input-number input-left input-item"
  37. size="mini"
  38. :min="0"
  39. :step="1"
  40. @change="paddingChange"
  41. />
  42. </el-form-item>
  43. <el-form-item
  44. label="右边距"
  45. label-width="120px"
  46. >
  47. <el-input-number
  48. v-model.number="paddingValue[1]"
  49. class="bs-el-input-number input-right input-item"
  50. size="mini"
  51. :min="0"
  52. :step="1"
  53. @change="paddingChange"
  54. />
  55. </el-form-item>
  56. </div>
  57. </div>
  58. </template>
  59. <script>
  60. export default {
  61. name: 'PaddingSetting',
  62. model: {
  63. prop: 'padding',
  64. event: 'input'
  65. },
  66. props: {
  67. padding: {
  68. type: Array,
  69. default: () => []
  70. }
  71. },
  72. data () {
  73. return {
  74. position: 0
  75. }
  76. },
  77. computed: {
  78. paddingValue () {
  79. return this.padding
  80. }
  81. },
  82. methods: {
  83. paddingChange () {
  84. this.$emit('input', this.paddingValue)
  85. }
  86. }
  87. }
  88. </script>
  89. <style lang="scss" scoped>
  90. .bs-padding-setting{
  91. .padding-box{
  92. width: 160px;
  93. height: 190px;
  94. position: relative;
  95. }
  96. .padding-center{
  97. position: absolute;
  98. top: 50%;
  99. left: 50%;
  100. transform: translate(-50%,-50%);
  101. width: 30%;
  102. height: 30%;
  103. background-color: var(--bs-background-1);
  104. }
  105. }
  106. </style>