<template>
	<view class="warp">
		<view class="topInfo">
			<view class="topInfo-item">
				<view class="flex info">
					<view class="logo">
						<image src="../../../static/img/reject.png" mode=""
							v-if="dataList.status == '已驳回'" style="height: 40rpx;">
						</image><!-- 驳回 -->
						<image src="../../../static/img/tongguo.png" mode=""
							v-else-if="dataList.status == '已通过'"
							style="height: 40rpx;"></image><!-- 通过 -->
						<image src="../../../static/img/daishenhe.png" mode=""
							v-else-if="dataList.approveStatus == '待人事审核' || dataList.approveStatus == '待主管审核'"
							style="height: 40rpx;"></image><!-- 待审核 -->
					</view>
					<view class="infoText" v-if="dataList.approveStatus">{{dataList.approveStatus}}</view>
					<view class="infoText" v-else>{{dataList.status}}</view>
				</view>
				<view class="infoData" v-if="dataList.updateDate">{{dataList.updateDate}}</view>
			</view>
		</view>
		<view class="content1">
			<!-- :model="OutList" -->
			<u-form  ref="uForm">
				<u-form-item label="请假类型" prop="leaveType" label-width="140" class="uForm_item">
					<u-input v-model="dataList.leaveType" input-align="right" disabled v-if="dataList.leaveType"/>
				</u-form-item>
					<view class="uForm_item">
						<view class='row'>
							<view class="left">开始时间</view>
							<view class="right">{{dataList.startDate}}</view>
						</view>
						<view class='row'>
							<view class="left">结束时间</view>
							<view class="right">{{dataList.endDate}}</view>
						</view>
						<view class='row'>
							<view class="left">请假时长</view>
							<view class="right">{{dataList.leaveDuration}}</view>
						</view>
						<u-form-item label="请假事由" prop="reasonForLeave" label-width="160" label-position="top">
							<u-input v-model="dataList.reasonForLeave" input-align="left" placeholder="请输入请假事由"
								type="textarea" class="textarea" maxlength="150" />
						</u-form-item>
					</view>
			</u-form>
		</view>
		<view class="content3">
			<view class="titlez rowz">
				流程
			</view>
			<view v-for="(item,index) in auditList" :key='index' class="audit">
				<view class="row">
					<view class="left">
						<view class="item1">
							<view class="item-content">{{item.operatorTitle}}</view> 
							<view v-if="item.status=='success'" class='status success'>
								<u-icon name="checkmark" color="#2979ff" size="24"></u-icon>
							</view>
							<view v-if="item.status=='error'" class='status error'>
								<u-icon name="close" color="rgb(245, 108, 108)" size="24"></u-icon>
							</view>
							<view  v-if="item.status=='question'" class='status question'>
								<u-icon name="question" color="#f9ae3d" size="24"></u-icon>
							</view>
						</view>
					</view>
					<view class="right">
						<view class="right-item">
							<view class="item2">
								<view class="name">{{item.desc}}
								</view>
								<!-- <view class='time'>{{item.updateDate}}</view> -->
								<view  v-if="item.status=='success'" class="status success">{{item.commonStaffs1?item.staffscontent:item.operatorName}}<text v-if='!item.commonStaffs1&&index!=0'>已审核</text></view>
								<view  v-if="item.status=='error'" class="status error">{{item.commonStaffs1?item.staffscontent:item.operatorName}}<text v-if='!item.commonStaffs1'>{{item.workflowHistoricTasks ? "已驳回":''}}</text></view>
								<view  v-if="item.status=='question'" class="status question">{{item.commonStaffs1?item.staffscontent:''}}<text v-if='!item.commonStaffs1'>未审核</text></view>
								<!-- <view  class="status success">吕波（已审核）</view> -->
								
							</view>
							<view v-if='index==0||item.workflowHistoricTasks&&item.workflowHistoricTasks.length>0' class='time'>
							{{item.updateDate}}
							</view>
						</view>
						<view v-if='item.auditMind' class="right-content">
							{{item.auditMind}}
						</view>
						<view class="flex audit_img">
							<view v-for="(items,indexs) in item.fileUrl" class="url_css">
								<image :src="items" mode='aspectFill' class="url_img" @click="auditFile(items)"></image>
							</view>
						</view>
					</view>
					<view v-if='item.commonStaffs1' class="right">
						<u-icon @click='showcontent(item)' :name="item.showflow?'arrow-up':'arrow-down'"  size="28"></u-icon>
					</view>
				</view>
				<view v-if='item.showflow' style='padding:10px 0 0 50px;'>
					<view class='row2'>
						<view v-for='item1 in item.commonStaffs1' style='margin:5px;text-align:center;'>
							<view class="item-content">
								<u-icon v-if='item1.status' name="checkmark" color="#fff" size="14"></u-icon>
								<u-icon v-if='!item1.status' name="question" color="#f9ae3d" size="14"></u-icon>
							</view> 
							<view class="name">{{item1.staffName}}</view> 
						</view>
					</view>
				</view>
				<view class="row-line" v-if="index!= auditList.length - 1"></view>
			</view>
		</view>
		<view style='padding:10px;' class='flex bottom-btn'>
			<u-button @click='fanHui' type="success" class="btn1" hover-class='none'>返回</u-button>
		</view>
	</view>

