<template>
	<view class="">
		<!-- 水印 -->
		<view v-if="$isVip()">
			<watermark dark="light" source="uni_alipay_other_call" />
			<liu-drag-button :canDocking="false" @clickBtn="$goRechargePage('watermark', 'uni_alipay_other_call')">
				<image src='/static/lottie/watermark.gif' mode="widthFix" style="width:94px;height:74px;" ></image>
			</liu-drag-button>
		</view>
		<view class="ios" v-if="data.type=='ios'">
			<view  :style="{height:(data.info.avatar?519:325)+'px' }">
				
			</view>
			<view class="rectangle_22292"   style="position: fixed;left:0;top:0;overflow: hidden;"
				:style="{background:(data.info.avatar&&data.headerHeight!='206'?`rgba(0,0,0,0)`:'linear-gradient(180deg, #bdbec3 0%, #a0a2af 100%)')
				, height:data.headerHeight+'px'}">
				<view v-if="data.info.avatar" style="height:400rpx;"></view>
				<image v-if="data.info.avatar&&data.headerHeight!='206'" :src="data.info.avatar" mode="aspectFill" 
					style="width:100%;position: absolute;bottom: 0;left: 0;z-index:0;" :style="{height:data.headerHeight+'px'}"></image>
				<view class="status" :style="{height:$systemInfo.statusBarHeight+'px'}"> </view>
				<view class="flexcontainer"  @click="openEditModalDetail()">
					<image @click.stop="back()" class="group_48089" src="/static/image/call/detail/iosBack.png" :style="{position: 'fixed',
					'top': $systemInfo.statusBarHeight*2+22+'rpx', left: '26rpx'}" />
					<view class="ios-edit" :style="{position: 'fixed', 'top': $systemInfo.statusBarHeight*2+22+'rpx', right: '26rpx',opacity:1-data.scale}">编辑</view>
					<view class="text-avatar" v-if="data.info.name && data.info.avatarType === 'text'"
						:style="{opacity:data.info.avatar?0:1,transform: `scale(${data.avatarScale}) translateY(${data.avatarY}px)`}">
						{{data.info.name.substring(0,1)}}
					</view>
					<image v-else class="group_47577" :src="data.info.avatar||'/static/image/call/iosAvatar.png'"
						:style="{opacity:data.info.avatar?(data.headerHeight=='206'?1:0):1,transform: `scale(${data.avatarScale}) translateY(${data.avatarY}px)`}" />
				</view>
				<text class="text_1" v-if="!data.info.avatar"  :style="{opacity:data.scale}"> {{data.info.address}} </text>
				<text class="text_2" :style="{transform: `scale(${data.textScale}) translateY(${data.text2Y}px)`}">{{data.info.name||formatString(data.info.phone)}} </text>

				<view class="flexcontainer_1" :style="{transform: `translateY(${data.contentY}px)`}">
					<view class="group_48123" :style="{'background-color': `rgba(128,131,146,${data.info.avatar?0.5:1})`}">
						<image class="group_13792" src="/static/image/call/detail/iosIcon1.png" />
						<text class="text_3"> 信息 </text>
					</view>
					<view class="group_48124" :style="{'background-color': `rgba(128,131,146,${data.info.avatar?0.5:1})`}">
						<image class="group_13792_1" src="/static/image/call/detail/iosIcon2.png" />
						<text class="text_4"> 呼叫 </text>
					</view>
					<view class="group_48125" :style="{'background-color': `rgba(128,131,146,${data.info.avatar?0.5:1})`}">
						<image class="group_13792_2" src="/static/image/call/detail/iosIcon3.png" />
						<text class="text_5"> 视频 </text>
					</view>
					<view class="group_48126" :style="{'background-color': `rgba(128,131,146,${data.info.avatar?0.5:1})`}">
						<image class="group_13792_3" src="/static/image/call/detail/iosIcon4.png" />
						<text class="text_6"> 邮件 </text>
					</view>
				</view>
			</view>
			<view class="rectangle_22291">
				<view class="group_48128" @click="openEditModal()">
					<view class="group_48127">
						<text class="text_7"> {{formatTime(data.list[0].start_time)[0]}} </text>
						<template v-for="(item,index) in data.list" :key="index">
							<text class="text_8"> {{formatTime(item.start_time)[1]}}
								{{['去电','去电','去电','未接来电','来电','来电'][item.status]}} </text>
							<text class="text_9" v-if="item.start_number||Number(item.start_number)"> {{item.start_number}}秒钟 </text>
						</template>
						<br />
					</view>
				</view>
				<view class="infoBox" v-if="data.info.name">
					<view class="text-avatar2" v-if="data.info.name && data.info.avatarType === 'text'">
						{{data.info.name.substring(0,1)}}
					</view>
					<image v-else class="group_475772" :src="data.info.avatar||'/static/image/call/iosAvatar.png'" />
					<text class="dec">联系人照片与海报</text>
				</view>
				<view class="infoBox2" v-if="data.info.name">
					<view class="title">
						手机
					</view>
					<view class="dec">
						{{formatString(data.info.phone)}}
					</view>
				</view>
				<view class="infoBox2" v-if="data.info.name&&data.info.notes">
					<view class="title">
						备注
					</view>
					<view class="dec2">
						{{data.info.notes}}
					</view>
				</view>
				<view class="group_48131">
					<view class="text_10"> 共享联系人 </view>
					<view class="view_404"></view>
					<view class="text_11"> 新建联系人 </view>
					<view class="view_404"></view>
					<view class="text_12"> 添加到现有联系人 </view>
				</view>
				<view class="group_48130">
					<text class="text_13"> 添加到紧急联系人 </text>
				</view>
				<view class="group_48129">
					<text class="text_14"> 屏蔽来电号码 </text>
				</view>
			</view>
			<view style="height: 100rpx;">

			</view>
			<tabbar type2='ios'/>
		</view>
		<view class="xiaomi" v-else-if="data.type=='xiaomi'" style="padding-bottom: 30px;">
			<view class="container"  :style="{'padding-bottom':$store.state.safeBottomAz+'px'}">
				<view class="status" :style="{height:$systemInfo.statusBarHeight+'px'}"> </view>
				<view class="header"  @click="openEditModalDetail()">
					<image @click.stop="back()" class="back-icon" src="/static/image/call/detail/xiaomiBack.png" :style="{position: 'fixed',
					'top': $systemInfo.statusBarHeight*2+20+'rpx', left: '26rpx'}" />
				</view>
				<view class="avatar">
					<image :src="data.info.avatar||'/static/image/call/detail/xiaomiAvatar.png'" />
				</view>

				<text class="title">{{data.info.name||'陌生联系人'}}</text>
				<!-- 联系人卡片 -->
				<view class="info-card">
					<view class="top-row">
						<view class="phone-info">
							<text class="phone">{{formatString(data.info.phone)}}</text>
							<text class="location">{{data.info.address}} {{data.info.yys}}</text>
						</view>
						<image class="action-icon" src="/static/image/call/detail/xiaomiIcon1.png" />
						<image class="action-icon ml13" src="/static/image/call/detail/xiaomiIcon2.png" />
					</view>
					<view class="video-row">
						<text class="video-text">视频通话</text>
						<image class="video-icon" src="/static/image/call/detail/xiaomiIcon3.png" />
					</view>
					<view class="menu-item">新建</view>
					<view class="menu-item">添加到联系人</view>
					<view class="menu-item">标记</view>
				</view>
				<!-- 通话记录 -->
				<view class="record-section" @click="openEditModal()">
					<text class="section-title">通话记录</text>
					<view class="record-card">
						<view class="record-top">
							<view class="record-info">
								<text class="record-time">{{formatChatTime(data.list[0].start_time)}}</text>
								<view class="ring-row">
									<image class="ring-icon" :src="`/static/image/call/detail/xiaomiIcon${data.list[0].kj?5:4}.png`" />
									<text class="ring-text">响铃{{data.list[0].start_number||0}}声</text>
								</view>
							</view>
							<view class="arrow-wrap">
								<image class="arrow-icon" src="/static/image/call/detail/xiaomiIconback.png" />
							</view>
						</view>
						<view class="more-text">更多通话记录</view>
					</view>
				</view>
				<!-- 黑名单 -->
				<view class="black-card">
					<text class="black-text">加入黑名单</text>
				</view>
			</view>
		</view>
		<view class="oppo" v-else-if="data.type=='oppo'">
			<view class="group_47573"  >
				<view class="status" :style="{height:$systemInfo.statusBarHeight+'px'}"> </view>
				<view class="rectangle_22291">
					<!-- 顶部 -->
					<view class="group_45764"  @click="openEditModalDetail()">
						<view class="flexcontainer">
							<view class="group_8">
								<image class="group_13815" @click.stop="back()" src="/static/image/call/detail/oppoBack.png" :style="{position: 'fixed',
					'top': $systemInfo.statusBarHeight*2+20+'rpx', left: '26rpx'}" />
							</view>
							<view class="group_7"></view>
							<view class="group_9">
								<view class="rectangle_18503"></view>
							</view>
						</view>
					</view>
					<!-- 头像 -->
					<image class="group_47650" :src="data.info.avatar||'/static/image/call/detail/oppoAvatar.png'"
						mode="aspectFill" />
					<view class="text_1">{{data.info.name||data.info.phone}}</view>
					<!-- 功能按钮 -->
					<view class="flexcontainer_1">
						<view class="action-card">
							<image class="action-icon" src="/static/image/call/detail/oppoIcon1.png" />
							<text>拨号</text>
						</view>
						<view class="action-card">
							<image class="action-icon" src="/static/image/call/detail/oppoIcon2.png" />
							<text>短信</text>
						</view>
						<view class="action-card">
							<image class="action-icon" src="/static/image/call/detail/oppoIcon3.png" />
							<text>视频通话</text>
						</view>
					</view>
					<!-- 标题 -->
					<view class="flexcontainer_2">
						<text class="text_5">通话记录</text>
						<text class="text_6">查看全部</text>
					</view>
					<!-- 通话记录 -->
					<view class="group_48093" @click="openEditModal()">
						<view class="rectangle_23161">
							<view class="call-item " v-for="(item,index) in data.list" :key="index" :class="{'no-border':data.list.length-1==index}">
								<view class="call-top">
									<image class="small-icon"
										:src="`/static/image/call/detail/oppo${['WJ','BC','GD','LD','LD','LD'][item.status]}.png`" />
									<text class="call-time">{{formatChatTime(item.start_time)}}</text>
								</view>
								<view class="call-bottom">
									<image class="status-icon" :src="`/static/image/call/detail/oppo${['K1','K2'][item.kj]}.png`" />
									<text class="call-desc">{{formatString(data.info.phone)}}
										{{['未接','挂断 响铃','挂断','未接 响铃','挂断 响铃','来电'][item.status]}} {{item.start_number||0}} 秒</text>
								</view>
								<view class="line"></view>
							</view>
						</view>
					</view>
					<view class="group_48095">
						<view class="rectangle_23167">
							<view class="group_13964_1">
								<view class="rectangle_23160_3">
									<view class="flexcontainer_9">
										<image class="group_13792_3" src="/static/image/call/detail/oppoIcon4.png" /><text class="text_15">
											{{formatString(data.info.phone)}} </text>
									</view>
									<view class="flexcontainer_10">
										<view class="rectangle_23163"></view>
										<text class="text_16"> 手机 | {{data.info.address}} {{data.info.yys}}</text>
									</view>
									<view class="div_393_2"></view>
								</view>
							</view>
							<view class="group_13965_1">
								<view class="rectangle_23160_4">
									<view class="flexcontainer_11">
										<image class="group_13792_4" src="/static/image/call/detail/oppoIcon5.png" /><text class="text_18">
											跟随系统 </text>
									</view>
									<text class="text_19"> 来电铃声 </text>
								</view>
							</view>
						</view>
					</view>
				</view>
			</view>
			<view class="flexcontainer_12"  :style="{'padding-bottom':$store.state.safeBottomAz+'px'}">
				<view class="group_48097">
					<image class="group_13967" src="/static/image/call/detail/oppoIcon6.png" /><text class="text_20"> 收藏 </text>
				</view>
				<view class="group_48098">
					<image class="group_13967_1" src="/static/image/call/detail/oppoIcon7.png" /><text class="text_21"> 编辑 </text>
				</view>
				<view class="group_48099">
					<image class="group_13967_2" src="/static/image/call/detail/oppoIcon8.png" /><text class="text_22"> 分享 </text>
				</view>
				<view class="group_48100">
					<image class="group_13967_3" src="/static/image/call/detail/oppoIcon9.png" /><text class="text_23"> 更多 </text>
				</view>
			</view>
		</view>
		<view class="vivo" v-else-if="data.type=='vivo'">
			<view class="status" :style="{height:$systemInfo.statusBarHeight+'px'}"> </view>
			<view class="group_8"  @click="openEditModalDetail()">
				<image class="group_13815" @click.stop="back()" src="/static/image/call/detail/vivoBack.png" :style="{position: 'fixed',
					'top': $systemInfo.statusBarHeight*2+20+'rpx', left: '44rpx'}" />
			</view>
			<view class="div_397"></view>
			<image class="group_47650" :src="data.info.avatar||'/static/image/call/detail/vivoAvatar.png'" />
			<text class="text_1">{{data.info.name||data.info.notes}}</text>
			<view class="flexcontainer">
				<view class="group_48112">
					<view class="group_48111">
						<image class="group_13792" src="/static/image/call/detail/vivoIcon1.png" />
					</view>
					<text class="text_2">呼叫</text>
				</view>
				<view class="group_48113">
					<view class="group_48111_1">
						<image class="group_13792_1" src="/static/image/call/detail/vivoIcon2.png" />
					</view>
					<text class="text_3">视频电话</text>
				</view>
				<view class="group_48114">
					<view class="group_48111_2">
						<image class="group_13792_2" src="/static/image/call/detail/vivoIcon3.png" />
					</view>
					<text class="text_4">视频电话</text>
				</view>
			</view>
			<view class="div_398"></view>
			<text class="text_5">通话记录</text>
			<view class="group_48115" @click="openEditModal()" v-for="(item,index) in data.list" :key="index">
				<text class="text_6">{{['未接','播出','挂断','来电','来电','来电'][item.status]}} 响铃 {{item.start_number||0}} 秒</text>
				<text class="text_7">{{formatChatTime(item.start_time)}}</text>
			</view>
		</view>
		<view class="huawei" v-else style="padding-bottom: 30px;">
			<view class="status" :style="{width:'100%',height:$systemInfo.statusBarHeight+70+'px'}"> </view>
			<view class="flexcontainer" :style="{position: 'fixed',
					'top': '0', left: '0','padding-top':$systemInfo.statusBarHeight+'px'}"  @click="openEditModalDetail()">
				<image class="group_47675" mode="aspectFill" @click.stop="back()" src="/static/image/call/detail/huaweiBack.png" />
				<view class="flexcontainer_1">
					<image class="group_47667" mode="aspectFill" src="/static/image/call/detail/huaweiIcon1.png" />
					<image class="group_47619" mode="aspectFill" src="/static/image/call/detail/huaweiIcon2.png" />
				</view>
			</view>
			<view class="group_47650">
				<image :src="data.info.avatar||'/static/image/call/detail/huaweiAvatar.png'" />
			</view>
			<view class="text_1">{{data.info.name||formatString(data.info.phone)}}</view>
			<view class="flexcontainer_2">
				<image class="group_48111" mode="aspectFill" src="/static/image/call/detail/huaweiIcon3.png" />
				<image class="group_48112" mode="aspectFill" src="/static/image/call/detail/huaweiIcon4.png" />
				<image class="group_48113" mode="aspectFill" src="/static/image/call/detail/huaweiIcon5.png" />
			</view>
			<view class="group_48118">
				<view class="rectangle_23184">
					<text class="text_2">{{formatString(data.info.phone)}}</text>
					<text class="text_3">{{data.info.address}}</text>
				</view>
			</view>
			<view class="flexcontainer_3">
				<text class="text_4">通话记录</text>
				<image class="group_13972" mode="aspectFill" src="/static/image/call/detail/huaweiIcon6.png" />
			</view>
			<view class="group_48119"  :style="{'padding-bottom':$store.state.safeBottomAz+'px'}">
				<view class="rectangle_23184_1" @click="openEditModal()">
					<!-- 第一条 -->
					<view class="group_13973" v-for="(item,index) in data.list" :key="index">
						<view class="rectangle_23187">
							<view class="flexcontainer_4">
								<view class="flexcontainer_5">
									<text class="text_5">{{formatChatTime(item.start_time)}}</text>
									<view class="flexcontainer_6">
										<image class="group_13798" mode="aspectFill" src="/static/image/call/detail/huaweiIcon9.png" />
										<image class="group_47607" mode="aspectFill"
											:src="`/static/image/call/detail/huaweiIcon${item.kj?8:7}.png`" />
										<text class="text_6">{{formatString(data.info.phone)}}</text>
									</view>
								</view>
								<text class="text_7">{{getTimeDiff(item.start_time,item.end_time)}}</text>
							</view>
						</view>
					</view>
					<view class="div_399"></view>
				</view>
			</view>
		</view>

		<!-- 数据管理弹窗 -->
		<uni-popup ref="recordPopup" type="bottom">
			<view class="popup-box">
				<view class="content-wrap">
					<view class="item" v-for="(item,index) in tempList" :key="index">
						<view class="popup-box-item">
							状态：<!-- 状态 -->
							<picker :value="item.status" :range="statusOptions"
								@change="(e)=>{tempList[index].status=e.detail.value}">
								<view class="picker">
									状态：{{statusOptions[item.status]}}
								</view>
							</picker>
						</view>
						<view class="popup-box-item">
							响铃秒数：<!-- 响铃秒数 -->
							<input v-model="tempList[index].start_number" type="number" placeholder="响铃秒数(ios为0不显示)" />
						</view>
						<view class="popup-box-item">
							开始时间：<!-- 开始时间 -->
							<view class="time-picker" @click="openTimePicker(index, 0)">
								{{item.start_time || '请选择开始时间'}}
							</view>
						</view>
						<view class="popup-box-item">
							结束时间：<!-- 结束时间 -->
							<view class="time-picker" @click="openTimePicker(index, 1)">
								{{item.end_time || '请选择结束时间'}}
							</view>
						</view>
						<view class="popup-box-item">
							卡几：<!-- 卡几 -->
							<picker :value="item.kj" :range="['卡1','卡2']" @change="(e)=>{tempList[index].kj=e.detail.value}">
								<view class="picker">
									{{item.kj==0?'卡1':'卡2'}}
								</view>
							</picker>
						</view>
						<!-- 删除 -->
						<view class="delete" @click="tempList.splice(index,1)">
							删除
						</view>
					</view>
					<!-- 新增 -->
					<view class="add" v-if="tempList.length<3" @click="addTempItem">
						+ 新增记录
					</view>
				</view>
				<!-- 保存按钮 -->
				<view class="save-btn-wrap">
					<view class="save-btn" @click="saveChanges">
						保存
					</view>
				</view>
			</view>
		</uni-popup>

		<!-- 时间选择弹窗 -->
		<uni-popup ref="timePickerPopup" type="bottom">
			<view class="time-picker-box">
				<view class="time-picker-header">
					<view class="time-picker-cancel" @click="closeTimePicker">取消</view>
					<view class="time-picker-title">选择时间</view>
					<view class="time-picker-confirm" @click="confirmTime">确定</view>
				</view>
				<DateTimePicker :defaultDate="currentTimeValue" :mode="4" @onChange="onTimeChange" />
			</view>
		</uni-popup>

		<!-- 编辑弹窗 -->
		<view class="modal-mask" v-if="showEditModal">
			<view class="modal-content" @click.stop>
				<view class="modal-header">
					<text class="modal-title">编辑通话记录</text>
				</view>
				<view class="modal-body">
					<view class="form-item">
						<text class="form-label">姓名</text>
						<input class="form-input" v-model="editForm.name" placeholder="请输入姓名" />
					</view>
					<view class="form-item">
						<text class="form-label">电话</text>
						<input class="form-input" v-model="editForm.phone" placeholder="请输入电话" />
					</view>
					<view class="form-item">
						<text class="form-label">备注</text>
						<input class="form-input" v-model="editForm.notes" placeholder="请输入备注（骚扰电话）" />
					</view>
					<view class="form-item">
						<text class="form-label">运营商</text>
						<uni-data-select class="form-select" v-model="editForm.yys" :localdata="yysOptions" @change="onYysChange"
							:clear="false"></uni-data-select>
					</view>
					<view class="form-item">
						<text class="form-label">地址</text>
						<input class="form-input" v-model="editForm.address" placeholder="请输入地址" />
					</view>
					<view class="form-item">
						<text class="form-label">时间</text>
						<view class="form-input form-input-time" @click="setTimeType">
							{{ editForm.time }}
						</view>
					</view>
					<view class="form-item">
						<text class="form-label">卡几</text>
						<uni-data-select class="form-select" v-model="editForm.kj" :localdata="kjOptions" @change="onKjChange"
							:clear="false"></uni-data-select>
					</view>
					<view class="form-item">
						<text class="form-label">状态</text>
						<uni-data-select class="form-select" v-model="editForm.status" :localdata="editStatusOptions"
							@change="onStatusChange" :clear="false"></uni-data-select>
					</view>
					<view class="form-item">
						<text class="form-label">电话备注</text>
						<input class="form-input" v-model="editForm.phoneNotes" placeholder="请输入电话备注" />
					</view>
					<view class="form-item">
						<text class="form-label">头像类型</text>
						<uni-data-select class="form-select" v-model="editForm.avatarType" :localdata="avatarTypeOptions"
							@change="onAvatarTypeChange" :clear="false"></uni-data-select>
					</view>
					<view class="form-item">
						<text class="form-label">头像</text>
						<view class="form-avatar-container">
							<view v-if="editForm.avatarType === 'image'" class="form-avatar" @click="choose()">
								<image :src="editForm.avatar||'/static/image/call/iosAvatar.png'" mode=""></image>
							</view>
							<view v-else-if="editForm.avatarType === 'text'" class="form-text-avatar">
								{{ editForm.name ? getAvatarText(editForm.name) : '请输入姓名' }}
							</view>
							<view v-if="editForm.avatar" class="avatar-clear" @click="clearAvatar">清除</view>
						</view>
					</view>
				</view>
				<view class="modal-footer">
					<view class="btn btn-cancel" @click="closeEditModal">取消</view>
					<view class="btn btn-confirm" @click="saveEdit">保存</view>
				</view>
			</view>

			<uni-popup ref="editTimePopup" type="bottom">
				<view class="timeBox">
					<view class="titleBox">
						<view class="title"></view>
						<view class="btns" @click="settmes">确定</view>
					</view>
					<DateTimePicker :defaultDate="editData.startDate" :mode="4" @onChange="onChangeStartDate" />
				</view>
			</uni-popup>
		</view>

		<!-- 添加联系人弹窗 -->
		<view class="modal-mask" v-if="showAddModal">
			<view class="modal-content" @click.stop>
				<view class="modal-header">
					<text class="modal-title">添加联系人</text>
				</view>
				<view class="modal-body">
					<view class="form-item">
						<text class="form-label">姓名</text>
						<input class="form-input" v-model="addForm.name" placeholder="请输入姓名" />
					</view>
					<view class="form-item">
						<text class="form-label">电话 <text>*</text></text>
						<input class="form-input" v-model="addForm.phone" placeholder="请输入电话" />
					</view>
					<view class="form-item">
						<text class="form-label">运营商 <text>*</text></text>
						<uni-data-select class="form-select" v-model="addForm.yys" :localdata="yysOptions" @change="onAddYysChange"
							:clear="false"></uni-data-select>
					</view>
					<view class="form-item">
						<text class="form-label">时间 <text>*</text></text>
						<view class="form-input form-input-time" @click="setAddTimeType">
							{{ addForm.time }}
						</view>
					</view>
					<view class="form-item">
						<text class="form-label">状态 <text>*</text></text>
						<uni-data-select class="form-select" v-model="addForm.status" :localdata="editStatusOptions"
							@change="onAddStatusChange" :clear="false"></uni-data-select>
					</view>
					<view class="form-item">
						<text class="form-label">卡几</text>
						<uni-data-select class="form-select" v-model="addForm.kj" :localdata="kjOptions" @change="onAddKjChange"
							:clear="false"></uni-data-select>
					</view>
					<view class="form-item">
						<text class="form-label">地址</text>
						<input class="form-input" v-model="addForm.address" placeholder="请输入地址" />
					</view>
					<view class="form-item">
						<text class="form-label">备注</text>
						<input class="form-input" v-model="addForm.notes" placeholder="请输入备注" />
					</view>
					<view class="form-item">
						<text class="form-label">电话备注</text>
						<input class="form-input" v-model="addForm.phoneNotes" placeholder="请输入电话备注" />
					</view>
					<view class="form-item">
						<text class="form-label">头像类型</text>
						<uni-data-select class="form-select" v-model="addForm.avatarType" :localdata="avatarTypeOptions"
							@change="onAddAvatarTypeChange" :clear="false"></uni-data-select>
					</view>
					<view class="form-item">
						<text class="form-label">头像</text>
						<view class="form-avatar-container">
							<view v-if="addForm.avatarType === 'image'" class="form-avatar" @click="choose()">
								<image :src="addForm.avatar||'/static/image/call/iosAvatar.png'" mode=""></image>
							</view>
							<view v-else-if="addForm.avatarType === 'text'" class="form-text-avatar">
								{{ addForm.name ? getAvatarText(addForm.name) : '请输入姓名' }}
							</view>
							<view v-if="addForm.avatar" class="avatar-clear" @click="clearAvatar">清除</view>
						</view>
					</view>
				</view>
				<view class="modal-footer">
					<view class="btn btn-cancel" @click="closeAddModal">取消</view>
					<view class="btn btn-confirm" @click="saveAdd">保存</view>
				</view>
			</view>
		</view>
	</view>
