| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787 |
- <template>
- <view class="">
- <public-module></public-module>
- <image src="/static/image/car-insure/Quotablebanner.png" mode=""
- style="width: 100%;height: 110px;position: absolute;"></image>
- <view class="page">
- <view class="car-header dis a-c">
- <image src="/static/image/car-insure/Group.png" mode="" style="width: 40px;height: 40px;"></image>
- <view class="dis f-c head-name">
- <text>{{carInfo.licenseNo}} <text style="color: rgba(35,40,50,0.65);">丨</text> <text
- style="font-weight: 400;"> {{insuredPersonInfo.name}} (被保人)</text> </text>
- <view class="name1">
- <text>{{carInfo.modelcname}}</text>
- </view>
- </view>
- <view class="carJump" @tap="toCarInfo">修改信息</view>
- </view>
- <view class="" style="position: relative;">
- <view class=" dis f-c" v-if="['0330','0330034002','0330034001'].includes(productId)">
- <text class="plan-ins-title">交强险</text>
- <view class="quotePlan">
- <view class=" dis a-c j-s modelformcss">
- <text>即时投保</text>
- <view class="dis a-c j-c">
- <view class="status-data" :class="item.value==jqimmediately? 'active':''"
- v-for="(item,index) in jqimmediatelyList"
- @tap="datelyClick(item.value,'jqimmediately','jqstartDate','jqendDate')"
- :key="index">
- {{item.label}}
- </view>
- </view>
- </view>
- <u-form ref="uForm" label-width="120px">
- <u-form-item label="交强险投保日期" class="modelformcss">
- <u-input type="select" :select-open="jqstartShow" :custom-style="{textAlign:'right'}"
- v-model="jqstartDate" placeholder="请选择开始时间" @click="jqstartShow = true"></u-input>
- <u-picker v-model="jqstartShow" mode="time" :params="params"
- @confirm="jqstartconfirm"></u-picker>
- </u-form-item>
- <u-form-item label="交强险终保日期" class="modelformcss">
- <u-input type="select" :select-open="jqendShow" :custom-style="{textAlign:'right'}"
- v-model="jqendDate" placeholder="请选择结束时间" @click="jqendShow = true"></u-input>
- <u-picker v-model="jqendShow" mode="time" :params="params"
- @confirm="jqendconfirm"></u-picker>
- </u-form-item>
- </u-form>
- </view>
- </view>
- <view class=" dis f-c " v-if="['034001','0330034002','0330034001'].includes(productId)">
- <text class="plan-ins-title">商业险</text>
- <view class="quotePlan">
- <view class=" dis a-c j-s modelformcss">
- <text>即时投保</text>
- <view class="dis a-c j-c">
- <view class="status-data" :class="item.value==syimmediately? 'active':''"
- v-for="(item,index) in syimmediatelyList"
- @tap="datelyClick(item.value,'syimmediately','systartDate','syendDate')"
- :key="index">
- {{item.label}}
- </view>
- </view>
- </view>
- <u-form ref="uForm" label-width="120px">
- <u-form-item label="商业险投保日期" class="modelformcss">
- <u-input type="select" :select-open="systartShow" :custom-style="{textAlign:'right'}"
- v-model="systartDate" placeholder="请选择开始时间" @click="systartShow = true"></u-input>
- <u-picker v-model="systartShow" mode="time" :params="params"
- @confirm="systartconfirm"></u-picker>
- </u-form-item>
- <u-form-item label="商业险终保日期" class="modelformcss">
- <u-input type="select" :select-open="syendShow" :custom-style="{textAlign:'right'}"
- v-model="syendDate" placeholder="请选择结束时间" @click="syendShow = true"></u-input>
- <u-picker v-model="syendShow" mode="time" :params="params"
- @confirm="syendconfirm"></u-picker>
- </u-form-item>
- </u-form>
- </view>
- </view>
- </view>
- <view class=" dis a-c j-s mt-3" style="position: relative;">
- <view style="color:#FF5600;font-size: 15px;font-weight: bold;">投保注意:</view>
- <view class="dis a-c f-wrap">
- <view class="status-data" :class="carInfo.transferFlag? 'active1':''"
- @tap="immediatelyClick('transferFlag')">
- 过户车
- </view>
- <view class="status-data" :class="carInfo.transferFlagBi? 'active1':''"
- @tap="immediatelyClick('transferFlagBi')">
- 商业险过户
- </view>
- <view class="status-data" :class="carInfo.outOfInsurance? 'active1':''"
- @tap="immediatelyClick('outOfInsurance')">
- 脱保
- </view>
- <view class="status-data" :class="carInfo.usedCar? 'active1':''" @tap="immediatelyClick('usedCar')">
- 二手车
- </view>
- </view>
- </view>
- <view class="quotePlan dis a-c j-s mt-2 " style="padding: 5px 10px;" v-if="carInfo.transferFlag">
- <view>转移登记日期:</view>
- <u-input type="select" :select-open="transferDateShow" :custom-style="{textAlign:'right'}"
- v-model="carInfo.transferDate" @click="transferDateShow = true" style="width: 100px;"></u-input>
- <u-picker v-model="transferDateShow" mode="time" :params="params1"
- @confirm="transferconfirm"></u-picker>
- </view>
- <view class="quoteCompany mt-3">
- <view class="header dis a-c">
- <view class="title d-flex">保险公司</view>
- <!-- <view class="">
- <u-checkbox v-model="Selectchecked" @change="SelectAll($event)"
- active-color="rgb(250, 53, 52)">全选</u-checkbox>
- </view> -->
- </view>
- <block v-for="(totalitem,totalindex) in quotableCompanyList" :key="totalindex">
- <template>
- <view class="quoteCompanyItem dis f-c j-s" :class="totalitem.checked? 'quoteactive':''">
- <view class="top dis f-c">
- <view class="companyIcon dis j-s a-c mb-2"
- @tap="checkboxChange(totalitem.id,totalitem.cnName, totalindex)">
- <view class="dis a-c">
- <!-- <view class="" @click.stop>
- <u-checkbox @change="priceComparisonChange(totalindex,totalitem)"
- v-if="totalitem.isComparableshowHide"
- v-model="totalitem.isComparableShow" active-color="#23C1CB"
- :disabled='totalitem.isComparableDisabled'></u-checkbox>
- </view> -->
- <image :src="totalitem.logo"></image>
- <view class="companyName">{{totalitem.namesimple}}</view>
- </view>
- <view class="insuranceGuide dis a-c j-c" @click.stop="InsureGuideclick">
- 投保指引
- </view>
- <ls-loading v-if="totalitem.quoteCode ==1" text="掌柜正在为您报价,请稍等......"
- :animation="animation" fontSize="22" />
- <!-- 价格 -->
- <view class="dis a-c" v-if="totalitem.quoteCode=='200'">
- <view class="dis a-c" style="margin-right: 10px;">
- <text style="color: #FF4D4D;font-size: 12px;"
- v-if="totalitem.result.sumExportFee">优惠金额¥{{totalitem.result.sumExportFee}}</text>
- </view>
- <text class="sum">¥{{totalitem.result.sumPermium}}</text>
- </view>
- <text v-if="totalitem.quoteCode=='3'" class="sum"
- style="color: #999;font-size: 12px;"
- @tap.stop.prevent="ErrorMsg(totalitem.msg,totalitem.namesimple)">报价失败,查看原因</text>
- </view>
- <view class="Premium dis f-c mb-2" v-if="totalitem.quoteCode=='200'">
- <view class="dis price" v-if="totalitem.result.feeNoDescription">
- <text>该车未匹配销管费用,不建议投保!</text>
- <u-icon name="chat-fill" color="#ff0000" size="40"
- @click="discountErrorMessageMsg(totalitem.result.feeNoDescription,totalitem.namesimple)"></u-icon>
- </view>
- <view class="dis a-c f-wrap price">
- <text
- v-if="totalitem.result.jqPremium">交强险:¥{{totalitem.result.jqPremium}}</text>
- <text
- v-if="totalitem.result.syPremium">商业险:¥{{totalitem.result.syPremium}}</text>
- <text
- v-if="totalitem.result.taxAmount">车船税:¥{{totalitem.result.taxAmount}}</text>
- <text
- v-if="totalitem.result.jyPremium">驾意险:¥{{totalitem.result.jyPremium}}</text>
- </view>
- <view class="dis a-c f-wrap price" style="font-size: 20rpx;color: #FF4D4D;">
- <text>优惠金额:【
- <text
- v-if="totalitem.result.jqPremium">交强险:{{totalitem.result.jqExportFee?totalitem.result.jqExportFee:'无'}}</text>
- <text
- v-if="totalitem.result.syPremium">商业险:{{totalitem.result.syExportFee?totalitem.result.syExportFee:'无'}}</text>
- <text
- v-if="totalitem.result.jyPremium">驾意险:{{totalitem.result.noExportFee?totalitem.result.noExportFee:"无"}}</text>
- 】</text>
- </view>
- <view class="dis a-c j-s ">
- <view class="dis f-c time">
- <text
- v-if="totalitem.result.jqPremium">交强险:{{totalitem.result.startDateJq}}~{{totalitem.result.endDateJq}}
- </text>
- <text
- v-if="totalitem.result.startDateSy">商业险:{{totalitem.result.startDateSy}}~{{totalitem.result.endDateSy}}
- </text>
- </view>
- <image src="/static/image/car-insure/Group30.png" mode=""
- style="width: 14px;height: 14px;" @click="syncData(totalitem.result)">
- </image>
- </view>
- <view class="dis a-c f-wrap time">
- <text v-if="totalitem.namesimple == '永诚财险'">光博分:{{ totalitem.result.ilogPreUdwMess ?
- totalitem.result.ilogPreUdwMess : '无' }}</text>
- <text v-else>评分:{{ totalitem.result.ilogPreUdwMess ?
- totalitem.result.ilogPreUdwMess : '无' }}</text>
- <text v-if="totalitem.result.jqScore">交强类型评分:{{ totalitem.result.jqScore ?
- totalitem.result.jqScore : '无' }}</text>
- <text v-if="totalitem.result.syScore">商业类型评分:{{ totalitem.result.syScore ?
- totalitem.result.syScore : '无' }}</text>
- <text v-if="totalitem.result.lossRation">总赔付率:{{ totalitem.result.lossRation ?
- totalitem.result.lossRation : '无' }}</text>
- <text v-if="totalitem.result.jqLossRation">交强赔付率:{{ totalitem.result.jqLossRation ?
- totalitem.result.jqLossRation : '无' }}</text>
- <text v-if="totalitem.result.syLossRation">商业赔付率:{{ totalitem.result.syLossRation ?
- totalitem.result.syLossRation : '无' }}</text>
- <text
- v-if="totalitem.namesimple == '紫金财险'">鼎然-车辆风险评分:{{totalitem.result.ubiPredictedInfoScore ?
- totalitem.result.ubiPredictedInfoScore : '无'}}</text>
- <text v-if="totalitem.result.jqRenewal">交强续保:{{ totalitem.result.jqRenewal ?
- totalitem.result.jqRenewal : '无' }}</text>
- <text v-if="totalitem.result.syRenewal">商业续保:{{ totalitem.result.syRenewal ?
- totalitem.result.syRenewal : '无' }}</text>
- <text v-if="totalitem.result.jqClaims">交强出险次数:{{ totalitem.result.jqClaims ?
- totalitem.result.jqClaims : '无' }}</text>
- <text v-if="totalitem.result.syClaims">商业出险次数:{{ totalitem.result.syClaims ?
- totalitem.result.syClaims : '无' }}</text>
- </view>
- <view class="dis a-c j-end lastyear">
- <view class=" left dis j-c a-c" v-if="totalitem.lastYearMsg"
- @click="YearMsg(totalitem.lastYearMsg,totalitem.namesimple)">
- <text>上年信息</text>
- </view>
- <view class=" right ml-2 dis j-c a-c" v-if='totalitem.result.predictInfo'
- @click="preUnderwriting(totalitem.result.predictInfo)">
- <text>预核保信息</text>
- </view>
- <u-button class="ml-2" type="error" size="mini"
- :custom-style="{borderRadius:'2px'}"
- style="background: linear-gradient( 90deg, #FF4D4D 0%, #FF784D 100%);"
- @click="bjdpreview(totalitem.result.companyId)">报价单</u-button>
- <u-button class="ml-2" type="primary" size="mini"
- :custom-style="{borderRadius:'2px'}"
- style="background: linear-gradient( 90deg, #0052FF 0%, #0D8BFF 100%);"
- @click="querydetial(totalitem.result.companyId)">查看详情</u-button>
- </view>
- </view>
- <view class="planDetails mb-2 dis f-c" v-show="totalitem.insurancePlanInfo">
- <view class="headers dis j-c a-c" @tap="togglePlanDetails(totalindex)">
- <image
- :src="totalitem.planDetailsshow?'/static/image/car-insure/DoubleLeft1.png':'/static/image/car-insure/DoubleLeft.png'"
- mode=""></image>
- <text>{{totalitem.planDetailsshow?'收起':'展开'}}方案详情</text>
- </view>
- <view v-if="totalitem.planDetailsshow">
- <view class="Plancontent dis j-s " style="padding:0;">
- <text class="title mb-1">车船税</text>
- <text>{{model.taxRelifFlag}}</text>
- </view>
- <view class="Plancontent dis f-c " style="padding:0;"
- v-if="totalitem.insurancePlanInfo.isJq=='1'">
- <view class="dis j-s a-c">
- <text class="title mb-1">交强险</text>
- <u-button type="primary"
- style="background: linear-gradient(90deg, #FF4D4D 0%, #FF784D 100%);"
- size="mini" @click="jqterms">交强条款</u-button>
- </view>
- <text style="margin-left: 10px;">{{jqstartDate}} - {{jqendDate}}</text>
- </view>
- <view class="Plancontent dis f-c " style="padding: 0;"
- v-if="totalitem.insurancePlanInfo.isSy=='1'">
- <view class="dis j-s a-c">
- <text class="title mb-1">商业险</text>
- <u-button type="primary"
- style="background: linear-gradient(90deg, #FF4D4D 0%, #FF784D 100%);"
- size="mini" @click="jqterms">商业条款</u-button>
- </view>
- <text style="margin-left: 10px;">{{systartDate}} - {{syendDate}}</text>
- <view class="dis f-c p-2">
- <view class="dis a-c j-s" style="border-bottom: 1px solid #f2f2f2;">
- <text>险别</text>
- <text>保额</text>
- </view>
- <view class="dis a-c j-s"
- v-for="(item,index) in totalitem.insurancePlanInfo" :key="index">
- <text>{{item.kindName}}:</text>
- <text>{{convertedValue(item.amount)}}</text>
- </view>
- </view>
- </view>
- <view class="Plancontent dis f-c " style="padding: 0;"
- v-if=" totalitem.insurancePlanInfo.drivingList && totalitem.insurancePlanInfo.drivingList.length">
- <text class="title mb-1">意外险</text>
- <view class=" modelformcss"
- v-for="(drivingsitem,risksindex) in totalitem.insurancePlanInfo.drivingList"
- :key="risksindex">
- <view class="dis f-c ">
- <text>{{drivingsitem.parentName}}</text>
- <text>{{drivingsitem.projectName}}</text>
- </view>
- <view class="Accident mt-2"
- v-if="drivingsitem.insDrivingIntentionInsuranceSon && drivingsitem.insDrivingIntentionInsuranceSon.length>0">
- <view class="dis a-c j-s">
- <view class="head dis a-c j-c">保险责任</view>
- <view class="head dis a-c j-c">保险金额</view>
- <view class="head dis a-c j-c">保费(元)</view>
- </view>
- <view class="dis a-c j-s"
- v-for="(Sonitem,Sonindex) in drivingsitem.insDrivingIntentionInsuranceSon"
- :key="Sonindex">
- <view class="tr dis a-c j-c"> {{Sonitem.name}}</view>
- <view class="tr dis a-c j-c"> {{Sonitem.amount}}/座</view>
- <view class="tr dis a-c j-c">¥{{Sonitem.premium}}</view>
- </view>
- </view>
- <view class="dis a-c j-s mt-2" style="font-size: 14px;color: #232832;">
- <text>份数</text>
- <text>{{drivingsitem.quantity}}份</text>
- </view>
- <view class="dis a-c j-s mt-2" style="font-size: 14px;color: #232832;">
- <text>总保费</text>
- <text>¥{{drivingsitem.sumPremium?drivingsitem.sumPremium:0}}</text>
- </view>
- </view>
- </view>
- </view>
- </view>
- <view class="footer-btn dis j-s a-c">
- <u-button type="primary" size="mini"
- style="background:#E6EEFF;color:#0052FF; width: 45%;"
- @click="SchemeSelection(totalitem)">方案选择</u-button>
- <u-button type="primary" size="mini"
- style="background:#FFEFE6;color: #FF5600; width: 45%;"
- @tap="individualQuote(totalitem)">单独报价</u-button>
- </view>
- </view>
- </view>
- </template>
- </block>
- </view>
- </view>
- <u-modal v-model="InsureGuidePopup" ref="uModal" :show-title="false" border-radius="12" confirm-color="#FF5600"
- :confirm-style="{background:'#FFEFE6',height:'36px',lineHeight:'36px'}">
- <view class="">
- <image src="/static/image/car-insure/InsureGuide.png" mode="" style="width: 100%;height: 40px;"></image>
- <view class="p-2 mb-2" style="min-height:120px;">
- <text>永诚财产保险股份有限公司是一家由国内实力雄厚的大型电力企业集团和产业投资集团共同发起组建的全国性股份制财产保险公司.</text>
- </view>
- </view>
- </u-modal>
- <u-popup v-model="genericPlanPopup" mode="center" width="100%" border-radius="6">
- <view class="">
- <image src="/static/image/car-insure/SchemeSelection.png" mode="" style="width: 100%;height: 40px;">
- </image>
- <scroll-view :scroll-top="scrollTop" scroll-y="true" class="scroll-Y">
- <view class="Plancontent dis f-c ">
- <text class="title mb-1">方案选择</text>
- <view class="dis a-c f-wrap modelformcss">
- <view class="status-data" :class="item.schemeId==SelectedPlanId? 'active':''"
- style="margin-right: 10px;" v-for="(item,index) in planDataExpansion.genericPlanList"
- @tap.stop.prevent="statusclick(item.schemeId)" :key="index">
- {{item.schemeName}}
- </view>
- </view>
- </view>
- <view class="">
- <view class="Plancontent dis f-c " v-if="planDataExpansion.genericPlanInfo.isJq=='1'">
- <text class="title mb-1">交强险</text>
- <text style="margin-left: 10px;">{{jqstartDate}} - {{jqendDate}}</text>
- </view>
- <view class="Plancontent dis f-c ">
- <text class="title mb-1">车船税</text>
- <view class="">
- <u-form ref="uForm" :model="vehicleAndVesselTaxForm" label-width="130px">
- <u-form-item label="纳税类型" prop="taxRelifFlag" class="modelformcss">
- <u-input type="select" :select-open="taxRelifFlagShow"
- v-model="model.taxRelifFlag" :custom-style="{textAlign:'right'}"
- placeholder="请选择纳税类型" @click="taxRelifFlagShow = true"></u-input>
- <u-select mode="single-column" :list="taxRelifFlagoptions"
- v-model="taxRelifFlagShow" label-name="dictTag" value-name="dictValue"
- @confirm="taxRelifFlagConfirm($event,'taxRelifFlag')"></u-select>
- </u-form-item>
- <u-form-item
- v-show="vehicleAndVesselTaxForm.taxRelifFlag == 2 || vehicleAndVesselTaxForm.taxRelifFlag == 3"
- label="减免税凭证号" prop="extendChar2" class="modelformcss">
- <u-input placeholder="请输入减免税凭证号" :custom-style="{textAlign:'right'}"
- v-model="vehicleAndVesselTaxForm.extendChar2" type="text"></u-input>
- </u-form-item>
- <u-form-item v-show="vehicleAndVesselTaxForm.taxRelifFlag == 4" label="完税凭证号"
- prop="paidFreeCertificate" class="modelformcss">
- <u-input placeholder="请输入完税凭证号" :custom-style="{textAlign:'right'}"
- v-model="vehicleAndVesselTaxForm.paidFreeCertificate" type="text"></u-input>
- </u-form-item>
- <u-form-item
- v-show="vehicleAndVesselTaxForm.taxRelifFlag == 2 || vehicleAndVesselTaxForm.taxRelifFlag == 3"
- label="减免税原因" prop="relifReason" class="modelformcss">
- <u-input type="select" :select-open="relifReasonShow"
- v-model="model.relifReason" :custom-style="{textAlign:'right'}"
- placeholder="请选择减免税原因" @click="relifReasonShow = true"></u-input>
- <u-select mode="single-column" :list="relifReasonoptions"
- v-model="relifReasonShow" label-name="dictTag" value-name="dictValue"
- @confirm="taxRelifFlagConfirm($event,'relifReason')"></u-select>
- </u-form-item>
- <u-form-item v-show="vehicleAndVesselTaxForm.taxRelifFlag != 1" label="税务机关代码"
- prop="taxComCode" class="modelformcss">
- <u-input placeholder="请输入税务机关代码" :custom-style="{textAlign:'right'}"
- v-model="vehicleAndVesselTaxForm.taxComCode" type="text"></u-input>
- </u-form-item>
- <u-form-item v-show="vehicleAndVesselTaxForm.taxRelifFlag != 1" label="税务机关名称"
- prop="taxComName" class="modelformcss">
- <u-input placeholder="请输入税务机关名称" :custom-style="{textAlign:'right'}"
- v-model="vehicleAndVesselTaxForm.taxComName" type="text"></u-input>
- </u-form-item>
- <u-form-item v-show="vehicleAndVesselTaxForm.taxRelifFlag == 4" label="完税凭证填发日期"
- prop="taxDocumentDate" class="modelformcss">
- <u-input type="select" :select-open="taxDocumentDateShow"
- :custom-style="{textAlign:'right'}"
- v-model="vehicleAndVesselTaxForm.taxDocumentDate" placeholder="请选择时间"
- @click="taxDocumentDateShow = true"></u-input>
- <u-picker v-model="taxDocumentDateShow" mode="time" :params="params1"
- @confirm="taxDocumentDateconfirm"></u-picker>
- </u-form-item>
- <u-form-item v-show="vehicleAndVesselTaxForm.taxRelifFlag == 4" label="完税凭证地区"
- prop="taxPaidAreaCode" class="modelformcss">
- <u-input type="select" :select-open="taxPaidAreaCodeShow"
- :custom-style="{textAlign:'right'}" v-model="model.taxPaidAreaCode"
- placeholder="请选择地区" @click="taxPaidAreaCodeShow = true"></u-input>
- <u-picker mode="region" v-model="taxPaidAreaCodeShow" :params="params2"
- @confirm="taxPaidAreaCodeconfirm"></u-picker>
- </u-form-item>
- <u-form-item v-show="vehicleAndVesselTaxForm.taxRelifFlag == 3" label="减税比例"
- prop="taxRelief" class="modelformcss">
- <u-input placeholder="请输入0~1的小数" :custom-style="{textAlign:'right'}"
- v-model="vehicleAndVesselTaxForm.taxRelief" type="text"></u-input>
- </u-form-item>
- </u-form>
- </view>
- </view>
- <view class="Plancontent dis f-c " v-if="planDataExpansion.genericPlanInfo.isSy=='1'">
- <text class="title mb-1">商业险</text>
- <text style="margin-left: 10px;">{{systartDate}} - {{syendDate}}</text>
- <view class="insuranceType" v-if="planDataExpansion.genericPlanInfo.schemeName !=='自选方案'">
- <view class="dis a-c j-s"
- v-for="(item,index) in planDataExpansion.genericPlanInfo.kinds" :key="index">
- <text>{{item.kindName}}:</text>
- <text>{{convertedValue(item.amount)}}</text>
- </view>
- </view>
- <template v-else>
- <view class="immediately">
- <view class="dis f-c" style="background: #F9F9F9;border-radius: 10px;">
- <block v-for="(insureItem,index) in planDataExpansion.genericPlanInfo.kinds"
- :key="index">
- <template v-if="insureItem.amount == 0">
- <view class="car-ins-cell d-flex j-sb common-ins-cell"
- @tap="adjustBIItem(index)">
- <view class="cell-title d-flex a-center j-center">
- {{insureItem.kindName}}
- </view>
- <view class="cell-desc d-flex a-center j-center">
- {{insureItem.amountDesc}}
- <view class="icon iconfont icon-youjiantou"
- style="font-size: 40rpx;margin-left: 20upx;color: #C7C6CA;">
- </view>
- </view>
- </view>
- </template>
- </block>
- </view>
- </view>
- <view class="compulsory-insurance">
- <block v-for="(insureItem,index) in planDataExpansion.genericPlanInfo.kinds"
- :key="index">
- <template v-if="insureItem.amount == 0">
- <view class="car-ins-cell d-flex j-sb common-ins-cell"
- @tap="adjustBIItem(index)">
- <view class="cell-title d-flex a-center j-center">
- {{insureItem.kindName}}
- </view>
- <view class="cell-desc d-flex a-center j-center">
- {{insureItem.amountDesc}}
- <view class="icon iconfont icon-youjiantou"
- style="font-size: 40rpx;margin-left: 20upx;color: #C7C6CA;">
- </view>
- </view>
- </view>
- </template>
- </block>
- </view>
- </template>
- </view>
- <view class="Plancontent dis f-c "
- v-if="planDataExpansion.genericPlanInfo.schemeName !=='自选方案' && planDataExpansion.genericPlanInfo && planDataExpansion.genericPlanInfo.drivingList && planDataExpansion.genericPlanInfo.drivingList.length">
- <text class="title mb-1">意外险</text>
- <view class=" modelformcss"
- v-for="(drivingsitem,risksindex) in planDataExpansion.genericPlanInfo.drivingList"
- :key="risksindex">
- <view class="dis f-c ">
- <text>{{drivingsitem.parentName}}</text>
- <text>{{drivingsitem.projectName}}</text>
- </view>
- <view class="Accident mt-2"
- v-if="drivingsitem.insDrivingIntentionInsuranceSon && drivingsitem.insDrivingIntentionInsuranceSon.length>0">
- <view class="dis a-c j-s">
- <view class="head dis a-c j-c">保险责任</view>
- <view class="head dis a-c j-c">保险金额</view>
- <view class="head dis a-c j-c">保费(元)</view>
- </view>
- <view class="dis a-c j-s"
- v-for="(Sonitem,Sonindex) in drivingsitem.insDrivingIntentionInsuranceSon"
- :key="Sonindex">
- <view class="tr dis a-c j-c"> {{Sonitem.name}}</view>
- <view class="tr dis a-c j-c"> {{Sonitem.amount}}/座</view>
- <view class="tr dis a-c j-c">¥{{Sonitem.premium}}</view>
- </view>
- </view>
- <view class="dis a-c j-s mt-2" style="font-size: 14px;color: #232832;">
- <text>份数</text>
- <text>{{drivingsitem.quantity}}份</text>
- </view>
- <view class="dis a-c j-s mt-2" style="font-size: 14px;color: #232832;">
- <text>总保费</text>
- <text>¥{{drivingsitem.sumPremium?drivingsitem.sumPremium:0}}</text>
- </view>
- </view>
- </view>
- <view class="" v-else>
- </view>
- </view>
- </scroll-view>
- <view class="PlanPopup-btn dis a-c j-c">
- <u-button shape="circle" size="medium" style="margin-right: 50px;"
- @click="genericPlanPopup=false">取消</u-button>
- <u-button type="primary" shape="circle" size="medium"
- style="background: linear-gradient( 90deg, #0052FF 0%, #0D8BFF 100%);"
- @click="confirmPlan">确定方案</u-button>
- </view>
- </view>
- </u-popup>
- <!-- 商业选择方案 -->
- <wyb-popup ref="popupBI" type="bottom" mode="size-fixed" height="900" radius="6" :showCloseIcon="true">
- <view class="popup-content">
- <view class="popHeader d-flex a-center j-center">
- 选择方案
- </view>
- <scroll-view scroll-top="0" scroll-y="true" class="popContent">
- <view class="popContentTitle">{{insureItem.kindName}}</view>
- <view style="color: #999;font-size: 24upx;">{{insureItem.desc}}</view>
- <view class="dis a-c j-s p-3" v-if="['TY2','TY3','TY4'].includes(insureItem.kindCode)">
- <text>自定义次数</text>
- <u-number-box v-model="insureItem.amount" :input-width="100" :input-height="60" :min="0"
- color="#fff" size="30" @change="numberBoxChange"></u-number-box>
- </view>
- <view v-else style="margin-top: 10px;">
- <block v-for="(amt,index) in insureItem.amtList" :key="index">
- <view class="amtSingle" @tap="adjustBIItemLabel(index)"
- :class="(amt.label== insureItem.amountDesc)?'active':''">
- {{amt.label}}
- </view>
- </block>
- </view>
- </scroll-view>
- <view class="popBottom">
- <button type="primary" style="background-color: #0052FF;"
- @tap="adjustBIItemLabelSubmit()">完成</button>
- </view>
- </view>
- </wyb-popup>
- </view>
- </template>
- <script>
- import {
- mapState
- } from "vuex"
- import lsLoading from '@/components/common/ls-loading/ls-loading.vue';
- import wybPopup from '@/components/modules/carInsure/wyb-popup/wyb-popup.vue'
- export default {
- components: {
- wybPopup,
- lsLoading
- },
- computed: {
- ...mapState(['userInfo', 'quotationType']),
- },
- data() {
- return {
- showaaa: false,
- riskList: [], //险种大类
- model: {
- taxRelifFlag: "正常交税",
- taxpayerIdentifier: "身份证",
- relifReason: "",
- taxPaidAreaCode: "",
- },
- //车船税form
- vehicleAndVesselTaxForm: {
- taxRelifFlag: "1", //类型
- identifyNumber: "", //纳税人识别号
- taxpayerIdentifier: "01", //纳税人证件类型
- taxpayerName: "", //纳税人名称
- extendChar2: "", //减免税凭证号
- paidFreeCertificate: "", //完税凭证号
- relifReason: "", //减免税原因
- taxComCode: "", //税务机关代码
- taxComName: "", ///税务机关名称
- taxDocumentDate: "", //完税日期
- taxPaidAreaCode: "", //完税凭证地区代码
- taxRelief: "", //减税比例
- },
- taxRelifFlagoptions: [],
- taxpayerIdentifieroptions: [],
- relifReasonoptions: [],
- taxPaidAreaCodeShow: false, //完税凭证地区
- taxDocumentDateShow: false, //完税凭证填发日期
- taxRelifFlagShow: false, //车船税类型
- taxpayerIdentifierShow: false, //纳税人证件类型
- relifReasonShow: false, //减免税原因代码
- params: {
- year: true, //年
- month: true, //月
- day: true, //日
- hour: true, //时
- minute: true, //分
- second: true, //秒
- },
- jqimmediately: "0",
- jqimmediatelyList: [{
- label: '是',
- value: "1",
- },
- {
- label: '否',
- value: "0",
- },
- ],
- syimmediately: "0",
- syimmediatelyList: [{
- label: '是',
- value: "1",
- },
- {
- label: '否',
- value: "0",
- },
- ],
- jqchecked: false,
- sychecked: false,
- jqstartShow: false,
- jqendShow: false,
- systartShow: false,
- syendShow: false,
- jqstartDate: "",
- jqendDate: "",
- systartDate: "",
- syendDate: "",
- scrollTop: 0,
- carInfo: {},
- ownerInfo: {},
- policyHolderInfo: {},
- insuredPersonInfo: {},
- carInfoPositiveList: [],
- ownerInfoPositiveList: [],
- policyHolderInfoPositiveList: [],
- insuredPersonInfoPositiveList: [],
- transferDateShow: false,
- params1: {
- year: true, //年
- month: true, //月
- day: true, //日
- hour: false, //时
- minute: false, //分
- second: false, //秒
- },
- params2: {
- province: true,
- city: false,
- area: false
- },
- quotableCompanyList: [],
- productId: "",
- animation: 'twinkle', //动画类型
- InsureGuidePopup: false,
- /* 投保指引弹窗*/
- InsureGuideContent: "", // 指引内容
- SelectedPlanId: "2", //已选方案id
- genericPlanPopup: false, //方案选择弹窗
- planDataExpansion: { //方案综合数据
- id: "",
- namesimple: "",
- cnName: "",
- genericPlanList: [], //方案通用列表
- genericPlanInfo: {}, //方案展示信息
- },
- insureItem: {},
- orderno: "", //订单号
- quoteno: "", //报价号
- }
- },
- onShow() {
- },
- async onLoad() {
- this.getDicType("taxRelifFlag"); //车船税类型
- this.getDicType("taxpayerIdentifier"); //纳税人证件类型
- this.getDicType("relifReason"); //减免税原因代码
- this.jqstartDate = this.nextday();
- this.jqendDate = this.oneYearPast(this.jqstartDate);
- this.systartDate = this.nextday();
- this.syendDate = this.oneYearPast(this.jqstartDate);
- const eventChannel = this.getOpenerEventChannel()
- // 监听acceptData事件,获取上一页面通过eventChannel传送到当前页面的数据
- await eventChannel.on('acceptData', (data) => {
- console.log(data);
- this.carInfo = data.carInfo; //车辆信息
- this.ownerInfo = data.ownerInfo; //车主信息
- this.policyHolderInfo = data.policyHolderInfo; //投保人信息
- this.insuredPersonInfo = data.insuredPersonInfo; //被保人信息
- this.carInfoPositiveList = data.carInfoPositiveList; //车辆
- this.ownerInfoPositiveList = data.ownerInfoPositiveList; //车主
- this.policyHolderInfoPositiveList = data.policyHolderInfoPositiveList; //投保
- this.insuredPersonInfoPositiveList = data.insuredPersonInfoPositiveList; //被保人
- this.productId = data.productId; //险种id
- this.riskTypeEchoProcessing(this.productId)
- this.quotableCompanyList = JSON.parse(JSON.stringify(data.quotableCompanyList)); //可报价公司
- this.commpanyList();
- })
- },
- methods: {
- //弹出popup框并显示基本信息
- adjustBIItem(index) {
- var a = {};
- Object.assign(a, this.planDataExpansion.genericPlanInfo.kinds[index])
- this.insureItem = a;
- this.$refs.popupBI.show() // 显示
- },
- //popup内容的label改变
- adjustBIItemLabel(index) {
- this.insureItem.amount = this.insureItem.amtList[index].value;
- this.insureItem.amountDesc = this.insureItem.amtList[index].label;
- },
- jqterms() {
- let file = 'https://sxzgkj.baoxianzhanggui.com/web-api/upload/specification/commercialInsurance.pdf';
- //#ifdef H5
- var win = window.open();
- win.document.write(
- '<body style="margin:0px;"><object data="' +
- file +
- '" type="application/pdf" width="100%" height="100%"><iframe src="' +
- file +
- '" scrolling="no" width="100%" height="100%" frameborder="0" ></iframe></object></body>'
- );
- //#endif
- },
- syterms() {
- let file = 'https://sxzgkj.baoxianzhanggui.com/web-api/upload/specification/compulsoryInsurance.pdf';
- //#ifdef H5
- var win = window.open();
- win.document.write(
- '<body style="margin:0px;"><object data="' +
- file +
- '" type="application/pdf" width="100%" height="100%"><iframe src="' +
- file +
- '" scrolling="no" width="100%" height="100%" frameborder="0" ></iframe></object></body>'
- );
- //#endif
- },
- async individualQuote(item) {
- if (!item.insurancePlanInfo) {
- uni.showToast({
- title: "请选择方案后,在进行报价",
- icon: 'none',
- });
- } else {
- let param = {
- userId: this.userInfo.sysUser.id,
- quoteno: this.quoteno ? this.quoteno : "",
- orderNo: this.orderno ? this.orderno : "",
- riskList: this.riskList,
- carInfo: this.carInfo,
- insuredPersonInfo: this.insuredPersonInfo,
- ownerInfo: this.ownerInfo,
- policyHolderInfo: this.policyHolderInfo,
- vehicleAndVesselTax: this.vehicleAndVesselTaxForm,
- };
- let orders = await this.$http.post('/insurance/order/generateOrder', param);
- if (orders.code == '200') {
- this.orderno = orders.data.orderno;
- this.quoteno = orders.data.quoteno;
- let mergedArray = [];
- let mergedArrayList = mergedArray.concat(this.carInfoPositiveList, this
- .ownerInfoPositiveList, this
- .policyHolderInfoPositiveList, this.insuredPersonInfoPositiveList)
- if (mergedArrayList.length > 0) {
- await this.$http.post('/ins/taskImage/uploadImages', {
- imageList: mergedArrayList,
- quoteNo: this.quoteno,
- })
- }
- this.quotableCompanyList = this.quotableCompanyList.map((ele, index) => {
- if (ele.id == item.id) {
- // 动态调用报价接口
- ele.quoteCode = '1';
- this.ToolClickFun(ele.cnName, index, ele.id);
- }
- return ele
- });
- } else if (orders.code == '1001') {
- this.Generateshow = true;
- } else {
- uni.showToast({
- title: orders.msg,
- icon: 'none',
- });
- }
- }
- },
- async ToolClickFun(MethodName, Parameter, companyId) {
- await this[`${MethodName}`](Parameter, companyId)
- //获取已报价成功个数
- // let filteredObjects = [];
- // this.totalCompanyList.map(ele => {
- // if (ele.quoteCode == 200) {
- // filteredObjects.push(ele.result.companyId)
- // }
- // return ele;
- // })
- // this.comparableQuantity = filteredObjects.length;
- },
- //安盛天平
- ansheng(num, id) {
- this.quoteInsurance(num, id, this
- .quotableCompanyList[num].apiType);
- },
- //爬虫统一报价接口
- async quoteInsurance(num, id, apiType) {
- const companyId = uni.getStorageSync('companyId');
- // let api = apiType === 2 ?
- // "/insurance/crawler/quote" :
- // "";
- let api = '/insurance/crawler/quote';
- let ccidenttype = this.quotableCompanyList[num]
- .cnName;
- let namesimple = this.quotableCompanyList[num]
- .namesimple;
- let isTaxSource = this.quotableCompanyList[num].isTaxSource;
- let params = {
- orderNo: this.orderno,
- companyId: id,
- agreementId: '112',
- kindList: this.quotableCompanyList[num].insurancePlanInfo.kinds,
- riskList: this.riskList,
- isTaxSource: isTaxSource == 1 ? isTaxSource : null,
- accidentalDrivingVo: {},
- systemType: '2'
- };
- if (id = 'GPIC1000000') {
- if (companyId) {
- params.discount = this.quotableCompanyList[num]
- .syAdjustRate;
- params.lastCompanyId = companyId;
- }
- }
- let res = await this.$http.post(`${api}`,
- params);
- switch (namesimple) {
- case '安盛天平':
- case '恒邦财险':
- case '中国人寿':
- case '太平财险':
- case '华农财险':
- case '泰康财险':
- if (res.code == '200') {
- if (res.data.warnMessageList !=
- null && res.data
- .warnMessageList[0] != null &&
- res.data
- .warnMessageList[
- 0] != "") {
- this.quotableCompanyList[num]
- .lastYearMsg = "";
- let dat = res.data
- .warnMessageList;
- dat.map(ele => {
- this.quotableCompanyList[
- num]
- .lastYearMsg +=
- ele + '<br>';
- })
- }
- const updatedItem = {
- ...this.quotableCompanyList[num],
- quoteCode: 200
- };
- this.quotableCompanyList.splice(num, 1, updatedItem);
- this.quotableCompanyList[num].result =
- res.data;
- this.subOrderId = res.data.companyId;
- this.coordinateValue();
- if (res.data.syAdjustRate) {
- this.quotableCompanyList[num].syAdjustRate = res.data.syAdjustRate;
- uni.setStorageSync('companyId', res.data.companyId);
- }
- } else {
- const updatedItem = {
- ...this.quotableCompanyList[num],
- quoteCode: '3'
- };
- this.quotableCompanyList.splice(num, 1, updatedItem);
- this.quotableCompanyList[num].msg =
- res.msg;
- }
- break;
- case '众安财险':
- if (res.code == '200') {
- if (res.data.warnMessageList !=
- null && res.data
- .warnMessageList[0] != null &&
- res.data
- .warnMessageList[
- 0] != "") {
- this.quotableCompanyList[num]
- .lastYearMsg = "";
- let dat = res.data
- .warnMessageList;
- dat.map(ele => {
- this.quotableCompanyList[
- num]
- .lastYearMsg +=
- ele + '<br>';
- })
- }
- const updatedItem = {
- ...this.quotableCompanyList[num],
- quoteCode: 200
- };
- this.quotableCompanyList.splice(num, 1, updatedItem);
- this.quotableCompanyList[num].result =
- res.data;
- this.subOrderId = res.data.companyId;
- this.coordinateValue();
- } else {
- const updatedItem = {
- ...this.quotableCompanyList[num],
- quoteCode: '3'
- };
- this.quotableCompanyList.splice(num, 1, updatedItem);
- this.quotableCompanyList[num].msg =
- res.msg;
- }
- break;
- default:
- break;
- }
- },
- confirmPlan() {
- this.quotableCompanyList.map(val => {
- if (val.id == this.planDataExpansion.id) {
- val.insurancePlanInfo = this.planDataExpansion.genericPlanInfo;
- this.genericPlanPopup = false;
- }
- return val;
- })
- },
- convertedValue(num) {
- if (num < 10000) {
- return num.toString();
- } else if (num < 100000000) {
- return (Math.floor(num / 10000 * 10) / 10) + '万';
- } else {
- return (Math.floor(num / 100000000 * 10) / 10) + '亿';
- }
- },
- riskTypeEchoProcessing(code) {
- this.riskList = [];
- switch (code) {
- case '0330':
- this.riskList.push({
- amount: 0,
- endDate: this.jqendDate,
- instantFlag: "0",
- premium: 0,
- riskCode: "0507",
- startDate: this.jqstartDate,
- })
- break;
- case '034001':
- case '034002':
- this.riskList.push({
- amount: 0,
- endDate: this.syendDate,
- instantFlag: "0",
- premium: 0,
- riskCode: "0510",
- startDate: this.systartDate,
- })
- break;
- case '0330034002':
- case '0330034001':
- this.riskList.push({
- amount: 0,
- endDate: this.jqendDate,
- instantFlag: "0",
- premium: 0,
- riskCode: "0507",
- startDate: this.jqstartDate,
- }, {
- amount: 0,
- endDate: this.syendDate,
- instantFlag: "0",
- premium: 0,
- riskCode: "0510",
- startDate: this.systartDate,
- })
- break;
- }
- console.log(this.riskList);
- },
- togglePlanDetails(index) {
- this.quotableCompanyList[index].planDetailsshow = !this.quotableCompanyList[index]
- .planDetailsshow; // 切换对应项的显示状态
- this.quotableCompanyList = [...this.quotableCompanyList]; // 强制 Vue 重新渲染
- },
- //查看详情
- querydetial(id) {
- this.navigate({
- url: "/pages/carInsure/quoteDetail?companyId=" + id
- },
- "navigateTo", true);
- },
- //报价单
- bjdpreview(id) {
- let pro = this.quotationType.themeCode;
- if (pro == "QD") {
- uni.navigateTo({
- url: "/pages/orders/quotation?companyId=" + id
- })
- } else {
- uni.navigateTo({
- url: "/pages/orders/quotation1?companyId=" + id
- })
- }
- },
- // 显示报错信息
- ErrorMsg(msg, title) {
- uni.showModal({
- title: title + "报价提示",
- content: msg,
- showCancel: false,
- confirmText: "关闭"
- })
- },
- discountErrorMessageMsg(msg, title) {
- let content = msg.replace(/\n/g, "\r\n")
- uni.showModal({
- title: title + "优惠信息",
- content: content,
- showCancel: false,
- confirmText: "关闭"
- })
- },
- //使用此时间
- syncData(item) {
- this.jqstartDate = item.startDateJq ? item
- .startDateJq : this.jqstartDate
- this.jqendDate = item.endDateJq ? item
- .endDateJq : this.endDateJq
- this.systartDate = item.startDateSy ? item
- .startDateSy : this.systartDate
- this.syendDate = item.endDateSy ? item
- .endDateSy : this.syendDate
- uni.showToast({
- title: '时间已替换',
- icon: 'none',
- duration: 1000
- });
- },
- //车船税类型选择
- taxRelifFlagConfirm(val, name) {
- this.vehicleAndVesselTaxForm[name] = val[0].value;
- this.model[name] = val[0].label;
- },
- taxDocumentDateconfirm(e) {
- this.vehicleAndVesselTaxForm.taxDocumentDate = e.year + '-' + e.month + '-' + e.day;
- },
- taxPaidAreaCodeconfirm(e) {
- this.vehicleAndVesselTaxForm.taxPaidAreaCode = e.province.value;
- this.model.taxPaidAreaCode = e.province.label;
- },
- //数据字典
- async getDicType(type) {
- let res = await this.$http.get('/sysDict/dictDetails/' + type);
- this[type + "options"] = res.data.ddList;
- },
- 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;
- },
- systartconfirm(e) {
- this.systartDate = e.year + '-' + e.month + '-' + e.day + ' ' + e.hour + ':' + e.minute + ':' + e.second;
- this.syendDate = this.oneYearPast(this.systartDate)
- },
- syendconfirm(e) {
- this.syendDate = e.year + '-' + e.month + '-' + e.day + ' ' + e.hour + ':' + e.minute + ':' + e.second;
- },
- statusclick(value) {
- this.SelectedPlanId = value;
- let planObj = this.planDataExpansion.genericPlanList.find(item => item.schemeId == value);
- this.planDataExpansion.genericPlanInfo = planObj;
- },
- InsureGuideclick() {
- this.InsureGuidePopup = true;
- },
- async SchemeSelection(item) {
- console.log(item);
- let params = {
- companyId: item.id,
- productId: this.productId,
- seatNum: this.carInfo.seatCount,
- }
- let res = await this.$http.post('/plt/scheme/getCompanySchemeInfo', params);
- let res1 = await this.$http.post('/plt/scheme/getCompanyOptionalSchemeInfo', params);
- if (res.code == '200') {
- this.planDataExpansion.id = item.id;
- this.planDataExpansion.namesimple = item.namesimple;
- this.planDataExpansion.cnName = item.cnName;
- this.planDataExpansion.genericPlanList = [...res.data, res1.data];
- this.planDataExpansion.genericPlanInfo = res.data[0];
- this.SelectedPlanId = res.data[0].schemeId;
- this.genericPlanPopup = true;
- }
- },
- //即使投保时处理时间
- datelyClick(value, name, startDate, endDate) {
- this[name] = value;
- if (value == 1) {
- const date = new Date();
- date.setHours(date.getHours() + 2);
- date.setMinutes(0)
- date.setSeconds(0)
- this[startDate] = this.transformTime(date)
- this[endDate] = this.oneYearPast(date);
- } else {
- this[startDate] = this.nextday();
- this[endDate] = this.oneYearPast(this.jqstartDate);
- }
- },
- //获取保险公司列表
- commpanyList() {
- this.quotableCompanyList.map(ele => {
- ele["result"] = {};
- ele["quoteCode"] = 0;
- ele["checked"] = false;
- ele["msg"] = "";
- ele["lastYearMsg"] = "";
- ele["agreementName"] = "";
- ele["apiType"] = "";
- ele["coefficient"] = "";
- ele["syAdjustRate"] = "";
- ele["selectShow"] = false;
- ele['underwritingDescription'] = "";
- ele['isComparableShow'] = false;
- ele['planDetailsshow'] = false;
- ele['isComparableshowHide'] = false;
- ele['isComparableDisabled'] = false;
- ele['insurancePlanInfo'] = null;
- return ele;
- })
- },
- immediatelyClick(name) {
- this.carInfo[name] = !this.carInfo[name];
- if (name == 'transferFlag') {
- if (this.carInfo[name]) {
- this.carInfo.transferDate = this.carInfo.issueDate;
- } else {
- this.carInfo.transferDate = "";
- }
- }
- },
- toCarInfo() {
- this.navigate({
- url: '/pages/carInsure/Information',
- success: (res) => {
- res.eventChannel.emit(
- "acceptData", {
- carInfo: this
- .carInfo,
- ownerInfo: this
- .ownerInfo,
- policyHolderInfo: this
- .policyHolderInfo,
- insuredPersonInfo: this
- .insuredPersonInfo,
- riskList: this
- .riskList,
- kindList: this
- .kindList,
- carInfoPositiveList: this
- .carInfoPositiveList, //车辆
- ownerInfoPositiveList: this
- .ownerInfoPositiveList, //车主
- policyHolderInfoPositiveList: this
- .policyHolderInfoPositiveList, //投保
- insuredPersonInfoPositiveList: this
- .insuredPersonInfoPositiveList, //被保人
- })
- }
- }, "navigateTo", true);
- },
- //计算输入时间一年后的的前一天(输入的参数为字符串("2019-03-02")最终输出也为日期的字符串)
- oneYearPast(time) {
- var date = new Date(time);
- date.setSeconds(date.getSeconds() - 1);
- date.setFullYear(date.getFullYear() + 1); //一年后
- date.setTime(date.getTime()); //一年后的前一天
- var strYear = date.getFullYear();
- var strDay = date.getDate();
- var strMonth = date.getMonth() + 1;
- var hh = date.getHours();
- var minutes = date.getMinutes(); // 分
- var Seconds = date.getSeconds();
- if (hh < 10) {
- hh = "0" + hh;
- }
- if (minutes < 10) {
- minutes = "0" + minutes;
- }
- if (Seconds < 10) {
- Seconds = "0" + Seconds;
- }
- if (strMonth < 10) {
- strMonth = "0" + strMonth;
- }
- if (strDay < 10) {
- strDay = "0" + strDay;
- }
- var datastr =
- strYear + "-" + strMonth + "-" + strDay + " " + hh + ":" + minutes + ":" + Seconds;
- return datastr;
- },
- //次日
- nextday() {
- var date = new Date();
- date.setFullYear(date.getFullYear());
- date.setTime(date.getTime() + 24 * 60 * 60 * 1000);
- var strYear = date.getFullYear();
- var strDay = date.getDate();
- var strMonth = date.getMonth() + 1;
- var hh = date.getHours();
- if (hh < 10) {
- hh = "0" + hh;
- }
- if (strMonth < 10) {
- strMonth = "0" + strMonth;
- }
- if (strDay < 10) {
- strDay = "0" + strDay;
- }
- var datastr = strYear + "-" + strMonth + "-" + strDay + " " + "00:00:00";
- return datastr;
- },
- //时间转换
- transformTime(date) {
- var d = new Date(date);
- var strYear = d.getFullYear();
- var strMonth = d.getMonth() + 1;
- var strDay = d.getDate();
- var hh = d.getHours();
- var minutes = d.getMinutes(); // 分
- var Seconds = d.getSeconds();
- if (hh < 10) {
- hh = "0" + hh;
- }
- if (minutes < 10) {
- minutes = "0" + minutes;
- }
- if (Seconds < 10) {
- Seconds = "0" + Seconds;
- }
- if (strMonth < 10) {
- strMonth = "0" + strMonth;
- }
- if (strDay < 10) {
- strDay = "0" + strDay;
- }
- var datetime =
- strYear + "-" + strMonth + "-" + strDay + " " + hh + ":" + minutes + ":" + Seconds;
- return datetime;
- },
- toChinesNum(num) {
- let overWan = Math.floor(num / 10000);
- let result = overWan + "万";
- return result;
- },
- }
- }
- </script>
- <style lang="scss" scoped>
- @import '@/style/mixin.scss';
- .page {
- background: #F8FAFE;
- padding: 16px 16px 100px 16px;
- }
- .sum {
- color: #0052FF;
- font-size: 14px;
- font-weight: bold;
- }
- .scroll-Y {
- height: 600px;
- }
- .scroll-view-item {
- height: 300rpx;
- line-height: 300rpx;
- text-align: center;
- font-size: 36rpx;
- }
- .modelformcss {
- padding: 5px 15px;
- }
- .PlanPopup-btn {
- width: 100%;
- height: 48px;
- background: #FFFFFF;
- box-shadow: 0px -2px 4px 0px rgba(0, 0, 0, 0.05);
- }
- .Plancontent {
- padding: 8px;
- .title {
- color: #232832;
- font-size: 15px;
- font-weight: bold;
- ::before {
- content: "丨";
- width: 10px;
- height: 10px;
- color: #0052FF;
- }
- }
- .Accident {
- width: 100%;
- border: 1px solid #0874FF;
- border-radius: 6px;
- overflow: hidden;
- .head {
- width: 33.33%;
- height: 40px;
- background-color: #0874FF;
- color: #FFFFFF;
- &:nth-child(1) {
- width: 50%;
- }
- }
- .tr {
- width: 33.33%;
- height: 50px;
- color: #232832;
- border: 1rpx solid #0874FF;
- font-size: 24rpx;
- color: #232832;
- &:nth-child(1) {
- width: 50%;
- background: rgba(8, 116, 255, 0.05);
- }
- &:nth-child(3) {
- background: rgba(8, 116, 255, 0.05);
- }
- }
- }
- .insuranceType {
- margin: 5px 15px;
- background: #F2F6FF;
- border-radius: 10px;
- >view {
- padding: 8px;
- border-bottom: 1px solid #f2f2f2;
- color: #232832;
- }
- }
- .terms {
- color: #FFFFFF;
- background: linear-gradient(90deg, #FF4D4D 0%, #FF784D 100%);
- border-radius: 4px 4px 4px 4px;
- }
- }
- .quotePlan {
- background: #FFFFFF;
- box-shadow: 0px 4px 10px 0px #DAE3F4;
- border-radius: 6px;
- }
- .status-data {
- width: auto;
- padding: 2px 8px;
- margin-left: 10px;
- font-size: 12px;
- border: 1px solid #CDCDCD;
- cursor: pointer;
- text-align: center;
- line-height: 25px;
- }
- .active {
- position: relative;
- background: rgba(0, 82, 255, 0.1);
- color: #0052FF;
- border: 1px solid #0052FF !important;
- font-weight: 700;
- }
- .active::before {
- content: "";
- position: absolute;
- top: 0;
- left: 0;
- width: 10px;
- height: 10px;
- background-image: url("/static/image/car-insure/before.png");
- background-size: cover;
- }
- .active1 {
- position: relative;
- background: rgba(255, 86, 0, 0.1);
- color: #FF5600;
- border: 1px solid #FF5600;
- font-weight: 700;
- }
- .active1::before {
- content: "";
- position: absolute;
- top: 0;
- left: 0;
- width: 10px;
- height: 10px;
- background-image: url("/static/image/car-insure/before1.png");
- background-size: cover;
- }
- .car-header {
- width: 100%;
- height: auto;
- background: linear-gradient(0, #FFFFFF 0%, rgba(241, 246, 255, 0.8) 100%);
- box-shadow: 0px 4px 10px 0px rgba(158, 173, 229, 0.1);
- border-radius: 6px;
- padding: 8px 15px;
- position: relative;
- .head-name {
- margin-left: 10px;
- &>text {
- font-weight: bold;
- font-size: 14px;
- color: #232832;
- }
- .name1 text {
- font-size: 14px;
- color: #333333;
- }
- }
- .carJump {
- position: absolute;
- top: 5px;
- right: 10px;
- font-size: 14px;
- color: #0052FF;
- }
- }
- /* 报价公司Start */
- .quoteCompany {
- box-sizing: border-box;
- /* background:#FFFFFF; */
- position: relative;
- border-radius: 20upx;
- }
- .quoteCompany .header {
- height: 80upx;
- }
- .quoteCompany .header .title {
- font-size: 30upx;
- font-weight: bold;
- }
- .quoteCompany .header .title .icon {
- color: rgba($themeColor, 0.6);
- margin-left: 15upx;
- }
- .quoteCompanyItem {
- margin-bottom: 20upx;
- background: #FFFFFF;
- border-radius: 6px;
- box-shadow: 0px 4px 10px 0px #DAE3F4;
- box-sizing: border-box;
- cursor: pointer;
- }
- .quoteCompanyItem .top {
- position: relative;
- padding: 8px;
- }
- .quoteCompanyItem .top .companyIcon {
- border-radius: 6px 6px 0 0;
- flex-shrink: 0;
- }
- .insuranceGuide {
- background: rgba(255, 86, 0, 0.05);
- border-radius: 2px;
- font-weight: bold;
- font-size: 12px;
- color: #FF5600;
- padding: 0 4px;
- }
- .planDetails {
- width: 100%;
- height: auto;
- background: #F9F9F9;
- border-radius: 6px;
- padding: 6px;
- .headers {
- >image {
- width: 14px;
- height: 14px;
- }
- >text {
- font-size: 12px;
- color: #4B6FBA;
- margin-left: 10px;
- }
- }
- }
- .content {
- padding: 0 8px;
- margin-bottom: 5px;
- }
- .quoteCompanyItem .top .companyIcon image {
- width: 20px;
- height: 20px;
- margin-right: 10px;
- }
- .quoteCompanyItem .top .Premium {
- padding: 10px 8px;
- background-color: #FFF6F2;
- border-radius: 4px;
- .price {
- font-size: 12px;
- color: #FF5600;
- text {
- margin-right: 5px;
- }
- }
- .time {
- font-size: 12px;
- color: #2D4D89;
- >text {
- margin-right: 5px;
- }
- }
- }
- .quoteCompanyItem .top .quotebtn {
- width: 100%;
- height: auto;
- >view {
- width: 50%;
- font-size: 14px;
- padding: 4px 0;
- }
- }
- .lastyear {
- view {
- font-size: 12px;
- }
- .left {
- border: 1px solid #229805;
- border-radius: 2px;
- padding: 1px 6px;
- color: #229805;
- }
- .right {
- border-radius: 2px;
- padding: 1px 6px;
- border: 1px solid #FF5600;
- color: #FF5600;
- }
- }
- .quoteCompanyItem .top .companyName {
- font-size: 14px;
- font-weight: bold;
- color: #232832;
- }
- .quoteCompanyItem .top .totalMoney {
- font-size: 40upx;
- font-weight: bold;
- color: $themeColor;
- position: absolute;
- top: -15upx;
- right: 0;
- }
- .quoteCompanyItem .top .tip {
- font-size: 26upx;
- font-weight: bold;
- color: #999;
- position: absolute;
- top: 0upx;
- right: 0;
- }
- .sum {
- color: #0052FF;
- font-size: 14px;
- font-weight: bold;
- }
- .quoteCompanyItem .top .signs {
- width: 500upx;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
- }
- .quoteCompanyItem .top .sign {
- height: 40upx;
- margin: 0upx 10upx;
- background: rgba($themeColor, 0.6);
- color: $themeColor;
- font-size: 20upx;
- margin-right: 10upx;
- border-radius: 6upx;
- padding: 0 2px;
- line-height: 40upx;
- }
- .jqsign {
- height: 20px;
- background: rgba(255, 177, 177, 0.55);
- color: #fd0a0a;
- font-size: 20upx;
- border-radius: 6upx;
- padding: 0 10px;
- box-sizing: border-box;
- }
- .quoteCompanyItem .body {
- padding: 20upx 0;
- flex-wrap: wrap;
- }
- .quoteCompanyItem .body>view {
- flex-shrink: 0;
- width: 50%;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
- }
- .quoteCompanyItem .body .icon-exchange {
- margin-right: 15upx;
- display: inline-block;
- }
- /* 报价公司End */
- /* 整个页面的统一样式 End */
- .plan-ins-title {
- color: #232832;
- font-size: 15px;
- font-weight: bold;
- padding: 8px;
- }
- .immediately {
- padding: 19rpx 15px;
- .common-ins-cell:last-child {
- border-bottom: none;
- }
- }
- .common-title {
- font-size: 32upx;
- font-weight: bold;
- }
- .common-ins-cell {
- font-size: 30upx;
- padding: 0upx 30upx;
- height: 90upx;
- border-bottom: 1px solid #eee;
- }
- /* 交强险和商业险弹出框Start */
- .popup-content {
- position: relative;
- }
- .popHeader {
- box-sizing: border-box;
- font-size: 32upx;
- font-weight: bold;
- height: 120upx;
- border-bottom: 1px solid #eee;
- }
- .popup-content .popContent {
- padding: 0upx 30upx;
- height: 620upx;
- box-sizing: border-box;
- }
- .popup-content .popContent .popContentTitle {
- font-weight: bold;
- font-size: 32upx;
- margin: 20upx 0upx 5upx 0upx;
- }
- .popup-content .popContent .amtSingle {
- width: 22%;
- box-sizing: border-box;
- display: inline-block;
- text-align: center;
- vertical-align: middle;
- border: 1px solid #eee;
- margin: 0 15rpx 15rpx 0;
- }
- .popup-content .popBottom {
- margin: 30upx 30upx 0 30upx;
- padding-bottom: 30upx;
- }
- /* 交强险和商业险弹出框End */
- </style>
|