<template>
	<view :style="getHeight" style="background-color: #F5F5F5;">
		<!-- 公共组件-每个页面必须引入 -->
		<public-module></public-module>

		<!-- 头部 -->
		<view class="carInfo w-100 px-3 box-sizing">
			<view class="d-flex">
				<view class="icon iconfont icon-tree-round-car flex-shrink topLeft"></view>
				<view class="topRight d-flex flex-1 p-3 flex-column" style="color: #FFFFFF;">
					<view class="d-flex flex-1">
						<view class="font-lg d-flex a-center">{{this.licenseNo}}
							<view class="icon iconfont icon-bianji1 ml-2" @tap="toCarInfo"></view>
						</view>
					</view>
					<view class="brandName">{{carInfo.modelcname}}</view>
				</view>
			</view>
			<view class="other d-flex j-sb px-3">
				<view class="d-flex flex-1 a-center">
					<view class="privilege d-flex a-center j-center flex-shrink px-2">特权</view>
					<view class="content">每月自动查违章，无违章领奖励</view>
				</view>
				<view class="flex-shrink icon iconfont icon-youjiantou d-flex a-center font-sm"></view>
			</view>
		</view>

		<!-- 车主信息 -->
		<view>
			<view class="personInfo">
				<view class="title d-flex a-center j-center j-sb">
					<text style="font-weight: bold;">车主</text>
					<view class="showStatus" @tap="controlShow('showOwerInfo')">{{showOwerInfo?'收起':'展开'}}</view>
				</view>
				<view class="content" v-if="showOwerInfo">
					<view class="row d-flex a-center">
						<view class="left">姓名：</view>
						<view class="right d-flex flex-1">{{ownerInfo.name}}</view>
					</view>
					<view class="row d-flex a-center">
						<view class="left">证件类型：</view>
						<block v-for="(item,index) in identifyList" :key="index">
							<template v-if="item.id == ownerInfo.identifyType">
								<view class="right d-flex flex-1">{{item.label}}</view>
							</template>
						</block>
					</view>
					<view class="row d-flex a-center">
						<view class="left">手机号：</view>
						<view class="right d-flex flex-1">{{ownerInfo.mobile}}</view>
					</view>
					<view class="row d-flex a-center">
						<view class="left">证件号：</view>
						<view class="right d-flex flex-1">{{ownerInfo.identifyNumber}}</view>
					</view>
					<view class="row d-flex a-center"
						style="height:auto;min-height: 80upx;padding: 15upx 0;box-sizing: border-box; ">
						<view class="left">地址：</view>
						<view class="right d-flex flex-1">{{ownerInfo.addr}}</view>
					</view>
				</view>
			</view>
			<!-- 投保人信息 -->
			<view class="personInfo">
				<view class="title d-flex a-center j-sb">
					<text style="font-weight: bold;">投保人</text>
					<view class="showStatus" @tap="controlShow('showPolicyHolderInfo')">
						{{showPolicyHolderInfo?'收起':'展开'}}
					</view>
				</view>
				<view class="content" v-if="showPolicyHolderInfo">
					<view class="row d-flex a-center">
						<view class="left">姓名：</view>
						<view class="right d-flex flex-1">{{policyHolderInfo.name}}</view>
					</view>
					<view class="row d-flex a-center">
						<view class="left">证件类型：</view>
						<block v-for="(item,index) in identifyList" :key="index">
							<template v-if="item.id == policyHolderInfo.identifyType">
								<view class="right d-flex flex-1">{{item.label}}</view>
							</template>
						</block>
					</view>
					<view class="row d-flex a-center">
						<view class="left">手机号：</view>
						<view class="right d-flex flex-1">{{policyHolderInfo.mobile}}</view>
					</view>
					<view class="row d-flex a-center">
						<view class="left">证件号：</view>
						<view class="right d-flex flex-1">{{policyHolderInfo.identifyNumber}}</view>
					</view>
					<view class="row d-flex a-center"
						style="height:auto;min-height: 80upx;padding: 15upx 0;box-sizing: border-box; ">
						<view class="left">地址：</view>
						<view class="right d-flex flex-1">{{policyHolderInfo.addr}}</view>
					</view>
				</view>
			</view>

			<!-- 被保人信息 -->
			<view class="personInfo">
				<view class="title d-flex a-center j-sb">
					<text style="font-weight: bold;">被保人</text>
					<view class="showStatus" @tap="controlShow('showInsuredPersonInfo')">
						{{showInsuredPersonInfo?'收起':'展开'}}
					</view>
				</view>
				<view class="content" v-if="showInsuredPersonInfo">
					<view class="row d-flex a-center">
						<view class="left">姓名：</view>
						<view class="right d-flex flex-1">{{insuredPersonInfo.name}}</view>
					</view>
					<view class="row d-flex a-center">
						<view class="left">证件类型：</view>
						<block v-for="(item,index) in identifyList" :key="index">
							<template v-if="item.id == insuredPersonInfo.identifyType">
								<view class="right d-flex flex-1">{{item.label}}</view>
							</template>
						</block>
					</view>
					<view class="row d-flex a-center">
						<view class="left">手机号：</view>
						<view class="right d-flex flex-1">{{insuredPersonInfo.mobile}}</view>
					</view>
					<view class="row d-flex a-center">
						<view class="left">证件号：</view>
						<view class="right d-flex flex-1">{{insuredPersonInfo.identifyNumber}}</view>
					</view>
					<view class="row d-flex a-center"
						style="height:auto;min-height: 80upx;padding: 15upx 0;box-sizing: border-box; ">
						<view class="left">地址：</view>
						<view class="right d-flex flex-1">{{insuredPersonInfo.addr}}</view>
					</view>
				</view>
			</view>

			<!-- 车辆影像信息Start -->
			<view class="imageInfo">
				<view class="title d-flex a-center j-sb">
					<text style="font-weight: bold;">车辆影像信息</text>
					<view class="showStatus" @tap="controlShow('showCarImageInfo')">{{showCarImageInfo?'收起':'展开'}}
					</view>
				</view>

				<view class="uni-uploader" v-if="showCarImageInfo">
					<view class="uni-uploader-body">
						<view class="uni-uploader__files">
							<block v-for="(image,index) in carImageList" :key="index">
								<view class="uni-uploader__file">
									<image class="uni-uploader__img" :src="image" :data-src="image"
										@tap="previewImage($event,'car')"></image>
									<view class="delImgIcon iconfont icon-cuo d-flex a-center j-center"
										@tap="delCheckImage('car',index)"></view>
								</view>
							</block>
							<view class="uni-uploader__input-box" style="box-sizing: border-box;">
								<view class="uni-uploader__input" @tap="chooseImage('car')"></view>
							</view>
						</view>
					</view>
				</view>

			</view>
			<!-- 车辆影像信息End -->

			<!-- 车主影像信息Start -->
			<view class="imageInfo">
				<view class="title d-flex a-center j-sb">
					<text style="font-weight: bold;">车主影像信息</text>
					<view class="showStatus" @tap="controlShow('showOwnerImageInfo')">{{showOwnerImageInfo?'收起':'展开'}}
					</view>
				</view>

				<view class="uni-uploader" v-if="showOwnerImageInfo">
					<view class="uni-uploader-body">
						<view class="uni-uploader__files">
							<block v-for="(image,index) in ownerImageList" :key="index">
								<view class="uni-uploader__file">
									<image class="uni-uploader__img" :src="image" :data-src="image"
										@tap="previewImage($event,'owner')"></image>
									<view class="delImgIcon iconfont icon-cuo d-flex a-center j-center"
										@tap="delCheckImage('owner',index)"></view>
								</view>
							</block>
							<view class="uni-uploader__input-box" style="box-sizing: border-box;">
								<view class="uni-uploader__input" @tap="chooseImage('owner')"></view>
							</view>
						</view>
					</view>
				</view>

			</view>
			<!-- 车主影像信息End -->
			<!-- 投保人影像信息Start -->
			<view class="imageInfo">
				<view class="title d-flex a-center j-sb">
					<text style="font-weight: bold;">投保人影像信息</text>
					<view class="showStatus" @tap="controlShow('showPolicyImageInfo')">
						{{showPolicyImageInfo?'收起':'展开'}}
					</view>
				</view>

				<view class="uni-uploader" v-if="showPolicyImageInfo">
					<view class="uni-uploader-body">
						<view class="uni-uploader__files">
							<block v-for="(image,index) in policyImageList" :key="index">
								<view class="uni-uploader__file">
									<image class="uni-uploader__img" :src="image" :data-src="image"
										@tap="previewImage($event,'policy')"></image>
									<view class="delImgIcon iconfont icon-cuo d-flex a-center j-center"
										@tap="delCheckImage('policy',index)"></view>
								</view>
							</block>
							<view class="uni-uploader__input-box" style="box-sizing: border-box;">
								<view class="uni-uploader__input" @tap="chooseImage('policy')"></view>
							</view>
						</view>
					</view>
				</view>
			</view>
			<!-- 投保人影像信息End -->
			<!-- 被保人影像信息Start -->
			<view class="imageInfo">
				<view class="title d-flex a-center j-sb">
					<text style="font-weight: bold;">被保人影像信息</text>
					<view class="showStatus" @tap="controlShow('showInsuredImageInfo')">
						{{showInsuredImageInfo?'收起':'展开'}}
					</view>
				</view>

				<view class="uni-uploader" v-if="showInsuredImageInfo">
					<view class="uni-uploader-body">
						<view class="uni-uploader__files">
							<block v-for="(image,index) in insuredImageList" :key="index">
								<view class="uni-uploader__file">
									<image class="uni-uploader__img" :src="image" :data-src="image"
										@tap="previewImage($event,'insured')"></image>
									<view class="delImgIcon iconfont icon-cuo d-flex a-center j-center"
										@tap="delCheckImage('insured',index)"></view>
								</view>
							</block>
							<view class="uni-uploader__input-box" style="box-sizing: border-box;">
								<view class="uni-uploader__input" @tap="chooseImage('insured')"></view>
							</view>
						</view>
					</view>
				</view>
			</view>
			<!-- 被保人影像信息End -->
			<!-- 验车照Start -->
			<view class="imageInfo">
				<view class="title d-flex a-center j-sb">
					<text style="font-weight: bold;">验车照</text>
					<view class="showStatus" @tap="controlShow('showCarCheckImageInfo')">
						{{showCarCheckImageInfo?'收起':'展开'}}
					</view>
				</view>

				<view class="uni-uploader" v-if="showCarCheckImageInfo">
					<view class="uni-uploader-body">
						<view class="uni-uploader__files">
							<block v-for="(image,index) in carCheckImageList" :key="index">
								<view class="uni-uploader__file">
									<image class="uni-uploader__img" :src="image" :data-src="image"
										@tap="previewImage($event,'carCheck')"></image>
									<view class="delImgIcon iconfont icon-cuo d-flex a-center j-center "
										@tap="delCheckImage('carCheck',index)"></view>
								</view>
							</block>
							<view class="uni-uploader__input-box" style="box-sizing: border-box;">
								<view class="uni-uploader__input" @tap="chooseImage('carCheck')"></view>
							</view>
						</view>
					</view>
				</view>

			</view>
			<!-- 验车照End -->
			<!-- 特约 -->
			<block v-for="(item,index) in riskList" :key="index">
				<template>
					<view class="appoint">
						<view class="title d-flex a-center j-sb">
							<text style="font-weight: bold;">特约</text>
							<view class="showStatus" @tap="controlShow('showAppoint')">{{showAppoint?'收起':'展开'}}</view>
						</view>
						<view class="content" v-if="showAppoint">
							<view class="row d-flex a-center j-sb">
								<view class="d-flex a-center j-center">交强特约险：</view>
								<textarea maxlength="100" v-model="jqappoint"
									placeholder="请输入交强险特别约定,最多可输入300个字符" /></textarea>
							</view>
							<view class="row d-flex a-center j-sb">
								<view>商业特约险：</view>
								<textarea class="mb-32" style="width: 100%;" maxlength="300" v-model="syappoint"
									placeholder="请输入商业险特别约定,最多可输入300个字符" /></textarea>
							</view>
						</view>
					</view>
				</template>
			</block>

			<view class="advancePayment">
				<view class="title  d-flex a-center j-sb">
					<text style="font-weight: bold;">保费</text>
					<view class="showStatus" @tap="controlShow('showAdvancePayment')">{{showAdvancePayment?'收起':'展开'}}
					</view>
				</view>
				<view class="content" v-if="showAdvancePayment">
					<block v-for="(item,index) in riskList" :key="index">
						<template v-if="item.riskCode == '0507'">
							<view class="row d-flex a-center j-sb">
								<view class="d-flex a-center">交强险</view>
								<view>￥{{jqpremium}}</view>
							</view>
						</template>
					</block>
					<view class="row d-flex a-center j-sb">
						<view>车船税</view>
						<view>￥{{taxAmount}}</view>
					</view>
					<block v-for="(item,index) in riskList" :key="index">
						<template v-if="item.riskCode == '0510'">
							<view class="row d-flex a-center j-sb">
								<view class="d-flex a-center">商业险</view>
								<view>￥{{sypremium}}</view>
							</view>
						</template>
					</block>
				</view>
			</view>

		</view>

		<view style="height: 160upx;"></view>
		<view class="bottomBtn">
			<view class="agree d-flex a-center">
				<checkbox @tap="agreed" :checked="agree" style="transform:scale(0.6)"></checkbox> 我已确认并同意 <text
					class="tip">保险条款</text> | <text class="tip">投保须知</text> | <text class="tip">隐私条款</text>
			</view>
			<view class="btnView d-flex">

				<view class="d-flex flex-1 a-center">
					<view class="d-flex flex-column a-center listener">
						<view class="icon iconfont icon-xiaomishu"></view> 客服
					</view>
					<view style="font-weight: bold;font-size: 34upx;color: #333; ">￥{{sumPermium}}</view>
				</view>
				<view class="btn d-flex a-center j-center" @tap="submitAudit">申请核保</view>
			</view>
		</view>
		<previewImage ref="previewImage" :opacity="0.8" :circular="true" :imgs="previewImgs"></previewImage>
	</view>
