<template>
	<view class="warp">
		<view class="content1">
			<view class="top">
				<view class="row1">
					<view class="left">{{getData.contractNo}}</view>
					<view class="right">代收费{{getData.agencyCharge}}元/吨</view>
				</view>
				<view class ="row2">
					{{getData.buyer}}
				</view>
			</view>
			<view class="list">
				<view class="list-content" v-for="(item,index) in recordList" :key='index'>
					<view class="row1">
						{{item.carNo}}
					</view>
					<view class="row2">
						<view class="left">
							净重：{{item.netWeight}}吨
						</view>
						<view class="right">
							单价：{{item.unitDeduction}}元/吨
						</view>
					</view>
					<view class="row3">
						<view class="left">
							应付：{{item.amountNotPayable}}元
						</view>
						<view class="right">
							应收：{{item.amountNotCollectable}}元
						</view>
					</view>
				</view>
					
			</view>
		</view>

		<u-toast ref="uToast" />
		<view style='padding:10px;' class='flex bottom-btn'>
			<u-button @click='reject' type="error" class="btn1" hover-class='none'>驳回</u-button>
			<u-button @click='pass' type="success" class="btn2">通过</u-button>
		</view>
	</view>

</template>

<script>
	import helper from '@/common/helper.js';
	import {
		mapState
	} from 'vuex';
	export default {
		data() {
			return {
				everyCheck: '',
				recordList:[],
				getData:{},
			}
		},
		// onReady() {
		// 	this.$refs.uForm.setRules(this.rules);
		// },
		onBackPress(e) {
			if(this.everyCheck){
			uni.navigateTo({
				url: "/pages/task/my_task"
			})
			return true;
			}
		},
		onLoad(options) {
			this.id = options.id
			this.everyCheck = uni.getStorageSync("everyTask")
			this.count=0
			this.getList()
		},
		computed: {
			...mapState(['hasLogin', 'userInfo']),
		},
		methods: {
			getList() {
				this.$api.doRequest('get', '/collectionWarehousingRecord/getCollectionWarehousingRecord', {
					id: this.id
				}).then(res => {
					if (res.data.code == 200) {
						this.getData = res.data.data
						this.$api.doRequest('get', '/collectionWarehousingRecord/selectCollectionWarehousingRecordPage', {
							searchType: 2,
							compId:  this.getData.compId,
							contractNo: this.getData.contractNo,
							currentPage: 1,
							pageSize: 999,
						}).then(res => {
							if (res.data.code == 200) {
									this.recordList = res.data.data.records
							}
						})
					}
				})
			
			},
	
			close() {
				this.show1 = false
			},
			pass() {
				this.show1 = true
				this.title = '审核意见（通过）'
			},
			reject() {

				this.show1 = true
				this.title = '驳回原因（驳回）'
			},
			passSubmit() {
				var that = this
				if (this.title == '驳回原因（驳回）') {
					this.rejectSubmit()
				} else {
					let that = this
					that.show = false
					uni.showModal({
						content: "是否确定通过?",
						showCancel: true,
						confirmText: '确定',
						success: function(res) {
							if (res.confirm) {
								that.OutList.inOutFlag = 1
								that.EnterList.inOutFlag = 2
								if (that.OutList.taskTypeKey == 1) {
									that.requestadd(that.OutList)
								} else if (that.EnterList.taskTypeKey == 2) {
									that.requestadd(that.EnterList)
								} else if (
									that.OutList.taskTypeKey == 3 ||
									that.OutList.taskTypeKey == 4
								) {
									that.requestadd(that.OutList, 'repetition')
									if (!that.deletetask) {
										that.requestadd(that.EnterList, 'repetition')
									}
								}
								if (that.retreatList.taskTypeKey == 1 || that.retreatList.taskTypeKey == 2) {
									that.requestadd(that.retreatList)
								} else if (that.retreatList.taskTypeKey == 3 || that.retreatList.taskTypeKey ==
									4) {
									that.requestadd(that.retreatList, 'repetition')
								}
							}
						}
					})
				}
			},
			rejectSubmit() {
				// （1出库2入库3移库4退库并出库）
				if (!this.auditMind) {
					this.$api.msg('驳回原因不能为空！')
				} else {
					this.show = false
					let that = this
					uni.showModal({
						content: "是否确定驳回?",
						showCancel: true,
						confirmText: '确定',
						success: function(res) {
							if (res.confirm) {
								if (that.OutList.taskTypeKey == 1) {
									that.requestaudit(that.OutList)
								} else if (that.OutList.taskTypeKey == 2) {
									that.requestaudit(that.OutList)
								} else if (
									that.OutList.taskTypeKey == 3 ||
									that.OutList.taskTypeKey == 4
								) {
									that.requestaudit(that.OutList, 'repetition')
									if (!that.deletetask) {
										that.requestaudit(that.OutList, 'repetition')
									}
								}
								if (that.EnterList.taskTypeKey) {
									if (that.EnterList.taskTypeKey == 1 || that.EnterList.taskTypeKey == 2) {
										that.requestaudit(that.EnterList)
									} else if (that.EnterList.taskTypeKey == 3 || that.EnterList.taskTypeKey ==
										4) {
										that.requestaudit(that.EnterList, 'repetition')
									}
								}
								if (that.retreatList.taskTypeKey) {
									if (that.retreatList.taskTypeKey == 1 || that.retreatList.taskTypeKey ==
										2) {
										that.requestaudit(that.retreatList)
									} else if (that.retreatList.taskTypeKey == 3 || that.retreatList
										.taskTypeKey == 4) {
										that.requestaudit(that.retreatList, 'repetition')
									}
								}
							}
						}
					})
				}
			},
			requestadd(list, status) {
				let that = this
				uni.getStorage({
					key: 'pcUserInfo',
					success(e) {
						list.compId = e.data.compId //这就是你想要取的token
						uni.showLoading({
							title: "审核中"
						})
						that.$api.doRequest('post', '/inOutWarehouseTask/api/checkOrUpdateInOutTask', list).then(
							res => {
								if (res.data.code == 200) {
									that.$api.doRequest('post', '/newWorkflow/api/handle', {
										taskId: list.taskId,
										approved: true,
										auditMind: that.auditMind,
										needReapply: false
									}).then(res => {
										if (res.data.code == 200) {
											that.$api.msg('审核成功！')
											that.count++
											if (that.everyCheck) {
												helper.setAudit(that.list)
											} 
										} else {
											that.$api.msg('审核失败！')
										}
										if(list.taskTypeKey == '3' || list.taskTypeKey == '4'){
											if(that.count == 2){
												setTimeout(function() {
													uni.hideLoading()
													uni.navigateBack()
												}, 1000);
											}
										}else{
											setTimeout(function() {
											uni.hideLoading()
											uni.navigateBack()
										}, 1000);
										}
										
									}).catch(res => {
										uni.hideLoading()
										if (res.message) {
											uni.showToast({
												title: res.message,
												icon: 'none',
												duration: 2000
											})
										} else {
											uni.showToast({
												title: "系统异常，请联系管理员",
												icon: 'none',
												duration: 2000
											})
										}
									})
								} else {
									that.$api.msg('审核失败！')
								}
							}).catch(res => {
							uni.hideLoading()
							if (res.message) {
								uni.showToast({
									title: res.message,
									icon: 'none',
									duration: 2000
								})
							} else {
								uni.showToast({
									title: "系统异常，请联系管理员",
									icon: 'none',
									duration: 2000
								})
							}
						})

					}
				})
				// list.publisher = this.userInfo.userName

			},
			requestaudit(list, status) {
				uni.showLoading({
					title: "审核中"
				})
				let pcUserInfo = uni.getStorageSync('pcUserInfo')
				if(pcUserInfo){
					list.compId = pcUserInfo.compId
				}
				else{
					list.compId = '2710b21efc1e4393930c5dc800010dc4'
				}
				// list.compId = '2710b21efc1e4393930c5dc800010dc4'
				// list.publisher = this.userInfo.userName
				this.$api.doRequest('post', '/inOutWarehouseTask/api/checkOrUpdateInOutTask', list).then(res => {
					if (res.data.code == 200) {
						this.$api.doRequest('post', '/newWorkflow/api/handle', {
							taskId: list.taskId,
							approved: false,
							auditMind: this.auditMind,
							needReapply: true
						}).then(res => {
							if (res.data.code == 200) {
								this.$api.msg('驳回成功！')
									this.count++
									if (this.everyCheck) {
										helper.setAudit(this.list)
									} 
									uni.hideLoading()
									if(list.taskTypeKey == '3' || list.taskTypeKey == '4'){
										if(this.count == 2){
											setTimeout(function() {
												uni.hideLoading()
												uni.navigateBack()
											}, 1000);
										}
									}else{
										setTimeout(function() {
										uni.hideLoading()
										uni.navigateBack()
									   }, 1000);
									}
							}else{
								this.$api.msg('驳回失败！')
							}
							
						})
					}
				})
			},
			check() {
				// （1出库2入库3移库4退库并出库）taskTypeKey
				if (this.OutList.taskTypeKey == 1 || this.OutList.taskTypeKey == 3) {
					if (!this.OutList.grade) {
						this.$api.msg('品级不能为空')
						return
					}
					if (!this.OutList.bulkDensity) {
						this.$api.msg('容重不能为空')
						return
					}
					if (this.OutList.bulkDensity < 500 || this.OutList.bulkDensity > 1000) {
						this.$api.msg('容重输入错误')
						return
					}
					if (String(this.OutList.bulkDensity).indexOf('.') != -1 && String(this.OutList.bulkDensity).length - (
							String(this.OutList.bulkDensity).indexOf('.') + 1) > 0) {
						this.$api.msg('容重输入错误')
						return
					}
					if (!this.OutList.waterContent) {
						this.$api.msg('水分不能为空')
						return
					}
					if (isNaN(this.OutList.waterContent) ||
						(String(this.OutList.waterContent).indexOf('.') != -1 &&
							String(this.OutList.waterContent).length -
							(String(this.OutList.waterContent).indexOf('.') + 1) >
							2) ||
						this.OutList.waterContent < 1 ||
						this.OutList.waterContent > 40
					) {
						this.$api.msg('水分输入错误！')
						return
					}
					if (!this.OutList.unitPrice) {
						this.$api.msg('单价不能为空')
						return
					}
					if (isNaN(this.OutList.unitPrice) ||
						(String(this.OutList.unitPrice).indexOf('.') != -1 &&
							String(this.OutList.unitPrice).length -
							(String(this.OutList.unitPrice).indexOf('.') + 1) >
							2) ||
						this.OutList.unitPrice < 1 ||
						this.OutList.unitPrice > 10000
					) {
						this.$api.msg('单价输入错误！')
						return
					}
				}

				if (this.OutList.taskTypeKey == 1) {
					if (!this.OutList.businessDescribe) {
						this.$api.msg('业务描述不能为空')
						return
					}
					if (this.OutList.businessDescribe.length > 150) {
						this.$api.msg('业务描述长度错误')
						return
					}
				}
				if (this.EnterList.taskTypeKey == 2 && this.EnterList.judge) {
					if (!this.EnterList.grade) {
						this.$api.msg('品级不能为空')
						return
					}
					if (!this.EnterList.bulkDensity) {
						this.$api.msg('容重不能为空')
						return
					}
					if (this.EnterList.bulkDensity < 500 || this.EnterList.bulkDensity > 1000) {
						this.$api.msg('容重输入错误')
						return
					}
					if (String(this.EnterList.bulkDensity).indexOf('.') != -1 && String(this.EnterList.bulkDensity)
						.length - (
							String(this.EnterList.bulkDensity).indexOf('.') + 1) > 0) {
						this.$api.msg('容重输入错误')
						return
					}
					if (!this.EnterList.waterContent) {
						this.$api.msg('水分不能为空')
						return
					}
					if (isNaN(this.EnterList.waterContent) ||
						(String(this.EnterList.waterContent).indexOf('.') != -1 &&
							String(this.EnterList.waterContent).length -
							(String(this.EnterList.waterContent).indexOf('.') + 1) >
							2) ||
						this.EnterList.waterContent < 1 ||
						this.EnterList.waterContent > 40
					) {
						this.$api.msg('水分输入错误！')
						return
					}
					if (!this.EnterList.unitPrice) {
						this.$api.msg('单价不能为空')
						return
					}
					if (isNaN(this.EnterList.unitPrice) ||
						(String(this.EnterList.unitPrice).indexOf('.') != -1 &&
							String(this.EnterList.unitPrice).length -
							(String(this.EnterList.unitPrice).indexOf('.') + 1) >
							2) ||
						this.EnterList.unitPrice < 1 ||
						this.EnterList.unitPrice > 10000
					) {
						this.$api.msg('单价输入错误！')
						return
					}
					if (!this.EnterList.businessDescribe) {
						this.$api.msg('业务描述不能为空')
						return
					}
					if (this.EnterList.businessDescribe.length > 150) {
						this.$api.msg('业务描述长度错误')
						return
					}
				}
				if (this.OutList.taskTypeKey == 3) {
					if (!this.EnterList.businessDescribe) {
						this.$api.msg('业务描述不能为空')
						return
					}
					if (this.EnterList.businessDescribe.length > 150) {
						this.$api.msg('业务描述长度错误')
						return
					}
				}
				if (this.retreatList.taskTypeKey == 4 && this.retreatList.judge) {
					if (!this.retreatList.grade) {
						this.$api.msg('品级不能为空')
						return
					}
					if (!this.retreatList.bulkDensity) {
						this.$api.msg('容重不能为空')
						return
					}
					if (this.retreatList.bulkDensity < 500 || this.retreatList.bulkDensity > 1000) {
						this.$api.msg('容重输入错误')
						return
					}
					if (String(this.retreatList.bulkDensity).indexOf('.') != -1 && String(this.retreatList.bulkDensity)
						.length - (
							String(this.retreatList.bulkDensity).indexOf('.') + 1) > 0) {
						this.$api.msg('容重输入错误')
						return
					}
					if (!this.retreatList.waterContent) {
						this.$api.msg('水分不能为空')
						return
					}
					if (isNaN(this.retreatList.waterContent) ||
						(String(this.retreatList.waterContent).indexOf('.') != -1 &&
							String(this.retreatList.waterContent).length -
							(String(this.retreatList.waterContent).indexOf('.') + 1) >
							2) ||
						this.retreatList.waterContent < 1 ||
						this.retreatList.waterContent > 40
					) {
						this.$api.msg('水分输入错误！')
						return
					}
					if (!this.retreatList.unitPrice) {
						this.$api.msg('单价不能为空')
						return
					}
					if (isNaN(this.retreatList.unitPrice) ||
						(String(this.retreatList.unitPrice).indexOf('.') != -1 &&
							String(this.retreatList.unitPrice).length -
							(String(this.retreatList.unitPrice).indexOf('.') + 1) >
							2) ||
						this.retreatList.unitPrice < 1 ||
						this.retreatList.unitPrice > 10000
					) {
						this.$api.msg('单价输入错误！')
						return
					}
					if (!this.EnterList.businessDescribe) {
						this.$api.msg('业务描述不能为空')
						return
					}
					if (this.EnterList.businessDescribe.length > 150) {
						this.$api.msg('业务描述长度错误')
						return
					}
				}

			}
		}
	}
