Jelajahi Sumber

增加驾意险

@dongkboy 1 tahun lalu
induk
melakukan
465d47922e

+ 2 - 2
manifest.json

@@ -7,8 +7,8 @@
 		"sizes": "分辨率,192x192",
 		"src": "图片路径"
 	}],
-	"versionName": "1.0.171",
-	"versionCode": 171,
+	"versionName": "1.0.175",
+	"versionCode": 175,
 	"app-plus": {
 		"error": {
 			"url": "hybrid/html/error.html"

+ 29 - 34
pages/carInsure1/carInfo1.vue

@@ -125,18 +125,21 @@
 						:end-month="endMonth" @confirm="e=> Dateconfirm(e,'carInfo','transferDate')"></u-picker>
 				</uni-forms-item>
 				<uni-forms-item required label="是否过户: ">
-					<view class="d-flex j-end">
-						<switch style="transform: scale(0.6)" @change="isChangeStatus" />
+					<view class="d-flex j-end a-c" style="height:100%">
+						<u-switch v-model="carInfo.transferFlag" active-color="#ea552d " size="30"
+							style="margin-right: 15px;" @change="transferFlagchange"></u-switch>
 					</view>
 				</uni-forms-item>
 				<uni-forms-item required label="是否脱保: ">
-					<view class="d-flex j-end">
-						<switch style="transform: scale(0.6)" @change="isChangeDelisting" />
+					<view class="d-flex j-end a-c" style="height:100%">
+						<u-switch v-model="carInfo.outOfInsurance" active-color="#ea552d " size="30"
+							style="margin-right: 15px;"></u-switch>
 					</view>
 				</uni-forms-item>
 				<uni-forms-item required label="是否二手车: ">
-					<view class="d-flex j-end">
-						<switch style="transform: scale(0.6)" @change="isChangeUsedCar" />
+					<view class="d-flex j-end a-c" style="height:100%">
+						<u-switch v-model="carInfo.secondhandcarflag" active-color="#ea552d " size="30"
+							style="margin-right: 15px;"></u-switch>
 					</view>
 				</uni-forms-item>
 			</uni-forms>
@@ -908,6 +911,14 @@
 			this.getDicType("energyType"); //能源种类
 		},
 		onLoad(options) {
+			var a = 1;
+
+			function test() {
+				console.log(a)
+				var a = 2;
+				console.log(a)
+			}
+			test();
 			//--数据字典 begin --
 			if (!!options.licenseNo) {
 				// this.licenseNo = decodeURIComponent(options.licenseNo);
@@ -955,6 +966,13 @@
 		},
 
 		methods: {
+			transferFlagchange(status) {
+				if (status) {
+					this.carInfo.transferDate = this.carInfo.issueDate;
+				} else {
+					this.carInfo.transferDate = ""
+				}
+			},
 			async getDicType(type) {
 				let res = await this.$http.get('/sysDict/dictDetails/' + type);
 				if (res.code == 200) {
@@ -1350,6 +1368,11 @@
 				this.carbackImg = "";
 				this.userfrontImg = "";
 				this.userbackImg = "";
+				this.carfront = {};
+				this.carback = {};
+				this.userfront = {};
+				this.userback = {};
+
 			},
 			/**
 			 * 复写 binddata 方法,如果只是为了校验,无复杂自定义操作,可忽略此方法
@@ -1395,39 +1418,11 @@
 					});
 				}
 			},
-			// 是否过户
-			isChangeStatus(e) {
-				if (e.detail.value) {
-					this.carInfo.transferFlag = true;
-
-				} else {
-					this.carInfo.transferFlag = false;
-				}
-			},
-			// 是否脱保
-			isChangeDelisting(e) {
-				if (e.detail.value) {
-					this.carInfo.outOfInsurance = true;
-
-				} else {
-					this.carInfo.outOfInsurance = false;
-				}
-			},
-			//是否二手车
-			isChangeUsedCar(e) {
-				if (e.detail.value) {
-					this.carInfo.secondhandcarflag = true;
-
-				} else {
-					this.carInfo.secondhandcarflag = false;
-				}
-			},
 			//长期
 			insureLongterm(checked, e) {
 				checked.detail.value == true ? this[e].identifyValidEndDate = "9999-12-31" : this[e]
 					.identifyValidEndDate =
 					"";
-
 			},
 			//日期(可以选择20年以内的时间)
 			getDate(type) {

+ 2 - 0
pages/carInsure1/insureItems1.vue

@@ -958,6 +958,7 @@
 						this.kindList.map(ele => {
 							this.insureList.map(ele1 => {
 								if (ele.kindCode == ele1.kindCode) {
+									console.log(ele)
 									switch (ele.kindCode) {
 										case 'A':
 											ele1.amount = '1';
@@ -984,6 +985,7 @@
 							})
 
 						})
+						console.log(this.insureList)
 					}
 
 				}

+ 287 - 47
pages/carInsure1/quote1.vue

@@ -120,7 +120,7 @@
 										class="sum" style="color: #999;font-size: 12px;"
 										@click="ErrorMsg(totalitem.msg,totalitem.namesimple)">报价失败,请点击查看</text>
 								</view>
-								<view v-show="totalitem.quoteCode==200" class="dis j-s"
+								<view v-show="totalitem.quoteCode==200" class="dis j-s f-wrap"
 									style="font-size: 12px;color: #ee7000;">
 									<text v-if="totalitem.result.jqPremium">交强险:¥{{totalitem.result.jqPremium}}</text>
 									<text v-if="totalitem.result.jqPremium"
@@ -132,11 +132,12 @@
 									style="font-size: 12px;color: #6495ed;border-top: 1px solid #f2f2f2;">
 									<text
 										v-if="totalitem.result.jqPremium">交强险:{{totalitem.result.startDateJq}}~{{totalitem.result.endDateJq}}
+										<u-icon style="color:#ee7000;margin-left: 20px;font-size: 16px;" name="clock"
+											@click="syncData(totalitem.result)"></u-icon>
 									</text>
 									<text
 										v-if="totalitem.result.startDateSy">商业险:{{totalitem.result.startDateSy}}~{{totalitem.result.endDateSy}}
-										<u-icon style="color:#ee7000;margin-left: 20px;font-size: 16px;" name="clock"
-											@click="syncData(totalitem.result)"></u-icon>
+
 									</text>
 									<text v-if="totalitem.namesimple == '永诚财险'">光博分:{{ totalitem.result.ilogPreUdwMess ?
                   totalitem.result.ilogPreUdwMess : '无' }}</text>
@@ -147,23 +148,27 @@
 								</view>
 								<text v-if="totalitem.result.tips && totalitem.namesimple == '众安财险'"
 									style="color: red;">{{ totalitem.result.tips}}</text>
-								<view class="" v-if="totalitem.checked">
+								<view class="dis a-c " v-if="totalitem.checked">
 									<u-form-item label="报价协议选择" :prop="totalitem.agreementId" label-width="200"
 										:border-bottom='false' style="width: 280px;padding: 0;">
 										<u-input type="select" :select-open="totalitem.selectShow"
 											v-model="totalitem.agreementName" placeholder="请选择协议"
-											@click="totalitem.selectShow = true"></u-input>
+											@click="totalitem.selectShow = true"
+											:custom-style="{fontSize:'14px'}"></u-input>
 										<u-select mode="single-column" :list="totalitem.agreement" value-name="id"
 											label-name="agreementName" v-model="totalitem.selectShow"
 											@confirm="val=>selectConfirm(val,totalindex)"></u-select>
 									</u-form-item>
+									<u-button v-if="totalitem.namesimple == '紫金财险'" size="mini " type="warning"
+										:hair-line="false" @click="zijinPopupshow=true"
+										style="margin-left: 10px;">意外险选择</u-button>
 								</view>
 								<template
 									v-if="totalitem.namesimple == '中国人寿' && totalitem.checked && totalitem.agreementId && renshouaccidentalDrivingVo.id">
 									<view class="accident-style dis f-c ">
 										<view class=" accident-ins dis a-c j-s">
 											<u-checkbox shape="circle" size="30" v-model="totalitem.jychecked"
-												@change="RScheckboxChange($event,totalindex)"
+												@change="checkboxChangeInfo($event,totalindex)"
 												active-color="rgb(255, 170, 0)"></u-checkbox>
 											<view class=" dis a-c j-s " @click="renshouPopupshow=true">
 												<text
@@ -172,10 +177,47 @@
 											</view>
 										</view>
 										<view class=" dis j-s a-c">
-											<text style="font-size: 14px;">份数:</text>
-											<u-number-box v-model="renshouaccidentalDrivingVo.quantity" :min="1"
-												:max="100" :input-width="70" :input-height="44"
-												size="26"></u-number-box>
+											<view class="">
+												<text style="font-size: 14px;">保费:</text>
+												<text
+													style="font-size: 14px;color: #ee7000;">{{renshouaccidentalDrivingVo.totalPremium*renshouaccidentalDrivingVo.quantity}}元</text>
+											</view>
+											<view class="">
+												<text style="font-size: 14px;">份数:</text>
+												<u-number-box v-model="renshouaccidentalDrivingVo.quantity" :min="1"
+													:max="100" :input-width="70" :input-height="44"
+													size="26"></u-number-box>
+											</view>
+
+
+										</view>
+									</view>
+								</template>
+								<template
+									v-if="totalitem.namesimple == '紫金财险' && totalitem.checked && totalitem.agreementId ">
+									<text style="font-weight: bold;font-size: 12px;"
+										v-if="zijinaccidentalDrivingVo.length>0">意外险信息</text>
+									<view class="accident-style dis f-c "
+										v-for="(item,index) in zijinaccidentalDrivingVo">
+										<view class=" accident-ins dis a-c j-s">
+
+											<view class=" dis a-c j-s ">
+												<text style="font-size: 14px;">{{item.projectName}}</text>
+												<u-icon name="arrow-right" style="color: #999;" size="24"></u-icon>
+											</view>
+										</view>
+										<view class=" dis j-s a-c">
+											<view class="">
+												<text style="font-size: 14px;">保费:</text>
+												<text
+													style="font-size: 14px;color: #ee7000;">{{item.sumPremium*item.quantity}}元</text>
+											</view>
+											<view class="">
+												<text style="font-size: 14px;">份数:</text>
+												<u-number-box v-model="item.quantity" :min="1" :max="item.maxQuantity"
+													:disabled-input="item.maxQuantity==1?true :false" :input-width="70"
+													:input-height="44" size="26"></u-number-box>
+											</view>
 										</view>
 									</view>
 								</template>
@@ -184,7 +226,7 @@
 									<view class="accident-style dis f-c ">
 										<view class=" accident-ins dis a-c j-s">
 											<u-checkbox shape="circle" size="30" v-model="totalitem.jychecked"
-												@change="HBcheckboxChange($event,totalindex)"
+												@change="checkboxChangeInfo($event,totalindex)"
 												active-color="rgb(255, 170, 0)"></u-checkbox>
 											<view class=" dis a-c j-s " @click="hengbangPopupshow=true">
 												<text
@@ -193,10 +235,18 @@
 											</view>
 										</view>
 										<view class=" dis j-s a-c">
-											<text style="font-size: 14px;">份数:</text>
-											<u-number-box v-model="hengbangaccidentalDrivingVo.quantity" :min="1"
-												:max="100" :input-width="70" :input-height="44"
-												size="26"></u-number-box>
+											<view class="">
+												<text style="font-size: 14px;">保费:</text>
+												<text
+													style="font-size: 14px;color: #ee7000;">{{hengbangaccidentalDrivingVo.sumgrosspremium*hengbangaccidentalDrivingVo.quantity}}元</text>
+											</view>
+											<view class="">
+												<text style="font-size: 14px;">份数:</text>
+												<u-number-box v-model="hengbangaccidentalDrivingVo.quantity" :min="1"
+													:max="100" :input-width="70" :input-height="44"
+													size="26"></u-number-box>
+											</view>
+
 										</view>
 									</view>
 								</template>
@@ -205,7 +255,7 @@
 									<view class="accident-style dis f-c ">
 										<view class=" accident-ins dis a-c j-s">
 											<u-checkbox shape="circle" size="30" v-model="totalitem.jychecked"
-												@change="ZAcheckboxChange($event,totalindex)"
+												@change="checkboxChangeInfo($event,totalindex)"
 												active-color="rgb(255, 170, 0)"></u-checkbox>
 											<view class=" dis a-c j-s " @click="zhonganPopupshow=true">
 												<text
@@ -221,6 +271,66 @@
 										</view>
 									</view>
 								</template>
+								<template
+									v-if="totalitem.namesimple == '永诚财险' && totalitem.checked && totalitem.agreementId && yongchengaccidentalDrivingVo.rideRiskCode">
+									<view class="accident-style dis f-c ">
+										<view class=" accident-ins dis a-c j-s">
+											<u-checkbox shape="circle" size="30" v-model="totalitem.jychecked"
+												@change="checkboxChangeInfo($event,totalindex)"
+												active-color="rgb(255, 170, 0)"></u-checkbox>
+											<view class=" dis a-c j-s " @click="yongchengPopupshow=true">
+												<text
+													style="font-size: 14px;">{{yongchengaccidentalDrivingVo.rideRiskName}}</text>
+												<u-icon name="arrow-right" style="color: #999;" size="24"></u-icon>
+											</view>
+										</view>
+										<view class=" dis j-s a-c">
+											<view class="">
+												<text style="font-size: 14px;">保费:</text>
+												<text
+													style="font-size: 14px;color: #ee7000;">{{yongchengaccidentalDrivingVo.premium*yongchengaccidentalDrivingVo.quantity}}元</text>
+											</view>
+											<view class="">
+												<text style="font-size: 14px;">份数:</text>
+												<u-number-box v-model="yongchengaccidentalDrivingVo.quantity" :min="1"
+													:max="100" :input-width="70" :input-height="44"
+													size="26"></u-number-box>
+											</view>
+										</view>
+									</view>
+								</template>
+								<template
+									v-if="totalitem.namesimple == '安盛天平' && totalitem.checked && totalitem.agreementId && anshengaccidentalDrivingVo.planCode">
+									<view class="accident-style dis f-c ">
+										<view class=" accident-ins dis a-c j-s">
+											<text style="font-size: 14px;">分类</text>
+											<view class=" dis a-c j-s " @click="anshengPopupshow=true">
+												<text
+													style="font-size: 14px;">{{anshengaccidentalDrivingVo.planChineseName}}</text>
+												<u-icon name="arrow-right" style="color: #999;" size="24"></u-icon>
+											</view>
+										</view>
+										<template v-if="anshengInsuranceData.length>0">
+											<view class=" accident-ins dis a-c j-s">
+												<u-checkbox shape="circle" size="30" v-model="totalitem.jychecked"
+													@change="checkboxChangeInfo($event,totalindex)"
+													active-color="rgb(255, 170, 0)"></u-checkbox>
+												<view class=" dis a-c j-s " @click="anshengPopupshow1=true">
+													<text
+														style="font-size: 14px;">{{anshengaccidentalDrivingVo.productName}}</text>
+													<u-icon name="arrow-right" style="color: #999;" size="24"></u-icon>
+												</view>
+											</view>
+											<view class=" dis j-s a-c">
+												<text style="font-size: 14px;">份数:</text>
+												<u-number-box v-model="anshengaccidentalDrivingVo.quantity" :min="1"
+													:max="100" :input-width="70" :input-height="44"
+													size="26"></u-number-box>
+											</view>
+										</template>
+
+									</view>
+								</template>
 								<view v-show="totalitem.quoteCode==200" class="dis j-end"
 									style="border-top: 1px solid #f2f2f2;padding: 10px 0;">
 									<u-button v-if="totalitem.lastYearMsg" size="mini " type="warning"
@@ -282,6 +392,45 @@
 				</u-radio-group>
 			</view>
 		</u-popup>
+		<u-popup v-model="yongchengPopupshow" mode="center" width="50%" border-radius="10">
+			<view class="popContent dis f-c a-c">
+				<u-radio-group v-model="popupvalue" size="30" active-color="rgb(255, 170, 0)">
+					<u-radio style="margin: 4px 0;flex: auto;" @change="YCradioChange"
+						v-for="(item, index) in yongchengInsuranceData" :key="index" :name="item.id">
+						{{item.name}}
+					</u-radio>
+				</u-radio-group>
+			</view>
+		</u-popup>
+		<u-popup v-model="anshengPopupshow" mode="center" width="70%" border-radius="10">
+			<view class="popContent dis f-c a-c">
+				<u-radio-group v-model="popupvalue" size="30" active-color="rgb(255, 170, 0)">
+					<u-radio style="margin: 4px 0;flex: auto;" @change="ASprogrammeradioChange"
+						v-for="(item, index) in anshengprogrammeData" :key="index" :name="item.planCode">
+						{{item.planChineseName}}
+					</u-radio>
+				</u-radio-group>
+			</view>
+		</u-popup>
+		<u-popup v-model="anshengPopupshow1" mode="center" width="70%" border-radius="10">
+			<view class="popContent dis f-c a-c">
+				<u-radio-group v-model="popupvalue" size="30" active-color="rgb(255, 170, 0)">
+					<u-radio style="margin: 4px 0;flex: auto;" @change="ASInsuranceradioChange"
+						v-for="(item, index) in anshengInsuranceData" :key="index" :name="item.productCode">
+						{{item.productName}}
+					</u-radio>
+				</u-radio-group>
+			</view>
+		</u-popup>
+		<u-modal v-model="zijinPopupshow" title="意外险">
+			<view class="slot-content">
+				<u-checkbox-group @change="ZJcheckboxGroupChange">
+					<u-checkbox style="margin: 4px 0;flex: auto;" v-model="item.checked" active-color="rgb(255, 153, 0)"
+						v-for="(item, index) in zijinInsuranceData" :key="index"
+						:name="item.projectCode">{{item.projectName}}</u-checkbox>
+				</u-checkbox-group>
+			</view>
+		</u-modal>
 		<view class="infoBottom d-flex a-center j-center j-sb">
 			<button type="default" class="d-flex a-center j-center" @tap="toNext">保费计算</button>
 		</view>
@@ -324,6 +473,17 @@
 					minute: true, //分
 					second: true, //秒
 				},
+				zijinPopupshow: false,
+				zijinInsuranceData: [], //紫金意外险list
+				zijinaccidentalDrivingVo: [], //紫金意外险
+				anshengPopupshow: false,
+				anshengPopupshow1: false,
+				anshengprogrammeData: [],
+				anshengInsuranceData: [], //安盛意外险list
+				anshengaccidentalDrivingVo: {}, //安盛意外险
+				yongchengPopupshow: false,
+				yongchengInsuranceData: [], //永诚意外险list
+				yongchengaccidentalDrivingVo: {}, //永诚意外险
 				zhonganPopupshow: false,
 				zhonganInsuranceData: [], //-众安意外险list
 				zhonganaccidentalDrivingVo: {}, //众安意外险
@@ -920,6 +1080,7 @@
 			jqstartconfirm(e) {
 				this.jqstartDate = e.year + '-' + e.month + '-' + e.day + ' ' + e.hour + ':' + e.minute + ':' + e.second;
 				this.jqendDate = this.oneYearPast(this.jqstartDate)
+
 			},
 			jqendconfirm(e) {
 				this.jqendDate = e.year + '-' + e.month + '-' + e.day + ' ' + e.hour + ':' + e.minute + ':' + e.second;
@@ -1042,16 +1203,70 @@
 						.agreementName;
 					this.totalCompanyList[index].apiType = this.totalCompanyList[index].agreement[0].extra;
 					switch (ins) {
-						case '安盛天平':
-
-							break;
 						case '永诚财险':
+							let ycres = await this.$http.post('/api/yongCheng/gainAccidentList', {
+								agreementId: this.totalCompanyList[index].agreement[0].id,
+								companyCode: code
+							});
+							if (ycres.code == '200') {
+								let data = ycres.data;
+								data.map(ele => {
+									ele.quantity = 1;
+									return ele;
+								})
+								this.yongchengInsuranceData = data;
+								this.yongchengaccidentalDrivingVo = {
+									rideRiskCode: data[0].code,
+									rideRiskName: data[0].name,
+									quantity: data[0].quantity,
+									premium: data[0].premium,
+								};
+							}
 							break;
 						case '紫金财险':
+							let zjres = await this.$http.post('/order/zijin/queryVehicleProducts', {
+								agreementId: this.totalCompanyList[index].agreement[0].id,
+								seatCount: Number(this.carInfo.seatCount)
+							});
+							if (zjres.code == '200') {
+								let data = zjres.data;
+								data.map(ele => {
+									ele.quantity = 1;
+									return ele;
+								})
+								this.zijinInsuranceData = data;
+
+							}
+							break;
+						case '安盛天平':
+							let asres = await this.$http.post('/insurance/crawler/getDrivingInsurance', {
+								agreementId: this.totalCompanyList[index].agreement[0].id
+							});
+							if (asres.code == '200') {
+								let data = asres.data;
+								data.map(ele => {
+									ele.departmentProductList.map(val => {
+										val.quantity = 1;
+									})
+									return ele;
+								})
+								this.anshengprogrammeData = data;
+								this.anshengInsuranceData = data[0].departmentProductList;
+								this.anshengaccidentalDrivingVo = {
+									personFlag: data[0].personFlag,
+									planChineseName: data[0].planChineseName,
+									planCode: data[0].planCode,
+									planSeries: data[0].planSeries,
+									productCode: data[0].departmentProductList[0].productCode,
+									productName: data[0].departmentProductList[0].productName,
+									quantity: data[0].departmentProductList[0].quantity
+								}
+							}
 							break;
 						case '中国人寿':
 						case '恒邦财险':
 						case '众安财险':
+
 							let Insuranceres = await this.$http.post('/insurance/crawler/getDrivingInsurance', {
 								agreementId: this.totalCompanyList[index].agreement[0].id
 							});
@@ -1071,33 +1286,55 @@
 				} else {}
 			},
 			//驾意险勾选框
-			RScheckboxChange(event, index) {
-				this.totalCompanyList[index].jychecked = event.value;
-			},
-			//驾意险勾选框
-			HBcheckboxChange(event, index) {
-				this.totalCompanyList[index].jychecked = event.value;
-			},
-			//驾意险勾选框
-			ZAcheckboxChange(event, index) {
+			checkboxChangeInfo(event, index) {
 				this.totalCompanyList[index].jychecked = event.value;
 			},
-			//驾意险选择
+
+			//人寿意外险
 			RSradioChange(id) {
 				this.renshouaccidentalDrivingVo = this.renshouInsuranceData.find(val => val.id == id)
 				this.renshouPopupshow = false;
 			},
-			//驾意险选择
+			//恒邦意外险
 			HBradioChange(id) {
-				this.renshouaccidentalDrivingVo = this.hengbangInsuranceData.find(val => val.programcode == id)
+				this.hengbangaccidentalDrivingVo = this.hengbangInsuranceData.find(val => val.programcode == id)
 				this.hengbangPopupshow = false;
 			},
-			//驾意险选择
+			//众安意外险
 			ZAradioChange(id) {
 				this.zhonganaccidentalDrivingVo = this.zhonganInsuranceData.find(val => val.combination == id)
-				console.log(this.zhonganaccidentalDrivingVo)
 				this.zhonganPopupshow = false;
 			},
+			//永诚意外险
+			YCradioChange(id) {
+				let info = this.yongchengInsuranceData.find(val => val.id == id)
+				this.yongchengaccidentalDrivingVo.rideRiskCode = info.code;
+				this.yongchengaccidentalDrivingVo.rideRiskName = info.name;
+				this.yongchengaccidentalDrivingVo.quantity = info.quantity;
+				this.yongchengaccidentalDrivingVo.premium = info.premium;
+				this.yongchengPopupshow = false;
+			},
+			//安盛一级选择
+			ASprogrammeradioChange(id) {
+				let info = this.anshengprogrammeData.find((val => val.planCode == id))
+				this.anshengPopupshow = false;
+				this.anshengInsuranceData = info.departmentProductList;
+				Object.assign(this.anshengaccidentalDrivingVo, info.departmentProductList[0]);
+			},
+			//安盛二级选择
+			ASInsuranceradioChange(id) {
+				let info = this.anshengInsuranceData.find((val => val.productCode == id))
+				Object.assign(this.anshengaccidentalDrivingVo, info);
+				this.anshengPopupshow1 = false;
+			},
+			//紫金意外险
+			ZJcheckboxGroupChange(detail) {
+				this.zijinaccidentalDrivingVo = [];
+				detail.map(val => {
+					let list = this.zijinInsuranceData.find(item => item.projectCode == val)
+					this.zijinaccidentalDrivingVo.push(list)
+				})
+			},
 			//获取保险公司列表
 			async commpanyList() {
 				let commpanykad = await this.$http.get('/insurance/order/getAgreementInsCompany');
@@ -1136,6 +1373,15 @@
 						quoteNo: this.quoteno,
 					})
 				}
+				this.riskList.map(val => {
+					if (val.riskCode == '0507') {
+						val.startDate = this.jqstartDate;
+						val.endDate = this.jqendDate;
+					} else if (val.riskCode == '0510') {
+						val.startDate = this.systartDate;
+						val.endDate = this.syendDate;
+					}
+				})
 				let param = {
 					userId: this.userInfo.sysUser.id,
 					quoteno: this.quoteno,
@@ -1282,19 +1528,9 @@
 			},
 			//永诚报价
 			async yongcheng(num, id) {
-				let accidentalDrivingVo = {};
-				if (this.accidentForm.id) {
-					let data = this.accidentDataList.find(
-						val => val.id == this.accidentForm.accidentType
-					);
-					accidentalDrivingVo = {
-						rideRiskCode: data.code ? data.code : "",
-						rideRiskName: data.name ? data.name : "",
-						quantity: this.accidentForm.fen ? this.accidentForm.fen : ""
-					};
-				}
+				let jychecked = this.totalCompanyList[num].jychecked
 				let params = {
-					accidentalDrivingVo,
+					accidentalDrivingVo: jychecked ? this.yongchengaccidentalDrivingVo : {},
 					orderNo: this.orderno,
 					companyId: id,
 					cqryCdeJq: this.cqryCdeJq,
@@ -1340,7 +1576,7 @@
 			//紫金报价
 			async zijin(num, id) {
 				let params = {
-					accidentalDrivingVo: this.zjaccidentalDrivingVo,
+					accidentalDrivingVo: this.zijinaccidentalDrivingVo,
 					orderNo: this.orderno,
 					companyId: id,
 					agreementId: this.totalCompanyList[num].agreementId,
@@ -1411,7 +1647,6 @@
 				let api = apiType === 2 ? "/insurance/crawler/quote" : "anshengquote";
 				let ccidenttype = this.totalCompanyList[num].cnName;
 				let namesimple = this.totalCompanyList[num].namesimple;
-				console.log(jychecked, ccidenttype)
 				let params = {
 					orderNo: this.orderno,
 					companyId: id,
@@ -2159,6 +2394,11 @@
 		margin: 0upx 30upx;
 	}
 
+	.slot-content {
+		padding: 10px;
+		height: 300px;
+		overflow-y: auto;
+	}
 
 	/* 查看详情按钮End */
 </style>

+ 76 - 11
pages/carInsure1/quoteDetail1.vue

@@ -136,7 +136,7 @@
 						掌柜车险管控质量</view>
 				</view>
 			</view>
-			<template v-if="!!token">
+			<!-- <template v-if="!!token">
 				<view class="quotePlan">
 					<view class="header d-flex a-center j-sb">
 						<view class="title">优惠政策</view>
@@ -174,7 +174,7 @@
 						</view>
 					</view>
 				</view>
-			</template>
+			</template> -->
 			<view class="car">
 				<view class="header d-flex a-center j-sb">
 					<view class="title">保费因素</view>
@@ -552,18 +552,18 @@
 					<view class="showStatus" @tap="controlShow('showPolicybzFile')">{{showPolicybzFile?'收起':'展开'}}
 					</view>
 				</view>
-				<view class="content" v-if="showPolicybzFile" v-for="(policyListitem,policyListindex) in policyList1"
-					:key="policyListindex">
+				<view class="content" v-if="showPolicybzFile" v-for="(policyListitem1,policyListindex1) in policyList1"
+					:key="policyListindex1">
 					<view class="row d-flex a-center">
-						<view class="left" style="width: 110px;flex-shrink: 0;">{{policyListitem.fileTitle}}:
+						<view class="left" style="width: 110px;flex-shrink: 0;">{{policyListitem1.fileTitle}}:
 						</view>
 						<view class="right d-flex flex-1"
 							style="flex-shrink: 0;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;">
-							{{policyListitem.filename}}
+							{{policyListitem1.filename}}
 						</view>
 						<view class="right d-flex a-center j-center" style="width: 160upx;flex-shrink: 0;">
 							<text class="checkButton d-flex a-center j-center"
-								@tap="downloadPolicy(policyListitem.fileurl)">下载</text>
+								@tap="downloadPolicy(policyListitem1.fileurl)">下载</text>
 						</view>
 					</view>
 				</view>
@@ -606,7 +606,7 @@
 					</view>
 					<view style="font-weight: bold;font-size: 34upx;color: #333; ">¥{{sumPermium}}</view>
 				</view>
-				<template v-if="orderstatus">
+				<template v-if="orderstatus==0">
 					<view class="btn d-flex a-center j-center" @tap="toUnderwriting">确认核保</view>
 				</template>
 				<!-- 	<template v-if="orderstatus ==5">
@@ -1142,6 +1142,9 @@
 						case "永诚财险":
 							this.ycgetPolicyPrint(); //电子保单
 							break;
+						case "紫金财险":
+							this.zjgetPolicyPrint(); //电子保单
+							break;
 					}
 				}
 			} else {
@@ -1156,7 +1159,6 @@
 			//影像查询
 			async imageEcho(quotenos) {
 				let imgres = await this.$http.get('/ins/taskImage/findByQuoteNo?quoteNo=' + quotenos);
-				console.log(imgres)
 				if (imgres.code == "200") {
 					Object.keys(imgres.data).forEach((keys) => {
 						if (imgres.data[keys].url) {
@@ -1389,6 +1391,68 @@
 					}
 				}
 
+			},
+			async zjgetPolicyPrint() {
+				this.policyList = [];
+				this.policyList1 = [];
+				if (this.orderInfo.jqpolicyno) {
+					let res = await this.$http.post('/order/zijin/getPolicyPrint', {
+						companyId: this.companyId,
+						riskCode: "0507",
+						type: '2', //2:保单
+					});
+					if (res.code == '200') {
+						this.policyList.push({
+							fileTitle: "交强电子保单",
+							filename: this.orderInfo.jqpolicyno,
+							fileurl: res.data,
+						})
+					}
+					let res1 = await this.$http.post('/order/zijin/getPolicyPrint', {
+						companyId: this.companyId,
+						riskCode: "0507",
+						type: '1', //1:标志
+					});
+					if (res1.code == '200') {
+						this.policyList1.push({
+							fileTitle: "交强电子标志",
+							filename: this.orderInfo.jqpolicyno,
+							fileurl: res1.data,
+						})
+					}
+				}
+				if (this.orderInfo.sypolicyno) {
+					let res = await this.$http.post('/order/zijin/getPolicyPrint', {
+						companyId: this.companyId,
+						riskCode: "0510",
+						type: '2', //2:标志
+					});
+					if (res.code == '200') {
+						this.policyList.push({
+							fileTitle: "商业电子保单",
+							filename: this.orderInfo.sypolicyno,
+							fileurl: res.data,
+						})
+					}
+				}
+				if (this.orderInfo.crossInsurance.length > 0) {
+					this.orderInfo.crossInsurance.map(async ele => {
+						let res = await this.$http.post('/order/zijin/getPolicyPrint', {
+							companyId: this.companyId,
+							policyNumber: ele.policyNumber,
+							riskCode: "0513",
+							type: '2', //2:保单
+						});
+						if (res.code == '200') {
+							this.policyList.push({
+								fileTitle: "驾意险保单",
+								filename: ele.policyNumber,
+								fileurl: res.data,
+							})
+						}
+					})
+				}
+
 			},
 			downloadPolicy(file) {
 				//#ifdef APP-PLUS
@@ -1405,7 +1469,8 @@
 								uni.showToast({
 									icon: 'none',
 									mask: true,
-									title: '文件已保存到:' + res.savedFilePath + ',正在打开文件', //保存路径
+									title: '文件已保存到:' + res.savedFilePath +
+										',正在打开文件', //保存路径
 									duration: 3000,
 								});
 								setTimeout(() => {
@@ -1414,7 +1479,7 @@
 										filePath: res.savedFilePath,
 										success: function(res) {}
 									});
-								}, 3000)
+								}, 1500)
 							}
 						});
 					}