</template>
<script setup>
	import tabbar from "@/components/call-log/tabbar/tabbar.vue"
	import DateTimePicker from '@/components/dengrq-datetime-picker/dateTimePicker/index.vue';
	import {
		ref,
		reactive,
		getCurrentInstance
	} from "vue";
	import {
		onLoad,
		onShow,
		onReady,
		onPageScroll,
		onReachBottom
	} from "@dcloudio/uni-app";
	const {
		proxy
	} = getCurrentInstance();
	let recordPopup = ref()
	let timePickerPopup = ref()
	let editTimePopup = ref()
	let statusOptions = ref(['播出-未接', '播出-已接', '播出-拒接', '来电-未接', '来电-已接', '来电-拒接']);
	const tempList = ref([])
	const currentTimeIndex = ref(0)
	const currentTimeType = ref(0)
	const currentTimeValue = ref('')

	// 编辑弹窗相关
	const showEditModal = ref(false);
	const editForm = reactive({
		avatar: '',
		avatarType: 'image',
		name: '',
		phone: '',
		phoneNotes: '',
		yys: '',
		yysIndex: 0,
		kj: '1',
		address: '',
		time: '',
		status: 0,
		notes: ''
	});

	// 添加联系人相关
	const showAddModal = ref(false);
	const addForm = reactive({
		avatar: '',
		avatarType: 'image',
		name: '',
		phone: '',
		phoneNotes: '',
		yys: '',
		kj: '1',
		address: '',
		time: '',
		status: 0,
		notes: ''
	});

	// 编辑弹窗使用的选项
	const kjOptions = ref([{
			value: '1',
			text: '卡1'
		},
		{
			value: '2',
			text: '卡2'
		},
	]);
	const editStatusOptions = ref([{
			value: 0,
			text: '播出-未接'
		},
		{
			value: 1,
			text: '播出-已接'
		},
		{
			value: 2,
			text: '播出-拒接'
		},
		{
			value: 3,
			text: '来电-未接'
		},
		{
			value: 4,
			text: '来电-已接'
		},
		{
			value: 5,
			text: '来电-拒接'
		}
	]);
	const yysOptions = ref([{
			value: '移动',
			text: '移动'
		},
		{
			value: '联通',
			text: '联通'
		},
		{
			value: '电信',
			text: '电信'
		},
		{
			value: '广电',
			text: '广电'
		}
	]);
	const avatarTypeOptions = ref([{
			value: 'image',
			text: '图片'
		},
		{
			value: 'text',
			text: '文字'
		}
	]);

	// 编辑时间选择数据
	const editData = reactive({
		startDate: ''
	})
	const data = reactive({
		scale:1,
		avatarScale:1,
		textScale:1,
		contentY:0,
		avatarY:0,
		text2Y:0,
		headerHeight:0,
		type: 'ios',
		index: 0,
		list: [{
				status: 0, //状态
				start_number: 6, //响铃时间(秒)
				start_time: '2026/5/21 13:14', //响铃时间
				end_time: '2026/5/21 13:15', //结束时间
				kj: 0, //卡几
			},
			{
				status: 1, //状态
				start_number: 7, //响铃时间(秒)
				start_time: '2026/5/20 13:14', //响铃时间
				end_time: '2026/5/20 13:15', //结束时间
				kj: 1, //卡几
			},
			{
				status: 2, //状态
				start_number: 8, //响铃时间(秒)
				start_time: '2026/5/19 13:14', //响铃时间
				end_time: '2026/5/19 13:15', //结束时间
				kj: 0, //卡几
			}
		],
		info: {
			address: "重庆",
			avatar: "",
			avatarType: "image",
			kj: "2",
			name: "",
			notes: "骚扰电话",
			phone: "18818818818",
			phoneNotes: "电话",
			status: 4,
			time: "2026-03-05 18:30:00",
			yys: "",
		},
		header:{
			
		}
	})
	onLoad((option) => {
		data.type = option.type
		console.log(proxy.$systemInfo)
		data.index = Number(option.index)
		let listArr = uni.getStorageSync('callLog')
		data.info = listArr[data.index]
		// data.info.avatar='/static/logo.png'
		data.list = data.info.list || data.list
		console.log(data.info)
		data.headerHeight=data.info.avatar?519:325
	})
	onReady(() => {

	})
	onShow(() => {

	})
	onPageScroll((e) => {
		if (data.type == 'ios') {
			const y = e.scrollTop;
			const max = 200;
			let p = Math.min(y / max, 1);
			data.contentY = -p * (data.info.avatar ? 65 : 90);
			data.avatarY = -p * 0;
			data.text2Y = -p * (data.info.avatar ? 75 : 130);
			data.avatarScale = 1 - p * 0.55; // 1 → 0.6 textScale
			data.textScale = 1 - p * 0.5; // 1 → 0.6
			
			data.scale = 1 - p * 1; // 1 → 0.6
			data.headerHeight = Math.max(206, (data.info.avatar ? 519 : 325) - y);
			console.log(data.headerHeight)
		} else {
			// 其他类型的处理
		}
	})
	onReachBottom(() => {

	})
	// 打开编辑弹窗
	const openEditModal = () => {
		tempList.value = JSON.parse(JSON.stringify(data.list))
		recordPopup.value.open()
	}
	// 打开时间选择弹窗
	const openTimePicker = (index, type) => {
		currentTimeIndex.value = index
		currentTimeType.value = type
		currentTimeValue.value = type === 0 ?
			tempList.value[index].start_time :
			tempList.value[index].end_time
		timePickerPopup.value.open()
	}
	// 关闭时间选择弹窗
	const closeTimePicker = () => {
		timePickerPopup.value.close()
	}
	// 时间选择变化
	const onTimeChange = (e) => {
		currentTimeValue.value = e
	}
	// 确认时间选择
	const confirmTime = () => {
		if (currentTimeType.value === 0) {
			tempList.value[currentTimeIndex.value].start_time = currentTimeValue.value
		} else {
			tempList.value[currentTimeIndex.value].end_time = currentTimeValue.value
		}
		timePickerPopup.value.close()
	}
	const addTempItem = () => {
		tempList.value.push({
			status: 0,
			start_number: 0,
			start_time: '',
			end_time: '',
			kj: 0
		})
	}
	const saveChanges = () => {
		let isChecked = false
		tempList.value.forEach(item => {
			if (item.start_time == '' || item.end_time == '') {
				isChecked = true
			}
		})
		if (isChecked) {
			uni.showToast({
				title: '请选择时间',
				icon: 'none'
			})
			return
		}
		data.list = JSON.parse(JSON.stringify(tempList.value))
		data.info.list = data.list
		// setCallDetail(data.info)
		let listArr = uni.getStorageSync('callLog')
		listArr[data.index] = data.info
		console.log(listArr)
		uni.setStorageSync('callLog', listArr)
		recordPopup.value.close()
		uni.showToast({
			title: '保存成功',
			icon: 'success'
		})
	}
	const back = () => {
		uni.navigateBack()
	}

	// ============ 编辑弹窗方法 ============
	// 打开编辑弹窗
	const openEditModalDetail = () => {
		editForm.avatar = data.info.avatar || '';
		editForm.avatarType = data.info.avatarType || 'image';
		editForm.name = data.info.name || '';
		editForm.phone = data.info.phone || '';
		editForm.phoneNotes = data.info.phoneNotes || '';
		editForm.yys = data.info.yys || '';
		editForm.yysIndex = yysOptions.value.findIndex(item => item.value === (data.info.yys || '移动'));
		editForm.kj = data.info.kj || '1';
		editForm.address = data.info.address || '';
		editForm.time = data.info.time || '';
		editForm.status = data.info.status || 0;
		editForm.notes = data.info.notes || '';
		showEditModal.value = true;
	};

	// 设置编辑时间
	function setTimeType() {
		editData.startDate = editForm.time
		editTimePopup.value.open()
	}

	// 编辑时间变化
	function onChangeStartDate(date) {
		editData.startDate = date
	}

	// 确认编辑时间
	function settmes() {
		editTimePopup.value.close()
		if (showEditModal.value) {
			editForm.time = editData.startDate
		} else if (showAddModal.value) {
			addForm.time = editData.startDate
		}
	}

	// 运营商选择变化
	const onYysChange = (e) => {
		const index = e.detail.value;
		editForm.yys = yysOptions.value[index].value;
	};

	// 关闭编辑弹窗
	const closeEditModal = () => {
		showEditModal.value = false;
	};

	// 状态选择变化
	const onStatusChange = (e) => {
		const index = e.detail.value;
		editForm.status = editStatusOptions.value[index].value;
	};

	// 卡几选择变化
	const onKjChange = (e) => {
		const index = e.detail.value;
		editForm.kj = kjOptions.value[index].value;
	};

	// 头像类型选择变化
	const onAvatarTypeChange = (e) => {
		editForm.avatarType = e.detail.value;
	};

	// 保存编辑
	const saveEdit = () => {
		if (!editForm.name && !editForm.phone) {
			uni.showToast({
				title: '请填写姓名或电话',
				icon: 'none'
			});
			return;
		}
		data.info.avatar = editForm.avatar;
		data.info.avatarType = editForm.avatarType;
		data.info.name = editForm.name;
		data.info.phone = editForm.phone;
		data.info.phoneNotes = editForm.phoneNotes;
		data.info.yys = editForm.yys;
		data.info.kj = editForm.kj;
		data.info.address = editForm.address;
		data.info.time = editForm.time;
		data.info.status = editForm.status;
		data.info.notes = editForm.notes;

		let listArr = uni.getStorageSync('callLog')
		listArr[data.index] = data.info
		uni.setStorageSync('callLog', listArr)

		closeEditModal();
		uni.showToast({
			title: '保存成功',
			icon: 'success'
		});
	};

	// ============ 添加联系人方法 ============
	// 打开添加弹窗
	const openAddModal = () => {
		const now = new Date();
		const currentYear = now.getFullYear();
		const currentMonth = now.getMonth();
		const currentDay = now.getDate();

		addForm.avatar = '';
		addForm.avatarType = 'image';
		addForm.name = '';
		addForm.phone = '';
		addForm.phoneNotes = '电话';
		addForm.yys = '';
		addForm.kj = '1';
		addForm.address = '';
		addForm.time =
			`${currentYear}-${currentMonth + 1}-${currentDay} ${now.getHours()}:${now.getMinutes()}:${now.getSeconds()}`;
		addForm.status = 0;
		addForm.notes = '';
		showAddModal.value = true;
	};

	// 关闭添加弹窗
	const closeAddModal = () => {
		showAddModal.value = false;
	};

	// 设置添加时间
	function setAddTimeType() {
		editData.startDate = addForm.time
		editTimePopup.value.open()
	}

	// 添加时运营商选择变化
	const onAddYysChange = (e) => {
		const index = e.detail.value;
		addForm.yys = yysOptions.value[index].value;
	};

	// 添加时状态选择变化
	const onAddStatusChange = (e) => {
		const index = e.detail.value;
		addForm.status = editStatusOptions.value[index].value;
	};

	// 添加时卡几选择变化
	const onAddKjChange = (e) => {
		const index = e.detail.value;
		addForm.kj = kjOptions.value[index].value;
	};

	// 添加时头像类型选择变化
	const onAddAvatarTypeChange = (e) => {
		addForm.avatarType = e.detail.value;
	};

	// 保存添加
	const saveAdd = () => {
		if (!addForm.phone) {
			uni.showToast({
				title: '请输入电话',
				icon: 'none'
			});
			return;
		}
		if (!addForm.yys) {
			uni.showToast({
				title: '请选择运营商',
				icon: 'none'
			});
			return;
		}
		if (!addForm.time) {
			uni.showToast({
				title: '请输入时间',
				icon: 'none'
			});
			return;
		}

		const newItem = {
			avatar: addForm.avatar || '',
			avatarType: addForm.avatarType || 'image',
			title: addForm.name || addForm.phone,
			name: addForm.name || '',
			phone: addForm.phone,
			phoneNotes: addForm.phoneNotes || '电话',
			yys: addForm.yys,
			kj: addForm.kj,
			address: addForm.address || '',
			time: addForm.time,
			status: addForm.status,
			notes: addForm.notes || '',
			list: []
		};

		let listArr = uni.getStorageSync('callLog') || []
		listArr.unshift(newItem)
		uni.setStorageSync('callLog', listArr)

		closeAddModal();
		uni.showToast({
			title: '添加成功',
			icon: 'success'
		});
	};

	// ============ 头像相关方法 ============
	// 获取头像文字
	const getAvatarText = (name) => {
		if (!name) return '';
		return name.charAt(0);
	};

	// 选择头像
	const choose = () => {
		uni.chooseImage({
			count: 1,
			sizeType: ['compressed'],
			sourceType: ['album', 'camera'],
			success: function(res) {
				const tempFilePath = res.tempFilePaths[0];
				uni.saveFile({
					tempFilePath: tempFilePath,
					success: function(ress) {
						const localPath = ress.savedFilePath;
						if (showEditModal.value) {
							editForm.avatar = localPath;
						} else if (showAddModal.value) {
							addForm.avatar = localPath;
						}
					},
					fail: function(err) {
						if (showEditModal.value) {
							editForm.avatar = tempFilePath;
						} else if (showAddModal.value) {
							addForm.avatar = tempFilePath;
						}
					}
				});
			}
		});
	};

	// 清除头像
	const clearAvatar = () => {
		if (showEditModal.value) {
			editForm.avatar = '';
		} else if (showAddModal.value) {
			addForm.avatar = '';
		}
	};

	/**
	 * 计算两个时间间隔
	 * @param {String|Date|Number} startTime 开始时间
	 * @param {String|Date|Number} endTime 结束时间
	 * @returns {String}
	 */
	function getTimeDiff(startTime, endTime) {
		const start = new Date(String(startTime).replace(/-/g, '/')).getTime()
		const end = new Date(String(endTime).replace(/-/g, '/')).getTime()

		if (isNaN(start) || isNaN(end)) return ''

		// 取绝对值 防止传反
		let diff = Math.abs(end - start)

		// 计算
		const day = Math.floor(diff / (24 * 60 * 60 * 1000))
		diff %= 24 * 60 * 60 * 1000

		const hour = Math.floor(diff / (60 * 60 * 1000))
		diff %= 60 * 60 * 1000

		const minute = Math.floor(diff / (60 * 1000))
		diff %= 60 * 1000

		const second = Math.floor(diff / 1000)

		let result = ''

		if (day > 0) {
			result += `${day}天`
		}

		if (hour > 0) {
			result += `${hour}小时`
		}

		if (minute > 0) {
			result += `${minute}分`
		}

		if (second > 0 || result === '') {
			result += `${second}秒`
		}

		return result
	}
	/**
	 * 格式化聊天时间
	 * @param {String} time 例如：'2026/5/21 13:14:15'
	 * @param {String} type xiaomi | oppo | vivo | huawei
	 * @returns {String}
	 */
	function formatChatTime(time) {
		let type = data.type
		if (!time) return ''

		// 兼容 ios
		const date = new Date(time.replace(/-/g, '/'))

		if (isNaN(date.getTime())) return ''

		const now = new Date()

		const year = date.getFullYear()
		const month = date.getMonth() + 1
		const day = date.getDate()

		const hours = date.getHours()
		const minutes = String(date.getMinutes()).padStart(2, '0')

		// 是否今年
		const isCurrentYear = year === now.getFullYear()

		// 时间
		const hm = `${String(hours).padStart(2, '0')}:${minutes}`

		// 华为时间段
		const getHuaweiPeriod = (hour) => {
			if (hour < 6) return '凌晨'
			if (hour < 12) return '上午'
			if (hour < 14) return '中午'
			if (hour < 18) return '下午'
			return '晚上'
		}

		// 小米
		if (type === 'xiaomi') {
			if (isCurrentYear) {
				return `${month}月${day}日 ${hm}`
			}

			return `${year}年${month}月${day}日 ${hm}`
		}

		// OPPO / VIVO
		if (type === 'oppo' || type === 'vivo') {
			return `${year}/${month}/${day} ${hm}`
		}

		// 华为
		if (type === 'huawei') {
			const period = getHuaweiPeriod(hours)

			if (isCurrentYear) {
				return `${month}月${day}日 ${period} ${hm}`
			}

			return `${year}年${month}月${day}日 ${period} ${hm}`
		}

		// 默认
		return `${year}/${month}/${day} ${hm}`
	}
	/**
	 * 格式化字符串：第一个3个字符后加空格，之后每4个字符加一个空格
	 * @param {string} str - 需要格式化的字符串
	 * @returns {string} 格式化后的字符串
	 */
	function formatString(str) {
		if (!str) return '';

		// 移除字符串中可能存在的空格
		const cleanStr = str.replace(/\s+/g, '');

		if (cleanStr.length != 11) {
			return cleanStr;
		}

		// 第一个3个字符
		let result = cleanStr.substring(0, 3);

		// 剩余部分每4个字符一组
		const remaining = cleanStr.substring(3);
		for (let i = 0; i < remaining.length; i += 4) {
			if (i > 0 || result.length > 0) {
				result += ' ';
			}
			result += remaining.substring(i, i + 4);
		}

		return result;
	}
	/**
	 * 格式化时间显示
	 * @param {string|number|Date} time - 需要格式化的时间
	 * @returns {string} 格式化后的时间字符串
	 */
	const formatTime = (time) => {
		// 如果传入的是空值，返回空字符串
		if (!time) return '';

		// 将传入的时间转换为Date对象
		const date = new Date(time);

		// 检查日期是否有效
		if (isNaN(date.getTime())) {
			return '';
		}

		const now = new Date();

		// 获取传入时间的年月日
		const targetYear = date.getFullYear();
		const targetMonth = date.getMonth();
		const targetDay = date.getDate();

		// 获取当前时间的年月日
		const currentYear = now.getFullYear();
		const currentMonth = now.getMonth();
		const currentDay = now.getDate();

		// 判断是否为今天
		// if (targetYear === currentYear && targetMonth === currentMonth && targetDay === currentDay) {
		// 	// 今天：显示时分
		// 	const hours = date.getHours().toString().padStart(2, '0');
		// 	const minutes = date.getMinutes().toString().padStart(2, '0');
		// 	return `${hours}:${minutes}`;
		// }

		// 判断是否为昨天
		const yesterday = new Date(now);
		yesterday.setDate(currentDay - 1);
		// if (targetYear === yesterday.getFullYear() &&
		// 	targetMonth === yesterday.getMonth() &&
		// 	targetDay === yesterday.getDate()) {
		// 	return '昨天';
		// }
		let ym = '-'
		let md = '-'
		let d = ''
		if (data.type == 'oppo' || data.type == 'huawei') {
			ym = '/'
			md = '/'
		} else {
			ym = '年'
			md = '月'
			d = '日'
		}
		// 判断是否为今年

		// 去年及以前：显示年-月-日
		const year = targetYear.toString();
		const month = (targetMonth + 1).toString()
		const day = targetDay.toString()
		const hours = date.getHours().toString().padStart(2, '0');
		const minutes = date.getMinutes().toString().padStart(2, '0');
		return [`${year}${ym}${month}${md}${day}${d}`, `${hours}:${minutes}`];
	}