</script>

<style scoped lang="scss">
	.content1 {
		margin: 10rpx;
		padding-bottom: 224rpx;

		.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;
	// 	margin: 30rpx;
	// 	overflow-y: auto;
	// 	// height: 300rpx;
	// 	background: red;
	// }

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

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

	.shade {
		position: fixed;
		top: 0;
		left: 0;
		height: 100%;
		width: 100%;
		background: rgba(0, 0, 0, 0.4);
		z-index: 3;

		.wrap {
			position: absolute;
			left: 0;
			top: 0;
			right: 0;
			bottom: 0;
			margin: auto;
			background: #fff;
			width: calc(100% - 198rpx);
			height: 700rpx;
			border-radius: 20rpx;

			.alert-top {
				padding: 33rpx;
				display: flex;
				justify-content: center;
				align-items: center;
				position: relative;
			}

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

			.close {
				position: absolute;
				right: 33rpx;
			}
		}
	}

	.cancel,
	.confirm {
		position: absolute;
		display: inline-block;
		width: 50%;
		text-align: center;
		bottom: 0;
		padding: 10px;
		border-top: 1px solid #eee;
		font-size: 34rpx;
	}

	.cancel {
		left: 0;
		border-right: 1px solid #eee;
		color: #AFB3BF;
	}

	.confirm {
		right: 0;
		color: #22C572;
	}

	.u-textarea-style {
		margin: 20rpx;
		background: #F9F9FA;
		border-radius: 10px;
		border: 1px solid #EEEEEE;
		padding: 10rpx 20rpx;
		position: relative;

		.right-bottom {
			position: absolute;
			right: 20rpx;
			bottom: 20rpx;
			color: #AFB3BF;
		}
	}

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