</template>

<script>
	import {
		mapState
	} from 'vuex';
	export default {
		data() {
			return {
				id: "",
				show: false,
				show1: false,
				border: false,
				rejectInfo: "", //驳回原因
				leaveType:'',
				reasonForLeave:'',
				startDate:'',
				endDate:'',
				leaveDuration:'',
				leaveType:'',
				approveStatus:'',
				auditList: [],
				status:'',
				pcUserInfo :uni.getStorageSync('pcUserInfo'),
				updateDate:'',
				auditMind: '',
				dataList:{
					srcList: []
				},
			}
		},
		// onReady() {
		// 	this.$refs.uForm.setRules(this.rules);
		// },
		onLoad(options) {
			this.id = options.id
			this.getList()
		},
		computed: {
			...mapState(['hasLogin', 'userInfo']),
		},
		methods: {
			getList() {
				this.$api.doRequest('get', '/leaveInfo/getLeaveInfo', {
					id: this.id
				}).then(res => {
					if (res.data.code == 200) {
						this.dataList = res.data.data
					this.$api.doRequest('get', '/workflow/query/workflowDefinitions', {
						businessCode: 'QINGJIA-APPROVE',
						tmpCompId: uni.getStorageSync('pcUserInfo').compId
					}).then(res1 => {
						this.$api.doRequest('get', '/commonUser/getHis', {
							workflowId: res1.data.data[0].id,
							businessKey: this.id,
							// branch:that.list.jointVentureParties?that.list.jointVentureParties:'zt'
						}).then(response => {
							uni.hideLoading()
							for (let i = 0; i < response.data.data.length; i++) {
								this.$set(response.data.data[i], 'status', 'question')
								// console.log(response.data.data[i].workflowHistoricTasks,i)
								if (response.data.data[i].commonStaffs) {
									response.data.data[i].showflow = false
									response.data.data[i].operatorTitle = response.data.data[i]
										.desc.substring(0, 2)
									response.data.data[i].operatorName = response.data.data[i]
										.desc
									response.data.data[i].staffscontent = '共' + response.data
										.data[i].commonStaffs.length + '人，当前审核' + response.data
										.data[i].workflowHistoricTasks.length + '人'
									if (response.data.data[i].workflowHistoricTasks && response
										.data.data[i].workflowHistoricTasks.length > 0) {
										if (response.data.data[i].workflowHistoricTasks
											.length != response.data.data[i].commonStaffs
											.length) {
											// response.data.data[i].status='question'
											this.$set(response.data.data[i], 'status',
												'question')
										} else {
											this.$set(response.data.data[i], 'status',
												'success')
											// response.data.data[i].status='success'
										}
										response.data.data[i].workflowlen = response.data.data[
											i].workflowHistoricTasks.length
										var workflowdata = response.data.data[i]
											.workflowHistoricTasks
										var staffsdata = response.data.data[i].commonStaffs
										for (let q = 0; q < staffsdata.length; q++) {
											staffsdata[q].status = false
											staffsdata[q].staffTitle = staffsdata[q].staffName
											for (let k = 0; k < workflowdata.length; k++) {
												if (staffsdata[q].staffId == workflowdata[k]
													.operatorId) {
													staffsdata[q].status = true
												}
											}
										}
									}
									response.data.data[i].commonStaffs1 = response.data.data[i]
										.commonStaffs
								} else {
									if (response.data.data[i].workflowHistoricTasks && response
										.data.data[i].workflowHistoricTasks.length > 0) {
										var len = response.data.data[i].workflowHistoricTasks
											.length - 1
										if (response.data.data[i].workflowHistoricTasks[len]
											.approved) {
											this.$set(response.data.data[i], 'status',
												'success')
										} else {
											this.$set(response.data.data[i], 'status', 'error')
										}
										response.data.data[i].operatorTitle = response.data
											.data[i].workflowHistoricTasks[len].operatorName
											.substring(response.data.data[i]
												.workflowHistoricTasks[0].operatorName.length -
												2)
										response.data.data[i].operatorName = response.data
											.data[i].workflowHistoricTasks[len].operatorName
										var time = new Date(response.data.data[i]
											.workflowHistoricTasks[len].claimTime)
										.getTime()
										response.data.data[i].updateDate = this.$u.timeFormat(
											time, 'mm.dd hh:MM')
										response.data.data[i].auditMind = response.data.data[i]
											.workflowHistoricTasks[len].auditMind
									} else {
										this.$set(response.data.data[i], 'status', 'question')
										// response.data.data[i].status='question'
										if (response.data.data[i].desc == '总经理助理审核') {
											response.data.data[i].operatorTitle = '总助'
										} else if (response.data.data[i].desc == '杜大光审核') {
											response.data.data[i].operatorTitle = '大光'
										} else {
											response.data.data[i].operatorTitle = response.data
												.data[i].desc.substring(0, 2)
										}
										response.data.data[i].operatorName = response.data
											.data[i].desc
										var time1 = new Date(response.data.data[i].updateDate)
											.getTime()
										response.data.data[i].updateDate = this.$u.timeFormat(
											time1, 'mm.dd hh:MM')
										response.data.data[i].auditMind = ''
									}
								}
					
							}
							this.auditList = response.data.data
							var time2 = new Date(this.dataList.createDate).getTime()
							var time3 = this.$u.timeFormat(time2, 'mm.dd hh:MM')
							this.auditList.unshift({
								operatorTitle: this.dataList.empName.substring(0, 2),
								operatorName: this.dataList.empName,
								updateDate: time3,
								auditMind: '',
								desc: '发起申请',
								showflow: false,
								commonStaffs1: null,
								commonStaffs: null,
								workflowHistoricTasks: [],
								status: 'success'
							})
						})
					})
					}
				})
			},
			fanHui() {
				uni.navigateBack()
			}
		}
	}
