<template>
	<view class="container">
		<view class="topInfo">
			<view class="topInfo-item">
				<view class="flex info">
					<view class="logo">
						<image src="../../../static/img/reject.png" mode="" v-if="dataobj.approveStatus == '已驳回'"
							style="height: 40rpx;"></image><!-- 驳回 -->
						<image src="../../../static/img/tongguo.png" mode="" v-if="dataobj.approveStatus == '已通过'"
							style="height: 40rpx;"></image><!-- 通过 -->
						<image src="../../../static/img/daishenhe.png" mode=""
							v-if="dataobj.approveStatus == '待决策人审核'|| dataobj.approveStatus == '待财务审核'"
							style="height: 40rpx;"></image><!-- 待审核 -->
					</view>
					<view class="infoText">{{dataobj.approveStatus?dataobj.approveStatus:dataobj.status}}</view>
				</view>
				<view class="infoData">{{dataobj.updateDate}}</view>
			</view>
		</view>
		<view class="content">
			<view class="top">
				<view v-if='dataobj.contractFlag=="1"'>合同编号</view>
				<view v-if='dataobj.contractFlag=="0"'>移库编号</view>
				<view>{{dataobj.contractNo}}</view>
			</view>
			<view class="person-info">

				<view style='display:flex;align-items: center;' class="top1">
					<view>收款方</view>
					<view class="top_info">{{dataobj.payee}}</view>
				</view>
				<view style='display:flex;align-items: center;' class="top1">
					<view>账号</view>
					<view class="top_info">{{dataobj.accountNumber}}</view>
				</view>
				<view style='display:flex;align-items: center;' class="top1">
					<view>开户行</view>
					<view class="top_info">{{dataobj.bank}}</view>
				</view>
				<view style='display:flex;align-items: center;' class="top1">
					<view>开户支行</view>
					<view class="top_info">{{dataobj.bankBranch}}</view>
				</view>
				<view style='display:flex;align-items: center;' class="top1">
					<view>备注</view>
					<view class="top_info">{{dataobj.remark}}</view>
				</view>
				<view style='display:flex;align-items: center;' class="top1">
					<view>合计</view>
					<view class="top_info">{{num}}</view>
				</view>
				<view style='display:flex;align-items: center;' class="top1">
					<view>附件</view>
					<view>
						<view v-if='imglist2.length>0'>
							<view style="margin-top: 20rpx;" v-for='item in imglist2'>
								<view class="img_item">
									<view class="" style="width: 16%;">
										<image v-if="item.type == 'pdf'" style="width: 40px; height: 40px;"
											src="../../../static/img/pdf3.png" mode=""></image>
										<image v-else-if="item.type == 'xls'||item.type == 'xlsx'"
											style="width: 40px; height: 40px;" src="../../../static/img/excle3.png"
											mode=""></image>
										<image v-else-if="item.type == 'doc'||item.type == 'docx'"
											style="width: 40px; height: 40px;" src="../../../static/img/word3.png"
											mode=""></image>
										<image v-else style="width: 40px; height: 40px;" :src="item.appendixPath"
											mode="">
										</image>
									</view>
									<view class="" style="width: 70%;">
										<view class="char_css">{{item.appendixName}}</view>
										<view class="">{{item.appendixSize}}</view>
									</view>
									<view class="img_dowload" @click="openDocument(item)">下载</view>
								</view>
							</view>
						</view>
					</view>
				</view>
			</view>
			<view class="car-container">
				<view v-for="item1 in list" class="car-container-item">
					<view style='display:flex;align-items: center;' class="top1">
						<view>运输编号</view>
						<view class="top_info">{{item1.taskNo}}</view>
					</view>
					<view style='display:flex;align-items: center;' class="top1">
						<view>发货地</view>
						<view class="top_info">
							{{item1.startPrivate}}{{item1.startCity}}{{item1.startArea}}{{item1.startDetailedAddress}}
						</view>
					</view>
					<view style='display:flex;align-items: center;' class="top1">
						<view>收货地</view>
						<view class="top_info">
							{{item1.endPrivate}}{{item1.endCity}}{{item1.endArea}}{{item1.endDetailedAddress}}
						</view>
					</view>
					<view v-for="item in item1.tranSettlementReportList" class="car-container-item">
						<view class="car-num title" v-if="item.tranTypeKey== '1'">{{item.carNo}} ({{item.tranCarNo}})
						</view>
						<view class="car-num title" v-if="item.tranTypeKey== '2'">车厢号{{item.boxNo}}</view>
						<view class="car-num title" v-if="item.tranTypeKey== '3'&&item.shipType== '散船'">
							仓位号{{item.boxNo}}
						</view>
						<view class="car-num title" v-if="item.tranTypeKey== '3'&&item.shipType== '集装箱'">
							箱号{{item.boxNo}}
						</view>
						<view class="car-type-item">
							<view class="left">装</view>
							<view class="textInfo">{{item.loadingWeight}}吨</view>
						</view>
						<view class="car-type-item">
							<view class="center">卸</view>
							<view class="textInfo">{{item.unloadingWeight}}吨</view>
						</view>
						<view class="car-type-item">
							<view class="right">结</view>
							<view class="textInfo">{{item.settlementWeight}}吨</view>
						</view>
						<view class="car-type-item">
							<view class="left">预</view>
							<view class="textInfo">{{item.transportPrice}}元/吨</view>
						</view>
						<view class="car-type-item">
							<view class="center">算</view>
							<view class="textInfo">{{item.settlementPrice}}元/吨</view>
						</view>
						<view class="car-type-item">
							<view v-if='item.deductionAmount>=0' class="right">扣</view>
							<view v-if='item.deductionAmount<0' class="right">加</view>
							<view v-if='item.deductionAmount<0' class="textInfo">
								{{item.deductionAmount?-item.deductionAmount:0}}元
							</view>
							<view v-if='item.deductionAmount>=0' class="textInfo">
								{{item.deductionAmount?-item.deductionAmount:0}}元
							</view>
						</view>
						<view class="car-type-item">
							<view class="left">服</view>
							<view class="textInfo">{{item.serviceCharge}}元</view>
						</view>
						<view class="car-type-item">
							<view class="center">税</view>
							<view class="textInfo">{{item.taxPoint}}元</view>
						</view>
						<view class="car-type-item">
							<view class="right">实</view>
							<view class="textInfo">{{item.amountActuallyPaid}}元</view>
						</view>
						<view class="car-type-item">
							<view class="left">合</view>
							<view class="textInfo">{{item.totalPayable}}元</view>
						</view>
					</view>
				</view>
			</view>
		</view>
		<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="row-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="row-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>
						<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 v-if='show' class="shade">
			<view class="wrap">
				<view class="alert-top">
					<view class="title">
						{{title}}
					</view>
					<u-icon name="close" class="close" color="#8890B1" @click="close()"></u-icon>
				</view>
				<view class="u-textarea-style">
					<view class="right-bottom">
						{{auditMind.length}}/1000个字
					</view>
					<u-input class="" v-model='auditMind' placeholder="请在此输入审核意见" type="textarea" height="414"
						maxlength="1000" />
				</view>
				<view @click='close()' class="cancel">取消</view>
				<view @click='passSubmit()' class="confirm">确定</view>
			</view>
		</view>
		<u-toast ref="uToast" />
		<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>
	export default {
		data() {
			return {
				currentPage: 1,
				pageSize: 10,
				num: 0,
				list: {
					approveStatus: "",
				},
				show: false,
				auditList: [],
				dataobj: {},
				customerName: "", //客户
				shippingAddress: "", //发货地址
				receivingAddress: "", //收货地址
				imglist: [], //存
				imglist2: [], //展示
			}
		},
		onLoad(options) {
			this.id = options.id
			this.getList()
		},
		watch: {
			imglist: {
				handler: function() {
					this.$api.doRequest('get', 'appendix/query/getFileList', {
						appendixIds: this.imglist.toString()
					}).then(res => {
						this.imglist2 = res.data.data
						for (let i = 0; i < this.imglist2.length; i++) {
							if (this.imglist2[i].appendixName) {
								this.imglist2[i].type = this.imglist2[i].appendixName.split(".")[1]
							}
						}
					})
				},
				deep: true
			}
		},
		methods: {
			openDocument(src) {
				uni.downloadFile({
					url: src.appendixPath,
					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', '/expenseInfo/ExpenseInfo', {
					id: this.id
				}).then(res => {
					if (res.data.code == 200) {
						this.dataobj = res.data.data
						if(this.dataobj.freightAddressUrl){
							this.imglist = this.dataobj.freightAddressUrl.split(',')
						}
						if (res.data.data.tranTaskInfoList.length > 0) {
							this.num = 0
							for (var i = 0; i < res.data.data.tranTaskInfoList.length; i++) {
								if (res.data.data.tranTaskInfoList[i].tranSettlementReportList) {
									var data = res.data.data.tranTaskInfoList[i].tranSettlementReportList
									for (var q = 0; q < data.length; q++) {
										if (data[q].totalPayable) {
											this.num += data[q].totalPayable
										}
									}
								}
							}
						}
						this.num = this.num.toFixed(2)
						this.list = res.data.data.tranTaskInfoList
						// console.log(this.list, 124)
						// 查流程
						this.$api.doRequest('get', '/workflow/query/workflowDefinitions', {
							businessCode: 'FEIYONGYUNFEI-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[0].jointVentureParties?that.list[0].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 = ''
										}
									}

								}
								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.dataobj.createDate).getTime()
								var time3 = this.$u.timeFormat(time2, 'mm.dd hh:MM')
								this.auditList.unshift({
									operatorTitle: this.dataobj.creater.substring(0, 2),
									operatorName: this.dataobj.creater,
									updateDate: time3,
									auditMind: '',
									desc: '发起申请',
									showflow: false,
									commonStaffs1: null,
									commonStaffs: null,
									workflowHistoricTasks: [],
									status: 'success'
								})
							})
						})
					}
				})
				// this.$api.doRequest('get', '/tranSettlementReport/getInfo', {
				// 	id: this.id
				// }).then(res => {
				// 	this.contractNo = res.data.data.contractNo
				// 	this.carId = res.data.data.carId
				// 	this.customerName = res.data.data.customer
				// 	this.shippingAddress = res.data.data.send
				// 	this.receivingAddress = res.data.data.receive
				// 	if (res.data.code == 200) {
				// 		this.$api.doRequest('get', '/tranSettlementReport/getTranSettlementReport', {
				// 			compId: "2710b21efc1e4393930c5dc800010dc4",
				// 			currentPage: this.currentPage,
				// 			pageSize: this.pageSize,
				// 			contractNo: this.contractNo,
				// 			carId: this.carId,
				// 		}).then(res => {
				// 			if (res.data.code == 200) {
				// 				this.list = res.data.data.records[0]
				// 				console.log(this.list, 124)
				// 			}
				// 		})
				// 	}
				// })

			},
			fanHui() {
				uni.navigateBack()
			}
		}
	}
