<template>
	<view class="container">
		<u-form ref="uForm">
			<u-form-item label-width='260' label="合同编号">
				<u-input v-model="list.contractNo" input-align="right" placeholder="" disabled />
			</u-form-item>
			<u-form-item label-width='260' label="交易主体">
				<u-input v-model="list.transactionSubject" input-align="right" placeholder="" disabled />
			</u-form-item>
			<u-form-item label-width='260' label="收购方">
				<u-input v-model="list.buyer" input-align="right" placeholder="" disabled />
			</u-form-item>
			<u-form-item label-width='260' label="收购方电话">
				<u-input v-model="list.buyerPhone" input-align="right" placeholder="" disabled />
			</u-form-item>
			<u-form-item label-width='260' label="合营方">
				<u-input v-model="list.seller" input-align="right" placeholder="" disabled />
			</u-form-item>
			<u-form-item label-width='260' label="合营方电话">
				<u-input v-model="list.sellerPhone" input-align="right" placeholder="" disabled />
			</u-form-item>
			<u-form-item label-width='260' label="交货方式">
				<u-input v-model="list.deliverType1" input-align="right" placeholder="" disabled />
			</u-form-item>
			<u-form-item label-width='260' label="重量（吨）">
				<u-input v-model="list.weight" input-align="right" placeholder="" disabled />
			</u-form-item>
			<u-form-item label-width='260' label="交货日期（起）">
				<u-input v-model="list.deliveryDateStart" input-align="right" placeholder="" disabled />
			</u-form-item>
			<u-form-item label-width='260' label="溢短装（%）">
				<u-input v-model="list.overShort" input-align="right" placeholder="" disabled />
			</u-form-item>
			<u-form-item label-width='260' label="交货日期（止）">
				<u-input v-model="list.deliveryDateEnd" input-align="right" placeholder="" disabled />
			</u-form-item>
			<u-form-item label-width='260' label="合同单价（元/吨）">
				<u-input v-model="list.unitContractPrice" input-align="right" placeholder="" disabled />
			</u-form-item>
			<u-form-item label-width='260' label="合同总价（元）">
				<u-input v-model="list.totalContractPrice" input-align="right" placeholder="" disabled />
			</u-form-item>
			<u-form-item label-width='260' label="签订日期">
				<u-input v-model="list.signingDate" input-align="right" placeholder="" disabled />
			</u-form-item>
			<u-form-item label-width='300' label="最终实际交易量（吨）">
				<u-input v-model="list.finalTradingVolume" input-align="right" placeholder="" disabled />
			</u-form-item>
			<u-form-item label-width='300' label="结算单价（元/吨）">
				<u-input v-model="list.settlementPrice" input-align="right" placeholder="" disabled />
			</u-form-item>
			<u-form-item label-width='260' label="货名">
				<u-input v-model="list.contractGoodsInfo.goodsName" input-align="right" placeholder="" disabled />
			</u-form-item>
			<u-form-item label-width='260' label="水分（%）<=">
				<u-input v-model="list.contractGoodsInfo.waterContent" input-align="right" placeholder="" disabled />
			</u-form-item>
			<u-form-item label-width='260' label="品级">
				<u-input v-model="list.contractGoodsInfo.grade" input-align="right" placeholder="" disabled />
			</u-form-item>
			<u-form-item label-width='260' label="杂质（%）<=">
				<u-input v-model="list.contractGoodsInfo.impurity" input-align="right" placeholder="" disabled />
			</u-form-item>
			<u-form-item label-width='260' label="容重（克/升）>=">
				<u-input v-model="list.contractGoodsInfo.bulkDensity" input-align="right" placeholder="" disabled />
			</u-form-item>
			<u-form-item label-width='260' label="霉变粒（%）<=">
				<u-input v-model="list.contractGoodsInfo.mildewGrain" input-align="right" placeholder="" disabled />
			</u-form-item>
			<u-form-item label-width='260' label="热损伤（%）<=">
				<u-input v-model="list.contractGoodsInfo.jiaorenli" input-align="right" placeholder="" disabled />
			</u-form-item>
			<u-form-item label-width='260' label="不完善粒（%）<=">
				<u-input v-model="list.contractGoodsInfo.imperfectGrain" input-align="right" placeholder="" disabled />
			</u-form-item>
			<u-form-item label-width='260' label="合同收入（元）">
				<u-input v-model="list.contractProcessInfo.goodsNameKey" input-align="right" placeholder="" disabled />
			</u-form-item>
			<u-form-item label-width='260' label="已开发票（元）">
				<u-input v-model="list.contractProcessInfo.goodsName" input-align="right" placeholder="" disabled />
			</u-form-item>
			<u-form-item label-width='260' label="费用支出（元）">
				<u-input v-model="list.contractProcessInfo.waterContent" input-align="right" placeholder="" disabled />
			</u-form-item>
			<u-form-item label-width='260' label="未开发票（元）">
				<u-input v-model="list.contractProcessInfo.impurity" input-align="right" placeholder="" disabled />
			</u-form-item>
			<u-form-item label-width='260' label="未回款（元）">
				<u-input v-model="list.contractProcessInfo.mildewGrain" input-align="right" placeholder="" disabled />
			</u-form-item>
			<u-form-item label-width='260' label="双章原件回收情况">
				<u-input v-model="list.contractProcessInfo.grade" input-align="right" placeholder="" disabled />
			</u-form-item>
			<u-form-item label-width='260' label="备注信息">
			</u-form-item>
			<u-form-item>
				<textarea class='textarea' v-model="list.remarks" input-align="right" placeholder="" disabled />
			</u-form-item>
			<u-form-item label-width='260' label="附件">
				<!-- <view class="textCss">
					<upload class="upload" ref="upload" :action="action" :max-size="maxSize" :max-count="1"
						:file-list="imglist" :size-type="['compressed']" @on-success="getImgUrl" @on-error="onError"
						@on-remove="onRemove" @on-uploaded="isAdd = true" :before-upload="filterFileType"
						@on-progress="onProgress" :deletable="false" :showProgress = "false"></upload>
				</view> -->
				<view v-for='item in imglist'>
					<view @click='shadeshow(item)'>
						<image style='width: 200rpx;height: 200rpx;' :src="item" mode=""></image>
					</view>
				</view>
			</u-form-item>
		</u-form>
		<view style='padding:10px;' class='flex bottom-btn'>
			<u-button v-if='list.approveStatus||isSHowBtn' @click='reject' type="error" class="btn1" hover-class='none'>
				驳回
			</u-button>
			<u-button v-if='list.approveStatus||isSHowBtn' @click='pass' type="success" class="btn2">通过</u-button>
		</view>
		<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}}/100个字
					</view>
					<u-input class="" v-model='auditMind' placeholder="请在此输入审核意见" type="textarea" height="414"
						maxlength="100" />
				</view>
				<view @click='close()' class="cancel">取消</view>
				<view @click='passSubmit()' class="confirm">确定</view>
			</view>
		</view>
		<view @click='imgShow=false' v-if="imgShow" class="shade">
			<image style='position:absolute;top:0;left:0;right:0;bottom:0;margin:auto;' :src="url" mode=""></image>
		</view>
	</view>
