| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366 | <template>	<view class="item-user">		<image class="u-header" :src="headUrl || '../../static/icons/icon_placeheader@2x.png'" mode="aspectFit"></image>		<view class="u-center">			<view class="u-center-top">				<text class="u-name">{{name || '未知用户'}}</text>				<image class="u-gender" v-if="gender=='女'" src="../../static/icons/female.png" mode="aspectFit"></image>				<image class="u-gender" v-if="gender=='男'" src="../../static/icons/man.png" mode="aspectFit"></image>				<image class="u-terminal" :src="terminalFlag(terminal)" mode="aspectFit" v-if="isShowTerminal"></image>			</view>			<view style="display: flex;flex-direction: row;align-items: center;margin-top: 10rpx;" @click.stop='copyMobile(mobile)'>				<text class="u-mobile" >{{mobile}}</text>				<image src="../../static/icons/icon_copy.png" mode="" style="width: 18rpx;height: 18rpx; margin-left: 10rpx;"></image>			</view>					</view>		<view v-if="isLevelStyle">			<view v-if="typeNew!='none'">				<view class="u-right" v-if="typeNew=='type1'">					<view class="u-right-t" :style="{'background-color':bgColor}">						<text class="u-level" :style="{'color':textColor}">{{grade || '-'}}</text>						<text class="u-score" :style="{'background':'linear-gradient(110deg, transparent 9px, '+scoreBgColor+' 0)'}">{{score || 0}}</text>					</view>					<text class="u-score-title">AI等级/客户等级</text>				</view>				<view class="u-right" v-if="typeNew=='type2'">					<view class="u-right-t2" :style="{'background-color':bgColor}">						<text class="u-level" :style="{'color':textColor}">{{grade || '-'}}</text>					</view>					<text class="u-score-title">AI等级</text>				</view>				<view class="u-right" v-if="typeNew=='type3'">					<view class="u-right-t3" :style="{'background-color':scoreBgColor}">						<text class="u-score">{{score || '-'}}</text>					</view>					<text class="u-score-title">客户等级</text>				</view>							</view>		</view>				<view v-else>			<view class="u-right" v-if="type!='none'">				<view class="u-right-t" :style="{'background-color':bgColor}" v-if="type=='type1'">					<text class="u-level" :style="{'color':textColor}">{{grade || ' -'}}</text>					<text class="u-score" :style="{'background':'linear-gradient(110deg, transparent 18rpx, '+scoreBgColor+' 0)'}">{{score || 0}}</text>				</view>				<view class="u-right-t2" :style="{'background-color':bgColor}" v-if="type=='type2'">					<text class="u-level" :style="{'color':textColor}">{{grade || ' -'}}</text>				</view>				<view class="u-right-t3" :style="{'background-color':bgColor}" v-if="type=='type3'">					<text class="u-level" :style="{'color':textColor}">{{grade || ' -'}}</text>				</view>				<view class="u-right-t4" :style="{'background-color':themeColor}" v-if="type=='type4'">					{{type4Mark}}				</view>				<block v-if="type != 'type4'">					<text class="u-score-title">{{describe}}</text>				</block>			</view>		</view>			</view></template><script>	export default {		props: {			headUrl:String,			name: String,			mobile: String,			grade: {				type:[String,Number],				default:'-'			},			score:{				type:[String,Number],				default:'-'			},			terminal:{				type:[String,Number],				default:0			},			// none:没有			type: {				type: String,				default: 'type1' // type1 : 通用 type2:  只有A、B、C、D这样的 typy3: 纯文字的 			},			describe:{				type:String,				default:'AI等级/把控分'			},						bgColor:{ //整个标签的背景色				type:String,				default:"#FFF6E5"			},			textColor:{ //文字颜色,A,B,C,D 颜色				type:String,				default:"#FEC350"			},			scoreBgColor:{ //分数背景色				type:String,				default:"#FEC350"			},			isShowTerminal: {				type: Boolean,				default: false			},			isLevelStyle: {				type: Boolean,				default: true			},			type4Mark: {				type: String,				default: '多权益人'			},			gender: {				type: String,				default: ''			}		},		data() {			return {				themeColor:'',				themeColor25:'',				typeNew: "none"			}		},		mounted() {			let app = getApp();			this.globalData = app.globalData;			this.themeColor = this.globalData.themeColor;			this.themeColor25 = this.globalData.themeColor25;			this.fuzhuColor = this.globalData.fuzhuColor;			this.fuzhuColor50 = this.globalData.fuzhuColor50;			// console.log("主题色",this.themeColor)			this.judgeCurrentType();		},		computed:{					},        watch:{			grade:{				handler(newName, oldName) {				 this.judgeCurrentType();				},				immediate: true			},			score:{				handler(newName, oldName) {				    this.judgeCurrentType();				},              immediate: true			}		},		methods: {			judgeCurrentType(){				if (this.grade && this.score) {					if (this.grade != '-' && this.score != '-') {						this.typeNew = "type1";					} else if (this.grade != '-') {						this.typeNew = "type2";					} else if (this.score != '-') {						this.typeNew = "type3";					} else {						this.typeNew = "none";					}								} else {					if (this.grade && this.grade!= '-') {						this.typeNew = "type2";					} else if (this.score && this.score != '-') {						this.typeNew = "type3";					} else {						this.typeNew = "none";					}				}				},			terminalFlag(){				// 平台 1:微信,2:抖音,3:百度,4:头条,5:支付宝,6:QQ小程序,7:其他				if (this.terminal == 1){					return '../../static/platforms/platform_weixin.png'				}else if(this.terminal == 2){					return '../../static/platforms/platform_douyin.png'				}else if(this.terminal == 3){					return '../../static/platforms/platform_baidu.png'				}else if(this.terminal == 4){					return '../../static/platforms/platform_toutiao.png'				}else if(this.terminal == 5){					return '../../static/platforms/platform_zhifubao.png'				}else if(this.terminal == 6){					return '../../static/platforms/platform_QQ.png'				}else if(this.terminal == 7){					return '../../static/platforms/platform_qita.png'				}			},			copyMobile(mobile){				uni.setClipboardData({					data: mobile,					success: () => {						uni.showToast({							icon:'none',							title: '已复制手机号码到粘贴板'						})					}				})			}		},	}</script><style scoped lang="scss">	.item-user{		display: flex;		width: 100%;		padding: 0 30rpx;		box-sizing: border-box;		.u-header{			margin-top: 40rpx;			width: 72rpx;			height: 72rpx;			border-radius: 36rpx;		}		.u-center{			margin-left: 18rpx;			display: flex;			flex-direction: column;			flex: 1;			.u-center-top{				margin-top: 38rpx;				display: flex;				align-items: center;				.u-name{					font-size: 28rpx;					font-family: Verdana, 'Verdana-Bold';					font-weight: 700;					text-align: left;					line-height: 40rpx;					color: #666666;				}				.u-gender {					width: 33rpx;					height: 33rpx;					margin-left: 8rpx;				}				.u-terminal{					margin-left: 10rpx;					height: 40rpx;					width: 50px;				}			}			.u-mobile{				line-height: 30rpx;				font-size: 24rpx;				font-family: Verdana, 'Verdana-Regular';				font-weight: 400;				text-align: left;				color: #666666;			}		}		.u-right{			margin-top: 30rpx;			margin-left: 28rpx;			display: flex;			flex-direction: column;			align-items: flex-end;			.u-right-t{				width: 152rpx;				height: 50rpx;				border-radius: 8rpx;				display: flex;				.u-level{					flex: 1;					padding-left: 18rpx;					line-height: 50rpx;					font-size: 48rpx;					font-family: 'DIN Alternate', 'DIN Alternate-Bold';					font-weight: 700;				}				.u-score{					width: 95rpx;					height: 50rpx;					padding-left: 15rpx;					text-align: center;					line-height: 50rpx;					font-size: 48rpx;					font-family: 'DIN Alternate', 'DIN Alternate-Bold';					font-weight: 700;					color: #fff;					border-radius: 0rpx 8rpx 8rpx 0rpx;					box-sizing: border-box;				}			}						.u-right-t2{				width: 80rpx;				height: 50rpx;				border-radius: 8rpx;				display: flex;					.u-level{					width: 80rpx;					line-height: 50rpx;					font-size: 48rpx;					font-family: 'DIN Alternate', 'DIN Alternate-Bold';					font-weight: 700;					text-align: center;				}			}						.u-right-t3{								height: 50rpx;				border-radius: 8rpx;				display: flex;				.u-level{					padding-left: 10rpx;					padding-right: 10rpx;					line-height: 50rpx;					font-size: 28rpx;					font-family: Verdana, Verdana-Bold;					font-weight: 700;					text-align: center;				}								.u-score {					width: 95rpx;					height: 50rpx;					text-align: center;					line-height: 50rpx;					font-size: 48rpx;					font-family: 'DIN Alternate', 'DIN Alternate-Bold';					font-weight: 700;					color: #fff;					border-radius: 0rpx 8rpx 8rpx 0rpx;					box-sizing: border-box;				}			}						.u-right-t4 {				margin-top: 20rpx;				height: 50rpx;				padding: 0 12rpx;				box-sizing: border-box;				font-size: 28rpx;				font-family: DIN Alternate, DIN Alternate-Bold;				font-weight: 700;				text-align: center;				color: #ffffff;				line-height: 50rpx;				border-radius: 8rpx;			}						.u-score-title{				margin-top: 4rpx;				font-size: 20rpx;				font-family: Verdana, Verdana-Regular;				font-weight: 400;				text-align: right;				color: #999999;			}		}	}	</style>
 |