<template>
	<view class="lists">
		<view class="status_bar" :style="navHeight"></view>
		<view class="header-bg">
			<image class="header-bg-img" src="@/static/image/nav_bg@3x.png" mode="scaleToFill"></image>
		</view>
		<view class="main">
			<view class="block-detal">
				<view class="block-detal-head">
					<text class="detal-head-item-value detal-head-item-value-first">{{missionDetail.createdate}}</text>
					<text class="detal-head-item-value">{{missionDetail.viloationName}}</text>
					<text class="detal-head-item-value">{{missionDetail.childTypeName}}</text>
					<text
						class="detal-head-item-value detal-head-item-value-last status-done">{{missionDetail.status}}</text>
				</view>
				<view class="block-detal-body">
					<text class="detal-item-value">{{missionDetail.terminalName}}</text>
					<text class="detal-item-value">{{missionDetail.terminalAddress}}</text>
					<text class="detal-item-value">{{missionDetail.productName}}</text>
					<text class="detal-item-value">{{missionDetail.productQty}}盒</text>
				</view>
				<template v-for="(letter,index) in contactLetterDetail.entryDataList">
					<view class="text-block text-block-last">
						<text class="middle-date">联络函编号</text>
						<text class="middle-date-des">{{letter.contactLetterId}}</text>
					</view>
					<view class="text-block text-block-last" @click="previewImg(letter.contactLetterUrl)">
						<text class="middle-date">附件</text>
						<text class="middle-date-des">{{letter.contactLetterName}}</text>
					</view>
				</template>
			</view>
			<view class="middle view">
				<view class="text-block">
					<text class="middle-date">打框架</text>
					<view class="middle-date-des uni-list picker-year">
						<view class="uni-list-cell">
							<view class="uni-list-cell-db">
								<text class="uni-input-text">{{ contactLetterDetail.bundledProducts?'是':'否'}}</text>
							</view>
						</view>
					</view>
				</view>
				<view class="text-block">
					<text class="middle-date">收货地址</text>
					<view class="middle-date-des uni-list picker-year" v-if="contactLetterDetail.receiveAddress">
						<view class="uni-list-cell">
							<view class="uni-list-cell-db">
								<text class="uni-input-text">{{ contactLetterDetail.receiveAddress}}</text>
							</view>
						</view>
					</view>
				</view>
				<view class="text-block">
					<text class="middle-date">联系人</text>
					<view class="middle-date-des uni-list picker-year">
						<view class="uni-list-cell">
							<view class="uni-list-cell-db">
								<text class="uni-input-text">{{ contactLetterDetail.contactUser}}</text>
							</view>
						</view>
					</view>
				</view>
				<view class="text-block">
					<text class="middle-date">联系电话</text>
					<view class="middle-date-des uni-list picker-year">
						<view class="uni-list-cell">
							<view class="uni-list-cell-db">
								<text class="uni-input-text">{{ contactLetterDetail.receiveContactPhone}}</text>
							</view>
						</view>
					</view>
				</view>
				<view class="text-block">
					<text class="middle-date">期望保价(元)</text>
					<view class="middle-date-des uni-list picker-year">
						<view class="uni-list-cell">
							<view class="uni-list-cell-db">
								<text class="uni-input-text">{{ contactLetterDetail.expectInsuredValue}}</text>
							</view>
						</view>
					</view>
				</view>
				<view class="text-block text-block-last" disabled="">
					<text class="middle-date">物流公司</text>
					<view class="middle-date-des uni-list picker-year">
						<view class="uni-list-cell">
							<view class="uni-list-cell-db">
								<text class="uni-input-text">{{ contactLetterDetail.expectLogistics}}</text>
							</view>
						</view>
					</view>
				</view>
				<view class="text-block-children ">
					<view class="children-block">
						<image class="children-block-icon" src="@/static/image/person.png" mode="">
						</image>
						<text class="children-block-text">{{ contactLetterDetail.receiveRecorderName}}</text>
					</view>
					<view class="children-block">
						<image class="children-block-icon" src="@/static/image/time.png" mode="">
						</image>
						<text class="children-block-text">{{ contactLetterDetail.receiveRecorderTime}}</text>
					</view>
				</view>
				<view class="text-block">
					<text class="middle-date">收货确认时间</text>
					<view class="middle-date-des uni-list picker-year">
						<view class="uni-list-cell">
							<view class="uni-list-cell-db">
								<text class="uni-input-text">{{ contactLetterDetail.receiveConfirmTime}}</text>
							</view>
						</view>
					</view>
				</view>
				<view class="text-block-children ">
					<view class="children-block">
						<image class="children-block-icon" src="@/static/image/person.png" mode="">
						</image>
						<text class="children-block-text">{{ contactLetterDetail.receiveConfirmUserName}}</text>
					</view>
					<view class="children-block">
						<image class="children-block-icon" src="@/static/image/time.png" mode="">
						</image>
						<text class="children-block-text">{{ contactLetterDetail.receiveConfirmTime}}</text>
					</view>
				</view>
				<view class="text-block">
					<text class="middle-date">是否有异议</text>
					<view class="middle-date-des uni-list picker-year">
						<view class="uni-list-cell">
							<view class="uni-list-cell-db">
								<picker class="picker-block" @change="bindPickerProChange" mode="selector"
									range-key='value' :value="condition.remarkView" :range="typePicker">
									<text
										class="uni-input-text" style="height: 96rpx;line-height: 96rpx;">{{ condition.remarkView}}</text>
								</picker>
							</view>
						</view>
						<image class="icon-arrow" src="@/static/image/arrow_r@3x.png" mode="aspectFit"></image>
					</view>
				</view>
				<!-- <view class="text-block text-block-last">
					<text class="middle-date">情况说明</text>
				</view>
				<view class="remark">
					<textarea class="remark-text" placeholder="请输入情况说明" placeholder-class="uni-combox__input-plac"
						v-model="condition.notes" />
				</view>
				<view class="text-block text-block-last">
					<text class="middle-date">上传附件时,多次上传只保留最后上传</text>
				</view>
				<view class="text-block text-block-last upload-area">
					<text class="middle-date">上传附件</text>
					<view class="middle-date-des uni-list picker-year">
						<view class="uni-list-cell">
							<view class="uni-list-cell-db">
								<uni-file-picker ref='files' :auto-upload='false' v-model="fileList"
									file-mediatype="image" :imageStyles="imageStyles" @select="select"
									@progress="progress" @success="success" @fail='fail'>
									<text>+</text>
								</uni-file-picker>
							</view>
						</view>
					</view>
				</view> -->
			</view>

		</view>
		<view class="bottom-area"></view>
		<view class="bottom">
			<button class="btn" type="default" @tap="submit">
				<text class="btn-text">罚分申诉</text>
			</button>
		</view>
	</view>
	</view>
