<template>
	<view class="container">
		<view class="status-bar" :style="{ height: statusBarHeight + 'px' }"></view>
		<view class="top">
			<image class="return" @click="goBack"
				src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/back_white.png"></image>
			<text>任务详情</text>
		</view>
		<scroll-view class="content" scroll-y>
			<!-- 任务卡片 -->
			<view class="task-card" v-if="auditData">
				<view class="card-header">
					<view class="card-title">{{ auditData.audit.auditName||'-' }}</view>
					<view class="card-lable" :class="'pending'">待审核</view>
				</view>
				<view class="card-meta">
					<view class="item">
						<image src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_user.png"></image>
						{{ auditData.audit.initiatorId||'-' }}
					</view>
					<view class="item">

						<image src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_time.png"></image>
						{{ auditData.audit.createTime||'-' }}
					</view>
				</view>
			</view>




			<!-- 讲者审核详情 -->
			<view class="info-section" v-if="auditData.audit.auditType=='ADUIT_JZSH'">
				<view class="section-header">
					<view class="section-indicator"></view>
					<text class="section-title">基础信息</text>
				</view>
				<view class="info-list">
					<view class="info-item">
						<text class="info-label">账户身份（医生/药剂师）</text>
						<text class="info-value">{{ auditData.businessData.doctorName||'-' }}</text>
					</view>
					<view class="info-item">
						<text class="info-label">账户身份</text>
						<text class="info-value">{{ auditData.businessData.accountType=='0'?'医生':'药剂师' }}</text>
					</view>
					<view class="info-item">
						<text class="info-label">手机号码</text>
						<text class="info-value">{{ auditData.businessData.mobile||'-' }}</text>
					</view>
					<view class="info-item">
						<text class="info-label">身份证号</text>
						<text class="info-value">{{ auditData.businessData.idCard||'-'}}</text>
					</view>
					<view class="info-item">
						<text class="info-label">机构名称</text>
						<text class="info-value">{{ auditData.businessData.institution||'-'}}</text>
					</view>
					<view class="info-item">
						<text class="info-label">注册时间</text>
						<text class="info-value">{{ auditData.businessData. registerTime||'-'}}</text>
					</view>
				</view>
			</view>
			<view class="info-section" v-if="auditData.audit.auditType=='ADUIT_JZSH'">
				<view class="section-header">
					<view class="section-indicator"></view>
					<text class="section-title">执业信息</text>
				</view>
				<view class="info-list">
					<view class="info-item">
						<text class="info-label">地址（省市区）</text>
						<text
							class="info-value">{{ auditData.businessData.province||'-' }} {{ auditData.businessData.city||'-' }} {{ auditData.businessData.district||'-' }}</text>	
					</view>
					<view class="info-item">
						<view class="info-item">
							<text class="info-label">公司名称</text>
							<text class="info-value">{{ auditData.businessData.companyName||'-'}}</text>
						</view>
						<text class="info-label">科室</text>
						<text class="info-value">{{ auditData.businessData.department||'-'}}</text>
					</view>
					<view class="info-item">
						<text class="info-label">职称</text>
						<text class="info-value">{{ auditData.businessData.jobTitle||'-'}}</text>
					</view>
					<view class="info-item">
						<text class="info-label">第三方业务编码</text>
						<text class="info-value">{{ auditData.businessData.thirdPartyCode||'-'}}</text>
					</view>
					<view class="info-item">
						<text class="info-label">签约协议状态</text>
						<text class="info-value">{{ auditData.businessData.contractStatus=='0'?'未签约':'已签约'}}</text>
					</view>
				</view>
			</view>
			<view class="info-section" v-if="auditData.audit.auditType=='ADUIT_JZSH'">
				<view class="section-header">
					<view class="section-indicator"></view>
					<text class="section-title">资质信息</text>
				</view>
				<view class="qualification-list">
					<view class="qualification-item" v-if="auditData.businessData.licenseImage||''">
						<text class="qualification-label">执业证图片</text>
						<view class="image-grid">
							<image class="qualification-image" :src="  auditData.businessData.licenseImage"
								@click="showImagePreview(auditData.businessData.licenseImage)"></image>
						</view>
					</view>
					<view class="qualification-item" v-if="auditData.businessData.titleCertImage||''">
						<text class="qualification-label">职称证/工牌图片</text>
						<view class="image-grid">
							<image class="qualification-image" :src="auditData.businessData.titleCertImage||''"
								@click="showImagePreview(auditData.businessData.titleCertImage||'')"></image>
						</view>
					</view>
				</view>
			</view>




			<!-- 提现审核详情 -->
			<view class="info-section" v-if="auditData.audit.auditType=='ADUIT_TXSH'">
				<view class="section-header">
					<view class="section-indicator"></view>
					<text class="section-title">基础信息</text>
				</view>
				<view class="info-list">
					<view class="info-item">
						<text class="info-label">公司名称</text>
						<text class="info-value">{{ auditData.businessData.companyName ||'-'}}</text>
					</view>
					<view class="info-item">
						<text class="info-label">医生姓名</text>
						<text class="info-value">{{auditData.businessData.doctorName||'-'}}</text>
					</view>
				</view>
			</view>
			<view class="info-section" v-if="auditData.audit.auditType=='ADUIT_TXSH'">
				<view class="section-header">
					<view class="section-indicator"></view>
					<text class="section-title">提现信息</text>
				</view>
				<view class="info-list">
					<view class="info-item">
							<text class="info-label">提现积分数量</text>
							<text class="info-value">{{ auditData.businessData.pointsAmount||'-'}}</text>
					</view>
					<view class="info-item">
						<text class="info-label">提现金额（积分折算）</text>
						<text class="info-value">{{ auditData.businessData.readConverterExp||'-'}}</text>
					</view>
					<view class="info-item">
						<text class="info-label">提现申请时间</text>
						<text class="info-value">{{ auditData.businessData.applyTime||'-'}}</text>
					</view>
					<view class="info-item">
						<text class="info-label">审核状态</text>
						<text class="info-value">
							{{auditData.businessData.auditStatus == '0' ? '待审核' : 
                              auditData.businessData.auditStatus == '1' ? '审核通过' : 
                              auditData.businessData.auditStatus == '2' ? '审核驳回' : '' 
                            }}
						</text>
					</view>
					<view class="info-item">
						<text class="info-label"> 审核时间</text>
						<text class="info-value">{{ auditData.businessData.auditTime||'-'}}</text>
					</view>
					<view class="info-item">
						<text class="info-label"> 审核备注（驳回原因等）</text>
						<text class="info-value">{{ auditData.businessData.auditRemark||'-'}}</text>
					</view>

					<view class="info-item">
						<text class="info-label"> 打款状态</text>
						<text class="info-value">{{ auditData.businessData.paymentStatus=='0'?'待打款':'已打款'}}</text>
					</view>
					<view class="info-item">
						<text class="info-label"> 打款时间</text>
						<text class="info-value">{{ auditData.businessData.paymentTime||'-'}}</text>
					</view>
					<view class="info-item">
						<text class="info-label"> 银行回执编号</text>
						<text class="info-value">{{ auditData.businessData.bankReceiptNo||'-'}}</text>
					</view>
					<view class="qualification-list">
						<view class="qualification-item">
							<text class="qualification-label">银行回执图片URL</text>
							<view class="image-grid" v-if="auditData.businessData.bankReceiptUrl||''">
								<image class="qualification-image" :src="  auditData.businessData.bankReceiptUrl||''"
									@click="showImagePreview(auditData.businessData.bankReceiptUrl||'')"></image>
							</view>
						</view>
					</view>
				</view>
			</view>




			<!-- 创建任务审核详情和完成任务审核-->
			<view class="info-section" v-if="auditData.audit.auditType=='ADUIT_WCRWS'||auditData.audit.auditType=='ADUIT_CJRW'">
				<view class="section-header">
					<view class="section-indicator"></view>
					<text class="section-title">基础信息</text>
				</view>
				<view class="info-list">
					<view class="info-item">
						<text class="info-label">公司名称</text>
						<text class="info-value">{{ auditData.businessData.auditTaskInfoVO.taskNo ||'-'}}</text>
					</view>
					<view class="info-item">
						<text class="info-label">任务名称</text>
						<text class="info-value">{{auditData.businessData.auditTaskInfoVO.taskName||'-'}}</text>
					</view>
				</view>
			</view>
			<view class="info-section" v-if="auditData.audit.auditType=='ADUIT_WCRWS'||auditData.audit.auditType=='ADUIT_CJRW'">
				<view class="section-header">
					<view class="section-indicator"></view>
					<text class="section-title">任务信息</text>
				</view>
				<view class="info-list">
					<view class="info-item">
							<text class="info-label">费用分摊ID</text>
							<text class="info-value">{{ auditData.businessData.auditTaskInfoVO.costShareId||'-'}}</text>
					</view>
					<view class="info-item">
						<text class="info-label">费用分摊名字</text>
						<text class="info-value">{{ auditData.businessData.auditTaskInfoVO.costShareName||'-'}}</text>
					</view>
					<view class="info-item">
						<text class="info-label">任务积分</text>
						<text class="info-value">{{ auditData.businessData.auditTaskInfoVO.taskIntegral||'-'}}</text>
					</view>
					<view class="info-item">
						<text class="info-label">任务数量</text>
						<text class="info-value">{{ auditData.businessData.auditTaskInfoVO.taskCount||'-'}}</text>
					</view>
					<view class="info-item">
						<text class="info-label">任务单位(字典ID)</text>
						<text class="info-value">{{ auditData.businessData.auditTaskInfoVO.taskUnit||'-'}}</text>
					</view>
					<view class="info-item">
						<text class="info-label">任务单位名称</text>
						<text class="info-value">{{ auditData.businessData.auditTaskInfoVO.taskUnitName||'-'}}</text>
					</view>
					<view class="info-item">
						<text class="info-label">归属类型(字典ID)</text>
						<text class="info-value">{{ auditData.businessData.auditTaskInfoVO.belongType||'-'}}</text>
					</view>
					<view class="info-item">
						<text class="info-label">归属名字</text>
						<text class="info-value">{{ auditData.businessData.auditTaskInfoVO.belongTypeName||'-'}}</text>
					</view>
					<view class="info-item">
						<text class="info-label">计划开始时间</text>
						<text class="info-value">{{ auditData.businessData.auditTaskInfoVO.planStartTime||'-'}}</text>
					</view>
					<view class="info-item">
						<text class="info-label">计划结束时间</text>
						<text class="info-value">{{ auditData.businessData.auditTaskInfoVO.planEndTime||'-'}}</text>
					</view>
					<view class="info-item">
						<text class="info-label">归属项目ID</text>
						<text class="info-value">{{ auditData.businessData.auditTaskInfoVO.projectId||'-'}}</text>
					</view>
					<view class="info-item">
						<text class="info-label">项目名称</text>
						<text class="info-value">{{ auditData.businessData.auditTaskInfoVO.projectName||'-'}}</text>
					</view>
					<view class="info-item">
						<text class="info-label">医生id</text>
						<text class="info-value">{{ auditData.businessData.auditTaskInfoVO.doctorId||'-'}}</text>
					</view>
					<view class="info-item">
						<text class="info-label">归属部门ID</text>
						<text class="info-value">{{ auditData.businessData.auditTaskInfoVO.deptId||'-'}}</text>
					</view>
					<view class="info-item">
						<text class="info-label">部门名称</text>
						<text class="info-value">{{ auditData.businessData.auditTaskInfoVO.deptName||'-'}}</text>
					</view>
					<view class="info-item">
						<text class="info-label">交付物审核时间</text>
						<text class="info-value">{{ auditData.businessData.auditTaskInfoVO.deliveryAuditTime||'-'}}</text>
					</view>
				</view>
			</view>

			<!-- 长视频信息 -->
            <view class="info-section" v-if="auditData.audit.auditType=='ADUIT_WCRWS'||auditData.audit.auditType=='ADUIT_CJRW'">
				<view class="section-header">
					<view class="section-indicator"></view>
					<text class="section-title">长视频信息</text>
				</view>
				<view class="info-list">
					<view class="info-item">
						<text class="info-label">项目名称/视频标题</text>
						<text class="info-value">{{ auditData.businessData.projectVO.title ||'-'}}</text>
					</view>
					<view class="info-item">
						<text class="info-label">是否原创</text>
						<text class="info-value">{{auditData.businessData.projectVO.isOriginal==0?'否':'是'||'-'}}</text>
					</view>
					<view class="qualification-list">
						<view class="qualification-item">
							<text class="qualification-label">封面图URL</text>
							<view class="image-grid" v-if="auditData.businessData.projectVO.coverUrl||''">
								<image class="qualification-image" :src="  auditData.businessData.projectVO.coverUrl||''"
									@click="showImagePreview(auditData.businessData.projectVO.coverUrl||'')"></image>
							</view>
						</view>
					</view>
					<view class="info-item">
						<text class="info-label">摘要</text>
						<text class="info-value">{{auditData.businessData.projectVO.summary||'-'}}</text>
					</view>
					<view class="qualification-list">
						<view class="qualification-item">
							<text class="qualification-label">视频附件URL</text>
							<view class="image-grid" v-if="auditData.businessData.projectVO.videoUrl||''">
								<image class="qualification-image" :src="  auditData.businessData.projectVO.videoUrl||''"
									@click="showImagePreview(auditData.businessData.projectVO.videoUrl||'')"></image>
							</view>
						</view>
					</view>
				</view>
			</view>

			<!-- 短视频 -->
            <view class="info-section" v-if="auditData.audit.auditType=='ADUIT_WCRWS'||auditData.audit.auditType=='ADUIT_CJRW'">
				<view class="section-header">
					<view class="section-indicator"></view>
					<text class="section-title">短视频信息</text>
				</view>
				<view class="info-list">
					<view class="info-item">
						<text class="info-label">项目名称/视频标题</text>
						<text class="info-value">{{ auditData.businessData.projectVO.title ||'-'}}</text>
					</view>
					<view class="info-item">
						<text class="info-label">是否原创</text>
						<text class="info-value">{{auditData.businessData.projectVO.isOriginal==0?'否':'是'||'-'}}</text>
					</view>
					<view class="qualification-list">
						<view class="qualification-item">
							<text class="qualification-label">封面图URL</text>
							<view class="image-grid" v-if="auditData.businessData.projectVO.coverUrl||''">
								<image class="qualification-image" :src="  auditData.businessData.projectVO.coverUrl||''"
									@click="showImagePreview(auditData.businessData.projectVO.coverUrl||'')"></image>
							</view>
						</view>
					</view>
					<view class="info-item">
						<text class="info-label">摘要</text>
						<text class="info-value">{{auditData.businessData.projectVO.summary||'-'}}</text>
					</view>
					<view class="qualification-list">
						<view class="qualification-item">
							<text class="qualification-label">视频附件URL</text>
							<view class="image-grid" v-if="auditData.businessData.projectVO.videoUrl||''">
								<image class="qualification-image" :src="  auditData.businessData.projectVO.videoUrl||''"
									@click="showImagePreview(auditData.businessData.projectVO.videoUrl||'')"></image>
							</view>
						</view>
					</view>
					<view class="info-item">
						<text class="info-label">上下架状态</text>
						<text class="info-value">{{auditData.businessData.projectVO.status==0?'上架':'下架'||'-'}}</text>
					</view>
				</view>
			</view>





			<!-- 任务信息 -->
			<!-- <view class="info-section" v-if="auditData">
				<view class="section-header">
					<view class="section-indicator"></view>
					<text class="section-title">任务信息</text>
				</view>
				<view class="info-list">
					<view class="info-item">
						<text class="info-label">任务名称</text>
						<text class="info-value">{{ auditData.audit.auditName }}</text>
					</view>
					<view class="info-item">
						<text class="info-label">任务类型</text>
						<text class="info-value">{{ auditData.audit.auditType }}</text>
					</view>
					<view class="info-item">
						<text class="info-label">归属部门</text>
						<text class="info-value">{{ auditData.audit.deptName }}</text>
					</view>
				</view>
			</view> -->
			<!-- 项目信息 -->
			<view class="info-section" v-if="auditData.projectVO">
				<view class="section-header">
					<view class="section-indicator"></view>
					<text class="section-title">项目信息</text>
				</view>
				<view class="info-list">
					<view class="info-item">
						<text class="info-label">项目名称</text>
						<text class="info-value">{{ auditData.projectVO.projectName }}</text>
					</view>
					<view class="info-item">
						<text class="info-label">项目活动ID</text>
						<text class="info-value">{{ auditData.projectVO.projectTypeId }}</text>
					</view>
				</view>
			</view>

			<!-- 客户信息 -->
			<view class="info-section" v-if="auditData.docterVO">
				<view class="section-header">
					<view class="section-indicator"></view>
					<text class="section-title">客户信息</text>
				</view>
				<view class="client-list">
					<view class="client-item">
						<view class="client-info">
							<image class="avatar"
								src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/my_heads_icon.png">
							</image>
							<view class="client-txt">
								<view class="client-name">
									{{ auditData.docterVO.doctorName }}
									<text class="client-level">一级</text>
								</view>
								<view class="client-hospital">
									<text>{{ auditData.docterVO.institution }} </text>
									<view class="line"></view>
									<text>{{ auditData.docterVO.department || '-' }}</text>
								</view>
							</view>
						</view>
						<view class="client-stats">
							<view class="stat-item"><text class="num">{{ auditData.auditTaskInfoVO.taskCount }}
								</text>任务</view>
							<view class="stat-item"><text class="num">{{ auditData.auditTaskInfoVO.taskIntegral }}
								</text>积分</view>
						</view>
					</view>
				</view>
			</view>

			<!-- 审批信息 -->
			<view class="info-section" v-if="auditData">
				<view class="section-header">
					<view class="section-indicator"></view>
					<text class="section-title">审批流程</text>
				</view>
				<view class="approval-list">
					<view class="approval-item" v-for="(item, index) in auditData.auditFlows" :key="index">
						<view class="left">
							<view class="avatar-box">
								<image class="avatar"
									src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/my_heads_icon.png">
								</image>
								<image class="icon" v-if="item.status==1"
									src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_wait.png">
								</image>
								<image class="icon" v-if="item.status==2|| item.status ===0"
									src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_pass.png">
								</image>
								<image class="icon" v-if="item.status==3"
									src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_refuse.png">
								</image>
							</view>
							<view class="approval-user">
								<view class="user-name">{{ item.auditUserName }}</view>
								<view class="user-status"
									:style="{ color: item.status ===2|| item.status ===0 ? '#4CAF50' : item.status === 1 ? '#FF9800' : '#F44336' }">
									{{ item.statusName }}</view>
							</view>
						</view>
						<text class="approval-time">{{ item.auditTime || '' }}</text>
						<view class="approval-line" v-if="index < auditData.auditFlows.length - 1"></view>
					</view>
				</view>
			</view>
		</scroll-view>

		<!-- 自定义图片预览模态框 -->
		<view class="image-preview-modal" v-if="imagePreview.show" @click="closeImagePreview">
			<view class="image-preview-content" @click.stop>
				<image class="preview-image" :src="imagePreview.urls[imagePreview.current]" mode="widthFix"></image>
			</view>
		</view>

		<view class="bottom-bar" v-if="auditData.audit.status != 2">
			<view class="action-buttons">
				<view class="btn btn-cancel" @click="openRejectPopup">
					<image class="icon"
						src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_approval_no.png"></image>
					<text>驳回</text>
				</view>
				<view class="btn btn-submit" @click="handleNext">
					<image class="icon"
						src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_approval_yes.png"></image>
					<text>通过</text>
				</view>
			</view>
		</view>

		<!-- 驳回弹窗 -->
		<u-popup :show="showRejectPopup" mode="bottom" round="24" z-index="9999999">
			<view class="reject-popup-content">
				<view class="popup-header">
					<text class="popup-title">驳回</text>
					<image @click="showRejectPopup = false;" class="close"
						src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_close.png"></image>
				</view>

				<view class="input-area">
					<textarea v-model="rejectReason" placeholder="请输入驳回意见" class="reason-input" :auto-height="true"
						maxlength="200" />
				</view>
				<view class="btn-group">
					<view class="button reject" @click="showRejectPopup = false">取消</view>
					<view class="button confirm" @click="handleConfirmReject ">确认驳回</view>
				</view>
			</view>
		</u-popup>
	</view>
