<template>
	<view>
		<view class="car-header dis a-c">
			<view class="icon-radius">
				<image src="../../static/icon/insurance.png" mode=""></image>
			</view>
			<view class="dis f-c head-name">
				<text>{{licenseno}}</text>
				<view class="name1">
					<text style="margin-right: 10px;">{{insuredname}}</text>
					<text>{{modelcname}}</text>
				</view>
			</view>
		</view>
		<view class="pdd" style="padding-top: 120px;">
			<view class="sub-orders " v-for="(item,index) in sublist" :key="index">
				<view class="orders-upper dis f-c">
					<view class="dis a-end j-s">
						<text class="strong">{{item.inscompany}}</text>
						<text class="strong">{{item.createtime}}</text>
					</view>
				</view>
				<view class="orders-centre dis f-c strong">
					<view class="dis j-s a-c">
						<text>￥{{item.sumpremium}}</text>
						<view v-for="(statusitem,statusindex) in statusList" :key="statusindex"
							v-if="item.orderstatus==statusitem.value" :style="{color:statusitem.color}">
							{{statusitem.label}}
						</view>
					</view>
					<view class="dis" style="font-size: 12px;color: #276D6F;">
						<text v-if="item.jqpremium">交强险：￥{{item.jqpremium}}</text>
						<text v-if="item.sypremium">商业险：￥{{item.sypremium}}</text>
						<text>车船税：￥{{item.taxamount}}</text>
						<text v-if="item.jypremium">驾意险：￥{{item.jypremium}}</text>
					</view>
					<view v-if="item.auditopinion" class="dis f-c" style="font-size: 12px;">
						<text>审核意见</text>
						<text>{{item.auditopinion}}</text>
					</view>
				</view>
				<view class="orders-below dis j-end">
					<u-button
						v-if="item.orderstatus==2 && ['恒邦财险','安盛天平','中国人寿','众安财险','太平财险','紫金财险','永诚财险','国任财险','大家财险','华泰财险','中煤财险'].includes(item.inscompany)"
						size="mini" type="error" :plain="true" :hair-line="false" shape="circle"
						@click="queryStatus(item.id,item.inscompany)">查询缴费状态</u-button>
					<u-button v-if="item.orderstatus==2" size="mini" type="error" :plain="true" :hair-line="false"
						shape="circle" @click="revokeCode(item.id)">撤销二维码</u-button>
					<u-button v-if="item.orderstatus==4 && item.inscompany=='华泰财险'" size="mini" type="error"
						:plain="true" :hair-line="false" shape="circle"
						@click="underwritingCode(item.id)">核保状态查询</u-button>

					<u-button v-if="item.orderstatus==2" size="mini" type="error" :plain="true" :hair-line="false"
						shape="circle" @click="Payment(item.id)">付款码</u-button>
					<u-button size="mini" type="primary" :plain="true" :hair-line="false" shape="circle"
						@click="detial(item.id)">查看详情</u-button>
				</view>
			</view>
		</view>


	</view>