</template>

<script>
	import {
		mapState,
		mapMutations
	} from "vuex"
	import previewImage from '@/components/common/previewImage/previewImage.vue'; //引用插件
	// import wPicker from "@/components/w-picker/w-picker.vue";
	import {
		pathToBase64,
		base64ToPath
	} from '@/common/image-tools-base64.js';
	import * as imageConversion from 'image-conversion'
	export default {
		components: {
			// wPicker,
			previewImage
		},
		computed: {
			...mapState(['userInfo']),
			getHeight() {
				let height = uni.getSystemInfoSync().windowHeight;
				return `minHeight: ${height}px;`;
			}
		},
		data() {
			return {
				previewImgs: [],

				sumPermium: "",
				carInfo: {},
				vehicleModel: {},
				orderno: "",
				licenseNo: "",
				riskList: [],
				kindList: [],
				name: "",
				icon: "",
				taxAmount: "",
				jqpremium: "",
				sypremium: "",
				ownerInfo: {},
				policyHolderInfo: {},
				insuredPersonInfo: {},
				agree: false,
				jqappoint: "", //交强险特别约定
				syappoint: "", //商业特别约定
				identifyList: [{
						label: '身份证',
						id: "01"
					},
					{
						label: '护照',
						id: "02"
					},
					{
						label: '港澳台居民居住证',
						id: "03"
					},
					{
						label: '组织机构代码证',
						id: "04"
					},
					{
						label: '统一社会信用代码证',
						id: "05"
					},
					{
						label: '营业执照',
						id: "06"
					}
				],
				showOwerInfo: false, //展示车主信息
				showPolicyHolderInfo: false, //展示投保人信息
				showInsuredPersonInfo: false, //展示被保人信息
				showProposalWay: false, //获取保单方式
				showAdvancePayment: false, //展示保费
				showAppoint: false, //展示特约
				showCarImageInfo: false, //显示车辆影像
				carImageList: [],
				showOwnerImageInfo: false, //显示车主影像
				ownerImageList: [],
				showPolicyImageInfo: false, //显示投保人影像
				policyImageList: [],
				showInsuredImageInfo: false, //显示被保人影像
				insuredImageList: [],
				showCarCheckImageInfo: false, //显示验车照影像
				carCheckImageList: [],
				existenceimg: 0,
			}
		},
		async onLoad(params) {
			if (!!params.orderno) {
				this.orderno = params.orderno;
				let res = await this.$http.get('/insOrder/queryOrder?orderno=' + params.orderno);
				//获取前一个页面传过来的信息（车辆信息，人员信息，险种信息）
				this.icon = "";
				this.name = res.data.inscompany;
				this.carInfo = res.data.carinfo;
				this.ownerInfo = res.data.ownerinfo;
				this.policyHolderInfo = res.data.applyinfo;
				this.insuredPersonInfo = res.data.insureinfo;
				this.riskList = res.data.riskinfo;
				this.kindList = res.data.kindinfo;
				this.licenseNo = res.data.licenseNo;
				this.sumPermium = res.data.sumpremium;
				this.taxAmount = res.data.taxamount;
				this.jqpremium = res.data.jqpremium;
				this.sypremium = res.data.sypremium;
				// 图片类型(C01车辆影像，C02车主身份证,C03投保人身份证，C04被保人身份证，C05验车照）
				this.getTaskImg('C01', 'carImageList');
				this.getTaskImg('C02', 'ownerImageList');
				this.getTaskImg('C03', 'policyImageList');
				this.getTaskImg('C04', 'insuredImageList');
				this.getTaskImg('C05', 'carCheckImageList');
				// 影像获取完毕
			} else {
				uni.showModal({
					showCancel: false,
					title: "未查询到该订单"
				})
			}
		},
		methods: {
			...mapMutations(['setOrdertype', 'setOrderStage']),
			// 重新选择车型
			toCarInfo() {
				this.navigate({
					url: '/pages/carInsure1/carInfo1',
					success: (res) => {
						res.eventChannel.emit("acceptData", {
							carInfo: this.carInfo,
							ownerInfo: this.ownerInfo,
							policyHolderInfo: this.policyHolderInfo,
							insuredPersonInfo: this.insuredPersonInfo,
							riskList: this.riskList,
							kindList: this.kindList
						})
					}
				}, "navigateTo", true);
			},
			//控制详情的展开和收起
			controlShow(type) {
				this[type] = !this[type];
			},
			//阅读并同意协议
			agreed() {
				if (this.agree == false) {
					this.agree = true;
				} else {
					this.agree = false;
				}
			},
			//保存影像
			async getTaskImg(type, typeName) {
				let res = await this.$http.get('/insTaskImage/findById?imgtype=' + type + '&taskid=' + this.orderno);
				if (res.data.imgList.length > 0) {
					this.existenceimg = 1;
				} else {
					this.existenceimg = 0;
				}
				this[typeName] = res.data.imgList;
			},
			async chooseImage(type) {
				if (this[type + 'ImageList'].length === 9) {
					let isContinue = await this.isFullImg(type);
					console.log("是否继续?", isContinue);
					if (!isContinue) {
						return;
					}
				}
				uni.chooseImage({
					count: 9 - this[type + 'ImageList'].length,
					success: (res) => {
						for (let i = 0; i < res.tempFilePaths.length; i++) {
							if (this.name == '永安财险') {
								if (Math.round(res.tempFiles[i].size / 1024) > 800) {
									uni.showModal({
										showCancel: false,
										title: "图片过大，请重新上传"
									})
								} else if ((Math.round(res.tempFiles[i].size / 1024) < 800) && (Math
										.round(res
											.tempFiles[i].size / 1024) > 100)) {
									//#ifdef APP-PLUS
									let kb = Math.round((100 / Math.round(res.tempFiles[i].size /
											1024)) *
										100);
									uni.compressImage({
										src: res.tempFilePaths[i],
										quality: kb,
										success: res => {
											pathToBase64(res.tempFilePath)
												.then(base64 => {
													this[type + 'ImageList'] = this[
														type +
														'ImageList'].concat(base64)
												})
										}
									})
									//#endif
									//#ifdef H5
									const isJpgOrPng = res.tempFiles[i].type === "image/jpeg";
									if (!isJpgOrPng) {
										uni.showModal({
											showCancel: false,
											title: "上传图片只能是 JPG 格式!"
										})
										return false;
									}
									return new Promise((resolve) => {
										// 压缩到400KB,这里的400就是要压缩的大小,可自定义
										imageConversion.imageConversion(res.tempFiles[i],
												90)
											.then((res) => {
												let file = window.URL.createObjectURL(
													res) //blob转临时路径
												pathToBase64(file)
													.then(base64 => {
														this[type + 'ImageList'] =
															this[type +
																'ImageList']
															.imageConversionconcat(
																base64)
													})
												resolve(res);
											});
									});
									//#endif
								}
							} else {
								//#ifdef APP-PLUS
								uni.compressImage({
									src: res.tempFilePaths[i],
									quality: 95,
									success: res => {
										pathToBase64(res.tempFilePath)
											.then(base64 => {
												this[type + 'ImageList'] = this[type +
													'ImageList'].concat(base64)
											})
									}
								})
								//#endif
								//#ifdef H5
								const isJpgOrPng = res.tempFiles[i].type === "image/jpeg";
								if (!isJpgOrPng) {
									uni.showModal({
										showCancel: false,
										title: "上传图片只能是 JPG 格式!"
									})
									return false;
								}
								return new Promise((resolve) => {
									// 压缩到400KB,这里的400就是要压缩的大小,可自定义
									imageConversion.compressAccurately(res.tempFiles[i], 90)
										.then((res) => {
											let file = window.URL.createObjectURL(
												res) //blob转临时路径
											pathToBase64(file)
												.then(base64 => {
													this[type + 'ImageList'] = this[
														type +
														'ImageList'].concat(base64)
												})
											resolve(res);
										});
								});
								//#endif
							}
						}
					},
					fail: (err) => {
						console.log("上传失败！！");
					},

				})
			},
			isFullImg(type) {
				return new Promise((res) => {
					uni.showModal({
						content: "已经有9张图片了,是否清空现有图片？",
						success: (e) => {
							if (e.confirm) {
								this[type + 'ImageList'] = [];
								// this[type+'PreviewImageList']=[];
								setTimeout(() => {
									res(true);
								}, 500);
							} else {
								res(false)
							}
						},
						fail: () => {
							res(false)
						}
					})
				})
			},
			previewImage(e, type) {
				// var current = e.target.dataset.src
				// uni.previewImage({
				// 	current: current,
				// 	urls: this[type+'PreviewImageList']
				// })
				this.previewImgs = [];
				this.previewImgs = this[type + 'ImageList'];
				var current = e.currentTarget.dataset.src;
				this.$refs.previewImage.open(current); // 传入当前选中的图片地址或序号
			},
			//删除图片
			delCheckImage(type, index) {
				this[type + 'ImageList'].splice(index, 1);
				// this[type+'PreviewImageList'].splice(index,1)
			},
			//保存影像
			async saveTaskImg(param) {
				if (this.name == '永安财险') {
					let res = await this.$http.post('/api/yongan/UploadImage', param, {
						timeout: 30000
					});
				} else if ((this.name == '中煤财险') || (this.name == '恒邦财险') || (this.name == '永诚财险')) {
					//上传影像
					let res = await this.$http.post('/insZhongmei/uploadImage', param, {
						timeout: 30000
					});
				}
			},
			// 上传影像并提交核保
			async submitAudit() {
				let a = this.carImageList.length;
				let b = this.ownerImageList.length;
				let c = this.policyImageList.length;
				let d = this.insuredImageList.length;
				let e = this.carCheckImageList.length;
				if ((a == 0 && b == 0 && c == 0 && d == 0 && e == 0) && ["中煤财险", "恒邦财险", "永诚财险"].includes(this.name)) {
					return uni.showToast({
						title: '请先上传影像',
						icon: "none",
						duration: 2000
					});
				}
				if (!this.agree) {
					return uni.showToast({
						title: '请阅读并同意协议',
						icon: "none",
						duration: 2000
					});
				}
				if ((this.policyHolderInfo.identifyNumber.substring(0, 2) != '14') && (this.policyHolderInfo.addr
						.substring(0, 3) == '山西省')) {
					uni.showModal({
						content: '外地身份证本地地址，请转至人工核保',
						cancelText: '继续选择',
						confirmText: '人工核保',
						success: async (res2) => {
							if (res2.confirm) {
								this.setOrdertype(0)
								this.setOrderStage(1)
								this.navigate({
									url: "/pages/orders/orders"
								}, "switchTab", true);
							} else {
								let param = {
									"auditid": this.userInfo.sysUser
										.id, //核保人会员号
									"auditopinion": '', //核保意见
									"jqapplyno": "", //交强险投保单号
									"jqappoint": "", //交强特别约定
									"jqpolicyno": "", //交强保单号
									"orderno": this.orderno, //订单号
									"orderstatus": "0", //订单类型
									"syapplyno": "", //商业险投保单号
									"syappoint": "", //商业险特别约定
									"sypolicyno": "" //商业保单号
								}
								let res1 = await this.$http.post(
									'/insOrder/saveAudit', param);
								this.setOrdertype(0)
								this.setOrderStage(0)
								this.navigate({
									url: "/pages/orders/orders"
								}, "switchTab", true);
							}
						}
					});
				}
				uni.showModal({
					content: '是否确认提交核保？',
					success: async (res) => {
						if (res.confirm) {
							// 图片类型(C01车辆影像，C02车主身份证,C03投保人身份证，C04被保人身份证，C05验车照）
							if (this.carImageList.length > 0) {
								var paramImg1 = {
									"imgList": this.carImageList,
									"imgtype": "C01",
									"taskid": this.orderno
								}
								await this.saveTaskImg(paramImg1);

							}
							if (this.ownerImageList.length > 0) {
								var paramImg2 = {
									"imgList": this.ownerImageList,
									"imgtype": "C02",
									"taskid": this.orderno
								}
								await this.saveTaskImg(paramImg2);
							}
							if (this.policyImageList.length > 0) {
								var paramImg3 = {
									"imgList": this.policyImageList,
									"imgtype": "C03",
									"taskid": this.orderno
								}
								await this.saveTaskImg(paramImg3);
							}
							if (this.insuredImageList.length > 0) {
								var paramImg4 = {
									"imgList": this.insuredImageList,
									"imgtype": "C04",
									"taskid": this.orderno
								}
								await this.saveTaskImg(paramImg4);
							}
							if (this.carCheckImageList.length > 0) {
								var paramImg5 = {
									"imgList": this.carCheckImageList,
									"imgtype": "C05",
									"taskid": this.orderno
								}
								await this.saveTaskImg(paramImg5);
							}

							switch (this.name) {
								case "永安财险":
									/* 永安 */
									let result = await this.$http.post('/api/yongan/audit', {
										'orderno': this.orderno,
										'jqappoint': "",
										'syappoint': "",
									});
									if (result.code == '200') {
										uni.showModal({
											content: '订单自核成功',
											cancelText: '暂不缴费',
											confirmText: '立即缴费',
											success: (res1) => {
												if (res1.confirm) {
													uni.navigateTo({
														url: "/pages/carInsure1/payCode1?orderno=" +
															this.orderno
													})
												} else {
													this.setOrdertype(0)
													this.setOrderStage(5)
													this.navigate({
														url: "/pages/index/index"
													}, "switchTab", true);
												}
											}
										});
									} else {
										uni.showModal({
											content: '自核不通过(' + result.msg + ')',
											cancelText: '继续选择',
											confirmText: '人工核保',
											success: async (res2) => {
												if (res2.confirm) {
													this.setOrdertype(0)
													this.setOrderStage(1)
													this.navigate({
														url: "/pages/orders/orders"
													}, "switchTab", true);
												} else {
													let param = {
														"auditid": this.userInfo.sysUser
															.id, //核保人会员号
														"auditopinion": '', //核保意见
														"jqapplyno": "", //交强险投保单号
														"jqappoint": "", //交强特别约定
														"jqpolicyno": "", //交强保单号
														"orderno": this.orderno, //订单号
														"orderstatus": "0", //订单类型
														"syapplyno": "", //商业险投保单号
														"syappoint": "", //商业险特别约定
														"sypolicyno": "" //商业保单号
													}
													let res1 = await this.$http.post(
														'/insOrder/saveAudit', param);
													this.setOrdertype(0)
													this.setOrderStage(0)
													this.navigate({
														url: "/pages/orders/orders"
													}, "switchTab", true);
												}
											}
										});
									}

									/* 永安 */
									break;
								case "人保财险":
									let result1 = await this.$http.post('/api/insRenbao/audit', {
										'orderno': this.orderno,
										'jqappoint': "",
										'syappoint': "",
									});
									if (result1.code == '200') {
										uni.showModal({
											content: '订单自核成功',
											cancelText: '暂不缴费',
											confirmText: '立即缴费',
											success: (res1) => {
												if (res1.confirm) {
													uni.navigateTo({
														url: "/pages/carInsure1/payCode1?orderno=" +
															this.orderno
													})
												} else {
													this.setOrdertype(0)
													this.setOrderStage(5)
													this.navigate({
														url: "/pages/index/index"
													}, "switchTab", true);
												}
											}
										});
									} else {
										uni.showModal({
											content: '自核不通过(' + result1.msg + ')',
											cancelText: '继续选择',
											confirmText: '人工核保',
											success: async (res2) => {
												if (res2.confirm) {
													this.setOrdertype(0)
													this.setOrderStage(1)
													this.navigate({
														url: "/pages/orders/orders"
													}, "switchTab", true);
												} else {
													let param = {
														"auditid": this.userInfo.sysUser
															.id, //核保人会员号
														"auditopinion": '', //核保意见
														"jqapplyno": "", //交强险投保单号
														"jqappoint": "", //交强特别约定
														"jqpolicyno": "", //交强保单号
														"orderno": this.orderno, //订单号
														"orderstatus": "0", //订单类型
														"syapplyno": "", //商业险投保单号
														"syappoint": "", //商业险特别约定
														"sypolicyno": "" //商业保单号
													}
													let res1 = await this.$http.post(
														'/insOrder/saveAudit', param);
													this.setOrdertype(0)
													this.setOrderStage(0)
													this.navigate({
														url: "/pages/orders/orders"
													}, "switchTab", true);
												}
											}
										});
										/* 人保 */
									}
									break;
								case "中煤财险":
									/* 中煤 */
									if ((this.existenceimg == 0) && ((this.carImageList.length > 0) || (
											this.ownerImageList.length > 0) || (this.policyImageList
											.length > 0) || (this.insuredImageList.length > 0) || (this
											.carCheckImageList.length > 0))) {
										let res = await this.$http.post('/insZhongmei/submitImage', {
											'orderno': this.orderno,
										});
										if (res.code == '200') {
											let result = await this.$http.post('/insZhongmei/audit', {
												'orderno': this.orderno,
												'jqappoint': "",
												'syappoint': "",
											});
											if (result.code == '200') {
												uni.showModal({
													content: '订单自核成功',
													cancelText: '暂不缴费',
													confirmText: '立即缴费',
													success: (res1) => {
														if (res1.confirm) {
															uni.navigateTo({
																url: "/pages/carInsure1/payCode1?orderno=" +
																	this.orderno
															})
														} else {
															this.setOrdertype(0)
															this.setOrderStage(5)
															this.navigate({
																url: "/pages/index/index"
															}, "switchTab", true);
														}
													}
												});
											} else {
												uni.showModal({
													content: '自核不通过(' + result.msg + ')',
													cancelText: '继续选择',
													confirmText: '人工核保',
													success: async (res2) => {
														if (res2.confirm) {
															this.setOrdertype(0)
															this.setOrderStage(1)
															this.navigate({
																url: "/pages/orders/orders"
															}, "switchTab", true);
														} else {
															let param = {
																"auditid": this.userInfo
																	.sysUser
																	.id, //核保人会员号
																"auditopinion": '', //核保意见
																"jqapplyno": "", //交强险投保单号
																"jqappoint": "", //交强特别约定
																"jqpolicyno": "", //交强保单号
																"orderno": this
																	.orderno, //订单号
																"orderstatus": "0", //订单类型
																"syapplyno": "", //商业险投保单号
																"syappoint": "", //商业险特别约定
																"sypolicyno": "" //商业保单号
															}
															let res1 = await this.$http.post(
																'/insOrder/saveAudit',
																param);
															this.setOrdertype(0)
															this.setOrderStage(0)
															this.navigate({
																url: "/pages/orders/orders"
															}, "switchTab", true);
														}
													}
												});
											}
										} else {
											return uni.showToast({
												icon: 'none',
												title: res.msg + ',请重新申请核保',
												duration: 1500
											});
										}
									} else {
										let result = await this.$http.post('/insZhongmei/audit', {
											'orderno': this.orderno,
											'jqappoint': "",
											'syappoint': "",
										});
										if (result.code == '200') {
											uni.showModal({
												content: '订单自核成功',
												cancelText: '暂不缴费',
												confirmText: '立即缴费',
												success: (res1) => {
													if (res1.confirm) {
														uni.navigateTo({
															url: "/pages/carInsure1/payCode1?orderno=" +
																this.orderno
														})
													} else {
														this.setOrdertype(0)
														this.setOrderStage(5)
														this.navigate({
															url: "/pages/index/index"
														}, "switchTab", true);
													}
												}
											});
										} else {
											uni.showModal({
												content: '自核不通过(' + result.msg + ')',
												cancelText: '继续选择',
												confirmText: '人工核保',
												success: async (res2) => {
													if (res2.confirm) {
														this.setOrdertype(0)
														this.setOrderStage(1)
														this.navigate({
															url: "/pages/orders/orders"
														}, "switchTab", true);
													} else {
														let param = {
															"auditid": this.userInfo
																.sysUser
																.id, //核保人会员号
															"auditopinion": '', //核保意见
															"jqapplyno": "", //交强险投保单号
															"jqappoint": "", //交强特别约定
															"jqpolicyno": "", //交强保单号
															"orderno": this.orderno, //订单号
															"orderstatus": "0", //订单类型
															"syapplyno": "", //商业险投保单号
															"syappoint": "", //商业险特别约定
															"sypolicyno": "" //商业保单号
														}
														let res1 = await this.$http.post(
															'/insOrder/saveAudit', param);
														this.setOrdertype(0)
														this.setOrderStage(0)
														this.navigate({
															url: "/pages/orders/orders"
														}, "switchTab", true);
													}
												}
											});
										}
									}
									break;
								case "恒邦财险":
									/* 恒邦 */
									if ((this.existenceimg == 0) && ((this.carImageList.length > 0) || (
											this.ownerImageList.length > 0) || (this.policyImageList
											.length > 0) || (this.insuredImageList.length > 0) || (this
											.carCheckImageList.length > 0))) {
										let res = await this.$http.post('/ins/hengbang/submitImage', {
											'orderno': this.orderno,
										});
										if (res.code == '200') {
											let result = await this.$http.post('/ins/hengbang/audit', {
												'orderno': this.orderno,
												'jqappoint': "",
												'syappoint': "",
											});
											if (result.code == '200') {
												uni.showModal({
													content: '订单自核成功',
													cancelText: '暂不缴费',
													confirmText: '立即缴费',
													success: (res1) => {
														if (res1.confirm) {
															uni.navigateTo({
																url: "/pages/carInsure1/payCode1?orderno=" +
																	this.orderno
															})
														} else {
															this.setOrdertype(0)
															this.setOrderStage(5)
															this.navigate({
																url: "/pages/index/index"
															}, "switchTab", true);
														}
													}
												});
											} else {
												uni.showModal({
													content: '自核不通过(' + result.msg + ')',
													cancelText: '继续选择',
													confirmText: '人工核保',
													success: async (res2) => {
														if (res2.confirm) {
															this.setOrdertype(0)
															this.setOrderStage(1)
															this.navigate({
																url: "/pages/orders/orders"
															}, "switchTab", true);
														} else {
															let param = {
																"auditid": this.userInfo
																	.sysUser
																	.id, //核保人会员号
																"auditopinion": '', //核保意见
																"jqapplyno": "", //交强险投保单号
																"jqappoint": "", //交强特别约定
																"jqpolicyno": "", //交强保单号
																"orderno": this
																	.orderno, //订单号
																"orderstatus": "0", //订单类型
																"syapplyno": "", //商业险投保单号
																"syappoint": "", //商业险特别约定
																"sypolicyno": "" //商业保单号
															}
															let res1 = await this.$http.post(
																'/insOrder/saveAudit',
																param);
															this.setOrdertype(0)
															this.setOrderStage(0)
															this.navigate({
																url: "/pages/orders/orders"
															}, "switchTab", true);
														}
													}
												});
											}
										} else {
											return uni.showToast({
												icon: 'none',
												title: res.msg + ',请重新申请核保',
												duration: 1500
											});
										}
									} else {
										let result = await this.$http.post('/ins/hengbang/audit', {
											'orderno': this.orderno,
											'jqappoint': "",
											'syappoint': "",
										});
										if (result.code == '200') {
											uni.showModal({
												content: '订单自核成功',
												cancelText: '暂不缴费',
												confirmText: '立即缴费',
												success: (res1) => {
													if (res1.confirm) {
														uni.navigateTo({
															url: "/pages/carInsure1/payCode1?orderno=" +
																this.orderno
														})
													} else {
														this.setOrdertype(0)
														this.setOrderStage(5)
														this.navigate({
															url: "/pages/index/index"
														}, "switchTab", true);
													}
												}
											});
										} else {
											uni.showModal({
												content: '自核不通过(' + result.msg + ')',
												cancelText: '继续选择',
												confirmText: '人工核保',
												success: async (res2) => {
													if (res2.confirm) {
														this.setOrdertype(0)
														this.setOrderStage(1)
														this.navigate({
															url: "/pages/orders/orders"
														}, "switchTab", true);
													} else {
														let param = {
															"auditid": this.userInfo
																.sysUser
																.id, //核保人会员号
															"auditopinion": '', //核保意见
															"jqapplyno": "", //交强险投保单号
															"jqappoint": "", //交强特别约定
															"jqpolicyno": "", //交强保单号
															"orderno": this.orderno, //订单号
															"orderstatus": "0", //订单类型
															"syapplyno": "", //商业险投保单号
															"syappoint": "", //商业险特别约定
															"sypolicyno": "" //商业保单号
														}
														let res1 = await this.$http.post(
															'/insOrder/saveAudit', param);
														this.setOrdertype(0)
														this.setOrderStage(0)
														this.navigate({
															url: "/pages/orders/orders"
														}, "switchTab", true);
													}
												}
											});
										}
									}
									break;
								case "永诚财险":
									/* 永诚 */
									if ((this.existenceimg == 0) && ((this.carImageList.length > 0) || (
											this.ownerImageList.length > 0) || (this.policyImageList
											.length > 0) || (this.insuredImageList.length > 0) || (this
											.carCheckImageList.length > 0))) {
										let res = await this.$http.post('/ins/yongcheng/submitImage', {
											'orderno': this.orderno,
										});
										if (res.code == '200') {
											let result = await this.$http.post('/ins/yongcheng/audit', {
												'orderno': this.orderno,
												'jqappoint': "",
												'syappoint': "",
											});
											if (result.code == '200') {
												uni.showModal({
													content: '订单自核成功',
													cancelText: '暂不缴费',
													confirmText: '立即缴费',
													success: (res1) => {
														if (res1.confirm) {
															uni.navigateTo({
																url: "/pages/carInsure1/payCode1?orderno=" +
																	this.orderno
															})
														} else {
															this.setOrdertype(0)
															this.setOrderStage(5)
															this.navigate({
																url: "/pages/index/index"
															}, "switchTab", true);
														}
													}
												});
											} else {
												uni.showModal({
													content: '自核不通过(' + result.msg + ')',
													cancelText: '继续选择',
													confirmText: '人工核保',
													success: async (res2) => {
														if (res2.confirm) {
															this.setOrdertype(0)
															this.setOrderStage(1)
															this.navigate({
																url: "/pages/orders/orders"
															}, "switchTab", true);
														} else {
															let param = {
																"auditid": this.userInfo
																	.sysUser
																	.id, //核保人会员号
																"auditopinion": '', //核保意见
																"jqapplyno": "", //交强险投保单号
																"jqappoint": "", //交强特别约定
																"jqpolicyno": "", //交强保单号
																"orderno": this
																	.orderno, //订单号
																"orderstatus": "0", //订单类型
																"syapplyno": "", //商业险投保单号
																"syappoint": "", //商业险特别约定
																"sypolicyno": "" //商业保单号
															}
															let res1 = await this.$http.post(
																'/insOrder/saveAudit',
																param);
															this.setOrdertype(0)
															this.setOrderStage(0)
															this.navigate({
																url: "/pages/orders/orders"
															}, "switchTab", true);
														}
													}
												});
											}
										} else {
											return uni.showToast({
												icon: 'none',
												title: res.msg + ',请重新申请核保',
												duration: 1500
											});
										}
									} else {
										let result = await this.$http.post('/ins/yongcheng/audit', {
											'orderno': this.orderno,
											'jqappoint': "",
											'syappoint': "",
										});
										if (result.code == '200') {
											uni.showModal({
												content: '订单自核成功',
												cancelText: '暂不缴费',
												confirmText: '立即缴费',
												success: (res1) => {
													if (res1.confirm) {
														uni.navigateTo({
															url: "/pages/carInsure1/payCode1?orderno=" +
																this.orderno
														})
													} else {
														this.setOrdertype(0)
														this.setOrderStage(5)
														this.navigate({
															url: "/pages/index/index"
														}, "switchTab", true);
													}
												}
											});
										} else {
											uni.showModal({
												content: '自核不通过(' + result.msg + ')',
												cancelText: '继续选择',
												confirmText: '人工核保',
												success: async (res2) => {
													if (res2.confirm) {
														this.setOrdertype(0)
														this.setOrderStage(1)
														this.navigate({
															url: "/pages/orders/orders"
														}, "switchTab", true);
													} else {
														let param = {
															"auditid": this.userInfo
																.sysUser
																.id, //核保人会员号
															"auditopinion": '', //核保意见
															"jqapplyno": "", //交强险投保单号
															"jqappoint": "", //交强特别约定
															"jqpolicyno": "", //交强保单号
															"orderno": this.orderno, //订单号
															"orderstatus": "0", //订单类型
															"syapplyno": "", //商业险投保单号
															"syappoint": "", //商业险特别约定
															"sypolicyno": "" //商业保单号
														}
														let res1 = await this.$http.post(
															'/insOrder/saveAudit', param);
														this.setOrdertype(0)
														this.setOrderStage(0)
														this.navigate({
															url: "/pages/orders/orders"
														}, "switchTab", true);
													}
												}
											});
										}
									}
									break;
							}
						} else if (res.cancel) {
							console.log('用户点击取消');
						}
					}
				});
			}
		}
	}
