<template>
	<view>
		<!-- 胶囊 -->
		<mvBar :mysNavConfig="mysNavConfig"></mvBar>
		<view :style="{marginTop:navH}"></view>

		<view v-if="!loading">
			<!-- 任务状态 -->
			<view style="padding-bottom: 30rpx;margin: 0 30rpx">
				<view style="display: flex;justify-content: center;font-size: 44rpx;padding-bottom: 20rpx;">
					<p>{{msg1}}</p>
					<view class="upload-btn" v-if="isShowUpload" @click="toUpload()" key="0">
						<image src="../../static/img/icon-upload.png" style="height: 40rpx;width: 40rpx;"></image>
						<p style="font-size: 28rpx;">快速上传</p>
					</view>
				</view>
				<view style="display: flex;justify-content: center;font-size: 24rpx;color: #999999;text-align:center">
					<p>{{msg2}}</p>
				</view>
			</view>

			<view class="address">
				<view class="address_icon">
					<image style="width: 50rpx;height: 50rpx;" :src="picture.icon_loc" mode="">
					</image>
				</view>
				<view style="width: 70%;">
					<view style="display: flex;">
						<p class='ipon' style="padding-right: 100rpx;">{{address.receiver_name}}</p>
						<p class='ipon'>{{address.phone_number}}</p>
					</view>
					<p class='ipon'>{{address.full_detail_addr}}</p>
				</view>
				<view class="address_edit" @click="editAddress()" v-if="task.task_stage < 4">
					<image :src="picture.icon_edit" mode="">
					</image>
				</view>
			</view>

			<view class="basicInfo">
				<view class="tpc-txt1">
					<image :src="product.PhotoUrl" style="width: 150rpx;height: 150rpx;" mode="">
					</image>
					<view class="basicInfo_txt">
						<p style="font-size: 30rpx;">{{project.selection_name}}</p>
						<p>售价：￥{{project.show_estimated_cost}} &nbsp;&nbsp;&nbsp;&nbsp;
							佣金：{{project.commission_rate}}%</p>
						<p v-if="project.task_mode === 1">额外悬赏：￥{{project.show_task_reward}}</p>
					</view>
				</view>
				<view class="tpc-txt2" @click="toTaskDeatail()">
					<p>查看</p>
					<image class="tpc-icon" :src="picture.icon_right"></image>
				</view>
			</view>

			<view class="pipline" v-if="task.task_mode == 1 && task.sample_mode == 1">
				<image :src="picture.icon_mianfeichunyong"></image>
			</view>
			<view class="pipline" v-if="task.task_mode == 2 && task.sample_mode == 1">
				<image :src="picture.icon_mianfeixuanshang"></image>
			</view>
			<view class="pipline" v-if="task.task_mode == 1 && task.sample_mode == 2">
				<image :src="picture.icon_dianfuchunyong"></image>
			</view>
			<view class="pipline" v-if="task.task_mode == 2 && task.sample_mode == 2">
				<image :src="picture.icon_dianfuxuanshang"></image>
			</view>
			<view class="pipline" v-if="task.task_mode == 1 && task.sample_mode == 3">
				<image :src="picture.icon_wuyangchunyong"></image>
			</view>
			<view class="pipline" v-if="task.task_mode == 2 && task.sample_mode == 3">
				<image :src="picture.icon_wuyangxuanshang"></image>
			</view>

			<view class="task-progress">
				<view class="task-progress-card"
					v-bind:style="task.task_stage == 3 || task.task_stage == 5 || task.task_stage == 6 ? 'background-color: #f2d241' : ''">
					<view class="tpc-txt1">
						<p>报名信息</p>
					</view>
					<view class="tpc-txt2" @click="toApplyinfo()">
						<p>查看</p>
						<image class="tpc-icon" :src="picture.icon_right"></image>
					</view>
				</view>
				<view class="task-progress-card" v-if="task.task_stage >= 7"
					v-bind:style="task.task_stage == 7 ? 'background-color: #f2d241' : ''">
					<view class="tpc-txt1">
						<p>物流信息</p>
					</view>
					<view class="tpc-txt2" @click="toLogisticsinfo()">
						<p>查看</p>
						<image class="tpc-icon" :src="picture.icon_right"></image>
					</view>
				</view>
				<view class="task-progress-card" v-if="task.task_stage >= 8"
					v-bind:style="task.task_stage == 8 ? 'background-color: #f2d241' : ''">
					<view class="tpc-txt1">
						<p>上传作业</p>
					</view>
					<view class="tpc-txt2" @click="toUpload()" v-if="task.task_stage == 8">
						<p style="color: red;">待添加</p>
						<image class="tpc-icon" :src="picture.icon_right"></image>
					</view>
					<view class="tpc-txt2" @click="toAssignmentRecord()" v-if="task.task_stage > 8">
						<p>查看</p>
						<image class="tpc-icon" :src="picture.icon_right"></image>
					</view>
				</view>

				<view class="task-progress-card" v-if="task.task_stage === 9 || task.task_stage === 10"
					style="background-color: #f2d241">
					<view class="tpc-txt1" v-if="task.task_stage === 9">
						<p>待结算</p>
					</view>
					<view class="tpc-txt1" v-if="task.task_stage === 10">
						<p>已结束</p>
					</view>
					<view class="tpc-txt2" v-if="withdrawStatus == 1">
						<!-- <p>前往提现</p>
						<image class="tpc-icon" :src="picture.icon_right"></image> -->
					</view>
					<view class="tpc-txt2" @click="toWithdraw()" v-if="withdrawStatus == 2">
						<p>前往提现</p>
						<image class="tpc-icon" :src="picture.icon_right"></image>
					</view>
					<view class="tpc-txt2" v-if="withdrawStatus == 3">
						<p>提现中</p>
						<image class="tpc-icon" :src="picture.icon_right"></image>
					</view>
					<view class="tpc-txt2" v-if="withdrawStatus == 4">
						<p>已提现</p>
						<image class="tpc-icon" :src="picture.icon_right"></image>
					</view>
				</view>
				<view class="task-progress-info">
					<view style="padding: 10rpx 0;">
						<p>任务ID：{{task.task_id}}
							<image :src="picture.icon_copy" mode="" class="copy-img"
								@click="handleCopy(task.task_id)" />
						</p>
					</view>
					<view style="padding: 10rpx 0;">
						<p>报名时间：{{task.create_date}}</p>
					</view>
					<view v-if="task.task_stage > 1 && task.task_stage != 3" style="padding: 10rpx 0;">
						<p>确认合作：{{task.select_date}}</p>
					</view>
					<view v-for="(item,index) in taskLogs" style="padding: 10rpx 0;">
						<p>{{item.content}}：{{item.log_at}}</p>
					</view>
				</view>
			</view>

			<view class="block"></view>
			<view class="submit" v-if="task.task_stage === 10 && withdrawStatus == 2">
				<button type="default" class="submit_btn" @click="toWithdraw()">
					前往提现</button>
			</view>
		</view>
	</view>