</template>

<script>
	import {
		mapState
	} from 'vuex'

	import {
		apiGetContactLetterDetail,
		apiDoReceiveApprovalInfo
	} from '@/servers/breakwords.js'

	export default {
		data() {
			return {
				productDisSalesAreaId: '',
				happenSalesAreaCode: '',
				ticketId: '',
				condition: {
					taskAssignmentId: '',
					bundledProducts: 'false',
					receiveAddress: '',
					contactUser: '',
					receiveContactPhone: '',
					expectInsuredValue: '',
					expectLogistics: '',
					notes: '',
					entryDataList: [],
					remarkView: '',
					remark: '',
				},
				missionDetail: {},
				contactLetterDetail: {},
				fileList: [],
				typePicker: [
					{
						key: 0,
						value: '无异议'
					},
					{
						key: 1,
						value: '有异议'
					}
					]
			}
		},
		computed: {
			...mapState(['sysinfo', 'userInfo']),
			navHeight() {
				return {
					'height': `${this.sysinfo.safeArea.top + 44}px`
				}
			},
			mainHeight() {
				return {
					'height': `${this.sysinfo.safeArea.height - 44 }px`,
				}
			},
			imageStyles() {
				return {
					width: 54,
					height: 54,
					border: {
						radius: '10%'
					}
				}
			},
			isAreaCode(){
				return this.happenSalesAreaCode === this.productDisSalesAreaId
			},
		},
		onLoad(option) {
			if (option && option.pageType) {
				this.missionDetail = JSON.parse(option.info)
				this.condition.taskAssignmentId = this.missionDetail.ticketId
				this.condition.contactLetterId = this.missionDetail.requestid
				this.getContactLetterDetail()
			}
		},
		methods: {
			bindPickerProChange(e){
				console.log('picker发送选择改变，携带值为', e.detail.value)
				this.condition.remark = e.detail.value
				this.condition.remarkView = this.typePicker[e.detail.value].value
			},
			previewImg (urls) {
				// #ifdef APP-PLUS
					const url = 'http://221.10.127.50/wmdp-uploadfile'+urls
					let dtask = plus.downloader.createDownload(url, {}, function(d, status){
						// 下载完成
						if(status == 200){ 
							console.log("Download success: " + d.url);
							plus.runtime.openFile(d.filename)
						} else {
							console.log("Download failed: " + status); 
						}
					});
					//dtask.addEventListener("statechanged", onStateChanged, false);
					dtask.start(); 
				// #endif
				// window.open('http://221.10.127.50/wmdp-uploadfile/sap-reportform/2022/10/31/20b93371-bbf6-ed6f-cf4b-b1731956bfa2.pdf');
				 // 预览pdf
				 // let fileUrl = 'http://221.10.127.50/wmdp-uploadfile/sap-reportform/2022/10/31/20b93371-bbf6-ed6f-cf4b-b1731956bfa2.pdf?fileSize=116591'
				 // uni.navigateTo({
					//  url: `/pages/preview/preview?fileUrl=encodeURIComponent(${fileUrl})`
				 // });
				// uni.previewImage({
				// 	current: 0,
				// 	urls:'http://221.10.127.50/wmdp-uploadfile/sap-reportform/2022/10/31/20b93371-bbf6-ed6f-cf4b-b1731956bfa2.pdf?fileSize=116591'
				// })
			},
			async getContactLetterDetail() {
				uni.showLoading({
					title: '加载中'
				});
				setTimeout(function() {
					uni.hideLoading();
				}, 2000);
				const res = await apiGetContactLetterDetail({
					taskAssignmentId: this.condition.taskAssignmentId
				})
				this.ticketId = res.data.contactLetterId
				this.happenSalesAreaCode = res.data.happenSalesAreaCode
				this.productDisSalesAreaId = res.data.productDisSalesAreaId
				uni.hideLoading();
				for (let key in res.data) {
					this.$set(this.contactLetterDetail, key, res.data[key])
					// this.contactLetterDetail[key] = res.data[key]
				}
				this.condition.entryDataList = res.data.entryDataList

			},
			async submit() {
				if(this.condition.remark === ''){
					uni.showToast({
						title: '请先选择是否有异议',
						duration: 2000,
						icon: 'none'
					});
					return
				}
				const params = {
					'ticketId': this.ticketId,
					'remark': this.condition.remark,
					'userid': this.userInfo.code,
					'distributer': true,
					'processBusinessInstanceId': this.condition.contactLetterId,
					'distributerAttachment': '',
				}
				uni.showLoading({
					title: '加载中'
				});
				setTimeout(function() {
					uni.hideLoading();
				}, 2000);
				const res = await apiDoReceiveApprovalInfo(params)
				if(res.result === 'F'){
					uni.showToast({
						title: res.message,
						duration: 2000,
						icon: 'none'
					});
					return
				}
				uni.hideLoading();
				uni.navigateBack()
			},
			// 获取上传进度
			progress(e) {
				console.log('上传进度：', e)
			},
			// 选择文件
			select(e) {
				console.log('选择文件：', e, this.fileList)
			},
			// 上传成功
			success(e) {
				console.log('上传成功', e)
			},
			// 上传失败
			fail(e) {
				console.log('上传失败：', e)
			},
		}
	}