</script>
<style lang="scss" scoped>
	@import '@/style/mixin.scss';

	/* 头部车辆信息和特权Start */
	.carInfo {
		height: 290upx;
		background: -webkit-linear-gradient(0deg, rgba($themeColor, 0.6), rgba($themeColor, 0.8));
		background-size: 100% 100%;
	}

	.carInfo .topLeft {
		width: 120upx;
		font-size: 90upx;
		color: #FFFFFF;
	}

	.carInfo .topRight .brandName {
		width: 400upx;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.carInfo .other {
		background-color: #FFFFFF;
		height: 80upx;
		border-radius: 15upx;
		box-sizing: border-box;
	}

	.carInfo .other .privilege {
		background-color: rgba($themeColor, 0.6);
		font-size: 24upx;
		color: #FFFFFF;
		font-weight: bold;
		width: 60upx;
	}

	.carInfo .other .content {
		width: 460upx;
		margin-left: 15upx;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.carInfo .other .icon {
		width: 30upx;
	}

	/* 头部车辆信息和特权End */

	/* 人员信息Start */
	.personInfo,
	.advancePayment,
	.imageInfo,
	.appoint {
		margin-bottom: 20upx;
		background: #FFFFFF;
		padding: 0upx 30upx;
	}

	.personInfo .title,
	.advancePayment .title,
	.imageInfo .title,
	.appoint .title {
		height: 80upx;
		font-size: 32upx;
		box-shadow: inset 0 -3upx 0px #fafafa;
	}

	.showStatus {
		font-size: 26upx;
		color: $themeColor;
	}

	.personInfo .content .row,
	.advancePayment .content .row {
		height: 80upx;
		border-bottom: 1px solid #F9F9F9;
	}

	.personInfo .content .row .left,
	.advancePayment .content .row .left {
		width: 170upx;
		flex-shrink: 0;
		font-size: 28upx;
	}

	.appoint .content .row {
		height: auto;
		margin-top: 10upx;
	}

	.appoint .content .row>view {
		width: 240upx;
		flex-shrink: 1;
		font-size: 28upx;
	}

	.appoint .content .row>textarea {
		padding: 15upx;
		box-sizing: border-box;
		font-size: 26upx;
		min-height: 160upx;
		height: 100upx;
		border: 1px solid #fafafa;
	}

	.personInfo .content .row .right,
	.advancePayment .content .row .right,
	.appoint .content .row .right {
		font-size: 28upx;
	}

	/* 人员信息End */

	.uni-uploader__file {
		position: relative;
	}

	.delImgIcon {
		width: 40upx;
		height: 40upx;
		background-color: #999;
		position: absolute;
		right: 0upx;
		top: 0upx;
		color: #FFFFFF;
	}


	/* 底部按钮Start */
	.bottomBtn {
		z-index: 99;
		position: fixed;
		bottom: 0;
		left: 0;
		right: 0;
		border-top: 1px solid #F1F1F1;
		background-color: #FFFFFF;
		height: 150upx;
	}

	.bottomBtn .agree {
		height: 60upx;
		font-size: 24upx;
	}

	.bottomBtn .agree .tip {
		color: $themeColor;
		margin: 0upx 10upx;
	}

	.bottomBtn .btnView {
		height: 100upx;
		border-top: 1px solid #F1F1F1;
	}

	.bottomBtn .listener {
		width: 120upx;
		font-size: 20upx;
		line-height: 1;
		color: #999;
	}

	.bottomBtn .listener .icon {
		font-size: 40upx;
		padding: 0;
		line-height: 1.2;
	}

	.bottomBtn .btn {
		font-size: 34upx;
		background-color: $themeColor;
		color: #fff;
		width: 280upx;
		flex-shrink: 0;
	}

	/* 底部按钮End */
</style>