</template>

<script>
	import {
		doAudit,
		getAuditFlows,
		getTaskFinishAuditInfo,
		detail
	} from '@/api/audit.js'
	import image from 'uview-ui/libs/config/props/image';

	export default {
		data() {
			return {
				userInfo: uni.getStorageSync('userInfo'),

				// 弹窗默认隐藏
				showRejectPopup: false,
				// 驳回意见
				rejectReason: '',
				// 状态栏高度
				statusBarHeight: uni.getSystemInfoSync().statusBarHeight,
				// 任务ID
				taskId: '',
				// 接口返回的原始数据
				auditData: null,
				// 审批信息
				approvalInfo: [],
				// 图片预览
				imagePreview: {
					show: false,
					urls: [],
					current: 0
				}
			}
		},
		onLoad(options) {
			if (options.taskId) {
				this.taskId = options.taskId
				this.taskId = 358
				this.loadData()
			}
		},
		methods: {
			// 打开驳回弹窗
			openRejectPopup() {
				// 直接打开驳回弹窗
				this.showRejectPopup = true
			},

			// 确认驳回
			async handleConfirmReject() {
				if (!this.rejectReason.trim()) {
					uni.showToast({
						title: '请输入驳回意见',
						icon: 'none'
					})
					return
				}

				try {
					uni.showLoading({
						title: '提交中...'
					})

					// 调用审核接口，传递action=2表示驳回
					const res = await doAudit({
						auditId: this.taskId,
						userId: this.userInfo.userId,
						userType: 0,
						action: 2,
						comment: this.rejectReason,
						companyId: this.userInfo.companyId
					})

					uni.hideLoading()

					if (res.code === 200) {
						uni.showToast({
							title: res.data.message,
							icon: none
						})

						// 关闭弹窗
						this.showRejectPopup = false
						// 重置输入
						this.rejectReason = ''
						// 重新加载数据
						this.loadData()
					} else {
						uni.showToast({
							title: res.msg || '驳回失败',
							icon: 'none'
						})
					}
				} catch (e) {
					uni.hideLoading()
					console.error('驳回失败', e)
					uni.showToast({
						title: '驳回失败，请稍后重试',
						icon: 'none'
					})
				}
			},

			// 返回上一页
			goBack() {
				uni.navigateBack()
			},

			// 加载数据
			async loadData() {
				try {
					uni.showLoading({
						title: '加载中...'
					})

					// 获取审批流程信息
					//         const auditFlowsRes = await getAuditFlows({
					//   auditId: this.taskId,
					//   userId: this.userInfo.userId,
					//   userType: this.userInfo.userType,
					//   action: 0,
					//   comment: "comment_3498cb3111a7",
					//   companyId: this.userInfo.companyId
					// })
					//         if (auditFlowsRes.code === 200) {
					// 			console.log('审批流程信息：', auditFlowsRes.data)
					//           this.approvalInfo = auditFlowsRes.data || []
					//         }

					// 获取任务完成审核信息
					const taskFinishAuditRes = await detail({
						auditId: this.taskId
					})
					if (taskFinishAuditRes.code === 200) {
						// 直接保存接口返回的原始数据
						console.log('任务完成审核信息：', taskFinishAuditRes.data)
						this.auditData = taskFinishAuditRes.data
					}

					// 实际项目中替换为接口请求：const res = await getTaskDetail({ id: this.taskId })
					// 这里模拟接口赋值

					uni.hideLoading()
				} catch (e) {
					uni.hideLoading()
					console.error('加载数据失败', e)
				}
			},

			// 复制到剪贴板
			copyToClipboard(text) {
				uni.setClipboardData({
					data: text,
					success() {
						uni.showToast({
							title: '复制成功',
							icon: 'success'
						})
					}
				})
			},

			// 下载附件
			downloadAttachment() {
				uni.showToast({
					title: '开始下载附件',
					icon: 'none'
				})
				// 实际项目中添加下载逻辑：uni.downloadFile + uni.saveFile
			},

			// 备用方法（实际用openRejectPopup）
			handlePrev() {
				this.openRejectPopup()
			},

			// 审批通过
			async handleNext() {
				try {
					uni.showLoading({
						title: '提交中...'
					})

					// 调用审核接口，传递action=1表示通过
					const res = await doAudit({
						auditId: this.taskId,
						userId: this.userInfo.userId,
						userType: 0,
						action: 1,
						comment: "",
						companyId: this.userInfo.companyId
					})

					uni.hideLoading()

					if (res.code === 200) {
						uni.showToast({
							title: res.data.message,
							icon: none
						})

						// 重新加载数据
						this.loadData()
					} else {
						uni.showToast({
							title: res.msg || '审批通过失败',
							icon: 'none'
						})
					}
				} catch (e) {
					uni.hideLoading()
					console.error('审批通过失败', e)
					uni.showToast({
						title: '审批通过失败，请稍后重试',
						icon: 'none'
					})
				}
			},

			// 自定义图片预览
			showImagePreview(url) {
				if (url) {
					this.imagePreview.show = true;
					this.imagePreview.urls = [url];
					this.imagePreview.current = 0;
				}
			},

			// 关闭图片预览
			closeImagePreview() {
				this.imagePreview.show = false;
			}
		}
	}