</template>

<script>
	import region from '@/components/pca-code.json';
	import mvBar from "@/components/mys_navBar/mysNavBar";
	import {
		fansview,
		money
	} from '@/components/utils.js';
	export default {
		components: {
			mvBar
		},
		data() {
			return {
				navH: getApp().globalData.navHeight,
				picture: getApp().globalData.picture,
				mysNavConfig: {
					isHome: false,
					/* 固定导航  */
					navFixed: true,
					/* 标题 （屏幕中心居中 两边图标中心居中使用slot center1） */
					navTitle: {
						text: "选品任务详情",
						color: "",
						fontSize: "32rpx", // px upx rpx
						fontWeight: "", // 100 - 700
					},
					btnType: "type2",
					onLeftClick: '',
					/* type2 按钮 */
					type2Config: {
						// 左图标
						leftPath: "https://horastar.obs.cn-east-3.myhuaweicloud.com/talent/png2.png",
						// 右图标
						rightPath: "https://horastar.obs.cn-east-3.myhuaweicloud.com/talent/png4.png",
						// 圆角
						radius: "40rpx",
					},
				},

				infoMsg1: [
					"等待企业确认合作",
					"等待企业确认合作",
					"等待企业确认合作",
					"恭喜任务申请成功！",
					"任务申请失败",
					"等待发货中",
					"商家已发货",
					"等待上传作业",
					"待结算",
					"已结案",
				],
				infoMsg2: [
					"商家将在申请截止后5天内审核完毕",
					"商家将在申请截止后5天内审核完毕",
					"商家将在申请截止后5天内审核完毕",
					"请仔细查看任务要求和任务详情，开始执行任务吧！",
					"未达到领样标准，请小主尝试申请其他任务吧",
					"发货后可在任务进度中查看物流单号",
					"请在任务进度中查看物流单号",
					"请仔细查看任务要求，根据要求完成作业，截止时间前上传作业提交后可领取相应的悬赏及返现",
					"作业提交成功，请等待商家结算。",
					"本任务已结案，可前往任务大厅查看报名其他任务。",
				],
				task_type_info: ["实体商品寄拍", "虚拟产品测评", "线下探店打卡"],
				isTimeOut: false,
				isNotShowSubmit: true,
				isShowUpload: false,
				loading: true,
				timeLeft: "",
				msg1: "",
				msg2: "",
				taskId: '',
				task: {},
				address: {},
				project: {},
				product: {},
				account: {},
				strategy: {},
				taskLogs: [],
				withdrawStatus: 1,
			}
		},
		async onShow() {
			this.loading = true;
			uni.showLoading({
				title: '加载中'
			});
			await this.getTaskInfo();
			await this.getTaskLogs();
			this.loading = false;
			uni.hideLoading();
		},
		onLoad(options) {
			this.taskId = options.taskId
		},
		methods: {
			handleCopy(text) {
				wx.setClipboardData({
					data: text.toString(),
					success: function(res) {
						console.log("复制成功");
					}
				});
			},
			getTaskInfo() {
				return this.$https.get('/youngee/c/t/g/get-sec-task-detail' +
					"?" +
					"task_id" +
					"=" +
					this.taskId
				).then(res => {
					if (res.data.code != 0) {
						return
					}
					const data = res.data.data
					this.task = data.sec_task_info
					this.withdrawStatus = data.withdraw_status

					// 地址解析
					this.address = JSON.parse(this.task.talent_post_addr_snap);
					let a = this.address.region_code.toString().slice(0, 2)
					let b = this.address.region_code.toString().slice(0, 4)
					let c = 0
					for (var i = 0; i < region.length; i++) {
						if (region[i].code == a) {
							a = region[i].name
							for (var j = 0; j < region[i].children.length; j++) {
								if (region[i].children[j].code == b) {
									b = region[i].children[j].name
									for (var o = 0; o < region[i].children[j].children.length; o++) {
										if (region[i].children[j].children[o].code == this.address
											.region_code) {
											c = region[i].children[j].children[o].name
										}
									}
								}

							}
						}
					}
					this.address.full_detail_addr = a + b + c + this.address.detail_addr

					// 账号信息
					this.account = JSON.parse(this.task.talent_platform_info_snap);
					this.account.show_fans_count = fansview(this.account.fans_count)

					// 选品项目信息
					this.project = data.selection_detail
					this.project.Product = JSON.parse(this.project.product_snap);
					this.project.Product.showProductPrice = money(this.project.Product.ProductPrice)
					this.project.show_estimated_cost = money(this.project.Product.ProductPrice)

					this.project.project_form = this.project.Product.ProductType === 14 ? 3 : 1

					if (this.project.product_photo_snap != '') {
						let ProductPhoto = JSON.parse(this.project.product_photo_snap);
						for (let j = 0; j < ProductPhoto.length; ++j) {
							if (ProductPhoto[j].Symbol == 1) {
								this.product = ProductPhoto[j]
							}
						}
					}

					this.project.show_task_reward = money(this.project.task_reward)
					// this.project.show_estimated_cost = money(this.project.estimated_cost)

					// 判断是否显示快速上传按钮
					if (this.task.task_stage == 8) {
						this.isShowUpload = true
					} else {
						this.isShowUpload = false
					}

					// 不同任务阶段提示消息
					this.msg1 = this.infoMsg1[this.task.task_stage - 1]
					this.msg2 = this.isSpecial ? this.infoMsg3[this.task.task_stage - 1] : this.infoMsg2[this.task
						.task_stage - 1]
				})
			},
			getTaskLogs() {
				return this.$https.get('/youngee/c/t/g/get-task-log' +
					"?" +
					"task_id" +
					"=" +
					this.taskId
				).then(res => {
					this.taskLogs = res.data.data
				})
			},
			toUpload() {
				if (this.task.task_stage == 8) { // 上传作业
					var data = {
						taskId: this.taskId,
						assignmentStatus: this.task.assignment_status
					};
					data = JSON.stringify(data)
					uni.navigateTo({
						url: '/page_workspace/selection/assignment/upload?textObj=' + encodeURIComponent(data)
					});
				}
			},
			toScriptRecord() {
				var data = {
					taskId: this.task.task_id,
				};
				data = JSON.stringify(data)
				uni.navigateTo({
					url: '/page_workspace/task/record/scriptrecord?textObj=' + encodeURIComponent(data)
				});
			},
			toTaskDeatail() {
				uni.navigateTo({
					url: '/page_selectionsquare/selectiondetail/selectiondetail?id=' + this.project.selection_id
				});
			},
			toApplyinfo() {
				var data = {
					account: this.account,
				};
				data = JSON.stringify(data)
				uni.navigateTo({
					url: '/page_workspace/task/information/applyInformation?textObj=' + encodeURIComponent(data)
				});
			},
			toLogisticsinfo() {
				var data = {
					address: this.address,
					taskId: this.task.task_id,
					projectForm: this.project.project_form
				};
				data = JSON.stringify(data)
				uni.navigateTo({
					url: '/page_workspace/task/information/deliveryInformation?textObj=' + encodeURIComponent(data)
				});
			},
			editAddress() {
				var data = {
					address: this.address,
					taskId: this.task.task_id,
				};
				data = JSON.stringify(data)
				uni.navigateTo({
					url: '/page_workspace/task/editaddress?textObj=' + encodeURIComponent(data)
				});
			},
			// 计算结束时间
			thistime(val) {
				// 转换格式
				var beginTime = new Date(val.replace(/-/g, "/"));
				// 当前时间
				var thisTime = new Date();
				// 相减
				var dateMiss = beginTime.getTime() - thisTime.getTime();
				this.isTimeOut = dateMiss < 0 ? true : false
				dateMiss = dateMiss < 0 ? -dateMiss : dateMiss
				// 天数
				var day = Math.floor(dateMiss / (24 * 3600 * 1000));
				// 减去天数剩下的毫秒数
				var backOne = dateMiss % (24 * 3600 * 1000);
				// 小时数
				var hours = Math.floor(backOne / (3600 * 1000));
				// 减去小时数剩下的毫秒数
				var backHour = backOne % (3600 * 1000);
				// 分钟数
				var min = Math.floor(backHour / (60 * 1000));
				var deadline_time = day + '天' + hours + '时' + min + '分'
				return deadline_time
			},
			toWithdraw() {
				uni.navigateTo({
					url: '/pages/mycenter/myincome?showTab=1'
				});
			},
			submit() {
				if (this.task.task_stage == 7) { // 提交脚本
					let that = this
					uni.showModal({
						title: '提示',
						content: '提交后无法修改并进行审核，确认提交？',
						success: function(res) {
							if (res.confirm) {
								that.$https.get('/youngee/c/t/g/submit-task-script' +
										"?" +
										"task_id" +
										"=" +
										that.task.task_id)
									.then(res => {
										console.log(res)
										uni.navigateBack()
									})
							} else if (res.cancel) {
								console.log('用户点击取消');
							}
						}
					});
				} else if (this.task.task_stage == 9) { // 提交初稿
					let that = this
					uni.showModal({
						title: '提示',
						content: '提交后无法修改并进行审核，确认提交？',
						success: function(res) {
							if (res.confirm) {
								that.$https.get('/youngee/c/t/g/submit-task-sketch' +
										"?" +
										"task_id" +
										"=" +
										that.task.task_id)
									.then(res => {
										console.log(res)
										uni.navigateBack()
									})
							} else if (res.cancel) {
								console.log('用户点击取消');
							}
						}
					});
				} else if (this.task.task_stage == 11) { // 提交链接
					let that = this
					uni.showModal({
						title: '提示',
						content: '提交后无法修改并进行审核，确认提交？',
						success: function(res) {
							if (res.confirm) {
								that.$https.get('/youngee/c/t/g/submit-task-link' +
										"?" +
										"task_id" +
										"=" +
										that.task.task_id)
									.then(res => {
										console.log(res)
										uni.navigateBack()
									})
							} else if (res.cancel) {
								console.log('用户点击取消');
							}
						}
					});
				} else if (this.task.task_stage == 13) { // 提交数据
					let that = this
					uni.showModal({
						title: '提示',
						content: '提交后无法修改并进行审核，确认提交？',
						success: function(res) {
							if (res.confirm) {
								that.$https.get('/youngee/c/t/g/submit-task-data' +
										"?" +
										"task_id" +
										"=" +
										that.task.task_id)
									.then(res => {
										console.log(res)
										uni.navigateBack()
									})
							} else if (res.cancel) {
								console.log('用户点击取消');
							}
						}
					});
				}
			}
		}
	}