</template>
<script>
	import upload from '@/components/upload.vue';
	import helper from '@/common/helper.js';
	export default {
		components: {
			upload
		},
		data() {
			return {
				isSHowBtn: true,
				id: "",
				currentPage: 1,
				pageSize: 10,
				list: {
					status: "",
					contractGoodsInfo: {},
					contractProcessInfo: {}
				},
				imglist: [],
				auditMind: '',
				show: false,
				title: '',
				contractNo: "",
				action: this.$uploadUrl,
				maxSize: 50 * 1024 * 1024, //限制文件大小 50M
				isAdd: true,
				imgShow: false,
				url: "",
				everyCheck: ''
			}
		},
		onBackPress(e) {
			if(this.everyCheck){
			uni.navigateTo({
				url: "/pages/task/my_task"
			})
			return true;
			}
		},
		onLoad(options) {
			this.id = options.id
			this.getList()
			this.everyCheck = uni.getStorageSync("everyTask")
			this.isSHowBtn = options.isShowbtn

		},
		methods: {
			shadeshow(url) {
				this.imgShow = true
				this.url = url
			},
			getList(id) {
				var that = this
				this.$api.doRequest('get', '/contractManagementInfo/getInfo', {
					id: this.id
				}).then(res => {
					if (res.data.code == 200) {
						this.list = res.data.data
						if (this.list.deliverType == 1) {
							this.list.deliverType1 = '我方自提'
						} else if (this.list.deliverType == 2) {
							this.list.deliverType1 = '对方送货'
						}else if (this.list.deliverType == 3) {
							this.list.deliverType1 = '对方送货(临时库)'
						}
						this.$api.doRequest('get', '/appendix/query/getFileList', {
							appendixIds: that.list.addressUrl
						}).then(res1 => {
							for (var i = 0; i < res1.data.data.length; i++) {
								that.imglist.push(res1.data.data[i].appendixPath)
							}
						})
					}
				})
			},
			filterFileType(index, lists) {
				if (lists[index].fileType != 'jpg' && lists[index].fileType != 'png' && lists[index].fileType != 'gif') {
					lists.splice(index, 1);
					// 当前文件不支持
					uni.showModal({
						title: '暂不支持当前图片类型',
						showCancel: false
					});
				} else {
					this.isAdd = false;
				}
			},
			//驳回
			rejectSubmit() {
				uni.showLoading({
					title: '加载中',
					mask: true
				});
				var that = this
				that.$api.doRequest('post', '/workflow/api/handle', {
					taskId: that.list.taskId,
					approved: false,
					auditMind: this.auditMind,
					needReapply: true,
				}).then(res => {
					that.$api.msg('驳回成功')
					that.show = false
					setTimeout(function() {
						if (that.everyCheck) {
							helper.setAudit(that.list)
						} else {
							uni.navigateBack()
						}
						uni.hideLoading()
					}, 1000);
				})
			},
			close() {
				this.show = false
			},
			pass() {
				this.show = true
				this.title = '审核意见（通过）'
			},
			reject() {
				this.show = true
				this.title = '驳回原因（驳回）'
			},
			//通过
			passSubmit() {
				var that = this
				if (this.title == '驳回原因（驳回）') {
					this.rejectSubmit()
				} else {
					uni.showLoading({
						title: '加载中',
						mask: true
					});
					that.$api.doRequest('post', '/workflow/api/handle', {
						taskId: that.list.taskId,
						approved: true,
						auditMind: this.auditMind,
						needReapply: true,
					}).then(res => {
						that.$api.msg('通过成功')
						that.show = false
						setTimeout(function() {
							if (that.everyCheck) {
								helper.setAudit(that.list)
							} else {
								uni.navigateBack()
							}
							uni.hideLoading()
						}, 1000);
					})
				}

			},
			//审核方法
			audit(item, index, status, status2, reason) {

				if (index < this.list.length) {
					this.$api.doRequest('post', '/workflow/api/handle', {
						taskId: item.taskId,
						approved: status,
						auditMind: reason != undefined ? '已驳回' : '34',
						needReapply: status2 != undefined ? true : false,
					}).then(res => {
						this.audit(this.list[index + 1], index + 1, status)
					})
				} else {
					if (status == true) {
						that.$api.msg('通过成功')
						this.getList()
					} else if (status == false) {
						that.$api.msg('驳回成功')
						this.getList()
					}
				}
			},
		}
	}