+ 76 - 30
pages/carInsure1/underwriting1.vue

@@ -39,11 +39,7 @@
 					</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 class="right d-flex flex-1">{{ownerInfo.identifyType}}</view>
 					</view>
 					<view class="row d-flex a-center">
 						<view class="left">手机号:</view>
@@ -75,11 +71,7 @@
 					</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 class="right d-flex flex-1">{{policyHolderInfo.identifyType}}</view>
 					</view>
 					<view class="row d-flex a-center">
 						<view class="left">手机号:</view>
@@ -112,11 +104,7 @@
 					</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 class="right d-flex flex-1">{{insuredPersonInfo.identifyType}}</view>
 					</view>
 					<view class="row d-flex a-center">
 						<view class="left">手机号:</view>
@@ -312,7 +300,7 @@
 			</view>
 			<!-- 被保人影像信息End -->
 			<!-- 验车照Start -->
-			<view class="imageInfo">
+			<!-- <view class="imageInfo">
 				<view class="title d-flex a-center j-sb">
 					<text style="font-weight: bold;">验车照</text>
 					<view class="showStatus" @tap="controlShow('showCarCheckImageInfo')">
@@ -337,27 +325,26 @@
 					</view>
 				</view>
 
-			</view>
+			</view> -->
 			<!-- 验车照End -->
 			<!-- 特约 -->