</script>

<style lang="scss" scoped>
	// 弹窗样式
	.reject-popup-content {
		padding: 32rpx;
		box-sizing: border-box;
		overflow: hidden;
		border-radius: 24rpx 24rpx 0 0;

		.popup-header {
			display: flex;
			justify-content: center;
			align-items: center;
			margin-bottom: 32rpx;
			position: relative;

			.popup-title {
				font-size: 32rpx;
				font-weight: bold;
				color: #333;
			}

			.close {
				position: absolute;
				right: 0;
				width: 44rpx;
				height: 44rpx;
			}
		}

		.input-area {
			margin-bottom: 40rpx;

			.reason-input {
				min-height: 120rpx;
				padding: 20rpx;
				background: #F7F8FA;
				border-radius: 12rpx;
				font-size: 28rpx;
				color: #333;
				width: 100%; // 新增：确保输入框宽度100%
				box-sizing: border-box;
			}
		}

		.btn-group {
			display: flex;
			gap: 24rpx;

			.button {
				width: 332rpx;
				height: 80rpx;
				flex: 1;
				border-radius: 200rpx;
				font-size: 28rpx;
				text-align: center;
				line-height: 80rpx;
			}

			.reject {
				color: #388BFF;
				background: #FFFFFF;
				border-radius: 200rpx 200rpx 200rpx 200rpx;
				border: 2rpx solid #388BFF;
			}

			.confirm {
				background: #388BFF;
				color: #FFFFFF;
			}
		}
	}

	// 原有样式
	.container {
		min-height: 100vh;
		background: #f5f5f5;
		display: flex;
		flex-direction: column;
		height: auto;

		&::before {
			content: '';
			position: absolute;
			top: 0;
			left: 0;
			right: 0;
			width: 100%;
			height: 532rpx;
			background: linear-gradient(180deg, rgba(56, 139, 255, 0.79) 0%, rgba(56, 139, 255, 0) 100%);
		}
	}

	.top {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 88rpx;
		position: relative;
		font-weight: 600;
		font-size: 36rpx;
		color: #FFFFFF;

		.return {
			position: absolute;
			left: 32rpx;
			width: 40rpx;
			height: 40rpx;
		}
	}

	.content {
		flex: 1;
		padding: 24rpx;
		box-sizing: border-box;
		padding-bottom: 200rpx;
	}

	/* 任务卡片样式 */
	.task-card {
		background: #fff;
		border-radius: 16rpx;
		padding: 24rpx;
		margin-bottom: 24rpx;

		.card-header {
			display: flex;
			justify-content: space-between;

			.card-title {
				font-weight: 500;
				font-size: 36rpx;
				color: #333333;
				margin-bottom: 24rpx;
			}

			.card-lable {
				height: 40rpx;
				box-sizing: border-box;
				padding: 4rpx 12rpx;
				font-size: 24rpx;
				border-radius: 8rpx;

				&.pending {
					background: #FEF8E3;
					color: #DE9B14;
				}

				&.reject {
					background: #FFF4F5;
					color: #CF3546;
				}

				&.pass {
					color: #07C160;
					background: #E6FAEF;
				}
			}
		}

		.card-meta {
			display: flex;
			align-items: center;
			gap: 16rpx;
			font-size: 24rpx;
			color: #666;

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

				image {
					width: 32rpx;
					height: 32rpx;
					margin-right: 16rpx;
				}
			}
		}
	}

	/* 通用信息区块样式 */
	.info-section {
		background: #fff;
		border-radius: 16rpx;
		padding: 24rpx;
		margin-bottom: 24rpx;

		.section-header {
			display: flex;
			align-items: center;
			margin-bottom: 24rpx;

			.section-indicator {
				width: 6rpx;
				height: 32rpx;
				background: #388BFF;
				border-radius: 3rpx;
				margin-right: 16rpx;
			}

			.section-title {
				font-weight: 600;
				font-size: 32rpx;
				color: #333333;
			}
		}

		.info-list {
			.info-item {
				display: flex;
				margin-bottom: 24rpx;

				&:last-child {
					margin-bottom: 0;
				}

				.info-label {
					width: 50%;
					font-size: 28rpx;
					color: #666;
					flex-shrink: 0;
				}

				.info-value {
					flex: 1;
					text-align: end;
					font-size: 28rpx;
					color: #333;
				}

				.copy-btn {
					margin-left: 16rpx;
					color: #2196F3;
					font-size: 24rpx;
					cursor: pointer;
				}

				.column {
					flex-direction: column;
				}

				.attachment-item {
					margin-top: 24rpx;
					display: flex;
					justify-content: space-between;
					align-items: center;
					gap: 16rpx;
					background: #F7F8FA;
					border-radius: 16rpx 16rpx 16rpx 16rpx;

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

						.img {
							width: 72rpx;
							height: 72rpx;
							margin-right: 24rpx;
						}

						.txt-item {
							.attachment-name {
								font-size: 28rpx;
								color: #333;
							}

							.attachment-size {
								font-size: 24rpx;
								color: #999;
							}
						}
					}

					.download-btn {
						width: 32rpx;
						height: 32rpx;
					}
				}
			}
		}
	}

	/* 客户信息样式 */
	.client-list {
		.client-item {
			display: flex;
			justify-content: space-between;
			align-items: center;
			padding: 16rpx 0;

			&:last-child {
				border-bottom: none;
			}

			.client-info {
				display: flex;
				align-items: center;

				.avatar {
					width: 88rpx;
					height: 88rpx;
					margin-right: 24rpx;
				}

				.client-txt {
					.client-name {
						font-size: 28rpx;
						font-weight: 500;
						color: #333;

						.client-level {
							margin-left: 8rpx;
							padding: 2rpx 8rpx;
							background: #FFF6E5;
							color: #C89743;
							font-size: 22rpx;
							border-radius: 8rpx;
						}
					}
				}

				.client-hospital {
					font-size: 24rpx;
					color: #666;
					margin-top: 4rpx;
					display: flex;
					align-items: center;

					.line {
						width: 2rpx;
						height: 28rpx;
						background: #EAEBEE;
						margin: 0 24rpx;
					}
				}
			}

			.client-stats {
				display: flex;
				gap: 24rpx;
				font-size: 24rpx;
				color: #999999;

				.stat-item {
					display: flex;
					flex-direction: column;
					align-items: center;

					.num {
						font-weight: 500;
						font-size: 28rpx;
						color: #333333;
					}
				}
			}
		}
	}

	/* 资质信息样式 */
	.qualification-list {
		.qualification-item {
			margin-bottom: 32rpx;

			&:last-child {
				margin-bottom: 0;
			}

			.qualification-label {
				display: block;
				font-size: 28rpx;
				color: #666666;
				margin-bottom: 16rpx;
			}

			.image-grid {
				display: flex;
				flex-wrap: wrap;
				gap: 16rpx;

				.qualification-image {
					width: calc((100% - 32rpx) / 2);
					height: 240rpx;
					border-radius: 8rpx;
					object-fit: cover;
				}
			}
		}
	}

	/* 审批信息样式 */
	.approval-list {
		.approval-item {
			position: relative;
			padding-left: 24rpx;
			margin-bottom: 68rpx;
			display: flex;
			align-items: center;
			justify-content: space-between;

			&:last-child {
				margin-bottom: 0;
			}

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

				.avatar-box {
					width: 80rpx;
					height: 80rpx;
					margin-right: 32rpx;
					position: relative;

					.avatar {
						width: 100%;
						height: 100%;
					}

					.icon {
						position: absolute;
						bottom: 0;
						right: 0;
						width: 32rpx;
						height: 32rpx;
					}
				}

				.approval-user {
					gap: 12rpx;

					.user-name {
						font-weight: 500;
						font-size: 28rpx;
						color: #333;
					}

					.user-status {
						font-size: 24rpx;
					}
				}
			}

			.approval-time {
				font-size: 24rpx;
				color: #999;
				margin-top: 4rpx;
			}
		}

		.approval-line {
			position: absolute;
			left: 64rpx;
			bottom: -64rpx;
			width: 1rpx;
			height: 56rpx;
			background: #BFD8FF;
		}
	}

	.reason {
		font-size: 28rpx;
		color: #666666;
		line-height: 40rpx;
		margin-left: 136rpx;
		background: #F7F8FA;
		border-radius: 16rpx;
		line-height: 40rpx;
		padding: 20rpx;
	}

	.bottom-bar {
		position: fixed;
		bottom: 0;
		left: 0;
		right: 0;
		background: #fff;
		padding: 24rpx 32rpx;
		border-top: 1rpx solid #F2F3F5;
		z-index: 100;
		display: flex;
		align-items: center;

		.action-buttons {
			display: flex;
			flex: 1;
			justify-content: space-between;

			.btn {
				width: 292rpx;
				height: 88rpx;
				display: flex;
				align-items: center;
				justify-content: center;
				font-size: 32rpx;
				font-weight: 500;
				border-radius: 200rpx 200rpx 200rpx 200rpx;
				cursor: pointer;
				display: flex;
				align-items: center;

				&.btn-cancel {
					background: #fff;
					border: 2rpx solid #CF3546;
					color: #CF3546;
				}

				&.btn-submit {
					background: #388BFF;
					color: #fff;
				}

				.icon {
					width: 32rpx;
					height: 32rpx;
					margin-right: 16rpx;
				}
			}
		}
	}

	/* 自定义图片预览样式 */
	.image-preview-modal {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background-color: rgba(0, 0, 0, 0.8);
		display: flex;
		justify-content: center;
		align-items: center;
		z-index: 9999;
	}

	.image-preview-content {
		position: relative;
		width: 100%;
		max-height: 90vh;
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	.preview-image {
		width: 100%;
		max-height: 80vh;
		object-fit: contain;
	}

	.close-button {
		position: absolute;
		top: -60rpx;
		right: 0;
		width: 60rpx;
		height: 60rpx;
		background-color: rgba(0, 0, 0, 0.5);
		color: #ffffff;
		border-radius: 50%;
		display: flex;
		justify-content: center;
		align-items: center;
		font-size: 40rpx;
		font-weight: bold;
		cursor: pointer;
	}
</style>