</script>
<style lang="scss">
	* {
		box-sizing: border-box;
	}

	.flex-row {
		display: flex;
		flex-direction: row;
	}

	.flex-col {
		display: flex;
		flex-direction: column;
	}

	.justify-start {
		display: flex;
		justify-content: flex-start;
	}

	.justify-center {
		display: flex;
		justify-content: center;
	}

	.justify-end {
		display: flex;
		justify-content: flex-end;
	}

	.justify-between {
		display: flex;
		justify-content: space-between;
	}

	.items-start {
		display: flex;
		align-items: flex-start;
	}

	.items-end {
		display: flex;
		align-items: flex-end;
	}

	.items-center {
		display: flex;
		align-items: center;
	}

	.no-shrink {
		flex-shrink: 0;
	}
</style>
<style lang="scss" scoped>
	.ios {
		width: 750rpx;
		position: relative;
		overflow: hidden;
		// background-color: #ffffff;
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		isolation: isolate;

		.text-avatar {
			width: 168rpx;
			height: 168rpx;
			border-radius: 50%;
			display: flex;
			justify-content: center;
			align-items: center;
			color: white;
			font-size: 76rpx;
			font-weight: bold;
			background: linear-gradient(180deg, #A1A8B8 0%, #878B94 100%);
			margin: 52rpx auto 0;
		}

		.edit-btn-wrap {
			position: fixed;
			top: calc(var(--status-bar-height, 44px) + 20rpx);
			right: 30rpx;
			z-index: 100;
		}

		.edit-btn {
			background: rgba(0, 0, 0, 0.5);
			color: #fff;
			padding: 16rpx 32rpx;
			border-radius: 40rpx;
			font-size: 26rpx;
		}

		.rectangle_22292 {
			position: relative;
			width: 750rpx;
			padding-bottom: 32rpx;
			// background: linear-gradient(180deg, #bdbec3 0%, #a0a2af 100%);
			margin-left: auto;
			margin-right: auto;
			display: flex;
			flex-direction: column;
			align-items: flex-start;
			isolation: isolate;
			z-index: 1;
			margin-top: 0;
			background-size: 100% 100%;
			background-repeat: no-repeat;
			overflow: hidden;

			.flexcontainer {
				position: relative;
				display: flex;
				width: 100%;
				height: 220rpx;
				flex-direction: row;
				align-items: flex-start;
				justify-content: center;
				isolation: isolate;
				z-index: 1;
				margin-top: 22rpx;

				.group_48089 {
					width: 60rpx;
					height: 60rpx;
					z-index: 1;
					position: fixed;
					left: 0;
					top: 0;
				}

				.group_47577 {
					width: 168rpx;
					height: 168rpx;
					border-radius: 84rpx;
					z-index: 0;
					position: relative;
					// margin-left: 206rpx;
					// margin-top: 52rpx;
					margin: 52rpx auto 0;
				}
			}

			.text_1 {
				font-size: 24rpx;
				font-family: 'PingFang SC';
				font-weight: 400;
				line-height: 34rpx;
				color: #ffffff;
				white-space: pre;
				height: 34rpx;
				margin-top: 26rpx;
				margin-bottom: -5rpx;
				z-index: 2;
				position: relative;
				margin-left: 350rpx;
			}

			.text_2 {
				width: 100%;
				font-size: 72rpx;
				font-family: 'PingFang SC';
				font-weight: 400;
				line-height: 100rpx;
				color: #ffffff;
				white-space: pre;
				height: 100rpx;
				margin-top: 12rpx;
				margin-bottom: -14rpx;
				z-index: 4;
				position: relative;
				text-align: center;
			}

			.flexcontainer_1 {
				// position: relative;
				position: sticky;
				top: 0;
				display: flex;
				width: 720rpx;
				height: 112rpx;
				flex-direction: row;
				align-items: flex-start;
				isolation: isolate;
				z-index: 3;
				margin-top: 42rpx;
				margin-left: 16rpx;

				.group_48123 {
					position: relative;
					width: 168rpx;
					height: 112rpx;
					border-radius: 16rpx;
					// background-color: rgba(128,131,146,0.5);
					font-size: 20rpx;
					font-family: 'PingFang SC';
					font-weight: 400;
					line-height: 24rpx;
					color: #ffffff;
					white-space: pre;
					display: flex;
					flex-direction: column;
					align-items: flex-start;
					z-index: 0;
					margin-left: 0;
					margin-top: 0;

					.group_13792 {
						width: 44rpx;
						height: 44rpx;
						position: relative;
						margin-top: 16rpx;
						margin-left: 62rpx;
					}

					.text_3 {
						position: relative;
						margin-top: 6rpx;
						margin-left: 64rpx;
					}
				}

				.group_48124 {
					position: relative;
					width: 168rpx;
					height: 112rpx;
					border-radius: 16rpx;
					// background-color: #808392;
					text-align: center;
					font-size: 20rpx;
					font-family: 'PingFang SC';
					font-weight: 400;
					line-height: 24rpx;
					color: #ffffff;
					white-space: pre;
					display: flex;
					flex-direction: column;
					align-items: flex-start;
					z-index: 2;
					margin-left: 16rpx;
					margin-top: 0;

					.group_13792_1 {
						width: 44rpx;
						height: 44rpx;
						position: relative;
						margin-top: 16rpx;
						margin-left: 62rpx;
					}

					.text_4 {
						position: relative;
						margin-top: 6rpx;
						margin-left: 64rpx;
					}
				}

				.group_48125 {
					position: relative;
					width: 168rpx;
					height: 112rpx;
					border-radius: 16rpx;
					// background-color: #808392;
					font-size: 20rpx;
					font-family: 'PingFang SC';
					font-weight: 400;
					line-height: 24rpx;
					color: #ffffff;
					white-space: pre;
					display: flex;
					flex-direction: column;
					align-items: flex-start;
					z-index: 1;
					margin-left: 16rpx;
					margin-top: 0;

					.group_13792_2 {
						width: 44rpx;
						height: 44rpx;
						position: relative;
						margin-top: 16rpx;
						margin-left: 62rpx;
					}

					.text_5 {
						position: relative;
						margin-top: 6rpx;
						margin-left: 64rpx;
					}
				}

				.group_48126 {
					position: relative;
					width: 168rpx;
					height: 112rpx;
					border-radius: 16rpx;
					// background-color: #808392;
					font-size: 20rpx;
					font-family: 'PingFang SC';
					font-weight: 400;
					line-height: 24rpx;
					color: #ffffff;
					white-space: pre;
					display: flex;
					flex-direction: column;
					align-items: flex-start;
					z-index: 3;
					margin-left: 16rpx;
					margin-top: 0;

					.group_13792_3 {
						width: 44rpx;
						height: 44rpx;
						position: relative;
						margin-top: 16rpx;
						margin-left: 62rpx;
					}

					.text_6 {
						position: relative;
						margin-top: 6rpx;
						margin-left: 64rpx;
					}
				}
			}
		}

		.rectangle_22291 {
			position: relative;
			width: 750rpx;
			background-color: #f3f2f8;
			margin-left: auto;
			margin-right: auto;
			display: flex;
			flex-direction: column;
			align-items: flex-start;
			isolation: isolate;
			z-index: 0;
			margin-top: 0;

			.infoBox2 {
				width: 720rpx;
				margin-top: 32rpx;
				margin-left: 16rpx;
				background-color: #FFFFFF;
				border-radius: 16rpx;
				position: relative;
				isolation: isolate;
				padding: 20rpx 30rpx;

				.title {
					font-weight: 400;
					font-size: 14px;
					color: #1A1A1A;
				}

				.dec {
					font-weight: 400;
					font-size: 16px;
					color: #007AD8;
				}

				.dec2 {
					font-weight: 400;
					font-size: 16px;
					color: #1A1A1A;
				}
			}

			.infoBox {
				display: flex;
				align-items: center;
				width: 720rpx;
				margin-top: 32rpx;
				margin-left: 16rpx;
				background-color: #FFFFFF;
				border-radius: 16rpx;
				position: relative;
				isolation: isolate;
				padding: 20rpx 30rpx;

				.group_475772 {
					width: 76rpx;
					height: 76rpx;
					border-radius: 50%;
				}

				.text-avatar2 {
					width: 76rpx;
					height: 76rpx;
					border-radius: 50%;
					display: flex;
					justify-content: center;
					align-items: center;
					color: white;
					font-size: 38rpx;
					font-weight: bold;
					background: linear-gradient(180deg, #A1A8B8 0%, #878B94 100%);
				}

				.dec {
					margin-left: 16rpx;
					font-weight: 400;
					font-size: 16px;
					color: #1A1A1A;
				}
			}

			.group_48128 {
				position: relative;
				width: 720rpx;
				border-radius: 20rpx;
				background-color: #ffffff;
				display: flex;
				flex-direction: column;
				align-items: flex-start;
				z-index: 2;
				margin-top: 32rpx;
				margin-left: 16rpx;

				.group_48127 {
					position: relative;
					width: 196rpx;
					display: flex;
					flex-direction: column;
					align-items: flex-start;
					margin-top: 42rpx;
					margin-left: 30rpx;

					.text_7 {
						position: relative;
						font-size: 28rpx;
						font-family: 'PingFang SC';
						font-weight: 400;
						line-height: 32rpx;
						color: var(--, #1a1a1a);
						white-space: pre;
						width: max-content;
						margin-left: auto;
						margin-right: auto;
						margin-top: 0;
					}

					.text_8 {
						position: relative;
						font-size: 22rpx;
						font-family: 'PingFang SC';
						font-weight: 400;
						line-height: 30rpx;
						color: #1a1a1a;
						white-space: pre;
						height: 30rpx;
						margin-top: 24rpx;
						margin-bottom: -4rpx;
						width: max-content;
						margin-left: calc(50% - 98rpx);
						margin-right: auto;
					}

					.text_9 {
						position: relative;
						font-size: 22rpx;
						font-family: 'PingFang SC';
						font-weight: 400;
						line-height: 30rpx;
						color: #767676;
						white-space: pre;
						height: 30rpx;
						margin-top: 14rpx;
						margin-bottom: -4rpx;
						width: max-content;
						margin-left: 60rpx;
						// margin-right: auto;
					}
				}
			}

			.group_48131 {
				position: relative;
				display: flex;
				flex-direction: column;
				align-items: flex-start;
				isolation: isolate;
				z-index: 5;
				margin-top: 32rpx;
				margin-left: 16rpx;
				padding-left: 30rpx;
				background-color: #FFFFFF;
				border-radius: 16rpx;

				.text_10 {
					font-size: 32rpx;
					font-family: 'PingFang SC';
					font-weight: 400;
					line-height: 84rpx;
					height: 84rpx;
					color: #007ad8;
					white-space: pre;
					margin-top: 0;
					z-index: 1;
					position: relative;
					margin-left: 0;
				}

				.view_404 {
					width: 690rpx;
					height: 1rpx;
					position: relative;
					border-bottom: 0.5rpx solid #d8d8d8;
					z-index: 0;
					margin-left: auto;
					margin-right: 0;
				}

				.text_11 {
					font-size: 32rpx;
					font-family: 'PingFang SC';
					font-weight: 400;
					line-height: 84rpx;
					height: 84rpx;
					color: #007ad8;
					white-space: pre;
					z-index: 2;
					position: relative;
					margin-left: 0;
				}

				.text_12 {
					font-size: 32rpx;
					font-family: 'PingFang SC';
					font-weight: 400;
					line-height: 84rpx;
					height: 84rpx;
					color: #007ad8;
					white-space: pre;
					z-index: 3;
					position: relative;
					margin-left: 0;
				}
			}

			.group_48130 {
				position: relative;
				width: 720rpx;
				height: 84rpx;
				border-radius: 16rpx;
				background-color: #ffffff;
				font-size: 32rpx;
				font-family: 'PingFang SC';
				font-weight: 400;
				line-height: 44rpx;
				color: #007ad8;
				white-space: pre;
				display: flex;
				flex-direction: column;
				align-items: flex-start;
				z-index: 4;
				margin-top: 30rpx;
				margin-left: 16rpx;

				.text_13 {
					height: 44rpx;
					margin-top: 26rpx;
					margin-bottom: -6rpx;
					position: relative;
					margin-left: 30rpx;
				}
			}

			.group_48129 {
				position: relative;
				width: 720rpx;
				height: 84rpx;
				border-radius: 16rpx;
				background-color: #ffffff;
				font-size: 32rpx;
				font-family: 'PingFang SC';
				font-weight: 400;
				line-height: 44rpx;
				color: #e44a3d;
				white-space: pre;
				display: flex;
				flex-direction: column;
				align-items: flex-start;
				z-index: 3;
				margin-top: 30rpx;
				margin-left: 16rpx;

				.text_14 {
					height: 44rpx;
					margin-top: 26rpx;
					margin-bottom: -6rpx;
					position: relative;
					margin-left: 30rpx;
				}
			}
		}
	}

	.xiaomi {
		width: 750rpx;
		height: 1826rpx;
		overflow: hidden;
		background: #ffffff;

		.edit-btn-wrap {
			position: fixed;
			top: calc(var(--status-bar-height, 44px) + 20rpx);
			right: 30rpx;
			z-index: 100;
		}

		.edit-btn {
			background: rgba(0, 0, 0, 0.5);
			color: #fff;
			padding: 16rpx 32rpx;
			border-radius: 40rpx;
			font-size: 26rpx;
		}

		.container {
			width: 100%;
			height: 100%;
			background: #f7f7f7;
			display: flex;
			flex-direction: column;
			align-items: center;
		}

		.header {
			width: 100%;
				height: 80rpx;
			.back-icon {
				width: 48rpx;
				height: 48rpx;
				margin-top: 12rpx;
				margin-left: 52rpx;
			}
		}

		.avatar {
			display: flex;
			align-items: center;
			justify-content: center;
			margin-top: 106rpx;

			image {
				width: 208rpx;
				height: 208rpx;
				border-radius: 50%;
			}
		}

		.title {
			margin-top: 40rpx;
			font-size: 60rpx;
			line-height: 84rpx;
			color: #1a1a1a;
			font-family: PingFang SC;
			font-weight: 400;
		}

		/* 联系人卡片 */
		.info-card {
			width: 702rpx;
			// height: 596rpx;
			background: #ffffff;
			border-radius: 28rpx;
			margin-top: 110rpx;
			padding: 30rpx;

			.top-row {
				display: flex;
				align-items: center;

				.phone-info {
					display: flex;
					flex-direction: column;

					.phone {
						font-size: 32rpx;
						line-height: 48rpx;
						color: #1a1a1a;
						font-weight: 500;
					}

					.location {
						margin-top: 10rpx;
						font-size: 26rpx;
						line-height: 38rpx;
						color: #696969;
					}
				}

				.action-icon {
					width: 76rpx;
					height: 76rpx;
					margin-left: auto;

					&.ml13 {
						margin-left: 26rpx;
					}
				}
			}

			.video-row {
				margin-top: 54rpx;
				display: flex;
				align-items: center;
				justify-content: space-between;

				.video-text {
					font-size: 32rpx;
					line-height: 48rpx;
					color: #1a1a1a;
					font-weight: 500;
				}

				.video-icon {
					width: 76rpx;
					height: 76rpx;
				}
			}

			.menu-item {
				margin-top: 80rpx;
				font-size: 32rpx;
				line-height: 48rpx;
				color: #2b7de7;
				font-weight: 500;

				&:first-of-type {
					margin-top: 66rpx;
				}
			}
		}

		/* 通话记录 */
		.record-section {
			width: 702rpx;
			margin-top: 40rpx;

			.section-title {
				font-size: 26rpx;
				line-height: 32rpx;
				color: #8a8ba6;
			}

			.record-card {
				margin-top: 18rpx;
				background: #ffffff;
				border-radius: 28rpx;
				padding: 32rpx 28rpx 40rpx;

				.record-top {
					display: flex;
					align-items: flex-start;



					.record-info {
						margin-left: 4rpx;
						display: flex;
						flex-direction: column;

						.record-time {
							font-size: 32rpx;
							line-height: 48rpx;
							color: #e00012;
							font-weight: 500;
						}

						.ring-row {
							margin-top: 8rpx;
							display: flex;
							align-items: center;

							.ring-icon {
								width: 22rpx;
								height: 25rpx;
							}

							.ring-text {
								margin-left: 18rpx;
								font-size: 26rpx;
								line-height: 32rpx;
								color: #6b6b6b;
							}
						}
					}

					.arrow-wrap {
						margin-left: auto;
						margin-top: 20rpx;

						.arrow-icon {
							width: 28rpx;
							height: 28rpx;
						}
					}
				}

				.more-text {
					margin-top: 70rpx;
					font-size: 32rpx;
					line-height: 48rpx;
					color: #2b7de7;
					font-weight: 500;
				}
			}
		}

		/* 黑名单 */
		.black-card {
			width: 702rpx;
			height: 110rpx;
			background: #ffffff;
			border-radius: 28rpx;
			margin-top: 20rpx;
			display: flex;
			align-items: center;
			padding-left: 30rpx;

			.black-text {
				font-size: 32rpx;
				line-height: 48rpx;
				color: #e00012;
				font-weight: 500;
			}
		}
	}

	.oppo {
		width: 750rpx;
		min-height: 100vh;
		padding-bottom: 160rpx;
		background: #f0f1f3;

		.edit-btn-wrap {
			position: fixed;
			top: calc(var(--status-bar-height, 44px) + 20rpx);
			right: 30rpx;
			z-index: 100;
		}

		.edit-btn {
			background: rgba(0, 0, 0, 0.5);
			color: #fff;
			padding: 16rpx 32rpx;
			border-radius: 40rpx;
			font-size: 26rpx;
		}

		.rectangle_22291 {
			display: flex;
			flex-direction: column;
			align-items: center;
			padding-bottom: 40rpx;
		}

		.group_45764 {
			width: 750rpx;
			// height: 176rpx;
		}

		.flexcontainer {
			height: 88rpx;
			display: flex;
			align-items: center;
			justify-content: space-between;
			padding: 0 32rpx;
		}

		.group_8,
		.group_7,
		.group_9 {
			width: 240rpx;
			height: 88rpx;
		}

		.group_13815 {
			width: 48rpx;
			height: 48rpx;
			margin-top: 20rpx;
		}

		.rectangle_18503 {
			width: 240rpx;
			height: 88rpx;
		}

		.group_47650 {
			width: 180rpx;
			height: 180rpx;
			border-radius: 50%;
			margin-top: 16rpx;

		}

		.text_1 {
			margin-top: 36rpx;
			font-size: 60rpx;
			font-weight: 500;
			color: #1a1a1a;
		}

		.flexcontainer_1 {
			width: 680rpx;
			display: flex;
			justify-content: space-between;
			margin-top: 56rpx;
		}

		.action-card {
			width: 216rpx;
			height: 144rpx;
			background: #ffffff;
			border-radius: 24rpx;

			display: flex;
			flex-direction: column;
			align-items: center;
			justify-content: center;

			font-size: 24rpx;
			color: #1a1a1a;
		}

		.action-icon {
			width: 48rpx;
			height: 48rpx;
			margin-bottom: 16rpx;
		}

		.flexcontainer_2 {
			width: 680rpx;
			display: flex;
			justify-content: space-between;
			align-items: center;
			margin-top: 56rpx;
		}

		.text_5 {
			font-size: 24rpx;
			font-weight: 600;
			color: #1a1a1a;
		}

		.text_6 {
			font-size: 24rpx;
			color: #059511;
		}

		.group_48093 {
			width: 682rpx;
			margin-top: 20rpx;
		}

		.rectangle_23161 {
			background: #ffffff;
			border-radius: 24rpx;
			overflow: hidden;
		}

		.call-item {
			position: relative;
			padding: 32rpx 28rpx ;
			// padding-bottom: 32rpx;
		}

		.call-top {
			display: flex;
			align-items: center;
		}

		.small-icon {
			width: 26rpx;
			height: 26rpx;
			margin-right: 20rpx;
		}

		.call-time {
			font-size: 32rpx;
			font-weight: 700;
			color: #1a1a1a;
		}

		.call-bottom {
			display: flex;
			align-items: center;
			margin-top: 22rpx;
			margin-left: 46rpx;
		}

		.status-icon {
			width: 20rpx;
			height: 24rpx;
			margin-right: 12rpx;
		}

		.call-desc {
			font-size: 28rpx;
			color: #767676;
		}

		.extra-text {
			margin-top: 20rpx;
			margin-left: 46rpx;
			font-size: 28rpx;
			color: #767676;
		}

		.line {
			width: calc(100% - 104rpx);
			height: 1rpx;
			background: #dfdfdf;
			position: absolute;
			bottom: 0;
			right:32rpx;
		}

		.no-border {

			.line {
				display: none;
			}
		}

		/* 组 48095 */
		.group_48095 {
			position: relative;
			width: 682rpx;
			height: 280rpx;
			display: flex;
			flex-direction: column;
			align-items: flex-start;
			z-index: 6;
			margin-top: 32rpx;
			// margin-left: 34rpx;

			/* 矩形 23167 */
			.rectangle_23167 {
				position: relative;
				width: 682rpx;
				height: 280rpx;
				border-radius: 24rpx;
				background-color: #ffffff;
				margin-left: auto;
				margin-right: auto;
				display: flex;
				flex-direction: column;
				align-items: flex-start;
				margin-top: 0;
			}

			/* 蒙版组 13964 */
			.group_13964_1 {
				position: relative;
				width: 682rpx;
				height: 140rpx;
				display: flex;
				flex-direction: column;
				align-items: flex-start;
				margin-top: 0;
				margin-left: 0;
			}

			/* 矩形 23160 */
			.rectangle_23160_3 {
				position: relative;
				width: 682rpx;
				height: 140rpx;
				margin-left: auto;
				margin-right: auto;
				overflow: hidden;
				display: flex;
				flex-direction: column;
				align-items: flex-start;
				isolation: isolate;
				margin-top: 0;
				-webkit-mask-image: linear-gradient(0, #d8d8d8, #d8d8d8);
			}

			/* flexContainer */
			.flexcontainer_9 {
				position: relative;
				display: flex;
				width: 326rpx;
				height: 48rpx;
				flex-direction: row;
				align-items: flex-start;
				z-index: 0;
				margin-top: 30rpx;
				margin-left: 32rpx;
			}

			/* 蒙版组 13792 */
			.group_13792_3 {
				width: 48rpx;
				height: 48rpx;
				position: relative;
				margin-left: 0;
				margin-top: 0;
			}

			/* 165 5463 1236 */
			.text_15 {
				position: absolute;
				top: 8rpx;
				left: 86rpx;
				// text-align: center;
				font-size: 32rpx;
				// font-family: OPPOSans;
				font-weight: 700;
				line-height: 48rpx;
				color: #1a1a1a;
				white-space: pre;
				height: 48rpx;
				margin-top: -8rpx;
				margin-bottom: -8rpx;
				right: 0;
				// width: max-content;
			}

			/* flexContainer */
			.flexcontainer_10 {
				position: relative;
				display: flex;
				width: 216rpx;
				height: 28rpx;
				flex-direction: row;
				align-items: flex-start;
				z-index: 2;
				margin-top: 4rpx;
				margin-left: 116rpx;
			}

			/* 矩形 23163 */
			.rectangle_23163 {
				width: 2rpx;
				height: 28rpx;
				position: absolute;
				top: 0;
				left: 0;
				background-color: var(--, #767676);
				right: 66rpx;
				margin-left: auto;
				margin-right: auto;
			}

			/* 手机 */
			.text_16 {
				position: absolute;
				top: 0;
				left: 0;
				font-size: 28rpx;
				font-family: OPPOSans;
				font-weight: 400;
				line-height: 42rpx;
				color: #767676;
				white-space: pre;
				height: 42rpx;
				margin-top: -7rpx;
				margin-bottom: -7rpx;
				right: 160rpx;
				width: max-content;
				margin-left: auto;
				margin-right: auto;
			}

			/* 重庆 移动 */
			.text_17 {
				position: absolute;
				top: 0;
				left: 94rpx;
				font-size: 28rpx;
				font-family: OPPOSans;
				font-weight: 400;
				line-height: 42rpx;
				color: var(--, #767676);
				white-space: pre;
				height: 42rpx;
				margin-top: -7rpx;
				margin-bottom: -7rpx;
				right: 0;
				width: max-content;
				margin-left: auto;
				margin-right: auto;
			}

			/* 直线 393 */
			.div_393_2 {
				width: 532rpx;
				height: 0;
				position: relative;
				border: 0.5rpx solid #dfdfdf;
				margin-left: calc(50% - 225rpx);
				z-index: 1;
				margin-top: 30rpx;
			}

			/* 蒙版组 13965 */
			.group_13965_1 {
				position: relative;
				width: 682rpx;
				height: 140rpx;
				display: flex;
				flex-direction: column;
				align-items: flex-start;
				margin-top: 0;
				margin-left: 0;
			}

			/* 矩形 23160 */
			.rectangle_23160_4 {
				position: relative;
				width: 682rpx;
				height: 140rpx;
				margin-left: auto;
				margin-right: auto;
				overflow: hidden;
				display: flex;
				flex-direction: column;
				align-items: flex-start;
				margin-top: 0;
				-webkit-mask-image: linear-gradient(0, #d8d8d8, #d8d8d8);
			}

			/* flexContainer */
			.flexcontainer_11 {
				position: relative;
				display: flex;
				width: 212rpx;
				height: 48rpx;
				flex-direction: row;
				align-items: flex-start;
				margin-top: 26rpx;
				margin-left: 32rpx;
			}

			/* 蒙版组 13792 */
			.group_13792_4 {
				width: 48rpx;
				height: 48rpx;
				position: relative;
				margin-left: 0;
				margin-top: 0;
			}

			/* 跟随系统 */
			.text_18 {
				position: absolute;
				top: 8rpx;
				left: 84rpx;
				text-align: center;
				font-size: 32rpx;
				font-family: OPPOSans;
				font-weight: 700;
				line-height: 48rpx;
				color: var(--, #1a1a1a);
				white-space: pre;
				height: 48rpx;
				margin-top: -8rpx;
				margin-bottom: -8rpx;
				right: 0;
				width: max-content;
				margin-left: auto;
				margin-right: auto;
			}

			/* 来电铃声 */
			.text_19 {
				position: relative;
				font-size: 28rpx;
				font-family: OPPOSans;
				font-weight: 400;
				line-height: 42rpx;
				color: #767676;
				white-space: pre;
				height: 42rpx;
				margin-top: 4rpx;
				margin-bottom: -7rpx;
				width: max-content;
				margin-left: calc(50% - 225rpx);
				margin-right: auto;
			}
		}

		/* flexContainer */
		.flexcontainer_12 {
			position: fixed;
			bottom: 0;
			left: 0;
			display: flex;
			width: 750rpx;
			flex-direction: row;
			align-items: flex-start;
			padding-top: 20rpx;
			padding-left: 100rpx;
			padding-bottom: 56rpx;
			z-index: 9;
			margin-top: 18rpx;
			background-color: #fff;

			/* 组 48097 */
			.group_48097 {
				position: relative;
				width: 48rpx;
				height: 80rpx;
				display: flex;
				flex-direction: column;
				align-items: flex-start;
				margin-left: 0;
				margin-top: 0;
			}

			/* 蒙版组 13967 */
			.group_13967 {
				width: 48rpx;
				height: 48rpx;
				position: relative;
				margin-top: 0;
				margin-left: 0;
			}

			/* 收藏 */
			.text_20 {
				position: relative;
				font-size: 20rpx;
				font-family: OPPOSans;
				font-weight: 500;
				line-height: 30rpx;
				color: var(--, #1a1a1a);
				white-space: pre;
				height: 30rpx;
				margin-top: 12rpx;
				margin-bottom: -5rpx;
				width: max-content;
				margin-left: auto;
				margin-right: auto;
			}

			/* 组 48098 */
			.group_48098 {
				position: relative;
				width: 48rpx;
				height: 80rpx;
				display: flex;
				flex-direction: column;
				align-items: flex-start;
				margin-left: 128rpx;
				margin-top: 0;
			}

			/* 蒙版组 13967 */
			.group_13967_1 {
				width: 48rpx;
				height: 48rpx;
				position: relative;
				margin-top: 0;
				margin-left: 0;
			}

			/* 编辑 */
			.text_21 {
				position: relative;
				font-size: 20rpx;
				font-family: OPPOSans;
				font-weight: 500;
				line-height: 30rpx;
				color: var(--, #1a1a1a);
				white-space: pre;
				height: 30rpx;
				margin-top: 12rpx;
				margin-bottom: -5rpx;
				width: max-content;
				margin-left: auto;
				margin-right: auto;
			}

			/* 组 48099 */
			.group_48099 {
				position: relative;
				width: 48rpx;
				height: 80rpx;
				display: flex;
				flex-direction: column;
				align-items: flex-start;
				margin-left: 126rpx;
				margin-top: 0;
			}

			/* 蒙版组 13967 */
			.group_13967_2 {
				width: 48rpx;
				height: 48rpx;
				position: relative;
				margin-top: 0;
				margin-left: 0;
			}

			/* 分享 */
			.text_22 {
				position: relative;
				font-size: 20rpx;
				font-family: OPPOSans;
				font-weight: 500;
				line-height: 30rpx;
				color: var(--, #1a1a1a);
				white-space: pre;
				height: 30rpx;
				margin-top: 12rpx;
				margin-bottom: -5rpx;
				width: max-content;
				margin-left: auto;
				margin-right: auto;
			}

			/* 组 48100 */
			.group_48100 {
				position: relative;
				width: 48rpx;
				height: 80rpx;
				display: flex;
				flex-direction: column;
				align-items: flex-start;
				margin-left: 126rpx;
				margin-top: 0;
			}

			/* 蒙版组 13967 */
			.group_13967_3 {
				width: 48rpx;
				height: 48rpx;
				position: relative;
				margin-top: 0;
				margin-left: 0;
			}

			/* 更多 */
			.text_23 {
				position: relative;
				font-size: 20rpx;
				font-family: OPPOSans;
				font-weight: 500;
				line-height: 30rpx;
				color: var(--, #1a1a1a);
				white-space: pre;
				height: 30rpx;
				margin-top: 12rpx;
				margin-bottom: -5rpx;
				width: max-content;
				margin-left: auto;
				margin-right: auto;
			}
		}
	}

	.vivo {
		position: relative;
		width: 750rpx;
		height: 1624rpx;
		overflow: hidden;
		background: #ffffff;
		display: flex;
		flex-direction: column;
		align-items: flex-start;

		.edit-btn-wrap {
			position: fixed;
			top: calc(var(--status-bar-height, 44px) + 20rpx);
			right: 30rpx;
			z-index: 100;
		}

		.edit-btn {
			background: rgba(0, 0, 0, 0.5);
			color: #fff;
			padding: 16rpx 32rpx;
			border-radius: 40rpx;
			font-size: 26rpx;
		}

		.group_45764 {
			position: relative;
			width: 750rpx;
			height: 88rpx;
		}

		.bars_status_bars_iphone_light {
			position: absolute;
			inset: 0;
		}

		.group_8 {
			width: 48rpx;
			height: 48rpx;
			margin-top: 24rpx;
			margin-left: 44rpx;
		}

		.group_13815 {
			width: 48rpx;
			height: 48rpx;
		}

		.div_397 {
			width: 750rpx;
			height: 1rpx;
			background: #f8f8f8;
			margin-top: 32rpx;
		}

		.group_47650 {
			width: 188rpx;
			height: 188rpx;
			margin: 84rpx auto 0;
			border-radius: 50%;
		}

		.text_1 {
			align-self: center;
			margin-top: 28rpx;
			font-size: 32rpx;
			font-weight: 400;
			line-height: 40rpx;
			color: #1a1a1a;
		}

		.flexcontainer {
			width: 428rpx;
			display: flex;
			justify-content: space-between;
			margin: 58rpx auto 0;
		}

		.group_48112,
		.group_48113,
		.group_48114 {
			display: flex;
			flex-direction: column;
			align-items: center;
		}

		.group_48111,
		.group_48111_1,
		.group_48111_2 {
			width: 76rpx;
			height: 76rpx;
			border-radius: 50%;
			background: #f3f3f3;
			display: flex;
			justify-content: center;
			align-items: center;
		}

		.group_13792,
		.group_13792_1,
		.group_13792_2 {
			width: 48rpx;
			height: 48rpx;
		}

		.text_2,
		.text_3,
		.text_4 {
			margin-top: 14rpx;
			font-size: 24rpx;
			line-height: 36rpx;
			color: #1a1a1a;
			text-align: center;
		}

		.div_398 {
			width: 666rpx;
			height: 1rpx;
			background: #f8f8f8;
			margin-top: 82rpx;
			margin-left: 42rpx;
		}

		.text_5 {
			margin-top: 48rpx;
			margin-left: 42rpx;
			font-size: 24rpx;
			font-weight: 500;
			line-height: 36rpx;
			color: #686868;
		}

		.group_48115,
		.group_48116,
		.group_48117 {
			width: 668rpx;
			display: flex;
			justify-content: space-between;
			align-items: center;
			margin-left: 42rpx;
		}

		.group_48115 {
			margin-top: 66rpx;
		}

		.group_48116,
		.group_48117 {
			margin-top: 104rpx;
		}

		.text_6,
		.text_8,
		.text_10 {
			font-size: 32rpx;
			font-weight: 500;
			line-height: 36rpx;
			color: #1a1a1a;
		}

		.text_7,
		.text_9,
		.text_11 {
			font-size: 28rpx;
			font-weight: 500;
			line-height: 42rpx;
			color: #aaaaaa;
		}
	}

	.huawei {
		position: relative;
		width: 750rpx;
		height: 1624rpx;
		overflow: hidden;
		background: #f2f3f5;

		display: flex;
		flex-direction: column;
		align-items: flex-start;

		isolation: isolate;

		.edit-btn-wrap {
			position: fixed;
			top: calc(var(--status-bar-height, 44px) + 20rpx);
			right: 30rpx;
			z-index: 100;
		}

		.edit-btn {
			background: rgba(0, 0, 0, 0.5);
			color: #fff;
			padding: 16rpx 32rpx;
			border-radius: 40rpx;
			font-size: 26rpx;
		}

		.flexcontainer {
			position: relative;
			margin-bottom: 66rpx;
			width: 750rpx;
			display: flex;
			align-items: center;
			justify-content: space-between;

			.group_45764 {
				position: relative;
				width: 88rpx;
				height: 88rpx;
			}

			.bars_status_bars_iphone_light {
				position: absolute;
				inset: 0;
			}

			.group_47675 {
				width: 136rpx;
				height: 136rpx;
			}

			.flexcontainer_1 {
				display: flex;
				align-items: flex-start;
				width: 230rpx;
				height: 136rpx;

				.group_47667,
				.group_47619 {
					width: 136rpx;
					height: 136rpx;
				}

				.group_47619 {
					margin-left: -42rpx;
				}
			}
		}

		.group_47650 {
			width: 232rpx;
			height: 232rpx;

			border-radius: 50%;

			image {
				width: 232rpx;
				height: 232rpx;
				border-radius: 50%;
			}

			margin-left: 260rpx;
		}

		.text_1 {
			height: 108rpx;
			margin-top: 60rpx;
			width: 100%;
			text-align: center;

			font-size: 72rpx;
			font-weight: 700;
			line-height: 108rpx;
			color: #606163;
		}

		.flexcontainer_2 {
			display: flex;
			align-items: flex-start;

			width: 462rpx;
			height: 108rpx;

			margin-top: 108rpx;
			margin-left: 144rpx;

			.group_48111,
			.group_48112,
			.group_48113 {
				width: 108rpx;
				height: 108rpx;
			}

			.group_48112 {
				margin-left: 68rpx;
			}

			.group_48113 {
				margin-left: 70rpx;
			}
		}

		.group_48118 {
			width: 690rpx;
			height: 144rpx;

			margin-top: 46rpx;
			margin-left: 30rpx;

			.rectangle_23184 {
				width: 690rpx;
				height: 144rpx;

				border-radius: 36rpx;
				background: #ffffff;
				display: flex;
				flex-direction: column;
				justify-content: center;

				.text_2 {
					margin-left: 24rpx;
					font-size: 32rpx;
					font-weight: 500;
					line-height: 48rpx;
					color: #1a1a1a;
				}

				.text_3 {
					margin-top: 8rpx;
					margin-left: 24rpx;
					font-size: 28rpx;
					line-height: 42rpx;
					color: #686868;
				}
			}
		}

		.flexcontainer_3 {
			display: flex;
			align-items: center;
			justify-content: space-between;

			width: 634rpx;

			margin-top: 64rpx;
			margin-left: 54rpx;

			.text_4 {
				font-size: 28rpx;
				line-height: 42rpx;
				color: #686868;
			}

			.group_13972 {
				width: 36rpx;
				height: 36rpx;
			}
		}

		.group_48119 {
			width: 690rpx;
			margin-top: 26rpx;
			margin-left: 30rpx;

			.rectangle_23184_1 {
				background: #ffffff;
				border-radius: 36rpx;
				overflow: hidden;
			}
		}

		.rectangle_23187,
		.rectangle_23187_1 {
			padding: 36rpx 24rpx;
		}

		.flexcontainer_4,
		.flexcontainer_8 {
			display: flex;
			justify-content: space-between;
			align-items: flex-start;
		}

		.flexcontainer_5,
		.flexcontainer_9 {
			display: flex;
			flex-direction: column;
		}

		.text_5,
		.text_8 {
			font-size: 30rpx;
			line-height: 32rpx;
			font-weight: 500;
		}

		.text_5 {
			color: #1a1a1a;
		}

		.text_8 {
			color: #de4134;
		}

		.flexcontainer_6,
		.flexcontainer_10 {
			display: flex;
			align-items: center;

			margin-top: 20rpx;
		}

		.group_13798,
		.group_13797,
		.group_13797_1 {
			width: 24rpx;
			height: 24rpx;
		}

		.group_47607,
		.group_47607_1,
		.group_47608 {
			width: 18rpx;
			height: 20rpx;

			margin-left: 10rpx;
		}

		.group_13799 {
			width: 24rpx;
			height: 24rpx;

			margin-left: 6rpx;
		}

		.text_6,
		.text_9 {
			margin-left: 12rpx;

			font-size: 26rpx;
			line-height: 39rpx;
			color: #686868;
		}

		.text_7,
		.text_10 {
			font-size: 26rpx;
			line-height: 39rpx;
			color: #686868;
		}

		.flexcontainer_7 {
			display: flex;
			align-items: center;

			margin-top: 6rpx;
			margin-left: 58rpx;
		}

		.div_399,
		.div_399_1 {
			width: 636rpx;
			height: 1rpx;

			background: #eeeeee;
			margin: 0 auto 0;
		}
	}

	.popup-box {
		background: #fff;
		border-radius: 24rpx 24rpx 0 0;
		max-height: 80vh;
		display: flex;
		flex-direction: column;

		.content-wrap {
			padding: 30rpx;
			overflow-y: auto;
			flex: 1;
		}

		.item {
			background: #f7f7f7;
			border-radius: 20rpx;
			padding: 20rpx;
			margin-bottom: 20rpx;
		}

		input {
			height: 80rpx;
			background: #fff;
			border-radius: 12rpx;
			padding: 0 20rpx;
			margin-top: 20rpx;
		}

		.picker {
			height: 80rpx;
			line-height: 80rpx;
			background: #fff;
			border-radius: 12rpx;
			padding: 0 20rpx;
			margin-top: 20rpx;
		}

		.delete {
			height: 72rpx;
			line-height: 72rpx;
			text-align: center;
			background: #fa3534;
			color: #fff;
			border-radius: 12rpx;
			margin-top: 20rpx;
		}

		.add {
			height: 80rpx;
			line-height: 80rpx;
			text-align: center;
			background: #07C160;
			color: #fff;
			border-radius: 16rpx;
		}

		.popup-box-item {
			margin-bottom: 20rpx;
		}

		.save-btn-wrap {
			padding: 30rpx;
			border-top: 1rpx solid #eee;
			background: #fff;
		}

		.save-btn {
			background: #007aff;
			color: #fff;
			font-size: 32rpx;
			text-align: center;
			height: 88rpx;
			line-height: 88rpx;
			border-radius: 44rpx;
		}

		.time-picker {
			height: 80rpx;
			line-height: 80rpx;
			background: #fff;
			border-radius: 12rpx;
			padding: 0 20rpx;
			margin-top: 20rpx;
			color: #333;
		}
	}

	/* 时间选择弹窗样式 */
	.time-picker-box {
		background: #fff;
		border-radius: 24rpx 24rpx 0 0;
		padding-bottom: 30rpx;
	}

	.time-picker-header {
		display: flex;
		justify-content: space-between;
		align-items: center;
		height: 88rpx;
		padding: 0 30rpx;
		border-bottom: 1rpx solid #eee;
	}

	.time-picker-cancel,
	.time-picker-confirm {
		font-size: 32rpx;
		color: #007aff;
	}

	.time-picker-title {
		font-size: 34rpx;
		font-weight: 500;
		color: #333;
	}

	/* 编辑弹窗样式 */
	.modal-mask {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background-color: rgba(0, 0, 0, 0.5);
		display: flex;
		justify-content: center;
		align-items: center;
		z-index: 999;
	}

	.modal-content {
		width: 600rpx;
		background-color: #fff;
		border-radius: 16rpx;
		overflow: hidden;
		max-height: 80vh;
		overflow-y: auto;
	}

	.modal-header {
		padding: 40rpx;
		text-align: center;
		border-bottom: 1rpx solid #f0f0f0;
	}

	.modal-title {
		font-size: 36rpx;
		font-weight: bold;
		color: #333;
	}

	.modal-body {
		padding: 40rpx;
		height: calc(80vh - 260rpx);
		overflow-x: scroll;
	}

	.form-item {
		margin-bottom: 30rpx;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}

	.form-label {
		display: block;
		font-size: 28rpx;
		color: #666;
		margin-bottom: 16rpx;

		text {
			color: red;
		}
	}

	.form-input {
		width: 364rpx;
		height: 80rpx;
		border: 1rpx solid #ddd;
		border-radius: 8rpx;
		padding: 0 20rpx;
		font-size: 28rpx;
		box-sizing: border-box;
		color: #1A1A1A;
	}

	.form-select {
		width: 364rpx !important;
		flex: none;
	}

	.form-avatar-container {
		display: flex;
		align-items: center;
	}

	.form-avatar {
		width: 80px;
		height: 80px;
		border: 1px dashed #666;

		image {
			width: 100%;
			height: 100%;
		}
	}

	.form-text-avatar {
		width: 80px;
		height: 80px;
		border-radius: 50%;
		display: flex;
		justify-content: center;
		align-items: center;
		color: white;
		font-size: 40rpx;
		font-weight: bold;
		background: linear-gradient(180deg, #A1A8B8 0%, #878B94 100%);
		border: 1px dashed #666;
	}

	.avatar-clear {
		margin-left: 20rpx;
		color: #007AFF;
		font-size: 28rpx;
		cursor: pointer;
	}

	.form-input-time {
		line-height: 40px;
	}

	.modal-footer {
		display: flex;
		border-top: 1rpx solid #f0f0f0;
		height: 120rpx;
	}

	.btn {
		flex: 1;
		height: 100rpx;
		display: flex;
		justify-content: center;
		align-items: center;
		font-size: 32rpx;
		background: #F1F1F1;
		margin: 10rpx;
		border-radius: 6px;
	}

	.btn-cancel {
		border-right: 1rpx solid #f0f0f0;
		color: #666;
	}

	.btn-confirm {
		color: #fff;
		background: #007AFF;
	}

	/* 编辑时间选择弹窗样式 */
	.timeBox {
		background-color: #fff;

		.titleBox {
			padding: 10px;
			display: flex;
			justify-content: flex-end;

			.btns {
				font-size: 12px;
				color: #007AFF;
			}
		}
	}
	.ios-edit{
		width: 50px;
		height: 30px;
		text-align: center;
		line-height: 30px;
		background: rgba(0,0,0,0.1);
		border-radius: 15px 15px 15px 15px;	
		font-weight: 400;
font-size: 16px;
color: #FFFFFF;
	}
</style>