营销:适配商城装修组件【标题栏】
							parent
							
								
									062ede78a2
								
							
						
					
					
						commit
						f289b1ae83
					
				|  | @ -20,7 +20,7 @@ | ||||||
|     <!-- 图文组件:图片轮播 --> |     <!-- 图文组件:图片轮播 --> | ||||||
|     <s-image-banner v-if="type === 'Carousel'" :data="data" :styles="styles" /> |     <s-image-banner v-if="type === 'Carousel'" :data="data" :styles="styles" /> | ||||||
|     <!-- 基础组件:标题栏 --> |     <!-- 基础组件:标题栏 --> | ||||||
|     <s-title-block v-if="type === 'titleBlock'" :data="data" :styles="styles" /> |     <s-title-block v-if="type === 'TitleBar'" :data="data" :styles="styles" /> | ||||||
|     <!-- 图文组件:广告魔方 --> |     <!-- 图文组件:广告魔方 --> | ||||||
|     <s-image-cube v-if="type === 'MagicCube'" :data="data" :styles="styles" /> |     <s-image-cube v-if="type === 'MagicCube'" :data="data" :styles="styles" /> | ||||||
|     <!-- 图文组件:视频播放 --> |     <!-- 图文组件:视频播放 --> | ||||||
|  |  | ||||||
|  | @ -2,36 +2,29 @@ | ||||||
| <template> | <template> | ||||||
|   <view |   <view | ||||||
|     class="ss-title-wrap ss-flex ss-col-center" |     class="ss-title-wrap ss-flex ss-col-center" | ||||||
|     :class="[state.typeMap[data.location]]" |     :class="[state.typeMap[data.textAlign]]" | ||||||
|     :style="[elStyles]" |     :style="[elStyles]" | ||||||
|   > |   > | ||||||
|     <view class="title-content"> |     <view class="title-content"> | ||||||
|       <view v-if="data.title.text" class="title-text" :style="[titleStyles]">{{ |       <!-- 主标题 --> | ||||||
|         data.title.text |       <view v-if="data.title" class="title-text" :style="[titleStyles]">{{ data.title }}</view> | ||||||
|       }}</view> |       <!-- 副标题 --> | ||||||
|       <view v-if="data.subtitle.text" :style="[subtitleStyles]" class="sub-title-text"> |       <view v-if="data.description" :style="[descStyles]" class="sub-title-text">{{ data.description }}</view> | ||||||
|         {{ data.subtitle.text }} |  | ||||||
|     </view> |     </view> | ||||||
|     </view> |     <!-- 查看更多 --> | ||||||
|     <view v-if="data.more.show" class="more-box ss-flex ss-col-center" @tap="sheep.$router.go(data.more.url)"> |     <view v-if="data.more?.show" class="more-box ss-flex ss-col-center" @tap="sheep.$router.go(data.more.url)" | ||||||
|       <view class="more-text">查看更多</view> |           :style="{color: data.descriptionColor}"> | ||||||
|       <text class="_icon-forward"></text> |       <view class="more-text" v-if="data.more.type !== 'icon'">{{ data.more.text }} </view> | ||||||
|  |       <text class="_icon-forward" v-if="data.more.type !== 'text'"></text> | ||||||
|     </view> |     </view> | ||||||
|   </view> |   </view> | ||||||
| </template> | </template> | ||||||
| 
 | 
 | ||||||
| <script setup> | <script setup> | ||||||
|   /** |   /** | ||||||
|    * |  | ||||||
|    * 标题栏 |    * 标题栏 | ||||||
|    * |  | ||||||
|    * @property {String} title 				- 标题 |  | ||||||
|    * @property {String} subTitle 				- 副标题 |  | ||||||
|    * @property {Number} height 				- 高度 |  | ||||||
|    * @property {String} Type = [left | right | center | between]					- 样式 |  | ||||||
|    * |  | ||||||
|    */ |    */ | ||||||
|   import { computed, reactive } from 'vue'; |   import { reactive } from 'vue'; | ||||||
|   import sheep from '@/sheep'; |   import sheep from '@/sheep'; | ||||||
| 
 | 
 | ||||||
|   // 数据 |   // 数据 | ||||||
|  | @ -52,35 +45,28 @@ | ||||||
|       type: Object, |       type: Object, | ||||||
|       default() {}, |       default() {}, | ||||||
|     }, |     }, | ||||||
|     height: { |  | ||||||
|       type: Number, |  | ||||||
|       default: 100, |  | ||||||
|     }, |  | ||||||
|   }); |   }); | ||||||
| 
 | 
 | ||||||
|   // 组件样式 |   // 组件样式 | ||||||
|   const elStyles = { |   const elStyles = { | ||||||
|     background: `url(${sheep.$url.cdn(props.data.src)}) no-repeat top center / 100% auto`, |     background: `url(${sheep.$url.cdn(props.data.bgImgUrl)}) no-repeat top center / 100% auto`, | ||||||
|     height: props.styles.height + 'px', |     fontSize: `${props.data.titleSize}px`, | ||||||
|     fontStyle: props.data.title.other.includes('italic') ? 'italic' : 'normal', |     fontWeight: `${props.data.titleWeight}px`, | ||||||
|     fontWeight: props.data.title.other.includes('bold') ? 'bold' : '', |  | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   // 标题样式 |   // 标题样式 | ||||||
|   const titleStyles = { |   const titleStyles = { | ||||||
|     color: props.data.title.color, |     color: props.data.titleColor, | ||||||
|     fontSize: props.data.title.textFontSize + 'px', |     fontSize: `${props.data.titleSize}px`, | ||||||
|     textAlign: props.data.location, |     textAlign: props.data.textAlign | ||||||
|     marginLeft: props.data.skew + 'px', |  | ||||||
|   }; |   }; | ||||||
| 
 | 
 | ||||||
|   // 副标题 |   // 副标题 | ||||||
|   const subtitleStyles = { |   const descStyles = { | ||||||
|     color: props.data.subtitle.color, |     color: props.data.descriptionColor, | ||||||
|     fontSize: props.data.subtitle.textFontSize + 'px', |     textAlign: props.data.textAlign, | ||||||
|     textAlign: props.data.location, |     fontSize: `${props.data.descriptionSize}px`, | ||||||
|     fontStyle: props.data.subtitle.other.includes('italic') ? 'italic' : 'normal', |     fontWeight: `${props.data.descriptionWeight}px`, | ||||||
|     fontWeight: props.data.subtitle.other.includes('bold') ? 'bold' : '', |  | ||||||
|   }; |   }; | ||||||
| </script> | </script> | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	 owen
						owen