</template>
<script>
	export default {
		data() {
			return {
				modelcname: "",
				orderno: "",
				insuredname: "",
				licenseno: "",
				sublist: [],
				statusList: [{
						label: '报价中',
						value: 0,
						color: "#1E9600"
					},
					{
						label: '待核保',
						value: 1,
						color: "#f5af19"
					},
					{
						label: '已核保待缴费',
						value: 2,
						color: "#f12711"
					},
					{
						label: '已承保',
						value: 3,
						color: "#7F7FD5"
					},
					{
						label: '核保退回',
						value: 4,
						color: "#bdc3c7"
					}
				],
			}
		},
		onLoad(params) {
			let item = JSON.parse(params.orderno);
			this.orderno = item.orderno;
			this.modelcname = item.modelcname;
			this.insuredname = item.insuredname;
			this.licenseno = item.licenseno;
			this.querylist();
		},
		methods: {
			async querylist() {
				let params = {
					orderNo: this.orderno,
					orderStatus: ""
				}
				let res = await this.$http.post('/insurance/order/queryQuoteHistory', params)
				this.sublist = res.data;
			},
			//查看详情
			detial(id) {
				uni.navigateTo({
					url: "/pages/carInsure1/quoteDetail1?companyId=" + id
				})
			},
			//付款码
			Payment(id) {
				uni.navigateTo({
					url: "/pages/carInsure1/payCode1?companyId=" + id
				})
			},
			//撤销二维码
			async revokeCode(id) {
				let res = await this.$http.post('/order/qrCode/destructionQrCode?areaCompanyId=' + id)
				if (res.code == '200') {
					uni.showToast({
						title: res.msg,
						icon: 'success',
						duration: 1000
					});
					this.querylist();
				} else {
					uni.showToast({
						title: res.msg,
						icon: 'none',
						duration: 1000
					});
				}
			},
			/** 缴费状态查询 */
			async queryStatus(id, inscompany) {
				switch (inscompany) {
					case "紫金财险":
						let zjres = await this.$http.post('/order/zijin/getOrderDetail', {
							companyId: id
						});
						if (zjres.code == '200') {
							uni.showToast({
								title: zjres.msg,
								icon: 'none',
								duration: 2000
							});
							this.querylist();
						} else {
							uni.showToast({
								title: zjres.msg,
								icon: 'error',
							});
						}
						break;
					case "大家财险":
						let djres = await this.$http.post('/api/dajia/verifyPayment', {
							companyId: id
						});
						if (djres.code == '200') {
							uni.showToast({
								title: djres.msg,
								icon: 'none',
								duration: 2000
							});
							this.querylist();
						} else {
							uni.showToast({
								title: djres.msg,
								icon: 'error',
							});
						}
						break;
					case "华泰财险":
						let htres = await this.$http.post('/order/huaTaiApi/paymentEnquiry', {
							companyId: id
						});
						if (htres.code == '200') {
							uni.showToast({
								title: htres.msg,
								icon: 'none',
								duration: 2000
							});
							this.querylist();
						} else {
							uni.showToast({
								title: htres.msg,
								icon: 'error',
							});
						}
						break;
					case "永诚财险":
						let ycres = await this.$http.get('/api/yongCheng/orderStatusBySuborderId/' + id);
						if (ycres.code == '200') {
							uni.showToast({
								title: ycres.msg,
								icon: 'none',
								duration: 2000
							});
							this.querylist();
						} else {
							uni.showToast({
								title: ycres.msg,
								icon: 'error',
							});
						}
						break;
					case "国任财险":
						let grres = await this.$http.post('/api/guoRen/updateOrderInfo', {
							companyId: id
						});
						if (grres.code == '200') {
							uni.showToast({
								title: grres.msg,
								icon: 'none',
								duration: 2000
							});
							this.querylist();
						} else {
							uni.showToast({
								title: grres.msg,
								icon: 'error',
							});
						}
						break;
					case "中煤财险":
						let zmres = await this.$http.post('/order/zhongMeiApi/paymentEnquiry', {
							companyId: id
						});
						if (zmres.code == '200') {
							uni.showToast({
								title: zmres.msg,
								icon: 'none',
								duration: 2000
							});
							this.querylist();
						} else {
							uni.showToast({
								title: zmres.msg,
								icon: 'error',
							});
						}
						break;
					default:
						let pythonres = await this.$http.post('/insurance/crawler/verifyPayment', {
							subOrderNo: id
						});
						if (pythonres.code == '200') {
							uni.showToast({
								title: pythonres.msg,
								icon: 'none',
								duration: 2000
							});
							this.querylist();
						} else {
							uni.showToast({
								title: pythonres.msg,
								icon: 'error',
							});
						}
						break;
				}
			},
			/** 华泰核保状态查询 */
			async underwritingCode(id) {
				let params = {
					companyId: id,
				}
				let res = await this.$http.post('/order/huaTaiApi/auditStatusQuery', params)
				if (res.code == '200') {
					uni.showToast({
						title: res.msg,
						icon: 'success',
						duration: 1000
					});
					this.querylist();
				} else {
					uni.showToast({
						title: res.msg,
						icon: 'none',
						duration: 1000
					});
				}
			},
			//报价单
			bjdpreview(id) {
				uni.navigateTo({
					url: "/pages/orders/quotation?companyId=" + id
				})
			},
		}
	}
</script>
<style>
	page {
		background: #f2f2f2;
	}
</style>
<style lang="scss" scoped>
	.car-header {
		width: 100%;
		height: auto;
		background: linear-gradient(to right, #ede574, #e1f5c4);
		padding: 20px;
		box-sizing: border-box;
		position: fixed;
		z-index: 99;

		.icon-radius {
			width: 70px;
			height: 70px;
			background: white;
			border-radius: 50%;
			box-shadow: 0 0 4px 1px #999;
			padding: 12px;
			margin-right: 20px;

			image {
				width: 100%;
				height: 100%;
			}
		}

		.head-name {
			&>text {
				font-weight: bold;
				font-size: 20px;
			}

			.name1 text {
				font-weight: bold;
			}
		}
	}

	.sub-orders {
		width: 100%;
		background: white;
		border-radius: 6px;
		padding: 20px;
		box-shadow: 0 0 4px 1px #dfdfdf;
		padding-bottom: 0;
		margin-bottom: 10px;

		.orders-upper {
			view {
				&>text:first-child {
					margin-right: 10px;
				}

				&>text:last-child {
					font-size: 12px;
				}
			}
		}

		.orders-centre {
			color: #ff9000;
			padding: 10px 0;
			border-bottom: 2px dashed #dfdfdf;

			.dis {
				& text {
					margin-right: 5px;
				}
			}
		}

		.orders-below {
			padding: 10px 0;

			& button {
				margin-left: 10px;
			}
		}
	}

	.pdd {
		padding: 10px;
	}

	.strong {
		font-weight: bold;
	}
</style>