</script>

<style scoped lang="scss">
	.container {
		margin: 10rpx;
		padding: 20rpx 20rpx 230rpx 20rpx;
	}

	.content {
		.top {
			display: flex;
			justify-content: space-between;
			border-radius: 20rpx;
			background: white;
			padding: 30rpx 20rpx;
			font-size: 36rpx;
			margin-top: 30rpx;
		}

		.top1 {
			// display: flex;
			justify-content: space-between;
			border-radius: 20rpx;
			background: white;
			padding: 10rpx 20rpx;
			font-size: 30rpx;
			margin-top: 20rpx;
		}

		.title {
			font-size: 28rpx;
			font-weight: 600;
			color: #333333;
			text-align: left;
			margin-bottom: 30rpx;
		}

		.car-container {
			padding: 10rpx 20rpx;
			border-radius: 20rpx;
			background: white;
			margin: 30rpx 0;
			// border-bottom: 2rpx solid #EEEEEE;
		}

		.car-type-item {
			display: inline-flex;
			// justify-content: center;
			width: 33.33%;
			margin-bottom: 40rpx;
		}

		.title {
			font-size: 36rpx;
		}
	}

	.person-info {
		background: white;
		padding: 20rpx 0;
		border-radius: 20rpx;
		// margin-bottom: 50rpx;
		margin: 20rpx 0;

		.tit {
			font-size: 36rpx;
		}
	}

	.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: 40%;
		background: #22C572;
		border-radius: 10rpx;
	}

	.left {
		background: #FEECE6;
		color: #FE6430;
	}

	.center {
		background: #EBEEFA;
		color: #5C76DF;
	}

	.right {
		background: #E9F8F0;
		color: #22C572;
	}

	.left,
	.center,
	.right {
		width: 50rpx;
		height: 50rpx;
		text-align: center;
		line-height: 50rpx;
		border-radius: 10rpx;
	}

	.textInfo {
		margin: 6rpx 0 0 10rpx;
	}

	.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;
			}
		}
	}

	.rejectInfoCss {
		border: 1px solid #ccc;
		border-radius: 10rpx;
		background-color: #F9F9FA;
		// height: 100px;
		overflow-y: auto;
		margin: 30rpx;
	}

	.rejectText {
		text-align: center;
	}

	/deep/.u-input__textarea {
		height: 300rpx !important;
	}

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

		.row {
			display: flex;

			.row-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;
					}
				}

			}

			.row-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;
		}
	}

	.top_info {
		margin: 10rpx 0;
		width: 70%;
		text-align: right;
	}

	.img_dowload {
		width: 14%;
		color: #22C572;
		text-align: right;
	}
</style>