</script>

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

	.u-form {
		background: #fff;
		border-radius: 10px;
		padding: 0 10px;

		.u-form-item {
			line-height: 30px;
			padding: 5px 0;
		}
	}

	.content {
		margin-top: 30rpx;

		.top {
			display: flex;
			justify-content: space-between;
		}

		.content-item {
			border-radius: 20rpx;
			background: white;
			padding: 40rpx 20rpx;
			margin-bottom: 30rpx;
		}

		.title {
			font-size: 32rpx;
			font-weight: 600;
			color: #333333;
			text-align: left;
			margin: 20rpx 0;
		}

		.car-container {
			border-bottom: 2rpx solid #EEEEEE;
		}

		.car-type-item {
			font-size: 28rpx;
			margin: 20rpx 0;
			color: #878C9C;
		}

		.weightInfoCss {
			font-size: 28rpx;
			color: #333333;
			font-weight: 500;
		}

		.row {
			display: flex;
			justify-content: space-between;
			// .right,
			// input {
			// 	font-size: 28rpx;
			// 	// color: #333333;
			// }
		}

		.money {
			font-size: 32rpx;
			font-weight: 500;
			margin-bottom: 30rpx;
		}

		.moneyInfo {
			color: #22C572;
			font-size: 32rpx;
		}
	}

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

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

	.textCss {
		display: flex;
		justify-content: flex-end;
		width: 100%;
		text-align: right;
	}


	.textarea {
		margin: 20px auto;
		width: 100%;
		background: #F9F9FA;
		border-radius: 10px;
		border: 1px solid #EEEEEE;
		font-size: 28rpx;
		padding: 10px;
	}

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