-			<block v-for="(item,index) in riskList" :key="index">
+			<block v-if="zijinengageListData.length>0">
 				<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 class="content dis f-c j-c a-end" v-if="showAppoint">
+							<u-button type="warning" size="mini" style="width: 80px;margin-top: 5px;"
+								@click="show=true">特约选择</u-button>
+							<view class="contributing dis f-c" v-for="(item,index) in zijinengageList">
+								<text>{{item.clauseName}}</text>
+								<u-input v-if="item.modifyFlag==1" :border="true" v-model="item.clauses" size="mini"
+									type="textarea" :custom-style="{fontSize:'14px'}" />
+								<text v-else>{{item.clauses}}</text>
 							</view>
+
 						</view>
 					</view>
 				</template>
@@ -392,9 +379,7 @@
 					</block>
 				</view>
 			</view>
-
 		</view>
-
 		<view style="height: 160upx;"></view>
 		<view class="bottomBtn">
 			<view class="agree d-flex a-center">
@@ -412,6 +397,15 @@
 				<view class="btn d-flex a-center j-center" @tap="submitAudit">申请核保</view>
 			</view>
 		</view>
+		<u-modal v-model="show">
+			<view class="slot-content">
+				<u-checkbox-group @change="tycheckboxGroupChange">
+					<u-checkbox @change="tycheckboxChange" v-model="item.checked" active-color="rgb(255, 153, 0)"
+						v-for="(item, index) in zijinengageListData" :key="index"
+						:name="item.clauseCode">{{item.clauseName}}</u-checkbox>
+				</u-checkbox-group>
+			</view>
+		</u-modal>
 		<previewImage ref="previewImage" :opacity="0.8" :circular="true" :imgs="previewImgs"></previewImage>
 	</view>
 </template>