</script>


<style lang="scss" scoped>
	text {
		font-size: 12px;
	}

	.basicInfo {
		display: flex;
		align-items: center;
		justify-content: center;
		margin-top: 20rpx;
		padding: 20rpx;
		font-size: 30rpx;
		background-color: #FFFFFF;

		.basicInfo_txt {
			margin-left: 40rpx;
			// padding-top: 20rpx;
		}

		.tpc-txt1 {
			display: flex;
			justify-content: flex-start;
			// margin-left: 20rpx;

		}

		.tpc-txt2 {
			display: flex;
			align-items: center;
			justify-content: flex-end;
			padding-right: 10rpx;
			// margin-right: 20rpx;
			flex: 1;

			.tpc-icon {
				width: 30rpx;
				height: 30rpx;
			}
		}
	}

	.upload-btn {
		display: flex;
		align-items: center;
		justify-content: center;
		background-color: #f2d241;
		border-radius: 10rpx;
		padding: 5rpx;
		margin-left: 20rpx;
		cursor: pointer;
	}

	.address {
		display: flex;
		margin: 20rpx 0;
		// padding: 20rpx 20rpx;
		background-color: #FFFFFF;
		justify-content: space-around;
		align-items: center;

		.address_icon {
			width: 15%;
			vertical-align: middle;
			display: flex;
			justify-content: center;
		}

		.address_edit {
			width: 15%;
		}

		.address_edit image {
			vertical-align: middle;
			width: 50rpx;
			height: 50rpx;
			display: inline-block;
			padding-right: 14rpx;
		}

		.ipon {
			color: #333333;
			font-size: 30rpx;
			margin-bottom: 10rpx;
		}
	}

	.keyInfo {
		padding: 20rpx 20rpx;
		background-color: #FFFFFF;

		.keyInfo_task {
			// color: #999999;
		}
	}

	.keyInfo h3 {}

	.keyInfo p {
		font-size: 30rpx;
	}

	.account {
		display: flex;
		align-items: center;
		// justify-content: space-between;
		// width: 90%;
		margin: 20rpx 0;
		padding: 20rpx 20rpx;
		background-color: #FFFFFF;
		font-size: 35rpx;

		.account_txt {
			display: inline-block;
			padding: 0 0 0 1%;
			width: 400rpx;
		}

		.account_txt image {
			vertical-align: middle;
			width: 50rpx;
			height: 50rpx;
			display: inline-block;
			padding-right: 14rpx;
		}

		.account_fans {
			display: flex;
			width: 250rpx;
		}

		.account_fans p {
			display: inline-block;
			color: #333333;
		}

		.account_btn {}
	}

	.task-progress {
		padding: 20rpx;

		.task-progress-card {
			margin: 15rpx 0;
			display: flex;
			align-items: center;
			// margin: 20rpx;
			padding: 10rpx;
			font-size: 30rpx;
			border-radius: 10rpx;

			.tpc-txt1 {
				display: flex;
				justify-content: flex-start;
				// margin-left: 20rpx;

			}

			.tpc-txt2 {
				display: flex;
				align-items: center;
				justify-content: flex-end;
				// margin-right: 20rpx;
				flex: 1;

				.tpc-icon {
					width: 30rpx;
					height: 30rpx;
				}
			}
		}

		.task-progress-info {
			padding: 10rpx;
			font-size: 30rpx;
			border-radius: 10rpx;
			background-color: #f2f2f2;
		}
	}

	.block {
		width: 100%;
		height: 100rpx;
		margin-top: 5%;
	}

	.submit {
		box-shadow: 0rpx 5rpx 40rpx #ccc;
		width: 100%;
		position: fixed;
		bottom: 0rpx;
		display: flex;
		height: 90rpx;
		padding-top: 2%;
		background-color: #FFFFFF;

		.submit_btn {
			width: 60%;
			background-color: #FCCF41;
			border-radius: 20rpx;
			font-size: 36rpx;
			line-height: 200%;
			letter-spacing: 10rpx;
			height: 80%;
		}

	}

	.line {
		border-bottom: 1rpx solid #d5d5d5;
		width: 98%;
		margin: 10rpx 1%;
	}

	.pipline {
		display: flex;
		align-items: center;
		justify-content: center;
		margin: 20rpx;
		// border: #FCCF41 1rpx dashed;
	}

	.pipline image {
		/* width: 600rpx; */
		height: 150rpx;
	}
</style>