<template>
	<view>
		<view>
			<u-form :model="dataobj" ref="uForm">
				<u-form-item label="类型"><view style='text-align:right;width:100%;color:#AFB3BF;'>{{dataobj.businessType}}</view></u-form-item>
				<u-form-item :border-bottom='false' :label-position='"top"' label="备注">
					<view class="u-textarea-style">
						<view class="right-bottom">
							{{dataobj.remark?dataobj.remark.length:0}}/2000个字
						</view>
						<textarea style='font-size:12px;' disabled maxlength="2000" v-model='dataobj.remark' placeholder="请输入备注信息" name="" id="" cols="30" rows="11"></textarea>
					</view>
				</u-form-item>
			</u-form>
			<u-form :label-position='"top"' ref="uForm">
				<u-form-item :border-bottom='false' :label="'共'+imglist.length+'个附件'">
				<view style='width:100%;border-top:1px solid #EEEEEE;' v-if='imglist.length>0'>
					<view style="justify-content: space-between;" class='flex' v-for='item in imglist'>
						<view class="img_item">
							<view class="" style="width: 16%;">
								<image
									v-if="item.type == 'pdf'"
									class="imgsign" src="../../static/img/oa_office/pdf3.png"
									mode=""></image>
								<image v-else-if="item.type == 'xls'||item.type == 'xlsx'"
									class="imgsign" src="../../static/img/oa_office/excle3.png"
									mode=""></image>
								<image v-else-if="item.type == 'doc'||item.type == 'docx'"
									class="imgsign" src="../../static/img/oa_office/word3.png"
									mode=""></image>
								<image v-else class="imgsign" :src="item.appendixPath" mode="">
								</image>
							</view>
							<view class="" style="width: 70%;">
								<view class="char_css">{{item.appendixName}}</view>
								<view class="img_size">{{item.appendixSize}}</view>
							</view>
							<view style="color: #22C572;" class="img_dowload" @click="openDocument(item)">
								下载
							</view>
						</view>
						
						<!-- <u-icon name="attach" ></u-icon> -->
						<!-- <image style='width: 200rpx;height: 200rpx;' :src="item" mode=""></image> -->
					</view>
				</view>
				</u-form-item>
			</u-form>
			<u-form ref="uForm">
				<view class="form_top">审批流</view>
				<view class="content2">
					<view v-for="(item,index) in auditList" :key='index' class="audit">
						<view class="row" v-if='item.desc!="_PLACEHOLDER_"'>
							<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&&item.desc!='_PLACEHOLDER_'"></view>
					</view>
				</view>
			</u-form>
		</view>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				id:'',
				dataobj:{},
				imglist:[],
				auditList:[]
			}
		},
		onLoad(options){
			this.id=options.id
			console.log(options.id)
		},
		onShow(){
			// this.$nextTick(()=>{
				this.getList()
			// })
			
		},
		methods: {
			auditFile(src) {
				uni.downloadFile({
					url: src,
					success: function(res) {
						var filePath = res.tempFilePath;
						uni.openDocument({
							filePath: filePath,
							showMenu: true,
							success: function(res) {
								console.log('打开文档成功');
							}
						});
					}
				});
			},
			getList(){
				var that =this
				this.$api.doRequest('get', '/generalAuditInfo/getGeneralAuditInfo', {
					id:this.id
				}).then(res => {
					this.dataobj=res.data.data
					this.$api.doRequest('get', '/appendix/query/getFileList', {
						appendixIds: that.dataobj.addressUrl
					}).then(res1 => {
						that.imglist = res1.data.data
						for (let i = 0; i < that.imglist.length; i++) {//获取后缀
							if (that.imglist[i].appendixName) {
								let index = that.imglist[i].appendixName.lastIndexOf(".") 
								that.imglist[i].type = that.imglist[i].appendixName.substring(index+1)
							}
						}
					})
					// 查流程
					this.$api.doRequest('get', '/workflow/query/workflowDefinitions', {
						businessCode: 'GENERAL-AUDIT-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.dataobj.businessType?that.dataobj.businessType:'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
										if (response.data.data[i].workflowHistoricTasks[len].auditMind && response.data.data[i].workflowHistoricTasks[len].auditMind.indexOf("##") !=-1) {
											response.data.data[i].auditMind = response.data.data[i].workflowHistoricTasks[len].auditMind.split("##")[0]
											response.data.data[i].fileUrl = response.data.data[i].workflowHistoricTasks[len].auditMind.split("##")[1].split(",")
										}else{
											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 = ''
									}
								}
					
							}
							console.log(response.data.data)
							for(let i = 0 ;i<response.data.data.length;i++){
								if(response.data.data[i].status == "error"){
									this.auditCheck = "error"
									break;
								}else if(response.data.data[i].status == "question"){
									this.auditCheck = "question"
									break;
								}else{ 
									this.auditCheck = "success"
								}
							}
							this.auditList = response.data.data
							var time2 = new Date(this.list.createDate).getTime()
							var time3 = this.$u.timeFormat(time2, 'mm.dd hh:MM')
							this.auditList.unshift({
								operatorTitle: this.list.creater.substring(0, 2),
								operatorName: this.list.creater,
								updateDate: time3,
								auditMind: '',
								desc: '发起申请',
								showflow: false,
								commonStaffs1: null,
								commonStaffs: null,
								workflowHistoricTasks: [],
								status: 'success'
							})
						})
					})
				})
			}
		}
	}
