多租户商城-商户端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

184 lines
5.4 KiB

1 year ago
1 year ago
1 year ago
1 year ago
  1. <template>
  2. <div class="textTool">
  3. <h3 class="toolTit">类别设置</h3>
  4. <div class="operationBox">
  5. <div class="itemBox" v-if="false">
  6. <div class="Tit">文本大小</div>
  7. <div class="modifyBox fontSize">
  8. <font-size-select :fontSize.sync='activeComponent.componentContent.fontSizeNum'></font-size-select>
  9. </div>
  10. </div>
  11. <div class="itemBox" v-if="false">
  12. <div class="Tit">文本粗细</div>
  13. <div class="Info" v-text="activeComponent.componentContent.textFontW === 'bold' ? '加粗体' : '常规体'"></div>
  14. <div class="modifyBox fontSize">
  15. <span class="iconfont" :class="{textActive: activeComponent.componentContent.textFontW === 'bold'}" @click="changeFontW(type = 'bold')">&#xe649;</span>
  16. <span class="iconfont" :class="{textActive: activeComponent.componentContent.textFontW === 'normal'}" @click="changeFontW(type = 'normal')">&#xe8c2;</span>
  17. </div>
  18. </div>
  19. <div class="itemBox" v-if="false">
  20. <div class="Tit">文本颜色</div>
  21. <div class="Info">{{activeComponent.componentContent.titColor}}</div>
  22. <div class="modifyBox">
  23. <div class="colorBox">
  24. <span @click="resetColor">{{ $t('common.reset') }}</span>
  25. <div class="block">
  26. <el-color-picker v-model="activeComponent.componentContent.titColor"></el-color-picker>
  27. </div>
  28. </div>
  29. </div>
  30. </div>
  31. <div class="itemBox">
  32. <div class="Tit">第一项文本</div>
  33. <el-input class="item-input" v-model="activeComponent.componentContent.firstClassify" maxlength="8" :placeholder="$t('common.defaulthint')"></el-input>
  34. </div>
  35. <div class="itemBox">
  36. <div class="Tit">第一项搜索类型</div>
  37. <el-select v-model="activeComponent.componentContent.searchKey" :placeholder="$t('common.choose')">
  38. <el-option label="all" value="所有"></el-option>
  39. <el-option label="hot" value="热销"></el-option>
  40. </el-select>
  41. </div>
  42. </div>
  43. <div class="itemBox">
  44. <div class="Tit">是否显示具体商品</div>
  45. <el-radio-group v-model="activeComponent.componentContent.showProduct">
  46. <el-radio label="true"></el-radio>
  47. <el-radio label="false"></el-radio>
  48. </el-radio-group>
  49. </div>
  50. </div>
  51. </template>
  52. <script>
  53. import {toolMixin} from '@@/config/mixin'
  54. import FontSizeSelect from '../toolModule/font-size-select'
  55. import ToolSingleImg from "../toolModule/tool-single-img";
  56. export default {
  57. name: 'classifyTextTool',
  58. components: {ToolSingleImg, FontSizeSelect },
  59. mixins: [toolMixin],
  60. data () {
  61. return {
  62. }
  63. },
  64. computed: {
  65. },
  66. methods: {
  67. // 修改文本字体粗细
  68. changeFontW (type) {
  69. this.activeComponent.componentContent.textFontW = type
  70. },
  71. // 重置文本颜色
  72. resetColor () {
  73. this.activeComponent.componentContent.titColor = '#333333'
  74. }
  75. }
  76. }
  77. </script>
  78. <style lang="scss" scoped>
  79. .textTool {
  80. padding: 20px 20px 0 20px;
  81. h3 {
  82. font-size: 18px;
  83. font-weight: 500;
  84. height: 35px;
  85. line-height: 35px;
  86. color: #333333;
  87. margin-bottom: 20px;
  88. }
  89. .operationBox {
  90. margin-top: 30px;
  91. .itemBox {
  92. font-size: 14px;
  93. display: flex;
  94. margin-bottom: 20px;
  95. align-items: center;
  96. .Tit {
  97. color: #888888;
  98. margin-right: 10px;
  99. width: 70px;
  100. }
  101. .item-input{
  102. flex: 1;
  103. }
  104. .Info {
  105. color: #222222;
  106. }
  107. .modifyBox {
  108. text-align: right;
  109. margin-left: auto;
  110. span {
  111. height: 26px;
  112. line-height: 26px;
  113. float: left;
  114. display: block;
  115. text-align: center;
  116. cursor: pointer;
  117. width: 30px;
  118. border: 1px solid #E8EAEC;
  119. }
  120. /*span:last-child {*/
  121. /* border-right: 1px solid #E8EAEC;*/
  122. /*}*/
  123. .textActive {
  124. border: 1px solid $mainColor;
  125. color: $mainColor;
  126. }
  127. .colorBox {
  128. display: flex;
  129. align-items: center;
  130. justify-content: flex-end;
  131. span {
  132. margin-right: 10px;
  133. cursor: pointer;
  134. border: none;
  135. color: $mainColor;
  136. }
  137. }
  138. }
  139. .fontSize {
  140. span:nth-child(1) {
  141. font-size: 16px;
  142. }
  143. span:nth-child(2) {
  144. font-size: 14px;
  145. }
  146. span:nth-child(3) {
  147. font-size: 12px;
  148. }
  149. }
  150. }
  151. .moreBox{
  152. border: 1px solid #E8EAEC;
  153. border-radius: 4px;
  154. padding:20px 10px;
  155. .radio{
  156. margin-bottom: 20px;
  157. }
  158. .el-radio{
  159. margin-right: 10px;
  160. }
  161. .link{
  162. display: flex;
  163. justify-content: space-between;
  164. align-items: center;
  165. }
  166. }
  167. }
  168. .block {
  169. height: 30px;
  170. }
  171. ::v-deep .el-color-picker__trigger {
  172. width: 45px;
  173. height: 26px;
  174. }
  175. ::v-deep .el-icon-arrow-down:before {
  176. display: none;
  177. }
  178. }
  179. </style>