</script>

<style scoped lang="scss">
	.warp {
		margin: 10rpx;
		padding: 20rpx 20rpx 240rpx 20rpx;
	}
	.content1 {
		margin: 10rpx;

		.title {
			height: 70rpx;
			line-height: 60rpx;
			font-size: 32rpx;
			font-weight: 600;
			color: #333333;
			border-bottom: 2rpx solid #EEEEEE;
		}
	}

	.uForm {
		padding: 0 40rpx;
		
	}
	.u-form-item {
		padding: 0;
	}

	.bottom-btn {
		width: 100%;
		position: fixed;
		bottom: 0;
		display: flex;
		z-index: 2;
		left: 0;
		background-color: #f8f8f8;
		flex-direction: column;

		.btn1,
		.btn2 {
			width: 100%;
			margin-bottom: 26rpx;
			border-radius: 90rpx;
		}

		.btn1 {
			background: white;
			color: #00C265;
		}
	}

	.submit {
		width: 50%;
		background: #22C572;
		border-radius: 10rpx;
	}

	.part2 {
		margin-top: 20rpx;
	}

	.textarea {
		border: 1px solid #ccc;
		border-radius: 10rpx;
		background-color: #F9F9FA;
		height: 100px;
	}

	.row {
		display: flex;
		justify-content: space-between;
		// border-bottom: 1px solid #EEEEEE;
		padding: 21rpx 0;

		.right,
		input {
			font-size: 28rpx;
			color: #333333;
		}
	}

	//弹出框
	// .popup {
	// 	padding: 30rpx;
	// 	border-radius: 20rpx;
	// }
	.rejectInfoCss {
		border: 1px solid #ccc;
		border-radius: 10rpx;
		background-color: #F9F9FA;
		height: 100px;
		margin: 30rpx;
	}

	.uForm_item {
		padding: 20rpx;
		background-color: #FFFFFF;
		margin: 20rpx 0rpx 0rpx 0rpx;
		border-radius: 20rpx;
		width: 100%;
	}

	.rejectText {
		text-align: center;
	}

	.topInfo {
		height: 210rpx;
		background: linear-gradient(270deg, #22C572 0%, #34DE8A 100%);
		padding: 30rpx;

		.topInfo-item {
			height: 150rpx;
			background-color: #FFFFFF;
			border-radius: 20rpx;
			padding: 40rpx;

			.logo {
				width: 40rpx;
				height: 40rpx;
				margin-top: 8rpx;
			}

			.infoText {
				font-size: 36rpx;
				font-weight: 600;
				margin-left: 20rpx;
			}

			.infoData {
				color: #878C9C;
				font-size: 26rpx;
				margin-top: 10rpx;
			}
		}

	}
	.content3 {
		background: white;
		margin: 20rpx 0;
		border-radius: 20rpx;
		padding: 20rpx;

		.row {
			display: flex;

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

				.item1 {
					position: relative;

					.item-content {
						background: #617AE0;
						width: 44px;
						height: 44px;
						border-radius: 22px;
						line-height: 44px;
						text-align: center;
						font-size: 15px;
						color: #fff;
					}

					.status {
						position: absolute;
						border-radius: 50%;
						padding: 0px 2px;
						right: -3px;
						bottom: -3px;
						background: #fff;
					}

					.status.success {
						border: 1px solid rgb(60, 156, 255);
					}

					.status.error {
						border: 1px solid rgb(245, 108, 108);
					}

					.status.question {
						border: 1px solid #f9ae3d;
					}
				}

			}

			.right {
				width: 80%;
				// color: #B0B1B5;
				margin-top: 10px;

				.right-content {
					background: #F2F3F7;
					margin-left: 10px;
					margin-top: 10px;
					padding: 10px;
					border-radius: 5px;
					color: #B0B1B5;
				}

				.right-item {
					display: flex;
					justify-content: space-between;

					.time {
						color: #999;
					}

					.item2 {
						margin-left: 20rpx;
						margin-top: -7px;

						.name {
							font-size: 28rpx;
							font-weight: 800;
						}

						.status.success {
							color: #6CC48C;
						}

						.status.error {
							color: rgb(245, 108, 108);
						}

						.status.question {
							color: #f9ae3d;
						}
					}
				}
			}
		}

		.row2 {
			display: flex;

			.item-content {
				background: #22C572;
				width: 30px;
				height: 30px;
				border-radius: 50%;
				line-height: 30px;
				text-align: center;
				font-size: 12px;
				color: #fff;
				padding: 0 2px;
				margin: 0 auto;
			}

			.status {
				position: absolute;
				top: 0;
				right: 0;
			}
		}

		.row-line {
			width: 1px;
			height: 40rpx;
			background: #F2F2F2;
			margin: 10rpx 50rpx;

		}

		.audit {
			margin-top: 20rpx;
		}
	}
	.titlez {
		font-size: 17px;
		font-weight: 700;
		height: 35px;
		border-bottom: 1px solid #EEEEEE;
	}
	.rowz{
		display: flex;
		justify-content: space-between;

		.right,
		input {
			font-size: 28rpx;
			color: #333333;
		}
	}
	.deleteText {
		text-align: center;
		color: #AFB3BF;
	}
</style>