</script>

<style lang="scss" scoped>
	.view {
		display: flex;
		flex-direction: column;
	}

	.status_bar {
		height: var(--status-bar-height);
	}

	.header-bg {
		height: 284rpx;
		margin-top: -88rpx;
	}

	.header-bg-img {
		width: 750rpx;
	}

	.lists {
		position: relative;
		flex-direction: column;
		background: #f0f4f5;
	}

	.main {
		position: relative;
		flex-direction: column;
		margin-top: -184rpx;
		border-radius: 16rpx;
		padding: 0 16rpx;
	}

	.middle {
		background-color: #fff;
		border-radius: 16rpx;
		padding: 0 48rpx;
		margin-bottom: 32rpx;
	}

	.text-block {
		display: flex;
		overflow: hidden;
		height: 96rpx;
		border-bottom: 1px solid #f4f5f6;
	}

	.text-block-last {
		margin-bottom: 0;
		border-bottom: 0;
	}

	.text-block-children {
		display: flex;
		flex-direction: column;
		border-bottom: 1px solid #f4f5f6;
		padding: 20rpx 0;
	}

	.children-block {
		display: flex;
		align-items: center;
		height: 60rpx;
	}

	.children-block-icon {
		width: 30rpx;
		height: 30rpx;
		margin-right: 20rpx;
	}

	.children-block-text {
		font-size: 24rpx;
	}


	.no-border {
		border: 0;
	}

	.middle-date {
		flex: 3;
		font-size: 24rpx;
		line-height: 96rpx;
		color: #999;
		margin-bottom: 8rpx;
	}

	.middle-date-des {
		align-items: center;
		flex: 5.5;
		font-size: 24rpx;
		color: $text-base-color;
		height: 96rpx;
		line-height: 96rpx;
	}

	.uni-input-placeholder {
		color: #DBDBDB;
	}

	.picker-year {
		position: relative;
		align-items: center;
	}

	.uni-combox__input-plac {
		color: #DBDBDB;
		font-size: 14px;
	}

	.uni-list-cell {
		flex: 1;
		padding-right: 52rpx;
	}

	.uni-list-cell-db {
		flex: 1;
	}

	.uni-input-text {
		font-size: 24rpx;
	}

	.picker-block {
		flex: 1;
	}

	.icon-arrow {
		position: absolute;
		right: 22rpx;
		top: 40rpx;
		width: 7px;
		height: 10px;
		z-index: 10;
	}

	.icon-arrow-r {
		right: 102rpx;
	}

	.planout-block-item {
		margin-top: 48rpx;
	}

	.block-detal {
		display: flex;
		flex-direction: column;
		background: #fff;
		border-radius: 20rpx;
		padding: 32rpx;
		margin-top: 32rpx;
		margin-bottom: 20rpx;
	}

	.block-detal-head {
		display: flex;
		justify-content: space-between;
		border-bottom: 1px solid #ddd;
		padding-bottom: 6px;
	}

	.detal-head-item-value {
		flex: 1;
		text-align: center;
		font-size: 24rpx;
	}

	.detal-head-item-value-first {
		flex: 1.2;
		text-align: left;
	}

	.detal-head-item-value-last {
		flex: 0.7;
		text-align: right;
	}

	.status-done {
		color: #F62C29;
	}

	.product-val {
		margin-right: 10px;
	}

	.block-detal-body {
		display: flex;
		flex-direction: column;
		padding-top: 20rpx;
	}

	.detal-item-value {
		color: #333;
		font-size: 24rpx;
		margin-bottom: 8rpx;
	}

	.remark {
		margin-bottom: 24px;
	}

	.remark-text {
		flex: 1;
		height: 180rpx;
		background: #f5f6f7;
		border-radius: 4px;
		padding: 12rpx 18rpx;
	}

	.upload-area {
		margin-bottom: 32rpx;
	}

	.bottom-area {
		height: 140rpx;
		margin-top: 12rpx;
	}

	.bottom {
		position: fixed;
		bottom: 0;
		left: 0;
		z-index: 10;
		width: 750rpx;
		height: 140rpx;
		padding: 0 32rpx;
		background-color: #fff;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}

	.btn {
		flex: 1;
		height: 92rpx;
		background: $wly-primary-color;
		border-radius: 46rpx;
	}

	.btn-text {
		color: #fff;
		font-size: 34rpx;
	}
	.entry-bill-icon {
		width: 40rpx;
		height: 40rpx;
		margin-right: 4rpx;
	}
	
	.entry-bill-icon_billing {
		width: 38rpx;
		height: 40rpx;
	}
</style>
