mirror of
				https://gitee.com/hhyykk/ipms-sjy.git
				synced 2025-11-04 12:18:42 +08:00 
			
		
		
		
	
		
			
	
	
		
			118 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
		
		
			
		
	
	
			118 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
| 
								 | 
							
								<template>
							 | 
						|||
| 
								 | 
							
									<view class="content">
							 | 
						|||
| 
								 | 
							
										<view class="mix-list-cell" :class="border" @click="onClick" hover-class="cell-hover"  :hover-stay-time="50">
							 | 
						|||
| 
								 | 
							
											<text
							 | 
						|||
| 
								 | 
							
												v-if="icon"
							 | 
						|||
| 
								 | 
							
												class="cell-icon mix-icon"
							 | 
						|||
| 
								 | 
							
												:style="[{
							 | 
						|||
| 
								 | 
							
													color: iconColor,
							 | 
						|||
| 
								 | 
							
												}]"
							 | 
						|||
| 
								 | 
							
												:class="icon"
							 | 
						|||
| 
								 | 
							
											></text>
							 | 
						|||
| 
								 | 
							
											<text class="cell-tit clamp">{{ title }}</text>
							 | 
						|||
| 
								 | 
							
											<text v-if="tips" class="cell-tip" :style="{color: tipsColor}">{{ tips }}</text>
							 | 
						|||
| 
								 | 
							
											<text class="cell-more mix-icon"
							 | 
						|||
| 
								 | 
							
												:class="typeList[navigateType]"
							 | 
						|||
| 
								 | 
							
											></text>
							 | 
						|||
| 
								 | 
							
										</view>
							 | 
						|||
| 
								 | 
							
									</view>
							 | 
						|||
| 
								 | 
							
								</template>
							 | 
						|||
| 
								 | 
							
								 
							 | 
						|||
| 
								 | 
							
								<script>
							 | 
						|||
| 
								 | 
							
									/**
							 | 
						|||
| 
								 | 
							
									 *  简单封装了下, 应用范围比较狭窄,可以在此基础上进行扩展使用
							 | 
						|||
| 
								 | 
							
									 *  比如加入image, iconSize可控等
							 | 
						|||
| 
								 | 
							
									 */
							 | 
						|||
| 
								 | 
							
									export default {
							 | 
						|||
| 
								 | 
							
										data() {
							 | 
						|||
| 
								 | 
							
											return {
							 | 
						|||
| 
								 | 
							
												typeList: {
							 | 
						|||
| 
								 | 
							
													left: 'icon-zuo',
							 | 
						|||
| 
								 | 
							
													right: 'icon-you',
							 | 
						|||
| 
								 | 
							
													up: 'icon-shang',
							 | 
						|||
| 
								 | 
							
													down: 'icon-xia'
							 | 
						|||
| 
								 | 
							
												},
							 | 
						|||
| 
								 | 
							
											}
							 | 
						|||
| 
								 | 
							
										},
							 | 
						|||
| 
								 | 
							
										props: {
							 | 
						|||
| 
								 | 
							
											icon: {
							 | 
						|||
| 
								 | 
							
												type: String,
							 | 
						|||
| 
								 | 
							
												default: ''
							 | 
						|||
| 
								 | 
							
											},
							 | 
						|||
| 
								 | 
							
											title: {
							 | 
						|||
| 
								 | 
							
												type: String,
							 | 
						|||
| 
								 | 
							
												default: '标题'
							 | 
						|||
| 
								 | 
							
											},
							 | 
						|||
| 
								 | 
							
											tips: {
							 | 
						|||
| 
								 | 
							
												type: String,
							 | 
						|||
| 
								 | 
							
												default: ''
							 | 
						|||
| 
								 | 
							
											},
							 | 
						|||
| 
								 | 
							
											tipsColor: {
							 | 
						|||
| 
								 | 
							
												type: String,
							 | 
						|||
| 
								 | 
							
												default: '#999'
							 | 
						|||
| 
								 | 
							
											},
							 | 
						|||
| 
								 | 
							
											navigateType: {
							 | 
						|||
| 
								 | 
							
												type: String,
							 | 
						|||
| 
								 | 
							
												default: 'right'
							 | 
						|||
| 
								 | 
							
											},
							 | 
						|||
| 
								 | 
							
											border: {
							 | 
						|||
| 
								 | 
							
												type: String,
							 | 
						|||
| 
								 | 
							
												default: 'b-b'
							 | 
						|||
| 
								 | 
							
											},
							 | 
						|||
| 
								 | 
							
											hoverClass: {
							 | 
						|||
| 
								 | 
							
												type: String,
							 | 
						|||
| 
								 | 
							
												default: 'cell-hover'
							 | 
						|||
| 
								 | 
							
											},
							 | 
						|||
| 
								 | 
							
											iconColor: {
							 | 
						|||
| 
								 | 
							
												type: String,
							 | 
						|||
| 
								 | 
							
												default: '#333'
							 | 
						|||
| 
								 | 
							
											}
							 | 
						|||
| 
								 | 
							
										},
							 | 
						|||
| 
								 | 
							
										methods: {
							 | 
						|||
| 
								 | 
							
											onClick(){
							 | 
						|||
| 
								 | 
							
												this.$emit('onClick');
							 | 
						|||
| 
								 | 
							
											}
							 | 
						|||
| 
								 | 
							
										},
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
								</script>
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								<style scoped lang='scss'>
							 | 
						|||
| 
								 | 
							
									.mix-list-cell{
							 | 
						|||
| 
								 | 
							
										display:flex;
							 | 
						|||
| 
								 | 
							
										align-items: center;
							 | 
						|||
| 
								 | 
							
										height: 96rpx;
							 | 
						|||
| 
								 | 
							
										padding: 0 24rpx;
							 | 
						|||
| 
								 | 
							
										position:relative;
							 | 
						|||
| 
								 | 
							
										
							 | 
						|||
| 
								 | 
							
										&.cell-hover{
							 | 
						|||
| 
								 | 
							
											background:#fafafa;
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
										&.b-b{
							 | 
						|||
| 
								 | 
							
											&:after{
							 | 
						|||
| 
								 | 
							
												left: 30rpx;
							 | 
						|||
| 
								 | 
							
												border-color: #f0f0f0;
							 | 
						|||
| 
								 | 
							
											}
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
										.cell-icon{
							 | 
						|||
| 
								 | 
							
											align-self: center;
							 | 
						|||
| 
								 | 
							
											width: 60rpx;
							 | 
						|||
| 
								 | 
							
											font-size: 38rpx;
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
										.cell-more{
							 | 
						|||
| 
								 | 
							
											align-self: center;
							 | 
						|||
| 
								 | 
							
											font-size: 24rpx;
							 | 
						|||
| 
								 | 
							
											color: #999;
							 | 
						|||
| 
								 | 
							
											margin-left: 16rpx;
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
										.cell-tit{
							 | 
						|||
| 
								 | 
							
											flex: 1;
							 | 
						|||
| 
								 | 
							
											font-size: 30rpx;
							 | 
						|||
| 
								 | 
							
											color: #333;
							 | 
						|||
| 
								 | 
							
											margin-right:10rpx;
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
										.cell-tip{
							 | 
						|||
| 
								 | 
							
											font-size: 26rpx;
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
								</style>
							 |