</script>

<style lang="scss" scoped>
.content2 {
		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;
						text-align: center;
						position: relative;
						width: 18px;
						height: 18px;
						border-radius: 50%;
						padding: 0px 2px;
						margin: auto;
						margin-right: -5px;
						top: -16px;
						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;
							margin-bottom: 4px;
						}
	
						.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: 30px;
			background: #F2F2F2;
			margin: 10rpx 50rpx;
	
		}
	
		.audit {
			margin-top: 20rpx;
		}
		.audit_img {
			flex-wrap: wrap;
			// margin: 0 10rpx;
			margin-left: 20rpx;
		
			.url_css {
				border: 1px solid #999999;
				border-radius: 10px;
				margin-top: 10px;
				margin-right: 4px;
				overflow: hidden;
				width: 73px;
				height: 73px;
				.url_img {
					width: 73px;
					height: 73px;
					// border-radius: 10px;
				}
			}
		}
	}
.u-form {
		margin: 20rpx;
		background: #fff;
		border-radius: 10px;
		padding: 30rpx 10px;
	
		.u-form-item {
			line-height: 30px;
			padding: 0px 0;
			font-size: 26rpx;
		}
	}
	.u-textarea-style {
		margin: 20rpx;
		background: #F9F9FA;
		border-radius: 10px;
		border: 1px solid #EEEEEE;
		padding: 10rpx 20rpx;
		position: relative;
		height:240px;
		/deep/.uni-textarea-textarea{
			width: 80%;
		}
		.right-bottom {
			position: absolute;
			right: 20rpx;
			bottom: 20rpx;
			color: #AFB3BF;
		}
	}
.form_top {
		border-bottom: 1px solid #F5F6FA;
		padding-bottom: 10px;
		margin-bottom: 18rpx;
		font-size: 30rpx;
		font-weight: 600;
	}

	.form_view{
		margin: 20rpx 0;
		border-radius: 20rpx;
		background: #F9F9FA;
		padding: 30rpx 20rpx;
		margin-top: 30rpx;
	}

	.label_css {
		font-size: 26rpx;
		color: #878C9C;
	}

	.input_css {
		font-size: 20rpx;
	}
	.img_item {
		display: flex;
		width: 100%;
		margin: 10px 0;
		padding: 0 10rpx;
		.imgsign{
			width: 25px;
			height: 25px;
			margin-top: 6px;
		}
		.char_css {
			font-size: 28rpx;
			font-weight: 600;
			display: -webkit-box;
			overflow: hidden;
			/*! autoprefixer: off; */
			-webkit-box-orient: vertical;
			-webkit-line-clamp: 1;
			-webkit-box-orient: vertical;
			text-overflow: ellipsis;
			word-break: break-all;
		}
		.img_size{
			color: #B0B3BF;
			font-size: 12px;
			margin-top: 5px;
		}
	
		.img_dowload {
			width: 14%;
			color: #22C572;
			text-align: right;
		}
	}
</style>
