|
@@ -120,12 +120,12 @@
|
|
|
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 f-wrap"
|
|
|
+ <view v-show="totalitem.quoteCode==200" class="dis Premium f-wrap"
|
|
|
style="font-size: 12px;color: #ee7000;">
|
|
|
<text v-if="totalitem.result.jqPremium">交强险:¥{{totalitem.result.jqPremium}}</text>
|
|
|
- <text v-if="totalitem.result.jqPremium"
|
|
|
+ <text v-if="totalitem.result.syPremium"
|
|
|
style="margin: 0 5px;">商业险:¥{{totalitem.result.syPremium}}</text>
|
|
|
- <text>车船税:¥{{totalitem.result.taxAmount}}</text>
|
|
|
+ <text v-if="totalitem.result.taxAmount">车船税:¥{{totalitem.result.taxAmount}}</text>
|
|
|
<text v-if="totalitem.result.jyPremium">驾意险:¥{{totalitem.result.jyPremium}}</text>
|
|
|
</view>
|
|
|
<view v-show="totalitem.quoteCode==200" class="dis f-c"
|
|
@@ -180,12 +180,12 @@
|
|
|
<view class="">
|
|
|
<text style="font-size: 14px;">保费:</text>
|
|
|
<text
|
|
|
- style="font-size: 14px;color: #ee7000;">{{renshouaccidentalDrivingVo.totalPremium*renshouaccidentalDrivingVo.quantity}}元</text>
|
|
|
+ style="font-size: 14px;color: #ee7000;">¥{{renshouaccidentalDrivingVo.totalPremium*renshouaccidentalDrivingVo.quantity}}.00起</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"
|
|
|
+ :max="1" :disabled-input="true" :input-width="70" :input-height="44"
|
|
|
size="26"></u-number-box>
|
|
|
</view>
|
|
|
|
|
@@ -210,7 +210,7 @@
|
|
|
<view class="">
|
|
|
<text style="font-size: 14px;">保费:</text>
|
|
|
<text
|
|
|
- style="font-size: 14px;color: #ee7000;">{{item.sumPremium*item.quantity}}元</text>
|
|
|
+ style="font-size: 14px;color: #ee7000;">¥{{item.sumPremium*item.quantity}}.00</text>
|
|
|
</view>
|
|
|
<view class="">
|
|
|
<text style="font-size: 14px;">份数:</text>
|
|
@@ -238,12 +238,12 @@
|
|
|
<view class="">
|
|
|
<text style="font-size: 14px;">保费:</text>
|
|
|
<text
|
|
|
- style="font-size: 14px;color: #ee7000;">{{hengbangaccidentalDrivingVo.sumgrosspremium*hengbangaccidentalDrivingVo.quantity}}元</text>
|
|
|
+ style="font-size: 14px;color: #ee7000;">¥{{hengbangaccidentalDrivingVo.sumgrosspremium*hengbangaccidentalDrivingVo.quantity}}.00</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"
|
|
|
+ :max="1" :disabled-input="true" :input-width="70" :input-height="44"
|
|
|
size="26"></u-number-box>
|
|
|
</view>
|
|
|
|
|
@@ -266,7 +266,7 @@
|
|
|
<view class=" dis j-s a-c">
|
|
|
<text style="font-size: 14px;">份数:</text>
|
|
|
<u-number-box v-model="zhonganaccidentalDrivingVo.quantity" :min="1"
|
|
|
- :max="100" :input-width="70" :input-height="44"
|
|
|
+ :max="1" :disabled-input="true" :input-width="70" :input-height="44"
|
|
|
size="26"></u-number-box>
|
|
|
</view>
|
|
|
</view>
|
|
@@ -288,7 +288,7 @@
|
|
|
<view class="">
|
|
|
<text style="font-size: 14px;">保费:</text>
|
|
|
<text
|
|
|
- style="font-size: 14px;color: #ee7000;">{{yongchengaccidentalDrivingVo.premium*yongchengaccidentalDrivingVo.quantity}}元</text>
|
|
|
+ style="font-size: 14px;color: #ee7000;">¥{{yongchengaccidentalDrivingVo.premium*yongchengaccidentalDrivingVo.quantity}}.00</text>
|
|
|
</view>
|
|
|
<view class="">
|
|
|
<text style="font-size: 14px;">份数:</text>
|
|
@@ -324,13 +324,52 @@
|
|
|
<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"
|
|
|
+ :max="1" :disabled-input="true" :input-width="70" :input-height="44"
|
|
|
size="26"></u-number-box>
|
|
|
</view>
|
|
|
</template>
|
|
|
|
|
|
</view>
|
|
|
</template>
|
|
|
+ <template
|
|
|
+ v-if="totalitem.namesimple == '国任财险' && totalitem.checked && totalitem.agreementId && guorenaccidentalDrivingVo.goodsCode">
|
|
|
+ <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="guorenPopupshow=true">
|
|
|
+ <text
|
|
|
+ style="font-size: 14px;">{{guorenaccidentalDrivingVo.goodDesc}}</text>
|
|
|
+ <u-icon name="arrow-right" style="color: #999;" size="24"></u-icon>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <template v-if="guorenInsuranceData.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="guorenPopupshow1=true">
|
|
|
+ <text
|
|
|
+ style="font-size: 14px;">{{guorenaccidentalDrivingVo.prodCName}}</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;">¥{{guorenaccidentalDrivingVo.premium*guorenaccidentalDrivingVo.quantity}}.00</text>
|
|
|
+ </view>
|
|
|
+ <view class="">
|
|
|
+ <text style="font-size: 14px;">份数:</text>
|
|
|
+ <u-number-box v-model="guorenaccidentalDrivingVo.quantity" :min="1"
|
|
|
+ :max="Number( guorenaccidentalDrivingVo.policyNum)"
|
|
|
+ :input-width="70" :input-height="44" size="26"></u-number-box>
|
|
|
+ </view>
|
|
|
+ </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"
|
|
@@ -362,9 +401,10 @@
|
|
|
</view>
|
|
|
</view>
|
|
|
</wyb-popup>
|
|
|
+ <!-- 人寿驾意险弹框 -->
|
|
|
<u-popup v-model="renshouPopupshow" 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-group size="30" active-color="rgb(255, 170, 0)">
|
|
|
<u-radio style="margin: 4px 0;" @change="RSradioChange"
|
|
|
v-for="(item, index) in renshouInsuranceData" :key="index" :name="item.id">
|
|
|
{{item.productName}}
|
|
@@ -372,9 +412,10 @@
|
|
|
</u-radio-group>
|
|
|
</view>
|
|
|
</u-popup>
|
|
|
+ <!-- 恒邦驾意险弹框 -->
|
|
|
<u-popup v-model="hengbangPopupshow" mode="center" width="80%" 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-group size="30" active-color="rgb(255, 170, 0)">
|
|
|
<u-radio style="margin: 4px 0;flex: auto;" @change="HBradioChange"
|
|
|
v-for="(item, index) in hengbangInsuranceData" :key="index" :name="item.programcode">
|
|
|
{{item.programname}}
|
|
@@ -382,9 +423,10 @@
|
|
|
</u-radio-group>
|
|
|
</view>
|
|
|
</u-popup>
|
|
|
+ <!-- 众安驾意险弹框 -->
|
|
|
<u-popup v-model="zhonganPopupshow" 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-group size="30" active-color="rgb(255, 170, 0)">
|
|
|
<u-radio style="margin: 4px 0;flex: auto;" @change="ZAradioChange"
|
|
|
v-for="(item, index) in zhonganInsuranceData" :key="index" :name="item.combination">
|
|
|
{{item.name}}
|
|
@@ -394,7 +436,7 @@
|
|
|
</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-group 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}}
|
|
@@ -402,9 +444,10 @@
|
|
|
</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-group 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}}
|
|
@@ -414,7 +457,7 @@
|
|
|
</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-group 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}}
|
|
@@ -422,15 +465,37 @@
|
|
|
</u-radio-group>
|
|
|
</view>
|
|
|
</u-popup>
|
|
|
+ <!-- 紫金驾意险弹框 -->
|
|
|
<u-modal v-model="zijinPopupshow" title="意外险" :scroll-height="{height: '300px'}">
|
|
|
<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"
|
|
|
+ <u-checkbox style="margin: 8px 0;flex: auto;" class="ZJcheckboxGroup" 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>
|
|
|
+ <!-- 国任驾意险弹框 -->
|
|
|
+ <u-popup v-model="guorenPopupshow" mode="center" width="70%" border-radius="10">
|
|
|
+ <view class="popContent dis f-c a-c">
|
|
|
+ <u-radio-group size="30" active-color="rgb(255, 170, 0)">
|
|
|
+ <u-radio style="margin: 4px 0;flex: auto;" @change="GRprogrammeradioChange"
|
|
|
+ v-for="(item, index) in guorenprogrammeData" :key="index" :name="item.goodId">
|
|
|
+ {{item.goodDesc}}
|
|
|
+ </u-radio>
|
|
|
+ </u-radio-group>
|
|
|
+ </view>
|
|
|
+ </u-popup>
|
|
|
+ <u-popup v-model="guorenPopupshow1" mode="center" width="70%" border-radius="10">
|
|
|
+ <view class="popContent dis f-c a-c">
|
|
|
+ <u-radio-group size="30" active-color="rgb(255, 170, 0)">
|
|
|
+ <u-radio style="margin: 4px 0;flex: auto;" @change="GRInsuranceradioChange"
|
|
|
+ v-for="(item, index) in guorenInsuranceData" :key="index" :name="item.prodCode">
|
|
|
+ {{item.prodCName}}
|
|
|
+ </u-radio>
|
|
|
+ </u-radio-group>
|
|
|
+ </view>
|
|
|
+ </u-popup>
|
|
|
<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>
|
|
@@ -440,6 +505,9 @@
|
|
|
import {
|
|
|
mapState
|
|
|
} from "vuex"
|
|
|
+ import {
|
|
|
+ delEmptyQueryNodes
|
|
|
+ } from '@/plugins/utils';
|
|
|
import wybPopup from '@/components/common/wyb-popup/wyb-popup.vue'
|
|
|
import lsLoading from '@/components/common/ls-loading/ls-loading.vue';
|
|
|
export default {
|
|
@@ -464,7 +532,6 @@
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
|
- popupvalue: 1,
|
|
|
params: {
|
|
|
year: true, //年
|
|
|
month: true, //月
|
|
@@ -481,6 +548,11 @@
|
|
|
anshengprogrammeData: [],
|
|
|
anshengInsuranceData: [], //安盛意外险list
|
|
|
anshengaccidentalDrivingVo: {}, //安盛意外险
|
|
|
+ guorenPopupshow: false,
|
|
|
+ guorenPopupshow1: false,
|
|
|
+ guorenprogrammeData: [],
|
|
|
+ guorenInsuranceData: [], //国任意外险list
|
|
|
+ guorenaccidentalDrivingVo: {}, //国任意外险
|
|
|
yongchengPopupshow: false,
|
|
|
yongchengInsuranceData: [], //永诚意外险list
|
|
|
yongchengaccidentalDrivingVo: {}, //永诚意外险
|
|
@@ -1019,6 +1091,7 @@
|
|
|
}
|
|
|
},
|
|
|
async onLoad() {
|
|
|
+
|
|
|
const eventChannel = this.getOpenerEventChannel()
|
|
|
// 监听acceptData事件,获取上一页面通过eventChannel传送到当前页面的数据
|
|
|
eventChannel.on('acceptData', async (data) => {
|
|
@@ -1030,9 +1103,9 @@
|
|
|
this.riskList = data.riskList; //险种大类
|
|
|
this.kindList = data.kindList; //商业险险别
|
|
|
this.vehicleAndVesselTaxForm = data.vehicleAndVesselTaxForm; //车船税信息
|
|
|
- this.orderno = data.orderno;
|
|
|
- this.quoteno = data.quoteno;
|
|
|
if (data.quoteno) {
|
|
|
+ this.orderno = data.orderno;
|
|
|
+ this.quoteno = data.quoteno;
|
|
|
this.imageEcho(data.quoteno) // 影像获取完毕
|
|
|
} else {
|
|
|
this.carInfoPositiveList = data.carInfoPositiveList; //车辆
|
|
@@ -1074,7 +1147,37 @@
|
|
|
}
|
|
|
}
|
|
|
})
|
|
|
- this.commpanyList();
|
|
|
+ const storage = uni.getStorageSync('historyInfo');
|
|
|
+ if (storage) {
|
|
|
+ Object.keys(storage).forEach(key => {
|
|
|
+ this[key] = storage[key]
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ this.commpanyList();
|
|
|
+
|
|
|
+ }
|
|
|
+ },
|
|
|
+ onHide() {
|
|
|
+ let historyInfo = {
|
|
|
+ quoteno: this.quoteno,
|
|
|
+ orderno: this.orderno,
|
|
|
+ totalCompanyList: this.totalCompanyList,
|
|
|
+ zijinInsuranceData: this.zijinInsuranceData, //紫金意外险list
|
|
|
+ zijinaccidentalDrivingVo: this.zijinaccidentalDrivingVo, //紫金意外险
|
|
|
+ anshengprogrammeData: this.anshengprogrammeData,
|
|
|
+ anshengInsuranceData: this.anshengInsuranceData, //安盛意外险list
|
|
|
+ anshengaccidentalDrivingVo: this.anshengaccidentalDrivingVo, //安盛意外险
|
|
|
+ yongchengInsuranceData: this.yongchengInsuranceData, //永诚意外险list
|
|
|
+ yongchengaccidentalDrivingVo: this.yongchengaccidentalDrivingVo, //永诚意外险
|
|
|
+ zhonganInsuranceData: this.zhonganInsuranceData, //-众安意外险list
|
|
|
+ zhonganaccidentalDrivingVo: this.zhonganaccidentalDrivingVo, //众安意外险
|
|
|
+ hengbangInsuranceData: this.hengbangInsuranceData, //-恒邦意外险list
|
|
|
+ hengbangaccidentalDrivingVo: this.hengbangaccidentalDrivingVo, //恒邦意外险
|
|
|
+ renshouInsuranceData: this.renshouInsuranceData, //-人寿意外险list
|
|
|
+ renshouaccidentalDrivingVo: this.renshouaccidentalDrivingVo, //人寿意外险
|
|
|
+ }
|
|
|
+ let res = delEmptyQueryNodes(historyInfo);
|
|
|
+ uni.setStorageSync('historyInfo', res);
|
|
|
},
|
|
|
methods: {
|
|
|
jqstartconfirm(e) {
|
|
@@ -1204,12 +1307,23 @@
|
|
|
this.totalCompanyList[index].apiType = this.totalCompanyList[index].agreement[0].extra;
|
|
|
switch (ins) {
|
|
|
case '永诚财险':
|
|
|
- let ycres = await this.$http.post('/api/yongCheng/gainAccidentList', {
|
|
|
+ let yccallback = await this.$http.post('/api/yongCheng/gainAccidentList', {
|
|
|
agreementId: this.totalCompanyList[index].agreement[0].id,
|
|
|
- companyCode: code
|
|
|
+ companyCode: code,
|
|
|
+ seatNum: Number(this.carInfo.seatCount)
|
|
|
});
|
|
|
- if (ycres.code == '200') {
|
|
|
- let data = ycres.data;
|
|
|
+ if (yccallback.code == '200') {
|
|
|
+ let yccallback1 = await this.$http.post('/api/yongCheng/gainAccidentSchemeList', {
|
|
|
+ agreementId: this.totalCompanyList[index].agreement[0].id,
|
|
|
+ companyCode: code,
|
|
|
+ code: yccallback.data[0].code,
|
|
|
+ seatNum: Number(this.carInfo.seatCount)
|
|
|
+ });
|
|
|
+ yccallback1.data.map(val => {
|
|
|
+ yccallback.data[0].premium += Number(val.premium)
|
|
|
+ return val;
|
|
|
+ })
|
|
|
+ let data = yccallback.data;
|
|
|
data.map(ele => {
|
|
|
ele.quantity = 1;
|
|
|
return ele;
|
|
@@ -1224,12 +1338,12 @@
|
|
|
}
|
|
|
break;
|
|
|
case '紫金财险':
|
|
|
- let zjres = await this.$http.post('/order/zijin/queryVehicleProducts', {
|
|
|
+ let zjcallback = 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;
|
|
|
+ if (zjcallback.code == '200') {
|
|
|
+ let data = zjcallback.data;
|
|
|
data.map(ele => {
|
|
|
ele.quantity = 1;
|
|
|
return ele;
|
|
@@ -1239,11 +1353,11 @@
|
|
|
}
|
|
|
break;
|
|
|
case '安盛天平':
|
|
|
- let asres = await this.$http.post('/insurance/crawler/getDrivingInsurance', {
|
|
|
+ let ascallback = await this.$http.post('/insurance/crawler/getDrivingInsurance', {
|
|
|
agreementId: this.totalCompanyList[index].agreement[0].id
|
|
|
});
|
|
|
- if (asres.code == '200') {
|
|
|
- let data = asres.data;
|
|
|
+ if (ascallback.code == '200') {
|
|
|
+ let data = ascallback.data;
|
|
|
data.map(ele => {
|
|
|
ele.departmentProductList.map(val => {
|
|
|
val.quantity = 1;
|
|
@@ -1263,15 +1377,39 @@
|
|
|
}
|
|
|
}
|
|
|
break;
|
|
|
+ case '国任财险':
|
|
|
+ let grcallback = await this.$http.post('/api/guoRen/syncNonAutoIns', {
|
|
|
+ agreementId: this.totalCompanyList[index].agreement[0].id
|
|
|
+ });
|
|
|
+ if (grcallback.code == '200') {
|
|
|
+ let data = grcallback.data;
|
|
|
+ this.guorenprogrammeData = data;
|
|
|
+ let grcallback1 = await this.$http.post('/api/guoRen/syncNonAutoIns', {
|
|
|
+ goodsCode: grcallback.data[0].goodId
|
|
|
+ });
|
|
|
+ this.guorenInsuranceData = grcallback1.data;
|
|
|
+ this.guorenaccidentalDrivingVo = {
|
|
|
+ goodsCode: data[0].goodId, //驾意险商品号
|
|
|
+ prodCode: grcallback1.data[0].prodCode, //产品code
|
|
|
+ riskCode: grcallback1.data[0].riskCode, //险种code
|
|
|
+ premium: grcallback1.data[0].premium, //保费
|
|
|
+ amount: grcallback1.data[0].amount, //保额
|
|
|
+ quantity: 1, //份数
|
|
|
+ goodDesc: data[0].goodDesc, //驾意险商品名称
|
|
|
+ prodCName: grcallback1.data[0].prodCName, //产品名称
|
|
|
+ policyNum: Number(grcallback1.data[0].policyNum), //最大份数
|
|
|
+ }
|
|
|
+ }
|
|
|
+ break;
|
|
|
case '中国人寿':
|
|
|
case '恒邦财险':
|
|
|
case '众安财险':
|
|
|
|
|
|
- let Insuranceres = await this.$http.post('/insurance/crawler/getDrivingInsurance', {
|
|
|
+ let Insurancecallback = await this.$http.post('/insurance/crawler/getDrivingInsurance', {
|
|
|
agreementId: this.totalCompanyList[index].agreement[0].id
|
|
|
});
|
|
|
- if (Insuranceres.code == 200) {
|
|
|
- let data = Insuranceres.data;
|
|
|
+ if (Insurancecallback.code == 200) {
|
|
|
+ let data = Insurancecallback.data;
|
|
|
data.map(ele => {
|
|
|
ele.quantity = 1;
|
|
|
return ele;
|
|
@@ -1327,6 +1465,50 @@
|
|
|
Object.assign(this.anshengaccidentalDrivingVo, info);
|
|
|
this.anshengPopupshow1 = false;
|
|
|
},
|
|
|
+ //国任一级选择
|
|
|
+ async GRprogrammeradioChange(id) {
|
|
|
+ let info = this.guorenprogrammeData.find((val => val.goodId == id))
|
|
|
+ this.guorenPopupshow = false;
|
|
|
+ this.guorenaccidentalDrivingVo.goodsCode = info.goodId;
|
|
|
+ this.guorenaccidentalDrivingVo.goodDesc = info.goodDesc;
|
|
|
+ let res = await this.$http.post('/api/guoRen/syncNonAutoIns', {
|
|
|
+ goodsCode: info.goodId
|
|
|
+ });
|
|
|
+ if (res.code == '200') {
|
|
|
+ this.guorenInsuranceData = res.data;
|
|
|
+ let dataInfo = {
|
|
|
+ prodCode: res.data[0].prodCode, //产品code
|
|
|
+ riskCode: res.data[0].riskCode, //险种code
|
|
|
+ premium: res.data[0].premium, //保费
|
|
|
+ amount: res.data[0].amount, //保额
|
|
|
+ quantity: 1, //份数
|
|
|
+ prodCName: res.data[0].prodCName, //产品名称
|
|
|
+ policyNum: res.data[0].policyNum, //最大份数
|
|
|
+ }
|
|
|
+ Object.assign(this.guorenaccidentalDrivingVo, dataInfo);
|
|
|
+ } else {
|
|
|
+ uni.showToast({
|
|
|
+ title: res.msg,
|
|
|
+ icon: 'none',
|
|
|
+ });
|
|
|
+ this.guorenInsuranceData = []
|
|
|
+ }
|
|
|
+ },
|
|
|
+ //国任二级选择
|
|
|
+ GRInsuranceradioChange(id) {
|
|
|
+ let info = this.guorenInsuranceData.find((val => val.prodCode == id))
|
|
|
+ let dataInfo = {
|
|
|
+ prodCode: info.prodCode, //产品code
|
|
|
+ riskCode: info.riskCode, //险种code
|
|
|
+ premium: info.premium, //保费
|
|
|
+ amount: info.amount, //保额
|
|
|
+ quantity: 1, //份数
|
|
|
+ prodCName: info.prodCName, //产品名称
|
|
|
+ policyNum: info.policyNum, //最大份数
|
|
|
+ }
|
|
|
+ Object.assign(this.guorenaccidentalDrivingVo, dataInfo);
|
|
|
+ this.guorenPopupshow1 = false;
|
|
|
+ },
|
|
|
//紫金意外险
|
|
|
ZJcheckboxGroupChange(detail) {
|
|
|
this.zijinaccidentalDrivingVo = [];
|
|
@@ -1353,15 +1535,24 @@
|
|
|
this.totalCompanyList = commpanykad.data;
|
|
|
},
|
|
|
async toNext() {
|
|
|
- if (this.quoteno) {
|
|
|
- this.OrderStageProcessing();
|
|
|
+ var allAreFalse = this.totalCompanyList.every(function(element) {
|
|
|
+ return element.checked === false;
|
|
|
+ });
|
|
|
+ if (!allAreFalse) {
|
|
|
+ if (this.quoteno) {
|
|
|
+ this.OrderStageProcessing();
|
|
|
+ } else {
|
|
|
+ let getquote = await this.$http.get('/ins/tool/getQuoteNo');
|
|
|
+ this.quoteno = getquote.data + "";
|
|
|
+ this.OrderStageProcessing();
|
|
|
+ }
|
|
|
} else {
|
|
|
- let getquote = await this.$http.get('/ins/tool/getQuoteNo');
|
|
|
- this.quoteno = getquote.data;
|
|
|
- this.OrderStageProcessing();
|
|
|
+ uni.showToast({
|
|
|
+ title: "请选择保险公司后,在进行报价",
|
|
|
+ icon: 'none',
|
|
|
+ });
|
|
|
}
|
|
|
},
|
|
|
-
|
|
|
async OrderStageProcessing() {
|
|
|
let mergedArray = [];
|
|
|
let mergedArrayList = mergedArray.concat(this.carInfoPositiveList, this.ownerInfoPositiveList, this
|
|
@@ -1404,6 +1595,11 @@
|
|
|
this.ToolClickFun(ele.cnName, index, ele.id);
|
|
|
}
|
|
|
});
|
|
|
+ } else {
|
|
|
+ uni.showToast({
|
|
|
+ title: orders.msg,
|
|
|
+ icon: 'none',
|
|
|
+ });
|
|
|
}
|
|
|
},
|
|
|
//动态函数
|
|
@@ -1641,6 +1837,79 @@
|
|
|
return;
|
|
|
}
|
|
|
},
|
|
|
+ //国任报价
|
|
|
+ async guoRen(num, id) {
|
|
|
+ let jychecked = this.totalCompanyList[num].jychecked
|
|
|
+ let params = {
|
|
|
+ accidentalDrivingVo: jychecked ? this.guorenaccidentalDrivingVo : {},
|
|
|
+ orderNo: this.orderno,
|
|
|
+ companyId: id,
|
|
|
+ cqryCdeJq: this.cqryCdeJq,
|
|
|
+ cqryCdeSy: this.cqryCdeSy,
|
|
|
+ renewalCodeJq: this.renewalCodeJq,
|
|
|
+ renewalCodeSy: this.renewalCodeSy,
|
|
|
+ agreementId: this.totalCompanyList[num].agreementId,
|
|
|
+ };
|
|
|
+ let res = await this.$http.post('/api/guoRen/quote', params);
|
|
|
+ this.totalCompanyList[num].msg = res.msg;
|
|
|
+ if (!!res.msg && res.msg.indexOf("不存在有效协议") >= 0) {
|
|
|
+ this.totalCompanyList[num].quoteCode = "4";
|
|
|
+ this.totalCompanyList[num].msg = res.msg;
|
|
|
+ return;
|
|
|
+ } else if (
|
|
|
+ res.data == null &&
|
|
|
+ res.msg.indexOf("交强险平台返回") > -1 &&
|
|
|
+ res.msg.indexOf(";终保日期") > -1
|
|
|
+ ) {
|
|
|
+ let time =
|
|
|
+ res.msg.substr(res.msg.indexOf(";终保日期 ") + 6, 16) + ":00";
|
|
|
+ this.jqstartDate = time;
|
|
|
+ this.jqendDate = this.oneYearPast(time);
|
|
|
+ this.systartDate = time;
|
|
|
+ this.syendDate = this.oneYearPast(time);
|
|
|
+ if (this.riskList.length > 0) {
|
|
|
+ for (let i = 0; i < this.riskList.length; i++) {
|
|
|
+ if (this.riskList[i].riskCode == "0507") {
|
|
|
+ this.riskList[i].startDate = time;
|
|
|
+ this.riskList[i].endDate = this.oneYearPast(time);
|
|
|
+ } else if (this.riskList[i].riskCode == "0510") {
|
|
|
+ this.riskList[i].startDate = time;
|
|
|
+ this.riskList[i].endDate = this.oneYearPast(time);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ let param = {
|
|
|
+ userId: this.userInfo.sysUser.id,
|
|
|
+ quoteno: this.quoteno,
|
|
|
+ orderNo: this.orderno,
|
|
|
+ carInfo: this.carInfo,
|
|
|
+ insuredPersonInfo: this.insuredPersonInfo,
|
|
|
+ ownerInfo: this.ownerInfo,
|
|
|
+ policyHolderInfo: this.policyHolderInfo,
|
|
|
+ kindList: this.kindList,
|
|
|
+ riskList: this.riskList,
|
|
|
+ vehicleAndVesselTax: this.vehicleAndVesselTaxForm,
|
|
|
+ };
|
|
|
+ await this.$http.post('/insurance/order/generateOrder', param);
|
|
|
+ return this.guoRen(num, id);
|
|
|
+ } else if (res.code == '200') {
|
|
|
+ if (res.data.warnMessageList != null && res.data.warnMessageList[0] != null && res.data
|
|
|
+ .warnMessageList[
|
|
|
+ 0] != "") {
|
|
|
+ this.totalCompanyList[num].lastYearMsg = "";
|
|
|
+ let dat = res.data.warnMessageList;
|
|
|
+ dat.map(ele => {
|
|
|
+ this.totalCompanyList[num].lastYearMsg += ele;
|
|
|
+ })
|
|
|
+ }
|
|
|
+ this.totalCompanyList[num].quoteCode = 200;
|
|
|
+ this.totalCompanyList[num].result = res.data;
|
|
|
+ } else {
|
|
|
+ this.totalCompanyList[num].quoteCode = "3";
|
|
|
+ this.totalCompanyList[num].msg = res.msg;
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ },
|
|
|
|
|
|
//爬虫统一报价接口
|
|
|
async quoteInsurance(num, id, apiType, jychecked) {
|
|
@@ -2029,7 +2298,10 @@
|
|
|
strYear + "-" + strMonth + "-" + strDay + " " + hh + ":" + minutes + ":" + Seconds;
|
|
|
return datastr;
|
|
|
},
|
|
|
- }
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
</script>
|
|
|
<style lang="scss" scoped>
|
|
@@ -2283,6 +2555,11 @@
|
|
|
margin-right: 10px;
|
|
|
}
|
|
|
|
|
|
+ .quoteCompanyItem .top .Premium text {
|
|
|
+ margin-right: 10px;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
.quoteCompanyItem .top .companyName {
|
|
|
font-size: 32upx;
|
|
|
font-weight: bold;
|
|
@@ -2364,8 +2641,6 @@
|
|
|
}
|
|
|
|
|
|
/* 报价公司End */
|
|
|
-
|
|
|
-
|
|
|
/* 查看详情按钮Start */
|
|
|
.btn {
|
|
|
font-size: 16px;
|
|
@@ -2399,5 +2674,9 @@
|
|
|
box-sizing: border-box;
|
|
|
}
|
|
|
|
|
|
+ .ZJcheckboxGroup {
|
|
|
+ border-bottom: 2px solid #f2f2f2;
|
|
|
+ }
|
|
|
+
|
|
|
/* 查看详情按钮End */
|
|
|
</style>
|