<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="list&&list[0].status == '已驳回'"
							style="height: 40rpx;"></image><!-- 驳回 -->
						<image src="../../../static/img/tongguo.png" mode="" v-if="list&&list[0].status == '已通过'"
							style="height: 40rpx;"></image><!-- 通过 -->
					</view>
					<view class="infoText">{{list[0].approveStatus?list[0].approveStatus:list[0].status}}</view>
				</view>
				<view class="infoData">{{list[0].updateDate}}</view>
			</view>
		</view>
		<view class="content">
			<view class="top">
				<view v-if='list&&list[0].contractFlag=="1"'>合同编号</view>
				<view v-if='list&&list[0].contractFlag=="0"'>移库编号</view>
				<view>{{list[0].contractNo}}</view>
			</view>
			<view class="person-info">
				<view v-if='list&&list[0].contractFlag=="1"' class="top1" style="display: flex;">
					<view>客户</view>
					<view>{{list[0].customer}}</view>
				</view>
				<view style='display:flex;align-items: center;' class="top1">
					<view>发货地址</view>
					<view class="top_info">{{list[0].send ? list[0].send : "暂无发货地址"}}</view>
				</view>
				<view style='display:flex;align-items: center;' class="top1">
					<view>收货地址</view>
					<view class="top_info">{{list[0].receive ? list[0].receive : "暂无收货地址"}}</view>
				</view>
				<view style='display:flex;align-items: center;' class="top1">
					<view>合计</view>
					<view class="top_info">{{num}}</view>
				</view>
			</view>
			<view class="car-container">
				<view v-for="item in list" 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}}元</view>
						<view v-if='item.deductionAmount>=0' class="textInfo">{{item.deductionAmount}}元</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>
		<flow :auditList="auditList" @status='getStatus'></flow>
		<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>
	import flow from '@/components/flow.vue';
	export default {
		components: {
			flow
		},
		data() {
			return {
				currentPage: 1,
				pageSize: 10,
				num: 0,
				list: {
					approveStatus: "",
				},
				auditList: [],
				customerName: "", //客户
				shippingAddress: "", //发货地址
				receivingAddress: "", //收货地址
			}
		},
		onLoad(options) {
			this.id = options.id
			this.getList()
		},
		methods: {
			getStatus(val) {
				if (val == 200) this.getList()
			},
			getList() {
				this.$api.doRequest('get', '/tranSettlementReport/getTranSettlementReport', {
					batchId: this.id
				}).then(res => {
					if (res.data.code == 200) {
						if (res.data.data.length > 0) {
							this.num = 0
							for (var i = 0; i < res.data.data.length; i++) {
								if (res.data.data[i].totalPayable) {
									this.num += res.data.data[i].totalPayable
								}
							}
						}
						this.num = this.num.toFixed(2)
						this.list = res.data.data
						// console.log(this.list, 124)
						// 查流程
						this.$api.doRequest('get', '/workflow/query/workflowDefinitions', {
							businessCode: 'TRANSPORTATION-SETTLEMENT-REPORT',
							tmpCompId: uni.getStorageSync('pcUserInfo').compId
						}).then(res1 => {
							this.$api.doRequest('get', '/commonUser/getHis', {
								workflowId: res1.data.data[0].id,
								businessKey: this.id
							}).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.list[0].createDate).getTime()
								var time3 = this.$u.timeFormat(time2, 'mm.dd hh:MM')
								this.auditList.unshift({
									operatorTitle: this.list[0].requester.substring(0, 2),
									operatorName: this.list[0].requester,
									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/selectTranSettlementReport', {
				// 			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]
				// 			}
				// 		})
				// 	}
				// })
			},
			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;
	}
</style>