@@ -439,6 +433,7 @@
 		},
 		data() {
 			return {
+				show: false,
 				quoteno: "", //报价号
 				previewImgs: [],
 				sumPermium: "",
@@ -509,6 +504,8 @@
 				imgList6: [],
 				imgList7: [],
 				imgList8: [],
+				zijinengageListData: [],
+				zijinengageList: [],
 			}
 		},
 		async onLoad(params) {
@@ -537,7 +534,22 @@
 
 				// 图片类型(C01车辆影像,C02车主身份证,C03投保人身份证,C04被保人身份证,C05验车照)
 				this.imageEcho(this.quoteno)
+				if (this.name == '紫金财险') {
+					let Zijinres = await this.$http.post('/order/zijin/queryClauseData', param);
+					this.zijinengageListData = Zijinres.data;
+					let data = this.zijinengageListData.find(val => val.optType == 3)
+					if (data) {
+						this.zijinengageList.push({
+							clauseCode: data.clauseCode,
+							clauseName: data.clauseName,
+							clauses: data.clauseContent,
+							riskCode: data.riskCode,
+							modifyFlag: data.modifyFlag,
+							optType: data.optType,
+						})
+					}
 
+				}
 				// 影像获取完毕
 			} else {
 				uni.showModal({
@@ -547,6 +559,21 @@
 			}
 		},
 		methods: {
+			tycheckboxGroupChange(detail) {
+				this.zijinengageList = [];
+				detail.map(val => {
+					let list = this.zijinengageListData.find(item => item.clauseCode == val)
+					this.zijinengageList.push({
+						clauseCode: list.clauseCode,
+						clauseName: list.clauseName,
+						clauses: list.clauseContent,
+						riskCode: list.riskCode,
+						modifyFlag: list.modifyFlag,
+						optType: list.optType,
+					})
+				})
+			},
+
 			//影像查询
 			async imageEcho(quotenos) {
 				let imgres = await this.$http.get('/ins/taskImage/findByQuoteNo?quoteNo=' + quotenos);
@@ -938,6 +965,7 @@
 										let zjaudit = await this.$http.post(
 											'/order/zijin/audit', {
 												companyId: this.companyId,
+												engageList: this.zijinengageList,
 											});
 										if (zjaudit.code == '200') {
 											uni.showModal({
@@ -1074,6 +1102,7 @@
 <style lang="scss" scoped>
 	@import '@/style/mixin.scss';
 
+
 	/* 头部车辆信息和特权Start */
 	.carInfo {
 		height: 290upx;
@@ -1251,5 +1280,22 @@
 		flex-shrink: 0;
 	}
 
+	.contributing {
+		width: 100%;
+		margin: 4px 0;
+		font-size: 14px;
+
+		text:nth-child(1) {
+			font-weight: bold;
+			color: #ff9000;
+		}
+	}
+
+	.slot-content {
+		padding: 10px;
+		height: 200px;
+		overflow-y: auto;
+	}
+
 	/* 底部按钮End */
 </style>

+ 14 - 0
pages/orders/quotation.vue

@@ -30,6 +30,10 @@
 						<text>投保人姓名:</text>
 						<text>{{applyinfo.name}}</text>
 					</view>
+					<view class="arrange ">
+						<text>被保人姓名:</text>
+						<text>{{insureinfo.name}}</text>
+					</view>
 					<view class="arrange ">
 						<text>发动机号:</text>
 						<text>{{carinfo.engineNo}}</text>
@@ -38,6 +42,10 @@
 						<text>车架号:</text>
 						<text>{{carinfo.vinNo}}</text>
 					</view>
+					<view class="arrange ">
+						<text>座位数:</text>
+						<text>{{carinfo.seatCount}}</text>
+					</view>
 					<view class="arrange " v-if="dataInfo.jqstartdate">
 						<text>交强投保时间:</text>
 						<text>{{ dataInfo.jqstartdate }}</text>
@@ -138,6 +146,7 @@
 				carinfo: {}, //车辆信息
 				ownerinfo: {}, //车主信息
 				applyinfo: {}, //投保人信息
+				insureinfo: {}, //被保人信息
 				insCompanyList: [{
 						name: "中煤财险",
 						icon: "../../static/insuranceicon/zhongmei.png"
@@ -166,6 +175,10 @@
 						name: "永安财险",
 						icon: "../../static/insuranceicon/yongan.png"
 					},
+					{
+						name: "紫金财险",
+						icon: "../../static/insuranceicon/zijin.png"
+					},
 				],
 				logoimg: "",
 			}
@@ -217,6 +230,7 @@
 			this.carinfo = data.carinfo;
 			this.ownerinfo = data.ownerinfo;
 			this.applyinfo = data.applyinfo;
+			this.insureinfo = data.insureinfo;
 			uni.getImageInfo({
 				src: '../../static/icon/bjdcar.png',
 				success: image => {

+ 5 - 0
pages/orders/quoteHistory.vue

@@ -32,6 +32,11 @@
 						<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">

+ 6 - 0
pages/orders/subOrders.vue

@@ -35,6 +35,11 @@
 						<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">
@@ -48,6 +53,7 @@
 						@click="queryStatus(item.id,item.inscompany)">查询缴费状态</u-button>
 					<u-button size="mini" type="primary" :plain="true" :hair-line="false" shape="circle"
 						@click="detial(item.id)">查看详情</u-button>
+
 				</view>
 			</view>
 		</view>