premiumCalc.vue 152 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434
  1. <template>
  2. <view class="">
  3. <image src="/static/image/car-insure/Quotablebanner.png" mode=""
  4. style="width: 100%;height: 110px;position: absolute;"></image>
  5. <view class="page">
  6. <view class="car-header dis a-c">
  7. <image src="/static/image/car-insure/Group.png" mode="" style="width: 40px;height: 40px;"></image>
  8. <view class="dis f-c head-name">
  9. <text>{{carInfo.licenseNo}} <text style="color: rgba(35,40,50,0.65);">丨</text> <text
  10. style="font-weight: 400;"> {{insuredPersonInfo.name}} (被保人)</text> </text>
  11. <view class="name1">
  12. <text>{{carInfo.modelcname}}</text>
  13. </view>
  14. </view>
  15. <view class="carJump" @tap="toCarInfo">修改信息</view>
  16. </view>
  17. <view class="" style="position: relative;">
  18. <view class=" dis f-c" v-if="['0330','0330034002','0330034001'].includes(productId)">
  19. <text class="plan-ins-title">交强险</text>
  20. <view class="quotePlan">
  21. <view class=" dis a-c j-s modelformcss">
  22. <text>即时投保</text>
  23. <view class="dis a-c j-c">
  24. <view class="status-data" :class="item.value==jqimmediately? 'active':''"
  25. v-for="(item,index) in jqimmediatelyList"
  26. @tap="datelyClick(item.value,'jqimmediately','jqstartDate','jqendDate')"
  27. :key="index">
  28. {{item.label}}
  29. </view>
  30. </view>
  31. </view>
  32. <u-form ref="uForm" label-width="120px">
  33. <u-form-item label="交强险投保日期" class="modelformcss">
  34. <u-input type="select" :select-open="jqstartShow" :custom-style="{textAlign:'right'}"
  35. v-model="jqstartDate" placeholder="请选择开始时间" @click="jqstartShow = true"></u-input>
  36. <u-picker v-model="jqstartShow" mode="time" :params="params"
  37. @confirm="jqstartconfirm"></u-picker>
  38. </u-form-item>
  39. <u-form-item label="交强险终保日期" class="modelformcss">
  40. <u-input type="select" :select-open="jqendShow" :custom-style="{textAlign:'right'}"
  41. v-model="jqendDate" placeholder="请选择结束时间" @click="jqendShow = true"></u-input>
  42. <u-picker v-model="jqendShow" mode="time" :params="params"
  43. @confirm="jqendconfirm"></u-picker>
  44. </u-form-item>
  45. </u-form>
  46. </view>
  47. </view>
  48. <view class=" dis f-c " v-if="['034001','0330034002','0330034001'].includes(productId)">
  49. <text class="plan-ins-title">商业险</text>
  50. <view class="quotePlan">
  51. <view class=" dis a-c j-s modelformcss">
  52. <text>即时投保</text>
  53. <view class="dis a-c j-c">
  54. <view class="status-data" :class="item.value==syimmediately? 'active':''"
  55. v-for="(item,index) in syimmediatelyList"
  56. @tap="datelyClick(item.value,'syimmediately','systartDate','syendDate')"
  57. :key="index">
  58. {{item.label}}
  59. </view>
  60. </view>
  61. </view>
  62. <u-form ref="uForm" label-width="120px">
  63. <u-form-item label="商业险投保日期" class="modelformcss">
  64. <u-input type="select" :select-open="systartShow" :custom-style="{textAlign:'right'}"
  65. v-model="systartDate" placeholder="请选择开始时间" @click="systartShow = true"></u-input>
  66. <u-picker v-model="systartShow" mode="time" :params="params"
  67. @confirm="systartconfirm"></u-picker>
  68. </u-form-item>
  69. <u-form-item label="商业险终保日期" class="modelformcss">
  70. <u-input type="select" :select-open="syendShow" :custom-style="{textAlign:'right'}"
  71. v-model="syendDate" placeholder="请选择结束时间" @click="syendShow = true"></u-input>
  72. <u-picker v-model="syendShow" mode="time" :params="params"
  73. @confirm="syendconfirm"></u-picker>
  74. </u-form-item>
  75. </u-form>
  76. </view>
  77. </view>
  78. </view>
  79. <view class=" dis a-c j-s mt-3" style="position: relative;">
  80. <view style="color:#FF5600;font-size: 15px;font-weight: bold;">投保注意:</view>
  81. <view class="dis a-c f-wrap">
  82. <view class="status-data" :class="carInfo.transferFlag? 'active1':''"
  83. @tap="immediatelyClick('transferFlag')">
  84. 过户车
  85. </view>
  86. <view class="status-data" :class="carInfo.transferFlagBi? 'active1':''"
  87. @tap="immediatelyClick('transferFlagBi')">
  88. 商业险过户
  89. </view>
  90. <view class="status-data" :class="carInfo.outOfInsurance? 'active1':''"
  91. @tap="immediatelyClick('outOfInsurance')">
  92. 脱保
  93. </view>
  94. <view class="status-data" :class="carInfo.usedCar? 'active1':''" @tap="immediatelyClick('usedCar')">
  95. 二手车
  96. </view>
  97. </view>
  98. </view>
  99. <view class="quotePlan dis a-c j-s mt-2 " style="padding: 5px 10px;" v-if="carInfo.transferFlag">
  100. <view>转移登记日期:</view>
  101. <u-input type="select" :select-open="transferDateShow" :custom-style="{textAlign:'right'}"
  102. v-model="carInfo.transferDate" @click="transferDateShow = true" style="width: 100px;"></u-input>
  103. <u-picker v-model="transferDateShow" mode="time" :params="params1"
  104. @confirm="transferconfirm"></u-picker>
  105. </view>
  106. <view class="quoteCompany mt-3">
  107. <view class="header dis a-c">
  108. <view class="title d-flex">保险公司</view>
  109. <!-- <view class="">
  110. <u-checkbox v-model="Selectchecked" @change="SelectAll($event)"
  111. active-color="rgb(250, 53, 52)">全选</u-checkbox>
  112. </view> -->
  113. </view>
  114. <block v-for="(totalitem,totalindex) in quotableCompanyList" :key="totalindex">
  115. <template>
  116. <view class="quoteCompanyItem dis f-c j-s">
  117. <view class="top dis f-c">
  118. <view class="companyIcon dis j-s a-c mb-2">
  119. <view class="dis a-c">
  120. <view class="" @click.stop>
  121. <u-checkbox @change="priceComparisonChange(totalindex,totalitem)"
  122. v-if="totalitem.isComparableshowHide"
  123. v-model="totalitem.isComparableShow" active-color="#23C1CB"
  124. :disabled='totalitem.isComparableDisabled'></u-checkbox>
  125. </view>
  126. <image :src="totalitem.logo"></image>
  127. <view class="companyName">{{totalitem.namesimple}}</view>
  128. </view>
  129. <view class="insuranceGuide dis a-c j-c" @click.stop="InsureGuideclick(totalitem)">
  130. 投保指引
  131. </view>
  132. <ls-loading v-if="totalitem.quoteCode ==1" text="掌柜正在为您报价,请稍等......"
  133. :animation="animation" fontSize="22" />
  134. <!-- 价格 -->
  135. <view class="dis a-c" v-if="totalitem.quoteCode=='200'">
  136. <view class="dis a-c" style="margin-right: 10px;"
  137. v-if="totalitem.result.feeDisplay">
  138. <text style="color: #FF4D4D;font-size: 12px;"
  139. v-if="totalitem.result.sumExportFee">{{totalitem.result.feeView?'掌柜科技币':'优惠金额¥'}}{{totalitem.result.sumExportFee}}</text>
  140. </view>
  141. <text class="sum">¥{{totalitem.result.sumPermium}}</text>
  142. </view>
  143. <text v-if="totalitem.quoteCode=='3'" class="sum"
  144. style="color: #999;font-size: 12px;"
  145. @tap.stop.prevent="ErrorMsg(totalitem.msg,totalitem.namesimple)">报价失败,查看原因</text>
  146. </view>
  147. <view class="Premium dis f-c mb-2" v-if="totalitem.quoteCode=='200'">
  148. <view class="dis price" v-if="totalitem.result.feeNoDescription">
  149. <text>该车未匹配销管费用,不建议投保!</text>
  150. <u-icon name="chat-fill" color="#ff0000" size="40"
  151. @click="discountErrorMessageMsg(totalitem.result.feeNoDescription,totalitem.namesimple)"></u-icon>
  152. </view>
  153. <view class="dis a-c f-wrap price">
  154. <text
  155. v-if="totalitem.result.jqPremium">交强险:¥{{totalitem.result.jqPremium}}</text>
  156. <text
  157. v-if="totalitem.result.syPremium">商业险:¥{{totalitem.result.syPremium}}</text>
  158. <text
  159. v-if="totalitem.result.taxAmount">车船税:¥{{totalitem.result.taxAmount}}</text>
  160. <text
  161. v-if="totalitem.result.jyPremium">驾意险:¥{{totalitem.result.jyPremium}}</text>
  162. </view>
  163. <view class="dis a-c f-wrap price" style="font-size: 20rpx;color: #FF4D4D;"
  164. v-if="totalitem.result.feeDisplay">
  165. <text>{{totalitem.result.feeView?'掌柜科技币:【':'优惠金额:【'}}
  166. <text
  167. v-if="totalitem.result.jqPremium">交强险:{{totalitem.result.jqExportFee?totalitem.result.jqExportFee:'无'}}</text>
  168. <text
  169. v-if="totalitem.result.syPremium">商业险:{{totalitem.result.syExportFee?totalitem.result.syExportFee:'无'}}</text>
  170. <text
  171. v-if="totalitem.result.jyPremium">驾意险:{{totalitem.result.noExportFee?totalitem.result.noExportFee:"无"}}</text>
  172. 】</text>
  173. </view>
  174. <view class="dis a-c j-s ">
  175. <view class="dis f-c time">
  176. <text
  177. v-if="totalitem.result.jqPremium">交强起保时间:{{totalitem.result.startDateJq}}
  178. </text>
  179. <text
  180. v-if="totalitem.result.jqPremium">交强终保时间:{{totalitem.result.endDateJq}}
  181. </text>
  182. <text
  183. v-if="totalitem.result.startDateSy">商业起保时间:{{totalitem.result.startDateSy}}
  184. </text>
  185. <text
  186. v-if="totalitem.result.startDateSy">商业终保时间:{{totalitem.result.endDateSy}}
  187. </text>
  188. </view>
  189. <image src="/static/image/car-insure/Group30.png" mode=""
  190. style="width: 14px;height: 14px;" @click="syncData(totalitem.result)">
  191. </image>
  192. </view>
  193. <view class="dis a-c f-wrap time">
  194. <text v-if="totalitem.namesimple == '永诚财险'">光博分:{{ totalitem.result.ilogPreUdwMess ?
  195. totalitem.result.ilogPreUdwMess : '无' }}</text>
  196. <text v-else>评分:{{ totalitem.result.ilogPreUdwMess ?
  197. totalitem.result.ilogPreUdwMess : '无' }}</text>
  198. <text v-if="totalitem.result.jqScore">交强类型评分:{{ totalitem.result.jqScore ?
  199. totalitem.result.jqScore : '无' }}</text>
  200. <text v-if="totalitem.result.syScore">商业类型评分:{{ totalitem.result.syScore ?
  201. totalitem.result.syScore : '无' }}</text>
  202. <text v-if="totalitem.result.lossRation">总赔付率:{{ totalitem.result.lossRation ?
  203. totalitem.result.lossRation : '无' }}</text>
  204. <text v-if="totalitem.result.jqLossRation">交强赔付率:{{ totalitem.result.jqLossRation ?
  205. totalitem.result.jqLossRation : '无' }}</text>
  206. <text v-if="totalitem.result.syLossRation">商业赔付率:{{ totalitem.result.syLossRation ?
  207. totalitem.result.syLossRation : '无' }}</text>
  208. <text
  209. v-if="totalitem.namesimple == '紫金财险'">鼎然-车辆风险评分:{{totalitem.result.ubiPredictedInfoScore ?
  210. totalitem.result.ubiPredictedInfoScore : '无'}}</text>
  211. <text v-if="totalitem.result.jqRenewal">交强续保:{{ totalitem.result.jqRenewal ?
  212. totalitem.result.jqRenewal : '无' }}</text>
  213. <text v-if="totalitem.result.syRenewal">商业续保:{{ totalitem.result.syRenewal ?
  214. totalitem.result.syRenewal : '无' }}</text>
  215. <text v-if="totalitem.result.jqClaims">交强出险次数:{{ totalitem.result.jqClaims ?
  216. totalitem.result.jqClaims : '无' }}</text>
  217. <text v-if="totalitem.result.syClaims">商业出险次数:{{ totalitem.result.syClaims ?
  218. totalitem.result.syClaims : '无' }}</text>
  219. </view>
  220. <template v-if="totalitem.result.iszdj !=null && totalitem.result.iszdj!=''">
  221. <text v-if="totalitem.result.iszdj==0" style="color: red;">假单交</text>
  222. <text v-if="totalitem.result.iszdj==1" style="color: red;">真单交</text>
  223. </template>
  224. <view class="dis a-c j-end lastyear">
  225. <view class=" left dis j-c a-c" v-if="totalitem.lastYearMsg"
  226. @click="YearMsg(totalitem.lastYearMsg,totalitem.namesimple)">
  227. <text>上年信息</text>
  228. </view>
  229. <view class=" right ml-2 dis j-c a-c" v-if='totalitem.result.predictInfo'
  230. @click="preUnderwriting(totalitem.result.predictInfo)">
  231. <text>预核保信息</text>
  232. </view>
  233. <u-button class="ml-2" type="error" size="mini"
  234. :custom-style="{borderRadius:'2px'}"
  235. style="background: linear-gradient( 90deg, #FF4D4D 0%, #FF784D 100%);"
  236. @click="bjdpreview(totalitem.result.companyId)">报价单</u-button>
  237. <u-button class="ml-2" type="primary" size="mini"
  238. :custom-style="{borderRadius:'2px'}"
  239. style="background: linear-gradient( 90deg, #0052FF 0%, #0D8BFF 100%);"
  240. @click="querydetial(totalitem.result.companyId)">查看详情</u-button>
  241. </view>
  242. </view>
  243. <view class="planDetails mb-2 dis f-c" v-show="totalitem.insurancePlanInfo">
  244. <view class="headers dis j-c a-c" @tap="togglePlanDetails(totalindex)">
  245. <image
  246. :src="totalitem.planDetailsshow?'/static/image/car-insure/DoubleLeft1.png':'/static/image/car-insure/DoubleLeft.png'"
  247. mode=""></image>
  248. <text>{{totalitem.planDetailsshow?'收起':'展开'}}方案详情</text>
  249. </view>
  250. <view v-if="totalitem.planDetailsshow">
  251. <view style="padding: 5px;">
  252. <view class="selectedCoverage dis a-c j-s">
  253. <view class="title-before"></view>
  254. <text class="title1">已选险种</text>
  255. <view class="product dis a-c j-s">
  256. <image src="../../static/image/car-insure/duigou.png" mode=""
  257. style="width: 15px;height: 15px;"></image>
  258. <text style="font-size: 14px;color: #FF5600;">{{productName}}</text>
  259. </view>
  260. </view>
  261. </view>
  262. <view class="Plancontent dis j-s " style="padding:0;">
  263. <text class="title mb-1">车船税</text>
  264. <text>{{model.taxRelifFlag}}</text>
  265. </view>
  266. <view class="Plancontent dis f-c " style="padding:0;"
  267. v-if="['0330','0330034002','0330034001'].includes(productId)">
  268. <view class="dis j-s a-c">
  269. <text class="title mb-1">交强险</text>
  270. <u-button type="primary"
  271. style="background: linear-gradient(90deg, #FF4D4D 0%, #FF784D 100%);"
  272. size="mini" @click="jqterms">交强条款</u-button>
  273. </view>
  274. <text style="margin-left: 10px;">{{jqstartDate}}-{{jqendDate}} </text>
  275. <u-table border-color="#E3E9F8">
  276. <u-tr class="jq">
  277. <u-th width="70%"
  278. style="text-align: left;padding: 5px 10px !important;">保险产品
  279. </u-th>
  280. <u-th>总计(元) </u-th>
  281. </u-tr>
  282. <u-tr class="jq">
  283. <u-td width="70%"
  284. style="text-align: left;padding: 5px 10px !important;">
  285. <view class="dis a-c">
  286. <view class="circle dis a-c j-c"></view>
  287. <text style="margin-left: 10px;"> 交通事故强制责任险</text>
  288. </view>
  289. </u-td>
  290. <u-td>{{totalitem.result.jqPremium?'¥'+totalitem.result.jqPremium:'-'}}</u-td>
  291. </u-tr>
  292. </u-table>
  293. </view>
  294. <view class="Plancontent dis f-c " style="padding: 0;"
  295. v-if="['034001','0330034002','0330034001'].includes(productId)">
  296. <view class="dis j-s a-c">
  297. <text class="title mb-1">商业险</text>
  298. <u-button type="primary"
  299. style="background: linear-gradient(90deg, #FF4D4D 0%, #FF784D 100%);"
  300. size="mini" @click="syterms">商业条款</u-button>
  301. </view>
  302. <text style="margin-left: 10px;">{{systartDate}}-{{syendDate}} </text>
  303. <u-table border-color="#E3E9F8"
  304. v-if="totalitem.insurancePlanInfo.kinds.length>0">
  305. <u-tr class="sy">
  306. <u-th width="50%"
  307. style="text-align: left;padding: 5px 10px !important">险种
  308. </u-th>
  309. <u-th>保额 </u-th>
  310. <u-th>保费(元) </u-th>
  311. </u-tr>
  312. <u-tr v-for="(item,index) in totalitem.insurancePlanInfo.kinds"
  313. :key="index">
  314. <u-td width="50%"
  315. style="text-align: left;padding: 5px 10px !important">
  316. <view class="dis a-c">
  317. <view class="circle dis a-c j-c"></view>
  318. <text style="margin-left: 10px;">{{item.kindName}}</text>
  319. </view>
  320. </u-td>
  321. <u-td
  322. v-if="['A'].includes(item.kindCode)">{{item.amount!='1'?item.amount:'投保'}}</u-td>
  323. <u-td
  324. v-else-if="['D4', 'SY_FJ_YBW2'].includes(item.kindCode)">{{convertedValue(item.unitAmount)}}</u-td>
  325. <u-td
  326. v-else-if="['MJ1', 'MJ2', 'MJ3', 'MJ4'].includes(item.kindCode)">{{item.deductibleRate}}%</u-td>
  327. <u-td
  328. v-else-if="['TY1', 'TY2', 'TY3', 'TY4'].includes(item.kindCode)">{{item.serviceTimes}}次</u-td>
  329. <u-td v-else>{{convertedValue(item.amount)}}</u-td>
  330. <u-td>{{item.coveragePremium?item.coveragePremium:'-'}}</u-td>
  331. </u-tr>
  332. </u-table>
  333. </view>
  334. <view class="Plancontent dis f-c " style="padding: 0;"
  335. v-if=" totalitem.insurancePlanInfo.drivingList && totalitem.insurancePlanInfo.drivingList.length>0 ">
  336. <text class="title mb-1">意外险</text>
  337. <view class="policyInfo"
  338. v-for="(drivingsitem,risksindex) in totalitem.insurancePlanInfo.drivingList"
  339. :key="risksindex">
  340. <text class="tagHeader dis a-c">
  341. <text>{{drivingsitem.alias}}
  342. <view class="tag"></view>
  343. </text>
  344. </text>
  345. <u-table border-color="#E3E9F8" class="mt-2"
  346. v-if="drivingsitem.insDrivingIntentionInsuranceSon && drivingsitem.insDrivingIntentionInsuranceSon.length>0">
  347. <u-tr class="sy">
  348. <u-th width="50%"
  349. style="text-align: left;padding: 5px 10px !important">保险责任</u-th>
  350. <u-th>保额</u-th>
  351. <u-th>保费(元)</u-th>
  352. </u-tr>
  353. <view class="dis">
  354. <view class="accident dis f-c">
  355. <view class="diss dis"
  356. v-for="(Sonitem,Sonindex) in drivingsitem.insDrivingIntentionInsuranceSon"
  357. :key="Sonindex">
  358. <view style="width: 67%;padding: 5px 10px "
  359. class="boss">
  360. <view class="dis a-c ">
  361. <view class="circle dis a-c j-c"></view>
  362. <view style="margin-left: 5px;width: 80%;"
  363. class="dis j-start">
  364. {{Sonitem.name}}
  365. </view>
  366. </view>
  367. </view>
  368. <view class="boss dis a-c j-c" style="width: 33%;">
  369. {{Sonitem.amount}}
  370. </view>
  371. </view>
  372. </view>
  373. <view class="right dis j-c a-c">
  374. {{drivingsitem.sumPremium}}
  375. </view>
  376. </view>
  377. </u-table>
  378. <u-table border-color="#E3E9F8" v-if="drivingsitem.alias">
  379. <u-tr class="sy">
  380. <u-th>座位数</u-th>
  381. <u-th>每份</u-th>
  382. <u-th>份数</u-th>
  383. <u-th>总计</u-th>
  384. </u-tr>
  385. <u-tr>
  386. <u-td>{{carInfo.seatCount}}</u-td>
  387. <u-td>{{drivingsitem.sumPremium}}/每份</u-td>
  388. <u-td>{{drivingsitem.quantity}}份</u-td>
  389. <u-td>{{drivingsitem.sumPremium * drivingsitem.quantity}}</u-td>
  390. </u-tr>
  391. </u-table>
  392. </view>
  393. </view>
  394. <view class="Plancontent dis f-c policyInfo " style="padding: 0;"
  395. v-if="totalitem.editingDto && totalitem.result.jyPremium && totalitem.insurancePlanInfo.drivingList.length==0 ">
  396. <text class="title mb-1">意外险</text>
  397. <view class=" ">
  398. <text class="tagHeader dis a-c" v-if="totalitem.result.jyName">
  399. <text>{{totalitem.result.jyName}}
  400. <view class="tag"></view>
  401. </text>
  402. </text>
  403. <u-table border-color="#E3E9F8" v-if="totalitem.result.jyName">
  404. <u-tr class="sy">
  405. <u-th>座位数</u-th>
  406. <u-th>每份</u-th>
  407. <u-th>份数</u-th>
  408. <u-th>总计</u-th>
  409. </u-tr>
  410. <u-tr>
  411. <u-td>{{carInfo.seatCount}}</u-td>
  412. <u-td>{{totalitem.result.jyPremium / totalitem.result.jyQuantity}}/每份</u-td>
  413. <u-td>{{totalitem.result.jyQuantity}}份</u-td>
  414. <u-td>{{totalitem.result.jyPremium}}</u-td>
  415. </u-tr>
  416. </u-table>
  417. </view>
  418. </view>
  419. </view>
  420. </view>
  421. <view class=" dis j-s a-c">
  422. <button type="primary" size="mini"
  423. style="background:#E6EEFF;color:#0052FF; width: 45%;"
  424. @tap="SchemeSelection(totalitem)">方案选择</button>
  425. <button type="primary" size="mini"
  426. style="background:#FFEFE6;color: #FF5600; width: 45%;"
  427. @tap="individualQuote(totalitem)">单独报价</button>
  428. </view>
  429. <view class="dis f-c mt-2" v-if="totalitem.namesimple=='国任财险'">
  430. <view class="dis a-c j-s">
  431. <text>扩展内容</text>
  432. <u-button type="primary" size="mini" style="background: linear-gradient( 90deg, #FF4D4D 0%, #FF784D 100%);
  433. border-radius:2px;" @tap="specialAgreementSelection(totalitem.id)">特约选择</u-button>
  434. </view>
  435. <view v-if="guoRenSpecialAgreementVo.length>0"
  436. style="background-color: #FFF7F6;border-radius: 10px;" class="p-1 mt-1 dis f-c">
  437. <text style="font-size: 13px;color: #FF504D;"
  438. v-for="(item,index) in guoRenSpecialAgreementVo"
  439. :key="index">{{item.clauses}}</text>
  440. </view>
  441. </view>
  442. <view class="dis f-c mt-2" v-if="totalitem.namesimple=='紫金财险'">
  443. <view class="dis a-c j-s">
  444. <text>扩展内容</text>
  445. <view class="dis a-c j-end">
  446. <text>自主定价系数</text>
  447. <u-input type="number" v-model="totalitem.coefficient"
  448. :custom-style="{textAlign:'right',width:'50px',marginRight:'10px'}"
  449. placeholder="请输入"></u-input>
  450. </view>
  451. </view>
  452. </view>
  453. <view class="dis f-c mt-2" v-if="totalitem.namesimple=='诚泰财险'">
  454. <view class="dis j-s f-c">
  455. <text>扩展内容</text>
  456. <view class="dis a-c j-s">
  457. <text>自主定价系数</text>
  458. <u-input type="number" v-model="totalitem.coefficient"
  459. :custom-style="{textAlign:'right',width:'50px',marginRight:'10px'}"
  460. placeholder="请输入"></u-input>
  461. </view>
  462. <view class="dis a-c j-s">
  463. <text>商业险折扣</text>
  464. <u-input type="number" v-model="totalitem.discount"
  465. :custom-style="{textAlign:'right',width:'50px',marginRight:'10px'}"
  466. placeholder="请输入"></u-input>
  467. </view>
  468. <view class="dis a-c j-s">
  469. <text>是否验车</text>
  470. <u-switch v-model="isInspectchange" active-color="#0052FF"
  471. inactive-color="#eee" size='30'></u-switch>
  472. </view>
  473. </view>
  474. </view>
  475. </view>
  476. </view>
  477. </template>
  478. </block>
  479. </view>
  480. </view>
  481. <view class="footer-btn dis a-c j-s">
  482. <u-button type="primary" style="background:#E6EEFF;color: #0052FF; width: 20%;" @tap="back">上一步</u-button>
  483. <u-button type="primary" style="background:#FF9900;width: 20%;" @tap="tempSave">暂存</u-button>
  484. <u-button type="primary" style="background:#C9C9C9;width: 20%;" @click="priceComparison"
  485. v-if="comparableQuantity<2 ">查最优</u-button>
  486. <u-button type="primary" style="background:#1DB1E0;width: 20%;" @click="priceComparison1"
  487. v-if="comparableQuantity>=2 && selectedCount<2">查最优</u-button>
  488. <u-button type="primary" class="priceComparison" @click="priceComparison2"
  489. v-if="selectedCount>=2">查最优</u-button>
  490. <u-button type="primary" style="background:#0052FF; width: 30%;" @tap="toNext">多家报价</u-button>
  491. </view>
  492. <u-modal v-model="InsureGuidePopup" ref="uModal" :show-title="false" border-radius="12" confirm-color="#FF5600"
  493. :confirm-style="{background:'#FFEFE6',height:'36px',lineHeight:'36px'}">
  494. <view class="">
  495. <image src="/static/image/car-insure/InsureGuide.png" mode="" style="width: 100%;height: 40px;"></image>
  496. <view class="p-2 mb-2" style="min-height:120px;">
  497. <view class="dis a-c ">
  498. <image src="../../static/image/car-insure/duigou.png" mode="" style="width: 16px;height: 16px;">
  499. </image>
  500. <text class="font-weight"
  501. style="font-size: 14px;color: #FF5600;font-family: Source Han Sans SC, Source Han Sans SC;">{{insGuideTitle}}-{{productName}}</text>
  502. </view>
  503. <text>{{insGuide}}</text>
  504. </view>
  505. </view>
  506. </u-modal>
  507. <u-popup v-model="genericPlanPopup" mode="center" width="100%" border-radius="6">
  508. <view class="">
  509. <image src="/static/image/car-insure/SchemeSelection.png" mode="" style="width: 100%;height: 40px;">
  510. </image>
  511. <scroll-view :scroll-top="scrollTop" scroll-y="true" class="scroll-Y">
  512. <view class="Plancontent dis f-c ">
  513. <text class="title ">方案选择</text>
  514. <view class="dis a-c f-wrap modelformcss">
  515. <view class="status-data" :class="item.schemeId==SelectedPlanId? 'active':''"
  516. style="margin:4px 10px;" v-for="(item,index) in planDataExpansion.genericPlanList"
  517. @tap.stop.prevent="statusclick(item.schemeId)" :key="index">
  518. {{item.schemeName}}
  519. </view>
  520. </view>
  521. </view>
  522. <view class="Plancontent dis j-s a-c " style="padding: 8px 14px;">
  523. <view class="selectedCoverage dis a-c j-s">
  524. <view class="title-before"></view>
  525. <text class="title1">已选险种</text>
  526. <view class="product dis a-c j-s">
  527. <image src="../../static/image/car-insure/duigou.png" mode=""
  528. style="width: 15px;height: 15px;"></image>
  529. <text style="font-size: 14px;color: #FF5600;">{{productName}}</text>
  530. </view>
  531. </view>
  532. </view>
  533. <view class="">
  534. <view class="Plancontent dis f-c " v-if="planDataExpansion.genericPlanInfo.isJq=='1'">
  535. <text class="title mb-1">交强险</text>
  536. <text style="margin-left: 10px;">{{jqstartDate}} - {{jqendDate}}</text>
  537. <view style="padding:4px 10px;">
  538. <u-table border-color="#E3E9F8" align="left">
  539. <u-tr class="jq">
  540. <u-th>保险产品 </u-th>
  541. </u-tr>
  542. <u-tr class="jq">
  543. <u-td>
  544. <view class="dis a-c">
  545. <view class="circle dis a-c j-c"></view>
  546. <text style="margin-left: 10px;"> 交通事故强制责任险</text>
  547. </view>
  548. </u-td>
  549. </u-tr>
  550. </u-table>
  551. </view>
  552. </view>
  553. <view class="Plancontent dis f-c ">
  554. <text class="title mb-1">车船税</text>
  555. <view class="">
  556. <u-form ref="uForm" :model="vehicleAndVesselTaxForm" label-width="130px">
  557. <u-form-item label="纳税类型" prop="taxRelifFlag" class="modelformcss">
  558. <u-input type="select" :select-open="taxRelifFlagShow"
  559. v-model="model.taxRelifFlag" :custom-style="{textAlign:'right'}"
  560. placeholder="请选择纳税类型" @click="taxRelifFlagShow = true"></u-input>
  561. <u-select mode="single-column" :list="taxRelifFlagoptions"
  562. v-model="taxRelifFlagShow" label-name="dictTag" value-name="dictValue"
  563. @confirm="taxRelifFlagConfirm($event,'taxRelifFlag')"></u-select>
  564. </u-form-item>
  565. <u-form-item
  566. v-show="vehicleAndVesselTaxForm.taxRelifFlag == 2 || vehicleAndVesselTaxForm.taxRelifFlag == 3"
  567. label="减免税凭证号" prop="extendChar2" class="modelformcss">
  568. <u-input placeholder="请输入减免税凭证号" :custom-style="{textAlign:'right'}"
  569. v-model="vehicleAndVesselTaxForm.extendChar2" type="text"></u-input>
  570. </u-form-item>
  571. <u-form-item v-show="vehicleAndVesselTaxForm.taxRelifFlag == 4" label="完税凭证号"
  572. prop="paidFreeCertificate" class="modelformcss">
  573. <u-input placeholder="请输入完税凭证号" :custom-style="{textAlign:'right'}"
  574. v-model="vehicleAndVesselTaxForm.paidFreeCertificate" type="text"></u-input>
  575. </u-form-item>
  576. <u-form-item
  577. v-show="vehicleAndVesselTaxForm.taxRelifFlag == 2 || vehicleAndVesselTaxForm.taxRelifFlag == 3"
  578. label="减免税原因" prop="relifReason" class="modelformcss">
  579. <u-input type="select" :select-open="relifReasonShow"
  580. v-model="model.relifReason" :custom-style="{textAlign:'right'}"
  581. placeholder="请选择减免税原因" @click="relifReasonShow = true"></u-input>
  582. <u-select mode="single-column" :list="relifReasonoptions"
  583. v-model="relifReasonShow" label-name="dictTag" value-name="dictValue"
  584. @confirm="taxRelifFlagConfirm($event,'relifReason')"></u-select>
  585. </u-form-item>
  586. <u-form-item v-show="vehicleAndVesselTaxForm.taxRelifFlag != 1" label="税务机关代码"
  587. prop="taxComCode" class="modelformcss">
  588. <u-input placeholder="请输入税务机关代码" :custom-style="{textAlign:'right'}"
  589. v-model="vehicleAndVesselTaxForm.taxComCode" type="text"></u-input>
  590. </u-form-item>
  591. <u-form-item v-show="vehicleAndVesselTaxForm.taxRelifFlag != 1" label="税务机关名称"
  592. prop="taxComName" class="modelformcss">
  593. <u-input placeholder="请输入税务机关名称" :custom-style="{textAlign:'right'}"
  594. v-model="vehicleAndVesselTaxForm.taxComName" type="text"></u-input>
  595. </u-form-item>
  596. <u-form-item v-show="vehicleAndVesselTaxForm.taxRelifFlag == 4" label="完税凭证填发日期"
  597. prop="taxDocumentDate" class="modelformcss">
  598. <u-input type="select" :select-open="taxDocumentDateShow"
  599. :custom-style="{textAlign:'right'}"
  600. v-model="vehicleAndVesselTaxForm.taxDocumentDate" placeholder="请选择时间"
  601. @click="taxDocumentDateShow = true"></u-input>
  602. <u-picker v-model="taxDocumentDateShow" mode="time" :params="params1"
  603. @confirm="taxDocumentDateconfirm"></u-picker>
  604. </u-form-item>
  605. <u-form-item v-show="vehicleAndVesselTaxForm.taxRelifFlag == 4" label="完税凭证地区"
  606. prop="taxPaidAreaCode" class="modelformcss">
  607. <u-input type="select" :select-open="taxPaidAreaCodeShow"
  608. :custom-style="{textAlign:'right'}" v-model="model.taxPaidAreaCode"
  609. placeholder="请选择地区" @click="taxPaidAreaCodeShow = true"></u-input>
  610. <u-picker mode="region" v-model="taxPaidAreaCodeShow" :params="params2"
  611. @confirm="taxPaidAreaCodeconfirm"></u-picker>
  612. </u-form-item>
  613. <u-form-item v-show="vehicleAndVesselTaxForm.taxRelifFlag == 3" label="减税比例"
  614. prop="taxRelief" class="modelformcss">
  615. <u-input placeholder="请输入0~1的小数" :custom-style="{textAlign:'right'}"
  616. v-model="vehicleAndVesselTaxForm.taxRelief" type="text"></u-input>
  617. </u-form-item>
  618. </u-form>
  619. </view>
  620. </view>
  621. <view class="Plancontent dis f-c " v-if="planDataExpansion.genericPlanInfo.isSy=='1'">
  622. <text class="title mb-1">商业险</text>
  623. <text style="margin-left: 10px;">{{systartDate}} - {{syendDate}}</text>
  624. <view class="insuranceType" v-if="planDataExpansion.genericPlanInfo.schemeName !=='自选方案'">
  625. <u-table border-color="#E3E9F8">
  626. <u-tr class="sy">
  627. <u-th width="70%" style="text-align: left;padding: 5px 10px !important">险种
  628. </u-th>
  629. <u-th>保额 </u-th>
  630. </u-tr>
  631. <u-tr v-for="(item,index) in planDataExpansion.genericPlanInfo.kinds" :key="index">
  632. <u-td width="70%" style="text-align: left;padding: 5px 10px !important">
  633. <view class="dis a-c">
  634. <view class="circle dis a-c j-c"></view>
  635. <text style="margin-left: 10px;">{{item.kindName}}</text>
  636. </view>
  637. </u-td>
  638. <u-td v-if="['A'].includes(item.kindCode)">投保</u-td>
  639. <u-td
  640. v-else-if="['D4', 'SY_FJ_YBW2'].includes(item.kindCode)">{{convertedValue(item.unitAmount)}}</u-td>
  641. <u-td
  642. v-else-if="['MJ1', 'MJ2', 'MJ3', 'MJ4'].includes(item.kindCode)">{{item.deductibleRate}}%</u-td>
  643. <u-td
  644. v-else-if="['TY1', 'TY2', 'TY3', 'TY4'].includes(item.kindCode)">{{item.serviceTimes}}次</u-td>
  645. <u-td v-else>{{convertedValue(item.amount)}}</u-td>
  646. </u-tr>
  647. </u-table>
  648. </view>
  649. <template v-else>
  650. <view class="immediately">
  651. <view class="dis f-c" style="background: #F9F9F9;border-radius: 10px;">
  652. <u-table border-color="#E3E9F8">
  653. <u-tr class="sy">
  654. <u-th width="70%"
  655. style="text-align: left;padding: 5px 10px !important">险种</u-th>
  656. <u-th>保额</u-th>
  657. </u-tr>
  658. <u-tr v-for="(insureItem,index) in planDataExpansion.genericPlanInfo.kinds"
  659. :key="index">
  660. <template v-if="insureItem.amount != 0">
  661. <u-td width="70%"
  662. style="text-align: left;padding: 5px 10px !important">
  663. <view class="dis a-c">
  664. <view class="circle dis a-c j-c"></view>
  665. <text
  666. style="margin-left: 10px;">{{insureItem.kindName}}</text>
  667. </view>
  668. </u-td>
  669. <u-td>
  670. <view class="dis a-c j-c" @tap="adjustBIItem(index)">
  671. <text>{{insureItem.amountDesc}}</text>
  672. <u-icon name="arrow-right" color="#333" size="28"
  673. style="margin-left: 5px;"></u-icon>
  674. </view>
  675. </u-td>
  676. </template>
  677. </u-tr>
  678. </u-table>
  679. </view>
  680. </view>
  681. <view class="compulsory-insurance">
  682. <block v-for="(insureItem,index) in planDataExpansion.genericPlanInfo.kinds"
  683. :key="index">
  684. <template v-if="insureItem.amount == 0">
  685. <view class="car-ins-cell d-flex j-sb common-ins-cell"
  686. @tap="adjustBIItem(index)">
  687. <view class="cell-title d-flex a-center j-center">
  688. {{insureItem.kindName}}
  689. </view>
  690. <view class="cell-desc d-flex a-center j-center">
  691. {{insureItem.amountDesc}}
  692. <view class="icon iconfont icon-youjiantou"
  693. style="font-size: 40rpx;margin-left: 20upx;color: #C7C6CA;">
  694. </view>
  695. </view>
  696. </view>
  697. </template>
  698. </block>
  699. </view>
  700. </template>
  701. </view>
  702. <template v-if="planDataExpansion.genericPlanInfo.schemeName !=='自选方案'">
  703. <view class="Plancontent dis f-c policyInfo"
  704. v-if=" planDataExpansion.genericPlanInfo && planDataExpansion.genericPlanInfo.drivingList && planDataExpansion.genericPlanInfo.drivingList.length">
  705. <text class="title mb-1">意外险</text>
  706. <view class=" modelformcss"
  707. v-for="(drivingsitem,risksindex) in planDataExpansion.genericPlanInfo.drivingList"
  708. :key="risksindex">
  709. <view class="dis f-c ">
  710. <text class="tagHeader dis a-c">
  711. <text>{{drivingsitem.alias}}
  712. <view class="tag"></view>
  713. </text>
  714. </text>
  715. </view>
  716. <u-table border-color="#E3E9F8" class="mt-2"
  717. v-if="drivingsitem.insDrivingIntentionInsuranceSon && drivingsitem.insDrivingIntentionInsuranceSon.length>0">
  718. <u-tr class="sy">
  719. <u-th width="50%"
  720. style="text-align: left;padding: 5px 10px !important">保险责任</u-th>
  721. <u-th>保额</u-th>
  722. <u-th>保费(元)</u-th>
  723. </u-tr>
  724. <view class="dis">
  725. <view class="accident dis f-c">
  726. <view class="diss dis"
  727. v-for="(Sonitem,Sonindex) in drivingsitem.insDrivingIntentionInsuranceSon"
  728. :key="Sonindex">
  729. <view style="width: 67%;padding: 5px 10px " class="boss">
  730. <view class="dis a-c ">
  731. <view class="circle dis a-c j-c"></view>
  732. <view style="margin-left: 5px;width: 80%;"
  733. class="dis j-start">
  734. {{Sonitem.name}}
  735. </view>
  736. </view>
  737. </view>
  738. <view class="boss dis a-c j-c" style="width: 33%;">
  739. {{Sonitem.amount}}
  740. </view>
  741. </view>
  742. </view>
  743. <view class="right dis j-c a-c">
  744. {{drivingsitem.sumPremium}}
  745. </view>
  746. </view>
  747. </u-table>
  748. <view class="dis a-c j-s mt-2" style="font-size: 14px;color: #232832;">
  749. <text>份数</text>
  750. <text>{{drivingsitem.quantity}}份</text>
  751. </view>
  752. <view class="dis a-c j-s mt-2" style="font-size: 14px;color: #232832;">
  753. <text>总保费</text>
  754. <text>¥{{drivingsitem.sumPremium?drivingsitem.sumPremium:0}}</text>
  755. </view>
  756. </view>
  757. </view>
  758. </template>
  759. <view class="Plancontent dis f-c " v-else>
  760. <text class="title mb-1">意外险</text>
  761. <view class="dis a-c f-wrap modelformcss">
  762. <view class="status-data" :class="item.checked? 'active':''" style="margin-right: 10px;"
  763. v-for="(item,index) in accidentInsuranceCategoryList"
  764. @tap.stop.prevent="accidentCategoryclick(item,planDataExpansion,index)"
  765. :key="index">
  766. {{item.typeName}}
  767. </view>
  768. </view>
  769. <template
  770. v-if=" planDataExpansion.namesimple=='安盛天平' && anshengaccidentalDrivingVo.typeName ">
  771. <view class="drivingSelection">
  772. <view class="dis a-c j-s policyInfo" @click="anshengPopupshow=true">
  773. <text class="tagHeader dis a-c">
  774. <text>{{anshengaccidentalDrivingVo.alias}}
  775. <view class="tag"></view>
  776. </text>
  777. </text>
  778. <u-icon name="arrow-right" style="color: #999;" size="24"></u-icon>
  779. </view>
  780. <view>
  781. <u-table border-color="#E3E9F8"
  782. v-if="anshengaccidentalDrivingVo.insDrivingIntentionInsuranceSon && anshengaccidentalDrivingVo.insDrivingIntentionInsuranceSon.length>0">
  783. <u-tr class="sy">
  784. <u-th width="50%"
  785. style="text-align: left;padding: 5px 10px !important">保险责任</u-th>
  786. <u-th>保额</u-th>
  787. <u-th>保费(元)</u-th>
  788. </u-tr>
  789. <view class="dis">
  790. <view class="accident dis f-c">
  791. <view class="diss dis"
  792. v-for="(Sonitem,Sonindex) in anshengaccidentalDrivingVo.insDrivingIntentionInsuranceSon"
  793. :key="Sonindex">
  794. <view style="width: 67%;padding: 5px 10px " class="boss">
  795. <view class="dis a-c ">
  796. <view class="circle dis a-c j-c"></view>
  797. <view style="margin-left: 5px;width: 80%;"
  798. class="dis j-start">
  799. {{Sonitem.name}}
  800. </view>
  801. </view>
  802. </view>
  803. <view class="boss dis a-c j-c" style="width: 33%;">
  804. {{Sonitem.amount}}
  805. </view>
  806. </view>
  807. </view>
  808. <view class="right dis j-c a-c">
  809. {{anshengaccidentalDrivingVo.sumPremium}}
  810. </view>
  811. </view>
  812. </u-table>
  813. </view>
  814. <view class="dis a-c j-s">
  815. <text>份数</text>
  816. <u-number-box v-model="anshengaccidentalDrivingVo.quantity" :min="1" :max="10"
  817. :disabled-input="true" :input-width="70" :input-height="44" size="26"
  818. :long-press="false"></u-number-box>
  819. </view>
  820. <view class="dis a-c j-s mt-2" style="font-size: 14px;color: #232832;">
  821. <text>总保费</text>
  822. <text>¥{{anshengaccidentalDrivingVo.sumPremium*anshengaccidentalDrivingVo.quantity}}</text>
  823. </view>
  824. </view>
  825. </template>
  826. <template
  827. v-if=" planDataExpansion.namesimple=='国任财险' && guoRenaccidentalDrivingVo.typeName ">
  828. <view class="drivingSelection">
  829. <view class="dis a-c j-s policyInfo" @click="guoRenPopupshow=true">
  830. <text class="tagHeader dis a-c">
  831. <text>{{guoRenaccidentalDrivingVo.alias}}
  832. <view class="tag"></view>
  833. </text>
  834. </text>
  835. <u-icon name="arrow-right" style="color: #999;" size="24"></u-icon>
  836. </view>
  837. <view>
  838. <u-table border-color="#E3E9F8"
  839. v-if="guoRenaccidentalDrivingVo.insDrivingIntentionInsuranceSon && guoRenaccidentalDrivingVo.insDrivingIntentionInsuranceSon.length>0">
  840. <u-tr class="sy">
  841. <u-th width="50%"
  842. style="text-align: left;padding: 5px 10px !important">保险责任</u-th>
  843. <u-th>保额</u-th>
  844. <u-th>保费(元)</u-th>
  845. </u-tr>
  846. <view class="dis">
  847. <view class="accident dis f-c">
  848. <view class="diss dis"
  849. v-for="(Sonitem,Sonindex) in guoRenaccidentalDrivingVo.insDrivingIntentionInsuranceSon"
  850. :key="Sonindex">
  851. <view style="width: 67%;padding: 5px 10px " class="boss">
  852. <view class="dis a-c ">
  853. <view class="circle dis a-c j-c"></view>
  854. <view style="margin-left: 5px;width: 80%;"
  855. class="dis j-start">
  856. {{Sonitem.name}}
  857. </view>
  858. </view>
  859. </view>
  860. <view class="boss dis a-c j-c" style="width: 33%;">
  861. {{Sonitem.amount}}
  862. </view>
  863. </view>
  864. </view>
  865. <view class="right dis j-c a-c">
  866. {{guoRenaccidentalDrivingVo.sumPremium}}
  867. </view>
  868. </view>
  869. </u-table>
  870. </view>
  871. <view class="dis a-c j-s">
  872. <text>份数</text>
  873. <u-number-box v-model="guoRenaccidentalDrivingVo.quantity" :min="1" :max="10"
  874. :disabled-input="true" :input-width="70" :input-height="44" size="26"
  875. :long-press="false"></u-number-box>
  876. </view>
  877. <view class="dis a-c j-s mt-2" style="font-size: 14px;color: #232832;">
  878. <text>总保费</text>
  879. <text>¥{{guoRenaccidentalDrivingVo.sumPremium*guoRenaccidentalDrivingVo.quantity}}</text>
  880. </view>
  881. </view>
  882. </template>
  883. <template
  884. v-if=" planDataExpansion.namesimple=='大家财险' && dajiaaccidentalDrivingVo.typeName ">
  885. <view class="drivingSelection">
  886. <view class="dis a-c j-s policyInfo" @click="dajiaPopupshow=true">
  887. <text class="tagHeader dis a-c">
  888. <text>{{dajiaaccidentalDrivingVo.alias}}
  889. <view class="tag"></view>
  890. </text>
  891. </text>
  892. <u-icon name="arrow-right" style="color: #999;" size="24"></u-icon>
  893. </view>
  894. <view>
  895. <u-table border-color="#E3E9F8"
  896. v-if="dajiaaccidentalDrivingVo.insDrivingIntentionInsuranceSon && dajiaaccidentalDrivingVo.insDrivingIntentionInsuranceSon.length>0">
  897. <u-tr class="sy">
  898. <u-th width="50%"
  899. style="text-align: left;padding: 5px 10px !important">保险责任</u-th>
  900. <u-th>保额</u-th>
  901. <u-th>保费(元)</u-th>
  902. </u-tr>
  903. <view class="dis">
  904. <view class="accident dis f-c">
  905. <view class="diss dis"
  906. v-for="(Sonitem,Sonindex) in dajiaaccidentalDrivingVo.insDrivingIntentionInsuranceSon"
  907. :key="Sonindex">
  908. <view style="width: 67%;padding: 5px 10px " class="boss">
  909. <view class="dis a-c ">
  910. <view class="circle dis a-c j-c"></view>
  911. <view style="margin-left: 5px;width: 80%;"
  912. class="dis j-start">
  913. {{Sonitem.name}}
  914. </view>
  915. </view>
  916. </view>
  917. <view class="boss dis a-c j-c" style="width: 33%;">
  918. {{Sonitem.amount}}
  919. </view>
  920. </view>
  921. </view>
  922. <view class="right dis j-c a-c">
  923. {{dajiaaccidentalDrivingVo.sumPremium}}
  924. </view>
  925. </view>
  926. </u-table>
  927. </view>
  928. <view class="dis a-c j-s">
  929. <text>份数</text>
  930. <u-number-box v-model="dajiaaccidentalDrivingVo.quantity" :min="1" :max="10"
  931. :disabled-input="true" :input-width="70" :input-height="44" size="26"
  932. :long-press="false"></u-number-box>
  933. </view>
  934. <view class="dis a-c j-s mt-2" style="font-size: 14px;color: #232832;">
  935. <text>总保费</text>
  936. <text>¥{{dajiaaccidentalDrivingVo.sumPremium*dajiaaccidentalDrivingVo.quantity}}</text>
  937. </view>
  938. </view>
  939. </template>
  940. <template v-if=" planDataExpansion.namesimple=='紫金财险' && zijinInsuranceData.length>0">
  941. <view class="p-1">
  942. <text @click="zijinPopupshow=true"
  943. style="color: #FF5600;font-size: 14px;">意外险选择</text>
  944. <view class="" v-for="(item,index) in zijinaccidentalDrivingVo" :key="index">
  945. <view class="policyInfo">
  946. <text class="tagHeader dis a-c">
  947. <text>{{item.alias}}
  948. <view class="tag"></view>
  949. </text>
  950. </text>
  951. </view>
  952. <view class=" dis j-s a-c">
  953. <view class="">
  954. <text>保费:</text>
  955. <text
  956. style="color: #ee7000;">¥{{item.sumPremium*item.quantity}}.00</text>
  957. </view>
  958. <view class="">
  959. <text>份数:</text>
  960. <u-number-box v-model="item.quantity" :min="1" :max="10"
  961. :input-width="70" :input-height="44" size="26"
  962. :long-press="false"></u-number-box>
  963. </view>
  964. </view>
  965. <!-- <view class="Accident mt-2" v-if="item.insDrivingIntentionInsuranceSon">
  966. <view class="dis a-c j-s">
  967. <view class="head dis a-c j-c">保险责任</view>
  968. <view class="head dis a-c j-c">保险金额</view>
  969. <view class="head dis a-c j-c">保费(元)</view>
  970. </view>
  971. <view class="dis a-c j-s"
  972. v-for="(Sonitem,Sonindex) in item.insDrivingIntentionInsuranceSon"
  973. :key="Sonindex">
  974. <view class="tr dis a-c j-c"> {{Sonitem.name}}</view>
  975. <view class="tr dis a-c j-c"> {{Sonitem.amount}}/座</view>
  976. <view class="tr dis a-c j-c">¥{{Sonitem.premium}}</view>
  977. </view>
  978. </view> -->
  979. </view>
  980. </view>
  981. </template>
  982. <template
  983. v-if=" planDataExpansion.namesimple=='众安财险' && zhonganaccidentalDrivingVo.typeName ">
  984. <view class="drivingSelection policyInfo">
  985. <view class="dis a-c j-s " @click="zhonganPopupshow=true">
  986. <text class="tagHeader dis a-c">
  987. <text>{{zhonganaccidentalDrivingVo.alias}}
  988. <view class="tag"></view>
  989. </text>
  990. </text>
  991. <u-icon name="arrow-right" style="color: #999;" size="24"></u-icon>
  992. </view>
  993. <view>
  994. <u-table border-color="#E3E9F8"
  995. v-if="zhonganaccidentalDrivingVo.insDrivingIntentionInsuranceSon && zhonganaccidentalDrivingVo.insDrivingIntentionInsuranceSon.length>0">
  996. <u-tr class="sy">
  997. <u-th width="50%"
  998. style="text-align: left;padding: 5px 10px !important">保险责任</u-th>
  999. <u-th>保额</u-th>
  1000. <u-th>保费(元)</u-th>
  1001. </u-tr>
  1002. <view class="dis">
  1003. <view class="accident dis f-c">
  1004. <view class="diss dis"
  1005. v-for="(Sonitem,Sonindex) in zhonganaccidentalDrivingVo.insDrivingIntentionInsuranceSon"
  1006. :key="Sonindex">
  1007. <view style="width: 67%;padding: 5px 10px " class="boss">
  1008. <view class="dis a-c ">
  1009. <view class="circle dis a-c j-c"></view>
  1010. <view style="margin-left: 5px;width: 80%;"
  1011. class="dis j-start">
  1012. {{Sonitem.name}}
  1013. </view>
  1014. </view>
  1015. </view>
  1016. <view class="boss dis a-c j-c" style="width: 33%;">
  1017. {{Sonitem.amount}}
  1018. </view>
  1019. </view>
  1020. </view>
  1021. <view class="right dis j-c a-c">
  1022. {{zhonganaccidentalDrivingVo.sumPremium}}
  1023. </view>
  1024. </view>
  1025. </u-table>
  1026. </view>
  1027. <view class="dis a-c j-s">
  1028. <text>份数</text>
  1029. <u-number-box v-model="zhonganaccidentalDrivingVo.quantity" :min="1" :max="10"
  1030. :disabled-input="true" :input-width="70" :input-height="44" size="26"
  1031. :long-press="false"></u-number-box>
  1032. </view>
  1033. <view class="dis a-c j-s mt-2" style="font-size: 14px;color: #232832;">
  1034. <text>总保费</text>
  1035. <text>¥{{zhonganaccidentalDrivingVo.sumPremium*zhonganaccidentalDrivingVo.quantity}}</text>
  1036. </view>
  1037. </view>
  1038. </template>
  1039. <template
  1040. v-if=" planDataExpansion.namesimple=='永诚财险' && yongchengaccidentalDrivingVo.typeName ">
  1041. <view class="drivingSelection">
  1042. <view class="dis a-c j-s policyInfo" @click="yongchengPopupshow=true">
  1043. <text class="tagHeader dis a-c">
  1044. <text>{{yongchengaccidentalDrivingVo.alias}}
  1045. <view class="tag"></view>
  1046. </text>
  1047. </text>
  1048. <u-icon name="arrow-right" style="color: #999;" size="24"></u-icon>
  1049. </view>
  1050. <view>
  1051. <u-table border-color="#E3E9F8"
  1052. v-if="yongchengaccidentalDrivingVo.insDrivingIntentionInsuranceSon && yongchengaccidentalDrivingVo.insDrivingIntentionInsuranceSon.length>0">
  1053. <u-tr class="sy">
  1054. <u-th width="50%"
  1055. style="text-align: left;padding: 5px 10px !important">保险责任</u-th>
  1056. <u-th>保额</u-th>
  1057. <u-th>保费(元)</u-th>
  1058. </u-tr>
  1059. <view class="dis">
  1060. <view class="accident dis f-c">
  1061. <view class="diss dis"
  1062. v-for="(Sonitem,Sonindex) in yongchengaccidentalDrivingVo.insDrivingIntentionInsuranceSon"
  1063. :key="Sonindex">
  1064. <view style="width: 67%;padding: 5px 10px " class="boss">
  1065. <view class="dis a-c ">
  1066. <view class="circle dis a-c j-c"></view>
  1067. <view style="margin-left: 5px;width: 80%;"
  1068. class="dis j-start">
  1069. {{Sonitem.name}}
  1070. </view>
  1071. </view>
  1072. </view>
  1073. <view class="boss dis a-c j-c" style="width: 33%;">
  1074. {{Sonitem.amount}}
  1075. </view>
  1076. </view>
  1077. </view>
  1078. <view class="right dis j-c a-c">
  1079. {{yongchengaccidentalDrivingVo.sumPremium}}
  1080. </view>
  1081. </view>
  1082. </u-table>
  1083. </view>
  1084. <view class="dis a-c j-s">
  1085. <text>份数</text>
  1086. <u-number-box v-model="yongchengaccidentalDrivingVo.quantity" :min="1" :max="10"
  1087. :disabled-input="true" :input-width="70" :input-height="44" size="26"
  1088. :long-press="false"></u-number-box>
  1089. </view>
  1090. <view class="dis a-c j-s mt-2" style="font-size: 14px;color: #232832;">
  1091. <text>总保费</text>
  1092. <text>¥{{yongchengaccidentalDrivingVo.sumPremium*yongchengaccidentalDrivingVo.quantity}}</text>
  1093. </view>
  1094. </view>
  1095. </template>
  1096. <template
  1097. v-if=" planDataExpansion.namesimple=='恒邦财险' && hengbangaccidentalDrivingVo.typeName ">
  1098. <view class="drivingSelection">
  1099. <view class="dis a-c j-s policyInfo" @click="hengbangPopupshow=true">
  1100. <text class="tagHeader dis a-c">
  1101. <text>{{hengbangaccidentalDrivingVo.alias}}
  1102. <view class="tag"></view>
  1103. </text>
  1104. </text>
  1105. <u-icon name="arrow-right" style="color: #999;" size="24"></u-icon>
  1106. </view>
  1107. <view>
  1108. <u-table border-color="#E3E9F8"
  1109. v-if="hengbangaccidentalDrivingVo.insDrivingIntentionInsuranceSon && hengbangaccidentalDrivingVo.insDrivingIntentionInsuranceSon.length>0">
  1110. <u-tr class="sy">
  1111. <u-th width="50%"
  1112. style="text-align: left;padding: 5px 10px !important">保险责任</u-th>
  1113. <u-th>保额</u-th>
  1114. <u-th>保费(元)</u-th>
  1115. </u-tr>
  1116. <view class="dis">
  1117. <view class="accident dis f-c">
  1118. <view class="diss dis"
  1119. v-for="(Sonitem,Sonindex) in hengbangaccidentalDrivingVo.insDrivingIntentionInsuranceSon"
  1120. :key="Sonindex">
  1121. <view style="width: 67%;padding: 5px 10px " class="boss">
  1122. <view class="dis a-c ">
  1123. <view class="circle dis a-c j-c"></view>
  1124. <view style="margin-left: 5px;width: 80%;"
  1125. class="dis j-start">
  1126. {{Sonitem.name}}
  1127. </view>
  1128. </view>
  1129. </view>
  1130. <view class="boss dis a-c j-c" style="width: 33%;">
  1131. {{Sonitem.amount}}
  1132. </view>
  1133. </view>
  1134. </view>
  1135. <view class="right dis j-c a-c">
  1136. {{hengbangaccidentalDrivingVo.sumPremium}}
  1137. </view>
  1138. </view>
  1139. </u-table>
  1140. </view>
  1141. <view class="dis a-c j-s">
  1142. <text>份数</text>
  1143. <u-number-box v-model="hengbangaccidentalDrivingVo.quantity" :min="1" :max="10"
  1144. :disabled-input="true" :input-width="70" :input-height="44" size="26"
  1145. :long-press="false"></u-number-box>
  1146. </view>
  1147. <view class="dis a-c j-s mt-2" style="font-size: 14px;color: #232832;">
  1148. <text>总保费</text>
  1149. <text>¥{{hengbangaccidentalDrivingVo.sumPremium*hengbangaccidentalDrivingVo.quantity}}</text>
  1150. </view>
  1151. </view>
  1152. </template>
  1153. <template
  1154. v-if=" planDataExpansion.namesimple=='诚泰财险' && chengtaiaccidentalDrivingVo.typeName">
  1155. <view class="drivingSelection">
  1156. <view class="dis a-c j-s policyInfo" @click="chengtaiPopupshow=true">
  1157. <text class="tagHeader dis a-c">
  1158. <text>{{chengtaiaccidentalDrivingVo.alias}}
  1159. <view class="tag"></view>
  1160. </text>
  1161. </text>
  1162. <u-icon name="arrow-right" style="color: #999;" size="24"></u-icon>
  1163. </view>
  1164. <view>
  1165. <u-table border-color="#E3E9F8"
  1166. v-if="chengtaiaccidentalDrivingVo.insDrivingIntentionInsuranceSon && chengtaiaccidentalDrivingVo.insDrivingIntentionInsuranceSon.length>0">
  1167. <u-tr class="sy">
  1168. <u-th width="50%"
  1169. style="text-align: left;padding: 5px 10px !important">保险责任</u-th>
  1170. <u-th>保额</u-th>
  1171. <u-th>保费(元)</u-th>
  1172. </u-tr>
  1173. <view class="dis">
  1174. <view class="accident dis f-c">
  1175. <view class="diss dis"
  1176. v-for="(Sonitem,Sonindex) in chengtaiaccidentalDrivingVo.insDrivingIntentionInsuranceSon"
  1177. :key="Sonindex">
  1178. <view style="width: 67%;padding: 5px 10px " class="boss">
  1179. <view class="dis a-c ">
  1180. <view class="circle dis a-c j-c"></view>
  1181. <view style="margin-left: 5px;width: 80%;"
  1182. class="dis j-start">
  1183. {{Sonitem.name}}
  1184. </view>
  1185. </view>
  1186. </view>
  1187. <view class="boss dis a-c j-c" style="width: 33%;">
  1188. {{Sonitem.amount}}
  1189. </view>
  1190. </view>
  1191. </view>
  1192. <view class="right dis j-c a-c">
  1193. {{chengtaiaccidentalDrivingVo.sumPremium}}
  1194. </view>
  1195. </view>
  1196. </u-table>
  1197. </view>
  1198. <view class="dis a-c j-s">
  1199. <text>份数</text>
  1200. <u-number-box v-model="chengtaiaccidentalDrivingVo.quantity" :min="1" :max="10"
  1201. :disabled-input="true" :input-width="70" :input-height="44" size="26"
  1202. :long-press="false"></u-number-box>
  1203. </view>
  1204. <view class="dis a-c j-s mt-2" style="font-size: 14px;color: #232832;">
  1205. <text>总保费</text>
  1206. <text>¥{{chengtaiaccidentalDrivingVo.sumPremium*chengtaiaccidentalDrivingVo.quantity}}</text>
  1207. </view>
  1208. </view>
  1209. </template>
  1210. <template
  1211. v-if=" planDataExpansion.namesimple=='中煤财险' && zhongmeiaccidentalDrivingVo.typeName ">
  1212. <view class="drivingSelection">
  1213. <view class="dis a-c j-s policyInfo" @click="zhongmeiPopupshow=true">
  1214. <text class="tagHeader dis a-c">
  1215. <text>{{zhongmeiaccidentalDrivingVo.alias}}
  1216. <view class="tag"></view>
  1217. </text>
  1218. </text>
  1219. <u-icon name="arrow-right" style="color: #999;" size="24"></u-icon>
  1220. </view>
  1221. <view>
  1222. <u-table border-color="#E3E9F8"
  1223. v-if="zhongmeiaccidentalDrivingVo.insDrivingIntentionInsuranceSon && zhongmeiaccidentalDrivingVo.insDrivingIntentionInsuranceSon.length>0">
  1224. <u-tr class="sy">
  1225. <u-th width="50%"
  1226. style="text-align: left;padding: 5px 10px !important">保险责任</u-th>
  1227. <u-th>保额</u-th>
  1228. <u-th>保费(元)</u-th>
  1229. </u-tr>
  1230. <view class="dis">
  1231. <view class="accident dis f-c">
  1232. <view class="diss dis"
  1233. v-for="(Sonitem,Sonindex) in zhongmeiaccidentalDrivingVo.insDrivingIntentionInsuranceSon"
  1234. :key="Sonindex">
  1235. <view style="width: 67%;padding: 5px 10px " class="boss">
  1236. <view class="dis a-c ">
  1237. <view class="circle dis a-c j-c"></view>
  1238. <view style="margin-left: 5px;width: 80%;"
  1239. class="dis j-start">
  1240. {{Sonitem.name}}
  1241. </view>
  1242. </view>
  1243. </view>
  1244. <view class="boss dis a-c j-c" style="width: 33%;">
  1245. {{Sonitem.amount}}
  1246. </view>
  1247. </view>
  1248. </view>
  1249. <view class="right dis j-c a-c">
  1250. {{zhongmeiaccidentalDrivingVo.sumPremium}}
  1251. </view>
  1252. </view>
  1253. </u-table>
  1254. </view>
  1255. <view class="dis a-c j-s">
  1256. <text>份数</text>
  1257. <u-number-box v-model="zhongmeiaccidentalDrivingVo.quantity" :min="1" :max="10"
  1258. :disabled-input="true" :input-width="70" :input-height="44" size="26"
  1259. :long-press="false"></u-number-box>
  1260. </view>
  1261. <view class="dis a-c j-s mt-2" style="font-size: 14px;color: #232832;">
  1262. <text>总保费</text>
  1263. <text>¥{{zhongmeiaccidentalDrivingVo.sumPremium*zhongmeiaccidentalDrivingVo.quantity}}</text>
  1264. </view>
  1265. </view>
  1266. </template>
  1267. <template
  1268. v-if=" planDataExpansion.namesimple=='泰康财险' && taikangaccidentalDrivingVo.typeName ">
  1269. <view class="drivingSelection">
  1270. <view class="dis a-c j-s policyInfo" @click="taikangPopupshow=true">
  1271. <text class="tagHeader dis a-c">
  1272. <text>{{taikangaccidentalDrivingVo.alias}}
  1273. <view class="tag"></view>
  1274. </text>
  1275. </text>
  1276. <u-icon name="arrow-right" style="color: #999;" size="24"></u-icon>
  1277. </view>
  1278. <view>
  1279. <u-table border-color="#E3E9F8"
  1280. v-if="taikangaccidentalDrivingVo.insDrivingIntentionInsuranceSon && taikangaccidentalDrivingVo.insDrivingIntentionInsuranceSon.length>0">
  1281. <u-tr class="sy">
  1282. <u-th width="50%"
  1283. style="text-align: left;padding: 5px 10px !important">保险责任</u-th>
  1284. <u-th>保额</u-th>
  1285. <u-th>保费(元)</u-th>
  1286. </u-tr>
  1287. <view class="dis">
  1288. <view class="accident dis f-c">
  1289. <view class="diss dis"
  1290. v-for="(Sonitem,Sonindex) in taikangaccidentalDrivingVo.insDrivingIntentionInsuranceSon"
  1291. :key="Sonindex">
  1292. <view style="width: 67%;padding: 5px 10px " class="boss">
  1293. <view class="dis a-c ">
  1294. <view class="circle dis a-c j-c"></view>
  1295. <view style="margin-left: 5px;width: 80%;"
  1296. class="dis j-start">
  1297. {{Sonitem.name}}
  1298. </view>
  1299. </view>
  1300. </view>
  1301. <view class="boss dis a-c j-c" style="width: 33%;">
  1302. {{Sonitem.amount}}
  1303. </view>
  1304. </view>
  1305. </view>
  1306. <view class="right dis j-c a-c">
  1307. {{taikangaccidentalDrivingVo.sumPremium}}
  1308. </view>
  1309. </view>
  1310. </u-table>
  1311. </view>
  1312. <view class="dis a-c j-s">
  1313. <text>份数</text>
  1314. <u-number-box v-model="taikangaccidentalDrivingVo.quantity" :min="1" :max="10"
  1315. :disabled-input="true" :input-width="70" :input-height="44" size="26"
  1316. :long-press="false"></u-number-box>
  1317. </view>
  1318. <view class="dis a-c j-s mt-2" style="font-size: 14px;color: #232832;">
  1319. <text>总保费</text>
  1320. <text>¥{{taikangaccidentalDrivingVo.sumPremium*taikangaccidentalDrivingVo.quantity}}</text>
  1321. </view>
  1322. </view>
  1323. </template>
  1324. <template
  1325. v-if=" planDataExpansion.namesimple=='渤海财险' && bohaiaccidentalDrivingVo.typeName ">
  1326. <view class="drivingSelection">
  1327. <view class="dis a-c j-s policyInfo" @click="bohaiPopupshow=true">
  1328. <text class="tagHeader dis a-c">
  1329. <text>{{bohaiaccidentalDrivingVo.alias}}
  1330. <view class="tag"></view>
  1331. </text>
  1332. </text>
  1333. <u-icon name="arrow-right" style="color: #999;" size="24"></u-icon>
  1334. </view>
  1335. <view>
  1336. <u-table border-color="#E3E9F8"
  1337. v-if="bohaiaccidentalDrivingVo.insDrivingIntentionInsuranceSon && bohaiaccidentalDrivingVo.insDrivingIntentionInsuranceSon.length>0">
  1338. <u-tr class="sy">
  1339. <u-th width="50%"
  1340. style="text-align: left;padding: 5px 10px !important">保险责任</u-th>
  1341. <u-th>保额</u-th>
  1342. <u-th>保费(元)</u-th>
  1343. </u-tr>
  1344. <view class="dis">
  1345. <view class="accident dis f-c">
  1346. <view class="diss dis"
  1347. v-for="(Sonitem,Sonindex) in bohaiaccidentalDrivingVo.insDrivingIntentionInsuranceSon"
  1348. :key="Sonindex">
  1349. <view style="width: 67%;padding: 5px 10px " class="boss">
  1350. <view class="dis a-c ">
  1351. <view class="circle dis a-c j-c"></view>
  1352. <view style="margin-left: 5px;width: 80%;"
  1353. class="dis j-start">
  1354. {{Sonitem.name}}
  1355. </view>
  1356. </view>
  1357. </view>
  1358. <view class="boss dis a-c j-c" style="width: 33%;">
  1359. {{Sonitem.amount}}
  1360. </view>
  1361. </view>
  1362. </view>
  1363. <view class="right dis j-c a-c">
  1364. {{bohaiaccidentalDrivingVo.sumPremium}}
  1365. </view>
  1366. </view>
  1367. </u-table>
  1368. </view>
  1369. <view class="dis a-c j-s">
  1370. <text>份数</text>
  1371. <u-number-box v-model="bohaiaccidentalDrivingVo.quantity" :min="1" :max="10"
  1372. :disabled-input="true" :input-width="70" :input-height="44" size="26"
  1373. :long-press="false"></u-number-box>
  1374. </view>
  1375. <view class="dis a-c j-s mt-2" style="font-size: 14px;color: #232832;">
  1376. <text>总保费</text>
  1377. <text>¥{{bohaiaccidentalDrivingVo.sumPremium*bohaiaccidentalDrivingVo.quantity}}</text>
  1378. </view>
  1379. </view>
  1380. </template>
  1381. <template
  1382. v-if=" planDataExpansion.namesimple=='太平财险' && taipingaccidentalDrivingVo.typeName ">
  1383. <view class="drivingSelection">
  1384. <view class="dis a-c j-s policyInfo" @click="taipingPopupshow=true">
  1385. <text class="tagHeader dis a-c">
  1386. <text>{{taipingaccidentalDrivingVo.alias}}
  1387. <view class="tag"></view>
  1388. </text>
  1389. </text>
  1390. <u-icon name="arrow-right" style="color: #999;" size="24"></u-icon>
  1391. </view>
  1392. <view>
  1393. <u-table border-color="#E3E9F8"
  1394. v-if="taipingaccidentalDrivingVo.insDrivingIntentionInsuranceSon && taipingaccidentalDrivingVo.insDrivingIntentionInsuranceSon.length>0">
  1395. <u-tr class="sy">
  1396. <u-th width="50%"
  1397. style="text-align: left;padding: 5px 10px !important">保险责任</u-th>
  1398. <u-th>保额</u-th>
  1399. <u-th>保费(元)</u-th>
  1400. </u-tr>
  1401. <view class="dis">
  1402. <view class="accident dis f-c">
  1403. <view class="diss dis"
  1404. v-for="(Sonitem,Sonindex) in taipingaccidentalDrivingVo.insDrivingIntentionInsuranceSon"
  1405. :key="Sonindex">
  1406. <view style="width: 67%;padding: 5px 10px " class="boss">
  1407. <view class="dis a-c ">
  1408. <view class="circle dis a-c j-c"></view>
  1409. <view style="margin-left: 5px;width: 80%;"
  1410. class="dis j-start">
  1411. {{Sonitem.name}}
  1412. </view>
  1413. </view>
  1414. </view>
  1415. <view class="boss dis a-c j-c" style="width: 33%;">
  1416. {{Sonitem.amount}}
  1417. </view>
  1418. </view>
  1419. </view>
  1420. <view class="right dis j-c a-c">
  1421. {{taipingaccidentalDrivingVo.sumPremium}}
  1422. </view>
  1423. </view>
  1424. </u-table>
  1425. </view>
  1426. <view class="dis a-c j-s">
  1427. <text>份数</text>
  1428. <u-number-box v-model="taipingaccidentalDrivingVo.quantity" :min="1" :max="10"
  1429. :disabled-input="true" :input-width="70" :input-height="44" size="26"
  1430. :long-press="false"></u-number-box>
  1431. </view>
  1432. <view class="dis a-c j-s mt-2" style="font-size: 14px;color: #232832;">
  1433. <text>总保费</text>
  1434. <text>¥{{taipingaccidentalDrivingVo.sumPremium*taipingaccidentalDrivingVo.quantity}}</text>
  1435. </view>
  1436. </view>
  1437. </template>
  1438. <template
  1439. v-if=" planDataExpansion.namesimple=='华农财险' && huanongaccidentalDrivingVo.typeName ">
  1440. <view class="drivingSelection">
  1441. <view class="dis a-c j-s policyInfo" @click="huanongPopupshow=true">
  1442. <text class="tagHeader dis a-c">
  1443. <text>{{huanongaccidentalDrivingVo.alias}}
  1444. <view class="tag"></view>
  1445. </text>
  1446. </text>
  1447. <u-icon name="arrow-right" style="color: #999;" size="24"></u-icon>
  1448. </view>
  1449. <view>
  1450. <u-table border-color="#E3E9F8"
  1451. v-if="huanongaccidentalDrivingVo.insDrivingIntentionInsuranceSon && huanongaccidentalDrivingVo.insDrivingIntentionInsuranceSon.length>0">
  1452. <u-tr class="sy">
  1453. <u-th width="50%"
  1454. style="text-align: left;padding: 5px 10px !important">保险责任</u-th>
  1455. <u-th>保额</u-th>
  1456. <u-th>保费(元)</u-th>
  1457. </u-tr>
  1458. <view class="dis">
  1459. <view class="accident dis f-c">
  1460. <view class="diss dis"
  1461. v-for="(Sonitem,Sonindex) in huanongaccidentalDrivingVo.insDrivingIntentionInsuranceSon"
  1462. :key="Sonindex">
  1463. <view style="width: 67%;padding: 5px 10px " class="boss">
  1464. <view class="dis a-c ">
  1465. <view class="circle dis a-c j-c"></view>
  1466. <view style="margin-left: 5px;width: 80%;"
  1467. class="dis j-start">
  1468. {{Sonitem.name}}
  1469. </view>
  1470. </view>
  1471. </view>
  1472. <view class="boss dis a-c j-c" style="width: 33%;">
  1473. {{Sonitem.amount}}
  1474. </view>
  1475. </view>
  1476. </view>
  1477. <view class="right dis j-c a-c">
  1478. {{huanongaccidentalDrivingVo.sumPremium}}
  1479. </view>
  1480. </view>
  1481. </u-table>
  1482. </view>
  1483. <view class="dis a-c j-s">
  1484. <text>份数</text>
  1485. <u-number-box v-model="huanongaccidentalDrivingVo.quantity" :min="1" :max="10"
  1486. :disabled-input="true" :input-width="70" :input-height="44" size="26"
  1487. :long-press="false"></u-number-box>
  1488. </view>
  1489. <view class="dis a-c j-s mt-2" style="font-size: 14px;color: #232832;">
  1490. <text>总保费</text>
  1491. <text>¥{{huanongaccidentalDrivingVo.sumPremium*huanongaccidentalDrivingVo.quantity}}</text>
  1492. </view>
  1493. </view>
  1494. </template>
  1495. <template
  1496. v-if=" planDataExpansion.namesimple=='中国人寿' && renshouaccidentalDrivingVo.typeName ">
  1497. <view class="drivingSelection">
  1498. <view class="dis a-c j-s" @click="renshouPopupshow=true">
  1499. <text class="tagHeader dis a-c">
  1500. <text>{{renshouaccidentalDrivingVo.alias}}
  1501. <view class="tag"></view>
  1502. </text>
  1503. </text>
  1504. <u-icon name="arrow-right" style="color: #999;" size="24"></u-icon>
  1505. </view>
  1506. <view>
  1507. <u-table border-color="#E3E9F8"
  1508. v-if="renshouaccidentalDrivingVo.insDrivingIntentionInsuranceSon && renshouaccidentalDrivingVo.insDrivingIntentionInsuranceSon.length>0">
  1509. <u-tr class="sy">
  1510. <u-th width="50%"
  1511. style="text-align: left;padding: 5px 10px !important">保险责任</u-th>
  1512. <u-th>保额</u-th>
  1513. <u-th>保费(元)</u-th>
  1514. </u-tr>
  1515. <view class="dis">
  1516. <view class="accident dis f-c">
  1517. <view class="diss dis"
  1518. v-for="(Sonitem,Sonindex) in renshouaccidentalDrivingVo.insDrivingIntentionInsuranceSon"
  1519. :key="Sonindex">
  1520. <view style="width: 67%;padding: 5px 10px " class="boss">
  1521. <view class="dis a-c ">
  1522. <view class="circle dis a-c j-c"></view>
  1523. <view style="margin-left: 5px;width: 80%;"
  1524. class="dis j-start">
  1525. {{Sonitem.name}}
  1526. </view>
  1527. </view>
  1528. </view>
  1529. <view class="boss dis a-c j-c" style="width: 33%;">
  1530. {{Sonitem.amount}}
  1531. </view>
  1532. </view>
  1533. </view>
  1534. <view class="right dis j-c a-c">
  1535. {{renshouaccidentalDrivingVo.sumPremium}}
  1536. </view>
  1537. </view>
  1538. </u-table>
  1539. </view>
  1540. <view class="dis a-c j-s">
  1541. <text>份数</text>
  1542. <u-number-box v-model="renshouaccidentalDrivingVo.quantity" :min="1" :max="10"
  1543. :disabled-input="true" :input-width="70" :input-height="44" size="26"
  1544. :long-press="false"></u-number-box>
  1545. </view>
  1546. <view class="dis a-c j-s mt-2" style="font-size: 14px;color: #232832;">
  1547. <text>总保费</text>
  1548. <text>¥{{renshouaccidentalDrivingVo.sumPremium*renshouaccidentalDrivingVo.quantity}}</text>
  1549. </view>
  1550. </view>
  1551. </template>
  1552. </view>
  1553. </view>
  1554. </scroll-view>
  1555. <view class="PlanPopup-btn dis a-c j-c">
  1556. <button size="mini" type="default"
  1557. style="margin-right:50px;border: 1px solid #C9C9C9;border-radius: 50px;width: 100px;"
  1558. @click="genericPlanPopup=false">取消</button>
  1559. <button type="primary" size="mini"
  1560. style="background: linear-gradient( 90deg, #0052FF 0%, #0D8BFF 100%);border-radius: 50px;width: 100px;"
  1561. @click="confirmPlan(planDataExpansion.cnName)">确定方案</button>
  1562. </view>
  1563. </view>
  1564. </u-popup>
  1565. <!-- 商业选择方案 -->
  1566. <wyb-popup ref="popupBI" type="bottom" mode="size-fixed" height="900" radius="6" :showCloseIcon="true">
  1567. <view class="popup-content">
  1568. <view class="popHeader d-flex a-center j-center">
  1569. 选择方案
  1570. </view>
  1571. <scroll-view scroll-top="0" scroll-y="true" class="popContent">
  1572. <view class="popContentTitle">{{insureItem.kindName}}</view>
  1573. <view style="color: #999;font-size: 24upx;">{{insureItem.desc}}</view>
  1574. <view class="dis a-c j-s p-3" v-if="['TY2','TY3','TY4'].includes(insureItem.kindCode)">
  1575. <text>自定义次数</text>
  1576. <u-number-box v-model="insureItem.amount" :input-width="100" :input-height="60" :min="0"
  1577. color="#fff" size="30" @change="numberBoxChange"></u-number-box>
  1578. </view>
  1579. <view v-else style="margin-top: 10px;">
  1580. <block v-for="(amt,index) in insureItem.amtList" :key="index">
  1581. <view class="amtSingle" @tap="adjustBIItemLabel(index)"
  1582. :class="(amt.label== insureItem.amountDesc)?'active':''">
  1583. {{amt.label}}
  1584. </view>
  1585. </block>
  1586. </view>
  1587. </scroll-view>
  1588. <view class="popBottom">
  1589. <button type="primary" style="background-color: #0052FF;"
  1590. @tap="adjustBIItemLabelSubmit()">完成</button>
  1591. </view>
  1592. </view>
  1593. </wyb-popup>
  1594. <!-- 安盛驾意险弹框 -->
  1595. <u-modal v-model="anshengPopupshow" title="驾意险"
  1596. :title-style="{fontWeight: 'bold',borderBottom:'1px solid #f2f2f2',padding:'10px'}"
  1597. :scroll-height="{height: '300px'}" :show-confirm-button="false" mask-close-able>
  1598. <view class="slot-content p-2">
  1599. <u-radio-group size="30" wrap>
  1600. <u-radio style="margin: 4px 0;flex: auto;" label-size="30" @change="ASradioChange" shape="square"
  1601. v-for="(item, index) in anshengInsuranceData" :key="index" :name="item.projectCode">
  1602. {{item.alias}}
  1603. </u-radio>
  1604. </u-radio-group>
  1605. </view>
  1606. </u-modal>
  1607. <!-- 人寿驾意险弹框 -->
  1608. <u-modal v-model="renshouPopupshow" title="驾意险"
  1609. :title-style="{fontWeight: 'bold',borderBottom:'1px solid #f2f2f2',padding:'10px'}"
  1610. :scroll-height="{height: '300px'}" :show-confirm-button="false" mask-close-able>
  1611. <view class="slot-content p-2">
  1612. <u-radio-group size="30" wrap>
  1613. <u-radio style="margin: 4px 0; align-items: flex-start;" label-size="30" shape="square"
  1614. @change="RSradioChange" v-for="(item, index) in renshouInsuranceData" :key="index"
  1615. :name="item.projectCode">
  1616. {{item.alias}}
  1617. </u-radio>
  1618. </u-radio-group>
  1619. </view>
  1620. </u-modal>
  1621. <!-- 中煤驾意险弹框 -->
  1622. <u-modal v-model="zhongmeiPopupshow" title="驾意险"
  1623. :title-style="{fontWeight: 'bold',borderBottom:'1px solid #f2f2f2',padding:'10px'}"
  1624. :scroll-height="{height: '300px'}" :show-confirm-button="false" mask-close-able>
  1625. <view class="slot-content p-2">
  1626. <u-radio-group size="30" wrap>
  1627. <u-radio style="margin: 4px 0;" label-size="30" @change="ZMradioChange" shape="square"
  1628. v-for="(item, index) in zhongmeiInsuranceData" :key="index" :name="item.projectCode">
  1629. {{item.alias}}
  1630. </u-radio>
  1631. </u-radio-group>
  1632. </view>
  1633. </u-modal>
  1634. <!-- 恒邦驾意险弹框 -->
  1635. <u-modal v-model="hengbangPopupshow" title="驾意险"
  1636. :title-style="{fontWeight: 'bold',borderBottom:'1px solid #f2f2f2',padding:'10px'}"
  1637. :scroll-height="{height: '300px'}" :show-confirm-button="false" mask-close-able>
  1638. <view class="slot-content p-2">
  1639. <u-radio-group size="30" wrap>
  1640. <u-radio style="margin: 4px 0;flex: auto;" label-size="30" @change="HBradioChange" shape="square"
  1641. v-for="(item, index) in hengbangInsuranceData" :key="index" :name="item.projectCode">
  1642. {{item.alias}}
  1643. </u-radio>
  1644. </u-radio-group>
  1645. </view>
  1646. </u-modal>
  1647. <!-- 众安驾意险弹框 -->
  1648. <u-modal v-model="zhonganPopupshow" title="驾意险"
  1649. :title-style="{fontWeight: 'bold',borderBottom:'1px solid #f2f2f2',padding:'10px'}"
  1650. :scroll-height="{height: '300px'}" :show-confirm-button="false" mask-close-able>
  1651. <view class="slot-content p-2">
  1652. <u-radio-group size="30" wrap>
  1653. <u-radio style="margin: 4px 0;flex: auto;" label-size="30" @change="ZAradioChange" shape="square"
  1654. v-for="(item, index) in zhonganInsuranceData" :key="index" :name="item.projectCode">
  1655. {{item.alias}}
  1656. </u-radio>
  1657. </u-radio-group>
  1658. </view>
  1659. </u-modal>
  1660. <!-- 华农驾意险弹框 -->
  1661. <u-modal v-model="huanongPopupshow" title="驾意险"
  1662. :title-style="{fontWeight: 'bold',borderBottom:'1px solid #f2f2f2',padding:'10px'}"
  1663. :scroll-height="{height: '300px'}" :show-confirm-button="false" mask-close-able>
  1664. <view class="slot-content p-2">
  1665. <u-radio-group size="30" wrap>
  1666. <u-radio style="margin: 4px 0;flex: auto;" label-size="30" @change="HNradioChange" shape="square"
  1667. v-for="(item, index) in huanongInsuranceData" :key="index" :name="item.projectCode">
  1668. {{item.alias}}
  1669. </u-radio>
  1670. </u-radio-group>
  1671. </view>
  1672. </u-modal>
  1673. <!-- 泰康驾意险弹框 -->
  1674. <u-modal v-model="taikangPopupshow" title="驾意险"
  1675. :title-style="{fontWeight: 'bold',borderBottom:'1px solid #f2f2f2',padding:'10px'}"
  1676. :scroll-height="{height: '300px'}" :show-confirm-button="false" mask-close-able>
  1677. <view class="slot-content p-2">
  1678. <u-radio-group size="30" wrap>
  1679. <u-radio style="margin: 4px 0;flex: auto;" label-size="30" @change="TkradioChange" shape="square"
  1680. v-for="(item, index) in taikangInsuranceData" :key="index" :name="item.projectCode">
  1681. {{item.alias}}
  1682. </u-radio>
  1683. </u-radio-group>
  1684. </view>
  1685. </u-modal>
  1686. <u-modal v-model="yongchengPopupshow" title="驾意险"
  1687. :title-style="{fontWeight: 'bold',borderBottom:'1px solid #f2f2f2',padding:'10px'}"
  1688. :scroll-height="{height: '300px'}" :show-confirm-button="false" mask-close-able>
  1689. <view class="slot-content p-2">
  1690. <u-radio-group size="30" wrap>
  1691. <u-radio style="margin: 4px 0;flex: auto;" label-size="30" @change="YCradioChange" shape="square"
  1692. v-for="(item, index) in yongchengInsuranceData" :key="index" :name="item.projectCode">
  1693. {{item.alias}}
  1694. </u-radio>
  1695. </u-radio-group>
  1696. </view>
  1697. </u-modal>
  1698. <!-- 太平驾意险弹框 -->
  1699. <u-modal v-model="taipingPopupshow" title="驾意险"
  1700. :title-style="{fontWeight: 'bold',borderBottom:'1px solid #f2f2f2',padding:'10px'}"
  1701. :scroll-height="{height: '300px'}" :show-confirm-button="false" mask-close-able>
  1702. <view class="slot-content p-2">
  1703. <u-radio-group size="30" wrap>
  1704. <u-radio style="margin: 4px 0;flex: auto;" label-size="30" @change="TPradioChange" shape="square"
  1705. v-for="(item, index) in taipingInsuranceData" :key="index" :name="item.projectCode">
  1706. {{item.alias}}
  1707. </u-radio>
  1708. </u-radio-group>
  1709. </view>
  1710. </u-modal>
  1711. <!-- 渤海驾意险弹框 -->
  1712. <u-modal v-model="bohaiPopupshow" title="驾意险"
  1713. :title-style="{fontWeight: 'bold',borderBottom:'1px solid #f2f2f2',padding:'10px'}"
  1714. :scroll-height="{height: '300px'}" :show-confirm-button="false" mask-close-able>
  1715. <view class="slot-content p-2">
  1716. <u-radio-group size="30" style="" wrap>
  1717. <u-radio style="margin: 4px 0;flex: auto;" label-size="30" @change="BHradioChange" shape="square"
  1718. v-for="(item, index) in bohaiInsuranceData" :key="index" :name="item.projectCode">
  1719. {{item.alias}}
  1720. </u-radio>
  1721. </u-radio-group>
  1722. </view>
  1723. </u-modal>
  1724. <u-modal v-model="priceComparisonShow" title="比价提醒"
  1725. :title-style="{fontWeight: 'bold',borderBottom:'1px solid #f2f2f2',padding:'10px'}"
  1726. :show-cancel-button="false"
  1727. :confirm-style="{background:'#E6EEFF',color:'#0052FF',height:'40px',lineHeight:'40px'}"
  1728. @confirm="priceComparisonShow=false">
  1729. <view class="slot-content dis j-c a-c ">
  1730. <view class="p-2">
  1731. <text>可选择有报价结果的公司进行比价,最少选择两家,最多可选择三家</text>
  1732. </view>
  1733. </view>
  1734. </u-modal>
  1735. <!-- 紫金驾意弹框 -->
  1736. <u-popup v-model="zijinPopupshow" mode="bottom" border-radius="10" height="1000">
  1737. <view class="ZJcheckboxGroup dis f-c">
  1738. <view class="title dis a-c j-c">
  1739. <text>意外险选择</text>
  1740. </view>
  1741. <scroll-view scroll-y="true" class="scolcentent">
  1742. <u-checkbox-group @change="ZJcheckboxGroupChange">
  1743. <u-checkbox style="margin: 8px 0;flex: auto;" active-color="#FF4D4D" label-size="28"
  1744. v-model="item.checked" v-for="(item, index) in zijinInsuranceData" :key="index"
  1745. :name="item.projectCode">{{item.alias}}</u-checkbox>
  1746. </u-checkbox-group>
  1747. </scroll-view>
  1748. <view class="operateBtn dis ">
  1749. <view class="cancel dis a-c j-c" @click="zijinPopupshow=false">
  1750. 取消
  1751. </view>
  1752. <view class="confirm dis a-c j-c" @click="zijinPopupshow=false">
  1753. 确定
  1754. </view>
  1755. </view>
  1756. </view>
  1757. </u-popup>
  1758. <u-popup v-model="guoRencontributingshow" mode="bottom" border-radius="10" height="1000">
  1759. <view class="ZJcheckboxGroup dis f-c">
  1760. <view class="title dis a-c j-c">
  1761. <text>特约选择</text>
  1762. </view>
  1763. <scroll-view scroll-y="true" class="scolcentent">
  1764. <u-checkbox-group @change="guoRencontributingChange" style="display: contents;">
  1765. <u-checkbox v-model="item.checked" v-for="(item, index) in guoRenSpecialAgreementData"
  1766. :key="index" :name="item.clauseCode" active-color="#FF4D4D" style="align-items: baseline;">
  1767. <view class="dis f-c ">
  1768. <text>{{item.clauseCode}}{{item.clauses}}</text>
  1769. <text style="font-size: 20rpx;color: #999;">{{item.clausesContext}}</text>
  1770. </view>
  1771. </u-checkbox>
  1772. </u-checkbox-group>
  1773. </scroll-view>
  1774. <view class="operateBtn dis ">
  1775. <view class="cancel dis a-c j-c" @click="guoRencontributingshow=false">
  1776. 取消
  1777. </view>
  1778. <view class="confirm dis a-c j-c" @click="guoRencontributingshow=false">
  1779. 确定
  1780. </view>
  1781. </view>
  1782. </view>
  1783. </u-popup>
  1784. <u-modal v-model="guoRenPopupshow" title="驾意险"
  1785. :title-style="{fontWeight: 'bold',borderBottom:'1px solid #f2f2f2',padding:'10px'}"
  1786. :scroll-height="{height: '300px'}" :show-confirm-button="false" mask-close-able>
  1787. <view class="slot-content p-2">
  1788. <u-radio-group size="30" wrap>
  1789. <u-radio style="margin: 4px 0;flex: auto;" label-size="30" @change="GRradioChange" shape="square"
  1790. v-for="(item, index) in guoRenInsuranceData" :key="index" :name="item.projectCode">
  1791. {{item.alias}}
  1792. </u-radio>
  1793. </u-radio-group>
  1794. </view>
  1795. </u-modal>
  1796. <u-modal v-model="dajiaPopupshow" title="驾意险"
  1797. :title-style="{fontWeight: 'bold',borderBottom:'1px solid #f2f2f2',padding:'10px'}"
  1798. :scroll-height="{height: '300px'}" :show-confirm-button="false" mask-close-able>
  1799. <view class="slot-content p-2">
  1800. <u-radio-group size="30" wrap>
  1801. <u-radio style="margin: 4px 0;flex: auto;" label-size="30" @change="DJradioChange" shape="square"
  1802. v-for="(item, index) in dajiaInsuranceData" :key="index" :name="item.projectCode">
  1803. {{item.alias}}
  1804. </u-radio>
  1805. </u-radio-group>
  1806. </view>
  1807. </u-modal>
  1808. <u-modal v-model="Generateshow" content="是否生成新的订单?" :content-style="{fontWeight: 'bold'}"
  1809. :show-cancel-button="true" :show-title="false" :confirm-style="{color: '#ff9000'}"
  1810. @confirm="GenerateModalConfirm"></u-modal>
  1811. <u-modal v-model="preUnderwritingshow" width="72%" title="预核保信息" :title-style="{fontWeight: 'bold'}">
  1812. <view class="" style="padding: 10px;overflow-y:auto;height: 400px;">
  1813. <view v-for="(item,index) in RSpreUnderwritingList" :key="index">
  1814. <view class="dis f-c " style="background-color: #FFEEEE;">
  1815. <text style="font-weight: bold;">审核意见</text>
  1816. <text style="font-size: 12px;">{{item.opinion}}</text>
  1817. </view>
  1818. <view class="dis f-c" style="background-color: #FFEEEE;">
  1819. <text style="font-weight: bold;">备注</text>
  1820. <text style="font-size: 12px;">{{item.description}}</text>
  1821. </view>
  1822. </view>
  1823. </view>
  1824. </u-modal>
  1825. <u-popup v-model="discountInfoPopup" mode="center" width="78%" border-radius="6">
  1826. <view class="">
  1827. <view class="p-2 dis j-c a-c">
  1828. <text class="font-weight">{{discountInfoPopupTitle}}优惠信息</text>
  1829. </view>
  1830. <view style="padding: 0 20px;">
  1831. <scroll-view :scroll-top="scrollTop" scroll-y="true" class="discountInfoscroll">
  1832. <rich-text :nodes="discountInfoPopupContent"></rich-text>
  1833. </scroll-view>
  1834. </view>
  1835. <view class="PlanPopup-btn dis a-c j-c">
  1836. <u-button shape="circle" size="medium" @click="discountInfoPopup=false">取消</u-button>
  1837. </view>
  1838. </view>
  1839. </u-popup>
  1840. </view>
  1841. </template>
  1842. <script>
  1843. import {
  1844. mapState
  1845. } from "vuex"
  1846. import lsLoading from '@/components/common/ls-loading/ls-loading.vue';
  1847. import wybPopup from '@/components/modules/carInsure/wyb-popup/wyb-popup.vue'
  1848. export default {
  1849. components: {
  1850. wybPopup,
  1851. lsLoading
  1852. },
  1853. watch: {
  1854. comparableQuantity: {
  1855. handler(val) {
  1856. console.log(val);
  1857. },
  1858. },
  1859. },
  1860. computed: {
  1861. ...mapState(['userInfo', 'quotationType']),
  1862. },
  1863. // 监听导航栏的按钮
  1864. onNavigationBarButtonTap(e) {
  1865. if (e.index == 0) {
  1866. this.navigate({
  1867. url: '/pages/index/index'
  1868. }, "switchTab", true);
  1869. }
  1870. },
  1871. data() {
  1872. return {
  1873. discountInfoPopup: false,
  1874. discountInfoPopupTitle: "",
  1875. discountInfoPopupContent: ``,
  1876. CSSMathValue11: false,
  1877. insGuide: "", //投保指引
  1878. insGuideTitle: "", //投保指引
  1879. guoRenSpecialAgreementData: [],
  1880. guoRenSpecialAgreementVo: [],
  1881. preUnderwritingshow: false,
  1882. Generateshow: false,
  1883. guoRencontributingshow: false, //特约弹窗
  1884. priceComparisonShow: false, //比价弹窗
  1885. comparableQuantity: 0, //报价成功总数
  1886. selectedCount: 0, //比价勾选数量
  1887. riskList: [], //险种大类
  1888. model: {
  1889. taxRelifFlag: "正常交税",
  1890. taxpayerIdentifier: "身份证",
  1891. relifReason: "",
  1892. taxPaidAreaCode: "",
  1893. },
  1894. //车船税form
  1895. vehicleAndVesselTaxForm: {
  1896. taxRelifFlag: "1", //类型
  1897. identifyNumber: "", //纳税人识别号
  1898. taxpayerIdentifier: "01", //纳税人证件类型
  1899. taxpayerName: "", //纳税人名称
  1900. extendChar2: "", //减免税凭证号
  1901. paidFreeCertificate: "", //完税凭证号
  1902. relifReason: "", //减免税原因
  1903. taxComCode: "", //税务机关代码
  1904. taxComName: "", ///税务机关名称
  1905. taxDocumentDate: "", //完税日期
  1906. taxPaidAreaCode: "", //完税凭证地区代码
  1907. taxRelief: "", //减税比例
  1908. },
  1909. taxRelifFlagoptions: [],
  1910. taxpayerIdentifieroptions: [],
  1911. relifReasonoptions: [],
  1912. taxPaidAreaCodeShow: false, //完税凭证地区
  1913. taxDocumentDateShow: false, //完税凭证填发日期
  1914. taxRelifFlagShow: false, //车船税类型
  1915. taxpayerIdentifierShow: false, //纳税人证件类型
  1916. relifReasonShow: false, //减免税原因代码
  1917. params: {
  1918. year: true, //年
  1919. month: true, //月
  1920. day: true, //日
  1921. hour: true, //时
  1922. minute: true, //分
  1923. second: true, //秒
  1924. },
  1925. jqimmediately: "0",
  1926. jqimmediatelyList: [{
  1927. label: '是',
  1928. value: "1",
  1929. },
  1930. {
  1931. label: '否',
  1932. value: "0",
  1933. },
  1934. ],
  1935. syimmediately: "0",
  1936. syimmediatelyList: [{
  1937. label: '是',
  1938. value: "1",
  1939. },
  1940. {
  1941. label: '否',
  1942. value: "0",
  1943. },
  1944. ],
  1945. jqchecked: false,
  1946. sychecked: false,
  1947. jqstartShow: false,
  1948. jqendShow: false,
  1949. systartShow: false,
  1950. syendShow: false,
  1951. jqstartDate: "",
  1952. jqendDate: "",
  1953. systartDate: "",
  1954. syendDate: "",
  1955. scrollTop: 0,
  1956. carInfo: {},
  1957. ownerInfo: {},
  1958. policyHolderInfo: {},
  1959. insuredPersonInfo: {},
  1960. carInfoPositiveList: [],
  1961. ownerInfoPositiveList: [],
  1962. policyHolderInfoPositiveList: [],
  1963. insuredPersonInfoPositiveList: [],
  1964. transferDateShow: false,
  1965. params1: {
  1966. year: true, //年
  1967. month: true, //月
  1968. day: true, //日
  1969. hour: false, //时
  1970. minute: false, //分
  1971. second: false, //秒
  1972. },
  1973. params2: {
  1974. province: true,
  1975. city: false,
  1976. area: false
  1977. },
  1978. quotableCompanyList: [],
  1979. RSpreUnderwritingList: [],
  1980. productId: "",
  1981. productName: "",
  1982. animation: 'twinkle', //动画类型
  1983. InsureGuidePopup: false,
  1984. /* 投保指引弹窗*/
  1985. InsureGuideContent: "", // 指引内容
  1986. SelectedPlanId: "2", //已选方案id
  1987. genericPlanPopup: false, //方案选择弹窗
  1988. planDataExpansion: { //方案综合数据
  1989. id: "",
  1990. namesimple: "",
  1991. cnName: "",
  1992. genericPlanList: [], //方案通用列表
  1993. genericPlanInfo: {}, //方案展示信息
  1994. },
  1995. insureItem: {},
  1996. orderno: "", //订单号
  1997. quoteno: "", //报价号
  1998. accidentInsuranceCategoryList: [],
  1999. accidentCategoryId: "",
  2000. /* 安盛 */
  2001. anshengPopupshow: false,
  2002. anshengInsuranceData: [],
  2003. anshengaccidentalDrivingVo: {},
  2004. /* 国任 */
  2005. guoRenPopupshow: false,
  2006. guoRenInsuranceData: [],
  2007. guoRenaccidentalDrivingVo: {},
  2008. /* 大家 */
  2009. dajiaPopupshow: false,
  2010. dajiaInsuranceData: [],
  2011. dajiaaccidentalDrivingVo: {},
  2012. /* 永诚 */
  2013. yongchengPopupshow: false,
  2014. yongchengInsuranceData: [],
  2015. yongchengaccidentalDrivingVo: {},
  2016. /* 恒邦 */
  2017. hengbangPopupshow: false,
  2018. hengbangInsuranceData: [],
  2019. hengbangaccidentalDrivingVo: {},
  2020. /* 诚泰 */
  2021. chengtaiPopupshow: false,
  2022. chengtaiInsuranceData: [],
  2023. chengtaiaccidentalDrivingVo: {},
  2024. /* 中煤 */
  2025. zhongmeiPopupshow: false,
  2026. zhongmeiInsuranceData: [],
  2027. zhongmeiaccidentalDrivingVo: {},
  2028. /* 泰康 */
  2029. taikangPopupshow: false,
  2030. taikangInsuranceData: [],
  2031. taikangaccidentalDrivingVo: {},
  2032. /* 渤海 */
  2033. bohaiPopupshow: false,
  2034. bohaiInsuranceData: [],
  2035. bohaiaccidentalDrivingVo: {},
  2036. /* 众安 */
  2037. zhonganPopupshow: false,
  2038. zhonganInsuranceData: [],
  2039. zhonganaccidentalDrivingVo: {},
  2040. /* 太平 */
  2041. taipingPopupshow: false,
  2042. taipingInsuranceData: [],
  2043. taipingaccidentalDrivingVo: {},
  2044. /* 华农 */
  2045. huanongPopupshow: false,
  2046. huanongInsuranceData: [],
  2047. huanongaccidentalDrivingVo: {},
  2048. /* 人寿 */
  2049. renshouPopupshow: false,
  2050. renshouInsuranceData: [],
  2051. renshouaccidentalDrivingVo: {},
  2052. /* 紫金 */
  2053. zijinPopupshow: false,
  2054. zijinInsuranceData: [],
  2055. zijinaccidentalDrivingVo: [],
  2056. isInspectchange: false,
  2057. }
  2058. },
  2059. onShow() {
  2060. },
  2061. async onLoad(params) {
  2062. console.log(params);
  2063. if (params.orderno) {
  2064. let res = await this.$http.post('/insurance/order/reviseApp', {
  2065. orderNo: params.orderno
  2066. });
  2067. this.productId = res.data.productid; //险种id
  2068. this.productName = res.data.product; //险种name
  2069. this.quotableCompanyList = JSON.parse(JSON.stringify(res.data.companyDtos));
  2070. this.commpanyList();
  2071. this.carInfo = res.data.carinfo; //车辆信息
  2072. this.ownerInfo = res.data.ownerinfo; //车主信息
  2073. this.policyHolderInfo = res.data.applyinfo; //投保人信息
  2074. this.insuredPersonInfo = res.data.insureinfo; //被保人信息
  2075. this.riskList = res.data.risk; //险种大类
  2076. this.vehicleAndVesselTaxForm = res.data.vehicleAndVesselTax; //车船税信息
  2077. this.orderno = res.data.orderno;
  2078. this.quoteno = res.data.quoteno;
  2079. this.imageEcho(res.data.quoteno) // 影像获取完毕
  2080. if (this.riskList.length > 0) {
  2081. for (let i = 0; i < this.riskList.length; i++) {
  2082. if (this.riskList[i].riskCode == '0507') {
  2083. if (this.isDateBeforeToday(this.riskList[i].startDate)) {
  2084. this.jqstartDate = this.nextday();
  2085. this.jqendDate = this.oneYearPast(this.jqstartDate)
  2086. this.riskList[i].startDate = this.nextday()
  2087. this.riskList[i].endDate = this.oneYearPast(this.jqstartDate)
  2088. } else {
  2089. this.jqstartDate = this.riskList[i].startDate;
  2090. this.jqendDate = this.riskList[i].endDate;
  2091. }
  2092. }
  2093. if (this.riskList[i].riskCode == '0510') {
  2094. if (this.isDateBeforeToday(this.riskList[i].startDate)) {
  2095. this.systartDate = this.nextday();
  2096. this.syendDate = this.oneYearPast(this.systartDate)
  2097. this.riskList[i].startDate = this.nextday()
  2098. this.riskList[i].endDate = this.oneYearPast(this.systartDate)
  2099. } else {
  2100. this.systartDate = this.riskList[i].startDate;
  2101. this.syendDate = this.riskList[i].endDate;
  2102. }
  2103. }
  2104. }
  2105. }
  2106. } else {
  2107. this.jqstartDate = this.nextday();
  2108. this.jqendDate = this.oneYearPast(this.jqstartDate);
  2109. this.systartDate = this.nextday();
  2110. this.syendDate = this.oneYearPast(this.jqstartDate);
  2111. const eventChannel = this.getOpenerEventChannel()
  2112. // 监听acceptData事件,获取上一页面通过eventChannel传送到当前页面的数据
  2113. await eventChannel.on('acceptData', (data) => {
  2114. console.log(data);
  2115. this.carInfo = data.carInfo; //车辆信息
  2116. this.ownerInfo = data.ownerInfo; //车主信息
  2117. this.policyHolderInfo = data.policyHolderInfo; //投保人信息
  2118. this.insuredPersonInfo = data.insuredPersonInfo; //被保人信息
  2119. this.carInfoPositiveList = data.carInfoPositiveList; //车辆
  2120. this.ownerInfoPositiveList = data.ownerInfoPositiveList; //车主
  2121. this.policyHolderInfoPositiveList = data.policyHolderInfoPositiveList; //投保
  2122. this.insuredPersonInfoPositiveList = data.insuredPersonInfoPositiveList; //被保人
  2123. this.productId = data.productId; //险种id
  2124. this.productName = data.productName; //险种name
  2125. this.riskTypeEchoProcessing(this.productId)
  2126. this.quotableCompanyList = JSON.parse(JSON.stringify(data.quotableCompanyList)); //可报价公司
  2127. this.commpanyList();
  2128. })
  2129. }
  2130. this.getDicType("taxRelifFlag"); //车船税类型
  2131. this.getDicType("taxpayerIdentifier"); //纳税人证件类型
  2132. this.getDicType("relifReason"); //减免税原因代码
  2133. },
  2134. methods: {
  2135. isDateBeforeToday(date) {
  2136. const inputDate = new Date(date); // 将输入的日期转换为 Date 对象
  2137. const today = new Date(); // 获取当前日期
  2138. // 比较日期是否小于当前日期
  2139. if (inputDate < today) {
  2140. return true; // 输入日期小于当前日期
  2141. } else {
  2142. return false; // 输入日期大于等于当前日期
  2143. }
  2144. },
  2145. //影像查询
  2146. async imageEcho(quotenos) {
  2147. let imgres = await this.$http.get('/ins/taskImage/findByQuoteNo?quoteNo=' + quotenos);
  2148. if (imgres.code == "200") {
  2149. Object.keys(imgres.data).forEach((keys) => {
  2150. if (imgres.data[keys].url) {
  2151. imgres.data[keys].url = this.$base.baseUrl + imgres.data[keys].url;
  2152. switch (keys) {
  2153. case 'C01':
  2154. this.carInfoPositiveList.push({
  2155. imageId: imgres.data[keys].imageId,
  2156. imageType: imgres.data[keys].imageType,
  2157. })
  2158. break;
  2159. case 'D01':
  2160. this.carInfoPositiveList.push({
  2161. imageId: imgres.data[keys].imageId,
  2162. imageType: imgres.data[keys].imageType,
  2163. })
  2164. break;
  2165. case 'C02':
  2166. this.ownerInfoPositiveList.push({
  2167. imageId: imgres.data[keys].imageId,
  2168. imageType: imgres.data[keys].imageType,
  2169. });
  2170. break;
  2171. case 'D02':
  2172. this.ownerInfoPositiveList.push({
  2173. imageId: imgres.data[keys].imageId,
  2174. imageType: imgres.data[keys].imageType,
  2175. });
  2176. break;
  2177. case 'C03':
  2178. this.policyHolderInfoPositiveList.push({
  2179. imageId: imgres.data[keys].imageId,
  2180. imageType: imgres.data[keys].imageType,
  2181. });
  2182. break;
  2183. case 'D03':
  2184. this.policyHolderInfoPositiveList.push({
  2185. imageId: imgres.data[keys].imageId,
  2186. imageType: imgres.data[keys].imageType,
  2187. });
  2188. break;
  2189. case 'C04':
  2190. this.insuredPersonInfoPositiveList.push({
  2191. imageId: imgres.data[keys].imageId,
  2192. imageType: imgres.data[keys].imageType,
  2193. });
  2194. break;
  2195. case 'D04':
  2196. this.insuredPersonInfoPositiveList.push({
  2197. imageId: imgres.data[keys].imageId,
  2198. imageType: imgres.data[keys].imageType,
  2199. });
  2200. break;
  2201. default:
  2202. break;
  2203. }
  2204. }
  2205. });
  2206. }
  2207. },
  2208. back() {
  2209. uni.navigateBack(1)
  2210. },
  2211. //-------------驾意险处理开始
  2212. //国任
  2213. GRradioChange(id) {
  2214. let obj = this.guoRenInsuranceData.find((val => val.projectCode == id))
  2215. Object.assign(this.guoRenaccidentalDrivingVo, obj);
  2216. this.guoRenPopupshow = false;
  2217. },
  2218. //大家
  2219. DJradioChange(id) {
  2220. let obj = this.dajiaInsuranceData.find((val => val.projectCode == id))
  2221. Object.assign(this.dajiaaccidentalDrivingVo, obj);
  2222. this.dajiaPopupshow = false;
  2223. },
  2224. //紫金意外险
  2225. ZJcheckboxGroupChange(detail) {
  2226. this.zijinaccidentalDrivingVo = [];
  2227. detail.map(val => {
  2228. let list = this.zijinInsuranceData.find(item => item.projectCode == val)
  2229. this.zijinaccidentalDrivingVo.push(list)
  2230. })
  2231. },
  2232. //安盛
  2233. ASradioChange(id) {
  2234. let obj = this.anshengInsuranceData.find((val => val.projectCode == id))
  2235. Object.assign(this.anshengaccidentalDrivingVo, obj);
  2236. this.anshengPopupshow = false;
  2237. },
  2238. //太平
  2239. TPradioChange(id) {
  2240. let obj = this.taipingInsuranceData.find(val => val.projectCode == id)
  2241. Object.assign(this.taipingaccidentalDrivingVo, obj);
  2242. this.taipingPopupshow = false;
  2243. },
  2244. //泰康
  2245. TkradioChange(id) {
  2246. let obj = this.taikangInsuranceData.find(val => val.projectCode == id)
  2247. Object.assign(this.taikangaccidentalDrivingVo, obj);
  2248. this.taikangPopupshow = false;
  2249. },
  2250. //永诚
  2251. YCradioChange(id) {
  2252. let obj = this.yongchengInsuranceData.find(val => val.projectCode == id)
  2253. Object.assign(this.yongchengaccidentalDrivingVo, obj);
  2254. this.yongchengPopupshow = false;
  2255. },
  2256. //中煤
  2257. ZMradioChange(id) {
  2258. let obj = this.zhongmeiInsuranceData.find(val => val.projectCode == id)
  2259. Object.assign(this.zhongmeiaccidentalDrivingVo, obj);
  2260. this.zhongmeiPopupshow = false;
  2261. },
  2262. //渤海意外险
  2263. BHradioChange(id) {
  2264. let info = this.bohaiInsuranceData.find(val => val.projectCode == id)
  2265. Object.assign(this.bohaiaccidentalDrivingVo, obj);
  2266. this.bohaiPopupshow = false;
  2267. },
  2268. //人寿意外险
  2269. RSradioChange(id) {
  2270. let obj = this.renshouInsuranceData.find(val => val.projectCode == id)
  2271. Object.assign(this.renshouaccidentalDrivingVo, obj);
  2272. this.renshouPopupshow = false;
  2273. },
  2274. //恒邦意外险
  2275. HBradioChange(id) {
  2276. let obj = this.hengbangInsuranceData.find(val => val.projectCode ==
  2277. id)
  2278. Object.assign(this.hengbangaccidentalDrivingVo, obj);
  2279. this.hengbangPopupshow = false;
  2280. },
  2281. //众安意外险
  2282. ZAradioChange(id) {
  2283. let obj = this.zhonganInsuranceData.find(val => val.projectCode == id)
  2284. Object.assign(this.zhonganaccidentalDrivingVo, obj);
  2285. this.zhonganPopupshow = false;
  2286. },
  2287. //华农驾意险
  2288. HNradioChange(id) {
  2289. let obj = this.huanongInsuranceData.find(val => val.projectCode == id);
  2290. Object.assign(this.huanongaccidentalDrivingVo, obj);
  2291. this.huanongaccidentalDrivingVo.accidentType = this.huanongaccidentalDrivingVo.planCode;
  2292. this.huanongPopupshow = false;
  2293. },
  2294. //-------------驾意险处理结束
  2295. adjustBIItemLabelSubmit() {
  2296. for (let i = 0; i < this.planDataExpansion.genericPlanInfo.kinds.length; i++) {
  2297. if (this.insureItem.kindCode == this.planDataExpansion.genericPlanInfo.kinds[i].kindCode) {
  2298. this.planDataExpansion.genericPlanInfo.kinds[i].amount = this.insureItem.amount; /* 保额 */
  2299. this.planDataExpansion.genericPlanInfo.kinds[i].amountDesc = this.insureItem.amountDesc; /* 保额名称 */
  2300. }
  2301. }
  2302. this.$refs.popupBI.hide();
  2303. },
  2304. numberBoxChange(val) {
  2305. if (val.value > 0) {
  2306. this.insureItem.amount = val.value;
  2307. this.insureItem.amountDesc = val.value + '次';
  2308. } else {
  2309. this.insureItem.amount = 0;
  2310. this.insureItem.amountDesc = '不投保';
  2311. }
  2312. },
  2313. //弹出popup框并显示基本信息
  2314. adjustBIItem(index) {
  2315. var a = {};
  2316. Object.assign(a, this.planDataExpansion.genericPlanInfo.kinds[index])
  2317. this.insureItem = a;
  2318. this.$refs.popupBI.show() // 显示
  2319. },
  2320. //popup内容的label改变
  2321. adjustBIItemLabel(index) {
  2322. this.insureItem.amount = this.insureItem.amtList[index].value;
  2323. this.insureItem.amountDesc = this.insureItem.amtList[index].label;
  2324. },
  2325. jqterms() {
  2326. let file = 'https://sxzgkj.baoxianzhanggui.com/web-api/upload/specification/commercialInsurance.pdf';
  2327. //#ifdef APP-PLUS
  2328. uni.showLoading({
  2329. title: '正在打开'
  2330. });
  2331. let dtask = plus.downloader.createDownload(file, {
  2332. filename: "_downloads/" + '交强条款.pdf'
  2333. }, function(d, status) {
  2334. if (status == 200) {
  2335. uni.hideLoading()
  2336. //下载成功,d.filename是文件在保存在本地的相对路径,使用下面的API可转为平台绝对路径
  2337. let fileSaveUrl = plus.io.convertLocalFileSystemURL(d.filename);
  2338. plus.runtime.openFile(d.filename); //选择软件打开文件
  2339. } else {
  2340. uni.hideLoading()
  2341. //下载失败
  2342. plus.downloader.clear(); //清除下载任务
  2343. }
  2344. })
  2345. dtask.start();
  2346. //#endif
  2347. //#ifdef H5
  2348. var win = window.open();
  2349. win.document.write(
  2350. '<body style="margin:0px;"><object data="' +
  2351. file +
  2352. '" type="application/pdf" width="100%" height="100%"><iframe src="' +
  2353. file +
  2354. '" scrolling="no" width="100%" height="100%" frameborder="0" ></iframe></object></body>'
  2355. );
  2356. //#endif
  2357. },
  2358. syterms() {
  2359. let file = 'https://sxzgkj.baoxianzhanggui.com/web-api/upload/specification/compulsoryInsurance.pdf';
  2360. //#ifdef APP-PLUS
  2361. uni.showLoading({
  2362. title: '正在打开'
  2363. });
  2364. let dtask = plus.downloader.createDownload(file, {
  2365. filename: "_downloads/" + '商业条款.pdf'
  2366. }, function(d, status) {
  2367. if (status == 200) {
  2368. uni.hideLoading()
  2369. //下载成功,d.filename是文件在保存在本地的相对路径,使用下面的API可转为平台绝对路径
  2370. let fileSaveUrl = plus.io.convertLocalFileSystemURL(d.filename);
  2371. plus.runtime.openFile(d.filename); //选择软件打开文件
  2372. } else {
  2373. uni.hideLoading()
  2374. //下载失败
  2375. plus.downloader.clear(); //清除下载任务
  2376. }
  2377. })
  2378. dtask.start();
  2379. //#endif
  2380. //#ifdef H5
  2381. var win = window.open();
  2382. win.document.write(
  2383. '<body style="margin:0px;"><object data="' +
  2384. file +
  2385. '" type="application/pdf" width="100%" height="100%"><iframe src="' +
  2386. file +
  2387. '" scrolling="no" width="100%" height="100%" frameborder="0" ></iframe></object></body>'
  2388. );
  2389. //#endif
  2390. },
  2391. //国任特约
  2392. async specialAgreementSelection(id) {
  2393. let guoRen = await this.$http.post('/api/guoRen/queryClauseDataCompany', {
  2394. companyId: id,
  2395. });
  2396. this.guoRenSpecialAgreementData = guoRen.data;
  2397. this.guoRencontributingshow = true;
  2398. },
  2399. guoRencontributingChange(param) {
  2400. this.guoRenSpecialAgreementVo = [];
  2401. param.map(val => {
  2402. let list = this.guoRenSpecialAgreementData.find(item => item.clauseCode == val)
  2403. this.guoRenSpecialAgreementVo.push({
  2404. clauseCode: list.clauseCode,
  2405. clauses: list.clauses,
  2406. clausesContext: list.clausesContext,
  2407. riskCode: list.riskCode,
  2408. riskName: list.riskName,
  2409. })
  2410. })
  2411. },
  2412. //--------比价
  2413. priceComparison() {
  2414. this.priceComparisonShow = true;
  2415. },
  2416. priceComparison1() {
  2417. this.quotableCompanyList.map(ele => {
  2418. if (ele.quoteCode == 200) {
  2419. ele.isComparableshowHide = true;
  2420. }
  2421. return ele;
  2422. })
  2423. },
  2424. priceComparison2() {
  2425. let subOrderNoslist = [];
  2426. this.quotableCompanyList.map(ele => {
  2427. if (ele.isComparableShow) {
  2428. subOrderNoslist.push(ele.result.companyId);
  2429. }
  2430. return ele;
  2431. })
  2432. uni.navigateTo({
  2433. url: `/pages/orders/priceComparison?subOrderNoslist=${JSON.stringify(subOrderNoslist)}`
  2434. })
  2435. },
  2436. //--------比价
  2437. //重新生成订单
  2438. GenerateModalConfirm() {
  2439. this.orderno = "";
  2440. this.quoteno = "";
  2441. this.toNext();
  2442. },
  2443. async toNext() {
  2444. var allAreFalse = this.quotableCompanyList.every(function(element) {
  2445. return element.insurancePlanInfo == null;
  2446. });
  2447. if (!allAreFalse) {
  2448. this.comparableQuantity = 0; //报价成功总数
  2449. this.selectedCount = 0; //比价勾选数量
  2450. this.quotableCompanyList.map((ele) => {
  2451. ele.isComparableShow = false;
  2452. ele.isComparableshowHide = false;
  2453. return ele;
  2454. })
  2455. this.riskList.map(val => {
  2456. if (val.riskCode == '0507') {
  2457. val.startDate = this.jqstartDate;
  2458. val.endDate = this.jqendDate;
  2459. }
  2460. if (val.riskCode == '0510') {
  2461. val.startDate = this.systartDate;
  2462. val.endDate = this.syendDate;
  2463. }
  2464. return val;
  2465. })
  2466. let param = {
  2467. userId: this.userInfo.sysUser.id,
  2468. quoteno: this.quoteno ? this.quoteno : "",
  2469. orderNo: this.orderno ? this.orderno : "",
  2470. riskList: this.riskList,
  2471. carInfo: this.carInfo,
  2472. insuredPersonInfo: this.insuredPersonInfo,
  2473. ownerInfo: this.ownerInfo,
  2474. policyHolderInfo: this.policyHolderInfo,
  2475. vehicleAndVesselTax: this.vehicleAndVesselTaxForm,
  2476. productId: this.productId,
  2477. orderSource: "1",
  2478. };
  2479. let orders = await this.$http.post('/insurance/order/generateOrder', param);
  2480. if (orders.code == '200') {
  2481. this.orderno = orders.data.orderno;
  2482. this.quoteno = orders.data.quoteno;
  2483. let mergedArray = [];
  2484. let mergedArrayList = mergedArray.concat(this.carInfoPositiveList, this
  2485. .ownerInfoPositiveList, this
  2486. .policyHolderInfoPositiveList, this.insuredPersonInfoPositiveList)
  2487. if (mergedArrayList.length > 0) {
  2488. await this.$http.post('/ins/taskImage/uploadImages', {
  2489. imageList: mergedArrayList,
  2490. quoteNo: this.quoteno,
  2491. })
  2492. }
  2493. this.quotableCompanyList = this.quotableCompanyList.map((ele, index) => {
  2494. if (ele.insurancePlanInfo !== null) {
  2495. // 动态调用报价接口
  2496. ele.quoteCode = '1';
  2497. this.ToolClickFun(ele.cnName, index, ele.id);
  2498. }
  2499. return ele
  2500. });
  2501. } else if (orders.code == '1001') {
  2502. this.Generateshow = true;
  2503. } else {
  2504. uni.showToast({
  2505. title: orders.msg,
  2506. icon: 'none',
  2507. });
  2508. }
  2509. } else {
  2510. uni.showToast({
  2511. title: "请选择方案后,在进行报价",
  2512. icon: 'none',
  2513. });
  2514. }
  2515. },
  2516. async tempSave() {
  2517. let param = {
  2518. userId: this.userInfo.sysUser.id,
  2519. quoteno: this.quoteno ? this.quoteno : "",
  2520. orderNo: this.orderno ? this.orderno : "",
  2521. riskList: this.riskList,
  2522. carInfo: this.carInfo,
  2523. insuredPersonInfo: this.insuredPersonInfo,
  2524. ownerInfo: this.ownerInfo,
  2525. policyHolderInfo: this.policyHolderInfo,
  2526. vehicleAndVesselTax: this.vehicleAndVesselTaxForm,
  2527. productId: this.productId,
  2528. orderSource: "1",
  2529. };
  2530. let orders = await this.$http.post('/insurance/order/generateOrder', param);
  2531. if (orders.code == '200') {
  2532. uni.showToast({
  2533. title: '暂存成功',
  2534. icon: 'none',
  2535. });
  2536. } else {
  2537. uni.showToast({
  2538. title: res.msg,
  2539. icon: 'none',
  2540. });
  2541. }
  2542. },
  2543. async individualQuote(item) {
  2544. if (!item.insurancePlanInfo) {
  2545. uni.showToast({
  2546. title: "请选择方案后,在进行报价",
  2547. icon: 'none',
  2548. });
  2549. } else {
  2550. this.riskList.map(val => {
  2551. if (val.riskCode == '0507') {
  2552. val.startDate = this.jqstartDate;
  2553. val.endDate = this.jqendDate;
  2554. }
  2555. if (val.riskCode == '0510') {
  2556. val.startDate = this.systartDate;
  2557. val.endDate = this.syendDate;
  2558. }
  2559. return val;
  2560. })
  2561. let param = {
  2562. userId: this.userInfo.sysUser.id,
  2563. quoteno: this.quoteno ? this.quoteno : "",
  2564. orderNo: this.orderno ? this.orderno : "",
  2565. riskList: this.riskList,
  2566. carInfo: this.carInfo,
  2567. insuredPersonInfo: this.insuredPersonInfo,
  2568. ownerInfo: this.ownerInfo,
  2569. policyHolderInfo: this.policyHolderInfo,
  2570. vehicleAndVesselTax: this.vehicleAndVesselTaxForm,
  2571. productId: this.productId,
  2572. orderSource: "1",
  2573. };
  2574. let orders = await this.$http.post('/insurance/order/generateOrder', param);
  2575. if (orders.code == '200') {
  2576. this.orderno = orders.data.orderno;
  2577. this.quoteno = orders.data.quoteno;
  2578. let mergedArray = [];
  2579. let mergedArrayList = mergedArray.concat(this.carInfoPositiveList, this
  2580. .ownerInfoPositiveList, this
  2581. .policyHolderInfoPositiveList, this.insuredPersonInfoPositiveList)
  2582. if (mergedArrayList.length > 0) {
  2583. await this.$http.post('/ins/taskImage/uploadImages', {
  2584. imageList: mergedArrayList,
  2585. quoteNo: this.quoteno,
  2586. })
  2587. }
  2588. this.quotableCompanyList = this.quotableCompanyList.map((ele, index) => {
  2589. if (ele.id == item.id) {
  2590. // 动态调用报价接口
  2591. ele.quoteCode = '1';
  2592. this.ToolClickFun(ele.cnName, index, ele.id);
  2593. }
  2594. return ele
  2595. });
  2596. } else if (orders.code == '1001') {
  2597. this.Generateshow = true;
  2598. } else {
  2599. uni.showToast({
  2600. title: orders.msg,
  2601. icon: 'none',
  2602. });
  2603. }
  2604. }
  2605. },
  2606. async ToolClickFun(MethodName, Parameter, companyId) {
  2607. await this[`${MethodName}`](Parameter, companyId)
  2608. //获取已报价成功个数
  2609. let filteredObjects = [];
  2610. this.quotableCompanyList.map(ele => {
  2611. if (ele.quoteCode == 200) {
  2612. filteredObjects.push(ele.result.companyId)
  2613. }
  2614. return ele;
  2615. })
  2616. this.comparableQuantity = filteredObjects.length;
  2617. },
  2618. //永诚报价
  2619. async yongcheng(num, id) {
  2620. let isTaxSource = this.quotableCompanyList[num].isTaxSource;
  2621. let ccidenttype = this.quotableCompanyList[num].cnName;
  2622. let params = {
  2623. accidentalDrivingVo: this.quotableCompanyList[num].insurancePlanInfo.drivingList[0] ? this
  2624. .quotableCompanyList[num].insurancePlanInfo.drivingList[0] : {},
  2625. orderNo: this.orderno,
  2626. companyId: id,
  2627. kinds: this.quotableCompanyList[num].insurancePlanInfo.kinds,
  2628. risks: this.riskList,
  2629. cqryCdeJq: this.cqryCdeJq,
  2630. cqryCdeSy: this.cqryCdeSy,
  2631. renewalCodeJq: this.renewalCodeJq,
  2632. renewalCodeSy: this.renewalCodeSy,
  2633. isTaxSource: isTaxSource == 1 ? isTaxSource : null,
  2634. agreementId: this.quotableCompanyList[num].agreement[0].id,
  2635. systemType: '2'
  2636. };
  2637. try {
  2638. let res = await this.$http.post('/quote/quote', params);
  2639. this.quotableCompanyList[num].msg = res.msg;
  2640. if (res.code == "200") {
  2641. if (res.data.warnMessageList != null && res.data
  2642. .warnMessageList[0] != null && res.data
  2643. .warnMessageList[
  2644. 0] != "") {
  2645. this.quotableCompanyList[num].lastYearMsg = "";
  2646. let dat = res.data.warnMessageList;
  2647. dat.map(ele => {
  2648. this.quotableCompanyList[num].lastYearMsg += ele +
  2649. '<br>';
  2650. })
  2651. }
  2652. const updatedItem = {
  2653. ...this.quotableCompanyList[num],
  2654. quoteCode: 200
  2655. };
  2656. this.quotableCompanyList.splice(num, 1, updatedItem);
  2657. this.quotableCompanyList[num].result = res.data;
  2658. this.subOrderId = res.data.companyId;
  2659. } else {
  2660. const updatedItem = {
  2661. ...this.quotableCompanyList[num],
  2662. quoteCode: '3'
  2663. };
  2664. this.quotableCompanyList.splice(num, 1, updatedItem);
  2665. this.quotableCompanyList[num].msg = res.msg;
  2666. return;
  2667. }
  2668. } catch (error) {
  2669. const updatedItem = {
  2670. ...this.quotableCompanyList[num],
  2671. quoteCode: '3'
  2672. };
  2673. this.quotableCompanyList.splice(num, 1, updatedItem);
  2674. this.quotableCompanyList[num].msg = '接口请求超时,请重新尝试';
  2675. }
  2676. },
  2677. //中煤报价
  2678. async zhongmei(num, id) {
  2679. let isTaxSource = this.quotableCompanyList[num].isTaxSource;
  2680. let params = {
  2681. accidentalDrivingVo: this.quotableCompanyList[num].insurancePlanInfo.drivingList[0] ? this
  2682. .quotableCompanyList[num].insurancePlanInfo.drivingList[0] : {},
  2683. orderNo: this.orderno,
  2684. companyId: id,
  2685. kinds: this.quotableCompanyList[num].insurancePlanInfo.kinds,
  2686. risks: this.riskList,
  2687. agreementId: this.quotableCompanyList[num].agreement[0].id,
  2688. isTaxSource: isTaxSource == 1 ? isTaxSource : null,
  2689. systemType: '2'
  2690. };
  2691. try {
  2692. let res = await this.$http.post("/quote/quote", params);
  2693. this.quotableCompanyList[num].msg = res.msg;
  2694. if (res.code == '200') {
  2695. if (res.data.warnMessageList != null && res.data.warnMessageList[
  2696. 0] != null && res.data
  2697. .warnMessageList[
  2698. 0] != "") {
  2699. this.quotableCompanyList[num].lastYearMsg = "";
  2700. let dat = res.data.warnMessageList;
  2701. dat.map(ele => {
  2702. this.quotableCompanyList[num].lastYearMsg += ele +
  2703. '<br>';
  2704. })
  2705. }
  2706. const updatedItem = {
  2707. ...this.quotableCompanyList[num],
  2708. quoteCode: 200
  2709. };
  2710. this.quotableCompanyList.splice(num, 1, updatedItem);
  2711. this.quotableCompanyList[num].result = res.data;
  2712. this.subOrderId = res.data.companyId;
  2713. } else {
  2714. const updatedItem = {
  2715. ...this.quotableCompanyList[num],
  2716. quoteCode: '3'
  2717. };
  2718. this.quotableCompanyList.splice(num, 1, updatedItem);
  2719. this.quotableCompanyList[num].msg = res.msg;
  2720. return;
  2721. }
  2722. } catch (error) {
  2723. const updatedItem = {
  2724. ...this.quotableCompanyList[num],
  2725. quoteCode: '3'
  2726. };
  2727. this.quotableCompanyList.splice(num, 1, updatedItem);
  2728. this.quotableCompanyList[num].msg = '接口请求超时,请重新尝试';
  2729. }
  2730. },
  2731. //渤海报价
  2732. async bohai(num, id) {
  2733. let isTaxSource = this.quotableCompanyList[num].isTaxSource;
  2734. let params = {
  2735. accidentalDrivingVo: this.quotableCompanyList[num].insurancePlanInfo.drivingList[0] ? this
  2736. .quotableCompanyList[num].insurancePlanInfo.drivingList[0] : {},
  2737. orderNo: this.orderno,
  2738. companyId: id,
  2739. kinds: this.quotableCompanyList[num].insurancePlanInfo.kinds,
  2740. risks: this.riskList,
  2741. agreementId: this.quotableCompanyList[num].agreement[0].id,
  2742. isTaxSource: isTaxSource == 1 ? isTaxSource : null,
  2743. systemType: '2'
  2744. };
  2745. try {
  2746. let res = await this.$http.post('/quote/quote', params);
  2747. this.quotableCompanyList[num].msg = res.msg;
  2748. if (res.code == '200') {
  2749. if (res.data.warnMessageList != null && res.data.warnMessageList[
  2750. 0] != null && res.data
  2751. .warnMessageList[
  2752. 0] != "") {
  2753. this.quotableCompanyList[num].lastYearMsg = "";
  2754. let dat = res.data.warnMessageList;
  2755. dat.map(ele => {
  2756. this.quotableCompanyList[num].lastYearMsg += ele +
  2757. '<br>';
  2758. })
  2759. }
  2760. const updatedItem = {
  2761. ...this.quotableCompanyList[num],
  2762. quoteCode: 200
  2763. };
  2764. this.quotableCompanyList.splice(num, 1, updatedItem);
  2765. this.quotableCompanyList[num].result = res.data;
  2766. this.subOrderId = res.data.companyId;
  2767. } else {
  2768. const updatedItem = {
  2769. ...this.quotableCompanyList[num],
  2770. quoteCode: '3'
  2771. };
  2772. this.quotableCompanyList.splice(num, 1, updatedItem);
  2773. this.quotableCompanyList[num].msg = res.msg;
  2774. return;
  2775. }
  2776. } catch (error) {
  2777. const updatedItem = {
  2778. ...this.quotableCompanyList[num],
  2779. quoteCode: '3'
  2780. };
  2781. this.quotableCompanyList.splice(num, 1, updatedItem);
  2782. this.quotableCompanyList[num].msg = '接口请求超时,请重新尝试';
  2783. }
  2784. },
  2785. //华泰报价
  2786. async huatai(num, id) {
  2787. let isTaxSource = this.quotableCompanyList[num].isTaxSource;
  2788. let params = {
  2789. accidentalDrivingVo: {},
  2790. orderNo: this.orderno,
  2791. companyId: id,
  2792. kinds: this.quotableCompanyList[num].insurancePlanInfo.kinds,
  2793. risks: this.riskList,
  2794. cqryCdeJq: this.cqryCdeJq,
  2795. cqryCdeSy: this.cqryCdeSy,
  2796. renewalCodeJq: this.renewalCodeJq,
  2797. renewalCodeSy: this.renewalCodeSy,
  2798. isTaxSource: isTaxSource == 1 ? isTaxSource : null,
  2799. agreementId: this.quotableCompanyList[num].agreement[0].id,
  2800. systemType: '2'
  2801. };
  2802. try {
  2803. let res = await this.$http.post(
  2804. "/quote/quote", params);
  2805. this.quotableCompanyList[num].msg = res.msg;
  2806. if (res.code == '200') {
  2807. if (res.data.warnMessageList != null && res
  2808. .data.warnMessageList[0] != null && res
  2809. .data
  2810. .warnMessageList[
  2811. 0] != "") {
  2812. this.quotableCompanyList[num].lastYearMsg =
  2813. "";
  2814. let dat = res.data.warnMessageList;
  2815. dat.map(ele => {
  2816. this.quotableCompanyList[num]
  2817. .lastYearMsg += ele + '<br>';
  2818. })
  2819. }
  2820. const updatedItem = {
  2821. ...this.quotableCompanyList[num],
  2822. quoteCode: 200
  2823. };
  2824. this.quotableCompanyList.splice(num, 1, updatedItem);
  2825. this.quotableCompanyList[num].result = res.data;
  2826. this.subOrderId = res.data.companyId;
  2827. } else {
  2828. const updatedItem = {
  2829. ...this.quotableCompanyList[num],
  2830. quoteCode: '3'
  2831. };
  2832. this.quotableCompanyList.splice(num, 1, updatedItem);
  2833. this.quotableCompanyList[num].msg = res.msg;
  2834. return;
  2835. }
  2836. } catch (error) {
  2837. const updatedItem = {
  2838. ...this.quotableCompanyList[num],
  2839. quoteCode: '3'
  2840. };
  2841. this.quotableCompanyList.splice(num, 1, updatedItem);
  2842. this.quotableCompanyList[num].msg = '接口请求超时,请重新尝试';
  2843. }
  2844. },
  2845. //紫金报价
  2846. async zijin(num, id) {
  2847. let isTaxSource = this.quotableCompanyList[num].isTaxSource;
  2848. let ccidenttype = this.quotableCompanyList[num].cnName;
  2849. let params = {
  2850. accidentalDrivingVo: this.quotableCompanyList[num].insurancePlanInfo.drivingList,
  2851. orderNo: this.orderno,
  2852. companyId: id,
  2853. kinds: this.quotableCompanyList[num].insurancePlanInfo.kinds,
  2854. risks: this.riskList,
  2855. agreementId: this.quotableCompanyList[num].agreement[0].id,
  2856. coefficient: this.quotableCompanyList[num].coefficient,
  2857. isTaxSource: isTaxSource == 1 ? isTaxSource : null,
  2858. systemType: '2'
  2859. };
  2860. try {
  2861. let res = await this.$http.post('/quote/quote', params);
  2862. this.quotableCompanyList[num].msg = res.msg;
  2863. if (res.code == '200') {
  2864. if (res.data.warnMessageList != null && res.data
  2865. .warnMessageList[0] != null && res.data
  2866. .warnMessageList[
  2867. 0] != "") {
  2868. this.quotableCompanyList[num].lastYearMsg = "";
  2869. let dat = res.data.warnMessageList;
  2870. dat.map(ele => {
  2871. this.quotableCompanyList[num].lastYearMsg +=
  2872. ele + '<br>';
  2873. })
  2874. }
  2875. const updatedItem = {
  2876. ...this.quotableCompanyList[num],
  2877. quoteCode: 200
  2878. };
  2879. this.quotableCompanyList.splice(num, 1, updatedItem);
  2880. this.quotableCompanyList[num].result = res.data;
  2881. this.subOrderId = res.data.companyId;
  2882. } else {
  2883. const updatedItem = {
  2884. ...this.quotableCompanyList[num],
  2885. quoteCode: '3'
  2886. };
  2887. this.quotableCompanyList.splice(num, 1, updatedItem);
  2888. this.quotableCompanyList[num].msg = res.msg;
  2889. return;
  2890. }
  2891. } catch (error) {
  2892. const updatedItem = {
  2893. ...this.quotableCompanyList[num],
  2894. quoteCode: '3'
  2895. };
  2896. this.quotableCompanyList.splice(num, 1, updatedItem);
  2897. this.quotableCompanyList[num].msg = '接口请求超时,请重新尝试';
  2898. }
  2899. },
  2900. //国任报价
  2901. async guoRen(num, id) {
  2902. let isTaxSource = this.quotableCompanyList[num].isTaxSource;
  2903. let ccidenttype = this.quotableCompanyList[num].cnName;
  2904. let params = {
  2905. accidentalDrivingVo: this.quotableCompanyList[num].insurancePlanInfo.drivingList[0] ? this
  2906. .quotableCompanyList[num].insurancePlanInfo.drivingList[0] : {},
  2907. orderNo: this.orderno,
  2908. companyId: id,
  2909. kinds: this.quotableCompanyList[num].insurancePlanInfo.kinds,
  2910. risks: this.riskList,
  2911. agreementId: this.quotableCompanyList[num].agreement[0].id,
  2912. isTaxSource: isTaxSource == 1 ? isTaxSource : null,
  2913. guoRenSpecialAgreementVo: this.guoRenSpecialAgreementVo,
  2914. systemType: '2'
  2915. };
  2916. try {
  2917. let res = await this.$http.post('/quote/quote',
  2918. params);
  2919. this.quotableCompanyList[num].msg = res.msg;
  2920. if (res.code == '200') {
  2921. if (res.data.warnMessageList != null && res.data
  2922. .warnMessageList[0] != null && res.data
  2923. .warnMessageList[
  2924. 0] != "") {
  2925. this.quotableCompanyList[num].lastYearMsg = "";
  2926. let dat = res.data.warnMessageList;
  2927. dat.map(ele => {
  2928. this.quotableCompanyList[num]
  2929. .lastYearMsg += ele + '<br>';
  2930. })
  2931. }
  2932. const updatedItem = {
  2933. ...this.quotableCompanyList[num],
  2934. quoteCode: 200
  2935. };
  2936. this.quotableCompanyList.splice(num, 1, updatedItem);
  2937. this.quotableCompanyList[num].result = res.data;
  2938. this.subOrderId = res.data.companyId;
  2939. } else {
  2940. const updatedItem = {
  2941. ...this.quotableCompanyList[num],
  2942. quoteCode: '3'
  2943. };
  2944. this.quotableCompanyList.splice(num, 1, updatedItem);
  2945. this.quotableCompanyList[num].msg = res.msg;
  2946. return;
  2947. }
  2948. } catch (error) {
  2949. const updatedItem = {
  2950. ...this.quotableCompanyList[num],
  2951. quoteCode: '3'
  2952. };
  2953. this.quotableCompanyList.splice(num, 1, updatedItem);
  2954. this.quotableCompanyList[num].msg = '接口请求超时,请重新尝试';
  2955. }
  2956. },
  2957. //大家报价
  2958. async dajia(num, id) {
  2959. let isTaxSource = this.quotableCompanyList[num].isTaxSource;
  2960. let ccidenttype = this.quotableCompanyList[num].cnName;
  2961. let params = {
  2962. accidentalDrivingVo: this.quotableCompanyList[num].insurancePlanInfo.drivingList[0] ? this
  2963. .quotableCompanyList[num].insurancePlanInfo.drivingList[0] : {},
  2964. orderNo: this.orderno,
  2965. companyId: id,
  2966. kinds: this.quotableCompanyList[num].insurancePlanInfo.kinds,
  2967. risks: this.riskList,
  2968. cqryCdeJq: this.cqryCdeJq,
  2969. cqryCdeSy: this.cqryCdeSy,
  2970. renewalCodeJq: this.renewalCodeJq,
  2971. renewalCodeSy: this.renewalCodeSy,
  2972. isTaxSource: isTaxSource == 1 ? isTaxSource : null,
  2973. agreementId: this.quotableCompanyList[num].agreement[0].id,
  2974. systemType: '2'
  2975. };
  2976. try {
  2977. let res = await this.$http.post("/quote/quote",
  2978. params);
  2979. this.quotableCompanyList[num].msg = res.msg;
  2980. if (res.code == '200') {
  2981. if (res.data.warnMessageList != null && res.data
  2982. .warnMessageList[0] != null && res.data
  2983. .warnMessageList[
  2984. 0] != "") {
  2985. this.quotableCompanyList[num].lastYearMsg = "";
  2986. let dat = res.data.warnMessageList;
  2987. dat.map(ele => {
  2988. this.quotableCompanyList[num]
  2989. .lastYearMsg += ele + '<br>';
  2990. })
  2991. }
  2992. const updatedItem = {
  2993. ...this.quotableCompanyList[num],
  2994. quoteCode: 200
  2995. };
  2996. this.quotableCompanyList.splice(num, 1, updatedItem);
  2997. this.quotableCompanyList[num].result = res.data;
  2998. this.subOrderId = res.data.companyId;
  2999. } else {
  3000. const updatedItem = {
  3001. ...this.quotableCompanyList[num],
  3002. quoteCode: '3'
  3003. };
  3004. this.quotableCompanyList.splice(num, 1, updatedItem);
  3005. this.quotableCompanyList[num].msg = res.msg;
  3006. return;
  3007. }
  3008. } catch (error) {
  3009. const updatedItem = {
  3010. ...this.quotableCompanyList[num],
  3011. quoteCode: '3'
  3012. };
  3013. this.quotableCompanyList.splice(num, 1, updatedItem);
  3014. this.quotableCompanyList[num].msg = '接口请求超时,请重新尝试';
  3015. }
  3016. },
  3017. //安盛天平
  3018. ansheng(num, id) {
  3019. this.quoteInsurance(num, id);
  3020. },
  3021. //华农
  3022. huanong(num, id) {
  3023. this.quoteInsurance(num, id);
  3024. },
  3025. //太平
  3026. taiping(num, id) {
  3027. this.quoteInsurance(num, id);
  3028. },
  3029. //众安
  3030. zhongan(num, id) {
  3031. this.quoteInsurance(num, id);
  3032. },
  3033. //人寿
  3034. renshou(num, id) {
  3035. this.quoteInsurance(num, id);
  3036. },
  3037. //恒邦
  3038. hengbang(num, id) {
  3039. this.quoteInsurance(num, id);
  3040. },
  3041. taikang(num, id) {
  3042. this.quoteInsurance(num, id);
  3043. },
  3044. chengtai(num, id) {
  3045. this.quoteInsurance(num, id);
  3046. },
  3047. //爬虫统一报价接口
  3048. async quoteInsurance(num, id) {
  3049. const companyId = uni.getStorageSync('companyId');
  3050. let ccidenttype = this.quotableCompanyList[num]
  3051. .cnName;
  3052. let namesimple = this.quotableCompanyList[num]
  3053. .namesimple;
  3054. let isTaxSource = this.quotableCompanyList[num].isTaxSource;
  3055. let params = {
  3056. orderNo: this.orderno,
  3057. companyId: id,
  3058. agreementId: this.quotableCompanyList[num].agreement[0].id,
  3059. kinds: this.quotableCompanyList[num].insurancePlanInfo.kinds,
  3060. risks: this.riskList,
  3061. accidentalDrivingVo: this.quotableCompanyList[num].insurancePlanInfo.drivingList[0] ? this
  3062. .quotableCompanyList[num].insurancePlanInfo.drivingList[0] : {},
  3063. isTaxSource: isTaxSource == 1 ? isTaxSource : null,
  3064. systemType: '2'
  3065. };
  3066. if (id = 'GPIC1000000') {
  3067. if (companyId) {
  3068. params.discount = this.quotableCompanyList[num]
  3069. .syAdjustRate;
  3070. params.lastCompanyId = this.subOrderId;
  3071. }
  3072. }
  3073. if (namesimple == "诚泰财险") {
  3074. if (this.subOrderId && this.quotableCompanyList[num].coefficient && this.quotableCompanyList[num]
  3075. .discount) {
  3076. params.coefficient = this.quotableCompanyList[num].coefficient;
  3077. params.discount = this.quotableCompanyList[num].discount;
  3078. params.lastCompanyId = this.subOrderId;
  3079. }
  3080. params.isInspect = this.isInspectchange;
  3081. }
  3082. try {
  3083. let res = await this.$http.post('/quote/quote',
  3084. params);
  3085. switch (namesimple) {
  3086. case '安盛天平':
  3087. case '恒邦财险':
  3088. case '诚泰财险':
  3089. case '中国人寿':
  3090. case '太平财险':
  3091. case '华农财险':
  3092. case '泰康财险':
  3093. if (res.code == '200') {
  3094. if (res.data.warnMessageList !=
  3095. null && res.data
  3096. .warnMessageList[0] != null &&
  3097. res.data
  3098. .warnMessageList[
  3099. 0] != "") {
  3100. this.quotableCompanyList[num]
  3101. .lastYearMsg = "";
  3102. let dat = res.data
  3103. .warnMessageList;
  3104. dat.map(ele => {
  3105. this.quotableCompanyList[
  3106. num]
  3107. .lastYearMsg +=
  3108. ele + '<br>';
  3109. })
  3110. }
  3111. const updatedItem = {
  3112. ...this.quotableCompanyList[num],
  3113. quoteCode: 200
  3114. };
  3115. this.quotableCompanyList.splice(num, 1, updatedItem);
  3116. this.quotableCompanyList[num].result =
  3117. res.data;
  3118. this.subOrderId = res.data.companyId;
  3119. if (res.data.syAdjustRate) {
  3120. this.quotableCompanyList[num].syAdjustRate = res.data.syAdjustRate;
  3121. uni.setStorageSync('companyId', res.data.companyId);
  3122. }
  3123. } else {
  3124. const updatedItem = {
  3125. ...this.quotableCompanyList[num],
  3126. quoteCode: '3'
  3127. };
  3128. this.quotableCompanyList.splice(num, 1, updatedItem);
  3129. this.quotableCompanyList[num].msg =
  3130. res.msg;
  3131. }
  3132. break;
  3133. case '众安财险':
  3134. if (res.code == '200') {
  3135. if (res.data.warnMessageList !=
  3136. null && res.data
  3137. .warnMessageList[0] != null &&
  3138. res.data
  3139. .warnMessageList[
  3140. 0] != "") {
  3141. this.quotableCompanyList[num]
  3142. .lastYearMsg = "";
  3143. let dat = res.data
  3144. .warnMessageList;
  3145. dat.map(ele => {
  3146. this.quotableCompanyList[
  3147. num]
  3148. .lastYearMsg +=
  3149. ele + '<br>';
  3150. })
  3151. }
  3152. const updatedItem = {
  3153. ...this.quotableCompanyList[num],
  3154. quoteCode: 200
  3155. };
  3156. this.quotableCompanyList.splice(num, 1, updatedItem);
  3157. this.quotableCompanyList[num].result =
  3158. res.data;
  3159. this.subOrderId = res.data.companyId;
  3160. } else {
  3161. const updatedItem = {
  3162. ...this.quotableCompanyList[num],
  3163. quoteCode: '3'
  3164. };
  3165. this.quotableCompanyList.splice(num, 1, updatedItem);
  3166. this.quotableCompanyList[num].msg =
  3167. res.msg;
  3168. }
  3169. break;
  3170. default:
  3171. break;
  3172. }
  3173. } catch (error) {
  3174. const updatedItem = {
  3175. ...this.quotableCompanyList[num],
  3176. quoteCode: '3'
  3177. };
  3178. this.quotableCompanyList.splice(num, 1, updatedItem);
  3179. this.quotableCompanyList[num].msg = '接口请求超时,请重新尝试';
  3180. }
  3181. },
  3182. confirmPlan(name) {
  3183. this.quotableCompanyList.map(val => {
  3184. if (val.id == this.planDataExpansion.id) {
  3185. if (this.planDataExpansion.genericPlanInfo.schemeName !== '自选方案') {
  3186. val.insurancePlanInfo = this.planDataExpansion.genericPlanInfo;
  3187. } else {
  3188. let objkindList = [];
  3189. val.insurancePlanInfo = this.planDataExpansion.genericPlanInfo;
  3190. val.insurancePlanInfo.kinds.map((ele, index) => {
  3191. if (ele.amount != "0" && ["A"].includes(ele.kindCode)) {
  3192. objkindList.push({
  3193. amount: val.insurancePlanInfo.kinds[index].amount,
  3194. kindCode: val.insurancePlanInfo.kinds[index].kindCode,
  3195. kindName: val.insurancePlanInfo.kinds[index].kindName
  3196. });
  3197. } else if (ele.amount != "0" && ["SY_FJ_YBW2", "D4"].includes(ele
  3198. .kindCode)) {
  3199. objkindList.push({
  3200. unitAmount: val.insurancePlanInfo.kinds[index].amount,
  3201. kindCode: val.insurancePlanInfo.kinds[index].kindCode,
  3202. kindName: val.insurancePlanInfo.kinds[index].kindName
  3203. });
  3204. } else if (ele.amount != "0" && ["MJ1", "MJ2", "MJ3", "MJ4"].includes(ele
  3205. .kindCode)) {
  3206. objkindList.push({
  3207. deductibleRate: val.insurancePlanInfo.kinds[index].amount,
  3208. kindCode: val.insurancePlanInfo.kinds[index].kindCode,
  3209. kindName: val.insurancePlanInfo.kinds[index].kindName
  3210. });
  3211. } else if (ele.amount != "0" && ["TY1", "TY2", "TY3", "TY4"].includes(ele
  3212. .kindCode)) {
  3213. objkindList.push({
  3214. serviceTimes: String(val.insurancePlanInfo.kinds[index]
  3215. .amount),
  3216. kindCode: val.insurancePlanInfo.kinds[index].kindCode,
  3217. kindName: val.insurancePlanInfo.kinds[index].kindName
  3218. });
  3219. } else if (ele.amount != "0") {
  3220. objkindList.push({
  3221. amount: val.insurancePlanInfo.kinds[index].amount,
  3222. kindCode: val.insurancePlanInfo.kinds[index].kindCode,
  3223. kindName: val.insurancePlanInfo.kinds[index].kindName
  3224. });
  3225. }
  3226. return ele;
  3227. })
  3228. val.insurancePlanInfo.kinds = objkindList;
  3229. if (this[name + 'accidentalDrivingVo'] instanceof Array && this[name +
  3230. 'accidentalDrivingVo'].length > 0) {
  3231. val.insurancePlanInfo.drivingList = this[name + 'accidentalDrivingVo'];
  3232. } else if (this[name + 'accidentalDrivingVo'].projectName) {
  3233. val.insurancePlanInfo.drivingList = [this[name + 'accidentalDrivingVo']];
  3234. }
  3235. }
  3236. if (!val.insurancePlanInfo.schemeName) {
  3237. return uni.showToast({
  3238. icon: "none",
  3239. title: '未选中方案',
  3240. })
  3241. }
  3242. this.genericPlanPopup = false;
  3243. }
  3244. return val;
  3245. })
  3246. },
  3247. convertedValue(num) {
  3248. if (num < 10000) {
  3249. return num.toString();
  3250. } else if (num < 100000000) {
  3251. return (Math.floor(num / 10000 * 10) / 10) + '万';
  3252. } else {
  3253. return (Math.floor(num / 100000000 * 10) / 10) + '亿';
  3254. }
  3255. },
  3256. riskTypeEchoProcessing(code) {
  3257. this.riskList = [];
  3258. switch (code) {
  3259. case '0330':
  3260. this.riskList.push({
  3261. amount: 0,
  3262. endDate: this.jqendDate,
  3263. instantFlag: "0",
  3264. premium: 0,
  3265. riskCode: "0507",
  3266. startDate: this.jqstartDate,
  3267. })
  3268. break;
  3269. case '034001':
  3270. case '034002':
  3271. this.riskList.push({
  3272. amount: 0,
  3273. endDate: this.syendDate,
  3274. instantFlag: "0",
  3275. premium: 0,
  3276. riskCode: "0510",
  3277. startDate: this.systartDate,
  3278. })
  3279. break;
  3280. case '0330034002':
  3281. case '0330034001':
  3282. this.riskList.push({
  3283. amount: 0,
  3284. endDate: this.jqendDate,
  3285. instantFlag: "0",
  3286. premium: 0,
  3287. riskCode: "0507",
  3288. startDate: this.jqstartDate,
  3289. }, {
  3290. amount: 0,
  3291. endDate: this.syendDate,
  3292. instantFlag: "0",
  3293. premium: 0,
  3294. riskCode: "0510",
  3295. startDate: this.systartDate,
  3296. })
  3297. break;
  3298. }
  3299. },
  3300. togglePlanDetails(index) {
  3301. this.quotableCompanyList[index].planDetailsshow = !this.quotableCompanyList[index]
  3302. .planDetailsshow; // 切换对应项的显示状态
  3303. this.quotableCompanyList = [...this.quotableCompanyList]; // 强制 Vue 重新渲染
  3304. },
  3305. //查看详情
  3306. querydetial(id) {
  3307. this.navigate({
  3308. url: "/pages/carInsure/quoteDetail?companyId=" + id
  3309. },
  3310. "navigateTo", true);
  3311. },
  3312. //报价单
  3313. bjdpreview(id) {
  3314. let pro = this.quotationType.themeCode;
  3315. if (pro == "QD") {
  3316. uni.navigateTo({
  3317. url: "/pages/orders/quotation?companyId=" + id
  3318. })
  3319. } else {
  3320. uni.navigateTo({
  3321. url: "/pages/orders/quotation1?companyId=" + id
  3322. })
  3323. }
  3324. },
  3325. //预核保信息
  3326. preUnderwriting(list) {
  3327. this.RSpreUnderwritingList = list;
  3328. this.preUnderwritingshow = true;
  3329. },
  3330. //上年信息
  3331. YearMsg(msg, title) {
  3332. let content = msg.replace(/<br>/g, "\r\n")
  3333. uni.showModal({
  3334. title: title + "上年信息",
  3335. content: content,
  3336. showCancel: false,
  3337. confirmText: "关闭"
  3338. })
  3339. },
  3340. // 显示报错信息
  3341. ErrorMsg(msg, title) {
  3342. uni.showModal({
  3343. title: title + "报价提示",
  3344. content: msg,
  3345. showCancel: false,
  3346. confirmText: "关闭"
  3347. })
  3348. },
  3349. discountErrorMessageMsg(msg, title) {
  3350. this.discountInfoPopup = true;
  3351. this.discountInfoPopupContent = msg.replace(/\n/g, '<br>');
  3352. this.discountInfoPopupTitle = title;
  3353. // let content = msg.replace(/\n/g, "\r\n")
  3354. // uni.showModal({
  3355. // title: title + "优惠信息",
  3356. // content: content,
  3357. // showCancel: false,
  3358. // confirmText: "关闭"
  3359. // })
  3360. },
  3361. //使用此时间
  3362. syncData(item) {
  3363. this.jqstartDate = item.startDateJq ? item
  3364. .startDateJq : this.jqstartDate
  3365. this.jqendDate = item.endDateJq ? item
  3366. .endDateJq : this.endDateJq
  3367. this.systartDate = item.startDateSy ? item
  3368. .startDateSy : this.systartDate
  3369. this.syendDate = item.endDateSy ? item
  3370. .endDateSy : this.syendDate
  3371. uni.showToast({
  3372. title: '时间已替换',
  3373. icon: 'none',
  3374. duration: 1000
  3375. });
  3376. },
  3377. //车船税类型选择
  3378. taxRelifFlagConfirm(val, name) {
  3379. this.vehicleAndVesselTaxForm[name] = val[0].value;
  3380. this.model[name] = val[0].label;
  3381. },
  3382. taxDocumentDateconfirm(e) {
  3383. this.vehicleAndVesselTaxForm.taxDocumentDate = e.year + '-' + e.month + '-' + e.day;
  3384. },
  3385. taxPaidAreaCodeconfirm(e) {
  3386. this.vehicleAndVesselTaxForm.taxPaidAreaCode = e.province.value;
  3387. this.model.taxPaidAreaCode = e.province.label;
  3388. },
  3389. //数据字典
  3390. async getDicType(type) {
  3391. let res = await this.$http.get('/sysDict/dictDetails/' + type);
  3392. this[type + "options"] = res.data.ddList;
  3393. },
  3394. jqstartconfirm(e) {
  3395. this.jqstartDate = e.year + '-' + e.month + '-' + e.day + ' ' + e.hour + ':' + e.minute + ':' + e.second;
  3396. this.jqendDate = this.oneYearPast(this.jqstartDate)
  3397. },
  3398. //
  3399. jqendconfirm(e) {
  3400. this.jqendDate = e.year + '-' + e.month + '-' + e.day + ' ' + e.hour + ':' + e.minute + ':' + e.second;
  3401. },
  3402. systartconfirm(e) {
  3403. this.systartDate = e.year + '-' + e.month + '-' + e.day + ' ' + e.hour + ':' + e.minute + ':' + e.second;
  3404. this.syendDate = this.oneYearPast(this.systartDate)
  3405. },
  3406. syendconfirm(e) {
  3407. this.syendDate = e.year + '-' + e.month + '-' + e.day + ' ' + e.hour + ':' + e.minute + ':' + e.second;
  3408. },
  3409. statusclick(value) {
  3410. this.SelectedPlanId = value;
  3411. let planObj = this.planDataExpansion.genericPlanList.find(item => item.schemeId == value);
  3412. console.log(planObj);
  3413. if (planObj.kinds && planObj.schemeName == '自选方案') {
  3414. planObj.kinds.map(item => {
  3415. const itemamtList = item.amtList.map(val => {
  3416. return val.label
  3417. })
  3418. if (!itemamtList.includes('不投保')) {
  3419. item.amount = item.amtList[0].value;
  3420. item.amountDesc = item.amtList[0].label;
  3421. }
  3422. return item;
  3423. })
  3424. }
  3425. this.planDataExpansion.genericPlanInfo = planObj;
  3426. },
  3427. InsureGuideclick(item) {
  3428. this.insGuide = item.insGuide;
  3429. this.insGuideTitle = item.namesimple;
  3430. this.InsureGuidePopup = true;
  3431. },
  3432. async accidentCategoryclick(item, items, index) {
  3433. this.accidentInsuranceCategoryList[index].checked = !this.accidentInsuranceCategoryList[index].checked;
  3434. if (this.accidentInsuranceCategoryList[index].checked) {
  3435. let res = await this.$http.get('/plt/scheme/optionalSchemeDriving?schemeId=' + this
  3436. .SelectedPlanId + '&seatNum=' + this.carInfo.seatCount)
  3437. switch (items.namesimple) {
  3438. case '安盛天平':
  3439. case '国任财险':
  3440. case '大家财险':
  3441. case '永诚财险':
  3442. case '恒邦财险':
  3443. case '诚泰财险':
  3444. case '中煤财险':
  3445. case '泰康财险':
  3446. case '渤海财险':
  3447. case '众安财险':
  3448. case '太平财险':
  3449. case '华农财险':
  3450. case '中国人寿':
  3451. if (res.data.length > 0) {
  3452. this[items.cnName + 'InsuranceData'] = res.data; //意外险list
  3453. this[items.cnName + 'accidentalDrivingVo'] = {
  3454. typeName: item.typeName,
  3455. ...res.data[0]
  3456. };
  3457. } else {
  3458. uni.showToast({
  3459. title: "驾意险为空",
  3460. icon: 'none',
  3461. });
  3462. }
  3463. break;
  3464. case '紫金财险':
  3465. this[items.cnName + 'InsuranceData'] = res.data; //意外险list
  3466. this[items.cnName + 'accidentalDrivingVo'] = [];
  3467. break;
  3468. }
  3469. } else {
  3470. if (items.namesimple == '紫金财险') {
  3471. this[items.cnName + 'InsuranceData'] = [];
  3472. this[items.cnName + 'accidentalDrivingVo'] = []
  3473. } else {
  3474. this[items.cnName + 'accidentalDrivingVo'] = {}
  3475. }
  3476. }
  3477. },
  3478. async SchemeSelection(item) {
  3479. let params = {
  3480. companyId: item.id,
  3481. productId: this.productId,
  3482. seatNum: this.carInfo.seatCount,
  3483. vehicleType: this.carInfo.cimodelclass,
  3484. energyType: this.carInfo.energyType,
  3485. carnature: this.carInfo.carnature,
  3486. }
  3487. let res = await this.$http.post('/plt/scheme/getCompanySchemeInfo', params);
  3488. let res1 = await this.$http.post('/plt/scheme/getCompanyOptionalSchemeInfo', params);
  3489. let typelist = [];
  3490. this.planDataExpansion.id = item.id;
  3491. this.planDataExpansion.namesimple = item.namesimple;
  3492. this.planDataExpansion.cnName = item.cnName;
  3493. if (res.code == '200' && res.data.length > 0) {
  3494. this.planDataExpansion.genericPlanList = [...res.data];
  3495. this.planDataExpansion.genericPlanInfo = res.data[0];
  3496. this.SelectedPlanId = res.data[0].schemeId;
  3497. } else {
  3498. this.planDataExpansion.genericPlanList = [];
  3499. this.planDataExpansion.genericPlanInfo = {};
  3500. this.SelectedPlanId = "";
  3501. }
  3502. if (res1.code == '200') {
  3503. this.planDataExpansion.genericPlanList = [...res.data, res1.data];
  3504. res1.data.drivingTypeList.map(val => {
  3505. if (val.children) {
  3506. val.children.map(ele => {
  3507. typelist.push(ele)
  3508. return ele
  3509. })
  3510. }
  3511. })
  3512. } else {
  3513. this.planDataExpansion.genericPlanList = [...res.data];
  3514. }
  3515. this.accidentInsuranceCategoryList = typelist;
  3516. this.genericPlanPopup = true;
  3517. },
  3518. //即使投保时处理时间
  3519. datelyClick(value, name, startDate, endDate) {
  3520. this[name] = value;
  3521. if (value == 1) {
  3522. const date = new Date();
  3523. date.setHours(date.getHours() + 2);
  3524. date.setMinutes(0)
  3525. date.setSeconds(0)
  3526. this[startDate] = this.transformTime(date)
  3527. this[endDate] = this.oneYearPast(date);
  3528. } else {
  3529. this[startDate] = this.nextday();
  3530. this[endDate] = this.oneYearPast(this.jqstartDate);
  3531. }
  3532. },
  3533. //获取保险公司列表
  3534. commpanyList() {
  3535. this.quotableCompanyList.map(ele => {
  3536. ele["result"] = {};
  3537. ele["quoteCode"] = 0;
  3538. ele["checked"] = false;
  3539. ele["msg"] = "";
  3540. ele["lastYearMsg"] = "";
  3541. ele["agreementName"] = "";
  3542. ele["apiType"] = "";
  3543. ele["coefficient"] = "";
  3544. ele["discount"] = "";
  3545. ele["isInspect"] = false;
  3546. ele["syAdjustRate"] = "";
  3547. ele["selectShow"] = false;
  3548. ele['underwritingDescription'] = "";
  3549. ele['isComparableShow'] = false;
  3550. ele['planDetailsshow'] = false;
  3551. ele['isComparableshowHide'] = false;
  3552. ele['isComparableDisabled'] = false;
  3553. ele['insurancePlanInfo'] = null;
  3554. if (ele.editingDto) {
  3555. ele.result = ele.editingDto;
  3556. ele.insurancePlanInfo = {};
  3557. ele.insurancePlanInfo.drivingList = ele.editingDto.drivingList;
  3558. ele.insurancePlanInfo.kinds = ele.editingDto.kindList;
  3559. ele.quoteCode = 200;
  3560. }
  3561. return ele;
  3562. })
  3563. },
  3564. priceComparisonChange(index, item) {
  3565. if (!item.isComparableDisabled) {
  3566. item.isComparableShow = !item.isComparableShow;
  3567. if (item.isComparableShow) {
  3568. this.selectedCount++;
  3569. } else {
  3570. this.selectedCount--;
  3571. }
  3572. this.updateCheckboxStates();
  3573. }
  3574. },
  3575. updateCheckboxStates() {
  3576. this.quotableCompanyList.forEach(item => {
  3577. item.isComparableDisabled = this.selectedCount >= 3 && !item.isComparableShow;
  3578. });
  3579. },
  3580. immediatelyClick(name) {
  3581. this.carInfo[name] = !this.carInfo[name];
  3582. if (name == 'transferFlag') {
  3583. if (this.carInfo[name]) {
  3584. this.carInfo.transferDate = this.carInfo.issueDate;
  3585. } else {
  3586. this.carInfo.transferDate = "";
  3587. }
  3588. }
  3589. },
  3590. toCarInfo() {
  3591. this.navigate({
  3592. url: '/pages/carInsure/Information',
  3593. success: (res) => {
  3594. res.eventChannel.emit(
  3595. "acceptData", {
  3596. carInfo: this
  3597. .carInfo,
  3598. ownerInfo: this
  3599. .ownerInfo,
  3600. policyHolderInfo: this
  3601. .policyHolderInfo,
  3602. insuredPersonInfo: this
  3603. .insuredPersonInfo,
  3604. riskList: this
  3605. .riskList,
  3606. kindList: this
  3607. .kindList,
  3608. carInfoPositiveList: this
  3609. .carInfoPositiveList, //车辆
  3610. ownerInfoPositiveList: this
  3611. .ownerInfoPositiveList, //车主
  3612. policyHolderInfoPositiveList: this
  3613. .policyHolderInfoPositiveList, //投保
  3614. insuredPersonInfoPositiveList: this
  3615. .insuredPersonInfoPositiveList, //被保人
  3616. productId: this.productId,
  3617. productName: this.productName
  3618. })
  3619. }
  3620. }, "navigateTo", true);
  3621. },
  3622. //计算输入时间一年后的的前一天(输入的参数为字符串("2019-03-02")最终输出也为日期的字符串)
  3623. oneYearPast(time) {
  3624. var date = new Date(time);
  3625. date.setSeconds(date.getSeconds() - 1);
  3626. date.setFullYear(date.getFullYear() + 1); //一年后
  3627. date.setTime(date.getTime()); //一年后的前一天
  3628. var strYear = date.getFullYear();
  3629. var strDay = date.getDate();
  3630. var strMonth = date.getMonth() + 1;
  3631. var hh = date.getHours();
  3632. var minutes = date.getMinutes(); // 分
  3633. var Seconds = date.getSeconds();
  3634. if (hh < 10) {
  3635. hh = "0" + hh;
  3636. }
  3637. if (minutes < 10) {
  3638. minutes = "0" + minutes;
  3639. }
  3640. if (Seconds < 10) {
  3641. Seconds = "0" + Seconds;
  3642. }
  3643. if (strMonth < 10) {
  3644. strMonth = "0" + strMonth;
  3645. }
  3646. if (strDay < 10) {
  3647. strDay = "0" + strDay;
  3648. }
  3649. var datastr =
  3650. strYear + "-" + strMonth + "-" + strDay + " " + hh + ":" + minutes + ":" + Seconds;
  3651. return datastr;
  3652. },
  3653. //次日
  3654. nextday() {
  3655. var date = new Date();
  3656. date.setFullYear(date.getFullYear());
  3657. date.setTime(date.getTime() + 24 * 60 * 60 * 1000);
  3658. var strYear = date.getFullYear();
  3659. var strDay = date.getDate();
  3660. var strMonth = date.getMonth() + 1;
  3661. var hh = date.getHours();
  3662. if (hh < 10) {
  3663. hh = "0" + hh;
  3664. }
  3665. if (strMonth < 10) {
  3666. strMonth = "0" + strMonth;
  3667. }
  3668. if (strDay < 10) {
  3669. strDay = "0" + strDay;
  3670. }
  3671. var datastr = strYear + "-" + strMonth + "-" + strDay + " " + "00:00:00";
  3672. return datastr;
  3673. },
  3674. //时间转换
  3675. transformTime(date) {
  3676. var d = new Date(date);
  3677. var strYear = d.getFullYear();
  3678. var strMonth = d.getMonth() + 1;
  3679. var strDay = d.getDate();
  3680. var hh = d.getHours();
  3681. var minutes = d.getMinutes(); // 分
  3682. var Seconds = d.getSeconds();
  3683. if (hh < 10) {
  3684. hh = "0" + hh;
  3685. }
  3686. if (minutes < 10) {
  3687. minutes = "0" + minutes;
  3688. }
  3689. if (Seconds < 10) {
  3690. Seconds = "0" + Seconds;
  3691. }
  3692. if (strMonth < 10) {
  3693. strMonth = "0" + strMonth;
  3694. }
  3695. if (strDay < 10) {
  3696. strDay = "0" + strDay;
  3697. }
  3698. var datetime =
  3699. strYear + "-" + strMonth + "-" + strDay + " " + hh + ":" + minutes + ":" + Seconds;
  3700. return datetime;
  3701. },
  3702. toChinesNum(num) {
  3703. let overWan = Math.floor(num / 10000);
  3704. let result = overWan + "万";
  3705. return result;
  3706. },
  3707. }
  3708. }
  3709. </script>
  3710. <style lang="scss" scoped>
  3711. @import '@/style/mixin.scss';
  3712. .page {
  3713. background: #F8FAFE;
  3714. padding: 16px 16px 100px 16px;
  3715. }
  3716. .sum {
  3717. color: #0052FF;
  3718. font-size: 14px;
  3719. font-weight: bold;
  3720. }
  3721. .scroll-Y {
  3722. height: 600px;
  3723. }
  3724. .discountInfoscroll {
  3725. height: 300px;
  3726. }
  3727. .scroll-view-item {
  3728. height: 300rpx;
  3729. line-height: 300rpx;
  3730. text-align: center;
  3731. font-size: 36rpx;
  3732. }
  3733. .modelformcss {
  3734. padding: 5px 15px;
  3735. }
  3736. .PlanPopup-btn {
  3737. width: 100%;
  3738. height: 48px;
  3739. background: #FFFFFF;
  3740. box-shadow: 0px -2px 4px 0px rgba(0, 0, 0, 0.05);
  3741. }
  3742. .circle {
  3743. width: 16px;
  3744. height: 16px;
  3745. border-radius: 50%;
  3746. border: 2px solid #0052FF;
  3747. }
  3748. .circle:after {
  3749. content: "✔";
  3750. /* 对勾符号 */
  3751. font-size: 10px;
  3752. font-weight: bold;
  3753. /* 根据需要调整大小 */
  3754. color: #0052FF;
  3755. }
  3756. .policyInfo {
  3757. .tagHeader {
  3758. font-family: Source Han Sans SC, Source Han Sans SC;
  3759. text {
  3760. position: relative;
  3761. font-weight: bold;
  3762. font-size: 13px;
  3763. color: #333;
  3764. }
  3765. .tag {
  3766. position: absolute;
  3767. left: 0;
  3768. bottom: -1px;
  3769. width: 50%;
  3770. height: 5px;
  3771. background: linear-gradient(90deg, #0874FF 0%, rgba(8, 116, 255, 0) 100%);
  3772. border-radius: 6px;
  3773. }
  3774. }
  3775. .accident {
  3776. width: 75%;
  3777. .diss {
  3778. border-bottom: 1px solid #E3E9F8;
  3779. .boss {
  3780. border-right: 1px solid #E3E9F8;
  3781. text-align: center;
  3782. padding: 5px 3px;
  3783. }
  3784. }
  3785. }
  3786. .right {
  3787. width: 25%;
  3788. border-right: 1px solid #E3E9F8;
  3789. border-bottom: 1px solid #E3E9F8;
  3790. padding: 5px 3px;
  3791. }
  3792. }
  3793. .selectedCoverage {
  3794. background-color: #FFDFCE;
  3795. width: 100%;
  3796. border-radius: 22px;
  3797. position: relative;
  3798. padding: 7px 8px;
  3799. .title1 {
  3800. color: #232832;
  3801. font-size: 15px;
  3802. font-weight: bold;
  3803. }
  3804. .title-before {
  3805. position: absolute;
  3806. width: 3px;
  3807. height: 14px;
  3808. background: #FF5600;
  3809. left: 0;
  3810. top: 50%;
  3811. transform: translateY(-50%);
  3812. }
  3813. .product {
  3814. width: 65px;
  3815. background: #FFFFFF;
  3816. border-radius: 16px;
  3817. border: 1px solid #FF5600;
  3818. padding: 2px 6px;
  3819. box-sizing: border-box;
  3820. }
  3821. }
  3822. .Plancontent {
  3823. padding: 8px;
  3824. .title {
  3825. color: #232832;
  3826. font-size: 15px;
  3827. font-weight: bold;
  3828. ::before {
  3829. content: "丨";
  3830. width: 10px;
  3831. height: 10px;
  3832. color: #0052FF;
  3833. }
  3834. }
  3835. .title-before {}
  3836. .Accident {
  3837. width: 100%;
  3838. border: 1px solid #0874FF;
  3839. border-radius: 6px;
  3840. overflow: hidden;
  3841. .head {
  3842. width: 20%;
  3843. height: 40px;
  3844. background-color: #0874FF;
  3845. color: #FFFFFF;
  3846. &:nth-child(1) {
  3847. width: 60%;
  3848. }
  3849. }
  3850. .tr {
  3851. width: 20%;
  3852. height: 60px;
  3853. color: #232832;
  3854. border: 1rpx solid #0874FF;
  3855. font-size: 24rpx;
  3856. color: #232832;
  3857. &:nth-child(1) {
  3858. width: 60%;
  3859. background: rgba(8, 116, 255, 0.05);
  3860. }
  3861. &:nth-child(3) {
  3862. background: rgba(8, 116, 255, 0.05);
  3863. }
  3864. }
  3865. }
  3866. .insuranceType {
  3867. margin: 5px 10px;
  3868. background: #F2F6FF;
  3869. border-radius: 10px;
  3870. }
  3871. .terms {
  3872. color: #FFFFFF;
  3873. background: linear-gradient(90deg, #FF4D4D 0%, #FF784D 100%);
  3874. border-radius: 4px 4px 4px 4px;
  3875. }
  3876. }
  3877. .quotePlan {
  3878. background: #FFFFFF;
  3879. box-shadow: 0px 4px 10px 0px #DAE3F4;
  3880. border-radius: 6px;
  3881. }
  3882. .status-data {
  3883. width: auto;
  3884. padding: 2px 8px;
  3885. margin-left: 10px;
  3886. font-size: 12px;
  3887. border: 1px solid #CDCDCD;
  3888. cursor: pointer;
  3889. text-align: center;
  3890. line-height: 25px;
  3891. }
  3892. .active {
  3893. position: relative;
  3894. background: rgba(0, 82, 255, 0.1);
  3895. color: #0052FF;
  3896. border: 1px solid #0052FF !important;
  3897. font-weight: 700;
  3898. }
  3899. .active::before {
  3900. content: "";
  3901. position: absolute;
  3902. top: 0;
  3903. left: 0;
  3904. width: 10px;
  3905. height: 10px;
  3906. background-image: url("/static/image/car-insure/before.png");
  3907. background-size: cover;
  3908. }
  3909. .active1 {
  3910. position: relative;
  3911. background: rgba(255, 86, 0, 0.1);
  3912. color: #FF5600;
  3913. border: 1px solid #FF5600;
  3914. font-weight: 700;
  3915. }
  3916. .active1::before {
  3917. content: "";
  3918. position: absolute;
  3919. top: 0;
  3920. left: 0;
  3921. width: 10px;
  3922. height: 10px;
  3923. background-image: url("/static/image/car-insure/before1.png");
  3924. background-size: cover;
  3925. }
  3926. .car-header {
  3927. width: 100%;
  3928. height: auto;
  3929. background: linear-gradient(0, #FFFFFF 0%, rgba(241, 246, 255, 0.8) 100%);
  3930. box-shadow: 0px 4px 10px 0px rgba(158, 173, 229, 0.1);
  3931. border-radius: 6px;
  3932. padding: 8px 15px;
  3933. position: relative;
  3934. .head-name {
  3935. margin-left: 10px;
  3936. &>text {
  3937. font-weight: bold;
  3938. font-size: 14px;
  3939. color: #232832;
  3940. }
  3941. .name1 text {
  3942. font-size: 14px;
  3943. color: #333333;
  3944. }
  3945. }
  3946. .carJump {
  3947. position: absolute;
  3948. top: 5px;
  3949. right: 10px;
  3950. font-size: 14px;
  3951. color: #0052FF;
  3952. }
  3953. }
  3954. /* 报价公司Start */
  3955. .quoteCompany {
  3956. box-sizing: border-box;
  3957. /* background:#FFFFFF; */
  3958. position: relative;
  3959. border-radius: 20upx;
  3960. }
  3961. .quoteCompany .header {
  3962. height: 80upx;
  3963. }
  3964. .quoteCompany .header .title {
  3965. font-size: 30upx;
  3966. font-weight: bold;
  3967. }
  3968. .quoteCompany .header .title .icon {
  3969. color: rgba($themeColor, 0.6);
  3970. margin-left: 15upx;
  3971. }
  3972. .quoteCompanyItem {
  3973. margin-bottom: 20upx;
  3974. background: #FFFFFF;
  3975. border-radius: 6px;
  3976. box-shadow: 0px 4px 10px 0px #DAE3F4;
  3977. box-sizing: border-box;
  3978. cursor: pointer;
  3979. }
  3980. .quoteCompanyItem .top {
  3981. position: relative;
  3982. padding: 8px;
  3983. }
  3984. .quoteCompanyItem .top .companyIcon {
  3985. border-radius: 6px 6px 0 0;
  3986. flex-shrink: 0;
  3987. }
  3988. .insuranceGuide {
  3989. background: rgba(255, 86, 0, 0.05);
  3990. border-radius: 2px;
  3991. font-weight: bold;
  3992. font-size: 12px;
  3993. color: #FF5600;
  3994. padding: 0 4px;
  3995. }
  3996. .planDetails {
  3997. width: 100%;
  3998. height: auto;
  3999. background: #F9F9F9;
  4000. border-radius: 6px;
  4001. padding: 6px;
  4002. .headers {
  4003. >image {
  4004. width: 14px;
  4005. height: 14px;
  4006. }
  4007. >text {
  4008. font-size: 12px;
  4009. color: #4B6FBA;
  4010. margin-left: 10px;
  4011. }
  4012. }
  4013. }
  4014. .content {
  4015. padding: 0 8px;
  4016. margin-bottom: 5px;
  4017. }
  4018. .quoteCompanyItem .top .companyIcon image {
  4019. width: 20px;
  4020. height: 20px;
  4021. margin-right: 10px;
  4022. }
  4023. .quoteCompanyItem .top .Premium {
  4024. padding: 10px 8px;
  4025. background-color: #FFF6F2;
  4026. border-radius: 4px;
  4027. .price {
  4028. font-size: 12px;
  4029. color: #FF5600;
  4030. text {
  4031. margin-right: 5px;
  4032. }
  4033. }
  4034. .time {
  4035. font-size: 12px;
  4036. color: #2D4D89;
  4037. >text {
  4038. margin-right: 5px;
  4039. }
  4040. }
  4041. }
  4042. .quoteCompanyItem .top .quotebtn {
  4043. width: 100%;
  4044. height: auto;
  4045. >view {
  4046. width: 50%;
  4047. font-size: 14px;
  4048. padding: 4px 0;
  4049. }
  4050. }
  4051. .lastyear {
  4052. view {
  4053. font-size: 12px;
  4054. }
  4055. .left {
  4056. border: 1px solid #229805;
  4057. border-radius: 2px;
  4058. padding: 1px 6px;
  4059. color: #229805;
  4060. }
  4061. .right {
  4062. border-radius: 2px;
  4063. padding: 1px 6px;
  4064. border: 1px solid #FF5600;
  4065. color: #FF5600;
  4066. }
  4067. }
  4068. .quoteCompanyItem .top .companyName {
  4069. font-size: 14px;
  4070. font-weight: bold;
  4071. color: #232832;
  4072. }
  4073. .quoteCompanyItem .top .totalMoney {
  4074. font-size: 40upx;
  4075. font-weight: bold;
  4076. color: $themeColor;
  4077. position: absolute;
  4078. top: -15upx;
  4079. right: 0;
  4080. }
  4081. .quoteCompanyItem .top .tip {
  4082. font-size: 26upx;
  4083. font-weight: bold;
  4084. color: #999;
  4085. position: absolute;
  4086. top: 0upx;
  4087. right: 0;
  4088. }
  4089. .sum {
  4090. color: #0052FF;
  4091. font-size: 14px;
  4092. font-weight: bold;
  4093. }
  4094. .quoteCompanyItem .top .signs {
  4095. width: 500upx;
  4096. overflow: hidden;
  4097. text-overflow: ellipsis;
  4098. white-space: nowrap;
  4099. }
  4100. .quoteCompanyItem .top .sign {
  4101. height: 40upx;
  4102. margin: 0upx 10upx;
  4103. background: rgba($themeColor, 0.6);
  4104. color: $themeColor;
  4105. font-size: 20upx;
  4106. margin-right: 10upx;
  4107. border-radius: 6upx;
  4108. padding: 0 2px;
  4109. line-height: 40upx;
  4110. }
  4111. .jqsign {
  4112. height: 20px;
  4113. background: rgba(255, 177, 177, 0.55);
  4114. color: #fd0a0a;
  4115. font-size: 20upx;
  4116. border-radius: 6upx;
  4117. padding: 0 10px;
  4118. box-sizing: border-box;
  4119. }
  4120. .quoteCompanyItem .body {
  4121. padding: 20upx 0;
  4122. flex-wrap: wrap;
  4123. }
  4124. .quoteCompanyItem .body>view {
  4125. flex-shrink: 0;
  4126. width: 50%;
  4127. overflow: hidden;
  4128. text-overflow: ellipsis;
  4129. white-space: nowrap;
  4130. }
  4131. .quoteCompanyItem .body .icon-exchange {
  4132. margin-right: 15upx;
  4133. display: inline-block;
  4134. }
  4135. /* 报价公司End */
  4136. /* 整个页面的统一样式 End */
  4137. .plan-ins-title {
  4138. color: #232832;
  4139. font-size: 15px;
  4140. font-weight: bold;
  4141. padding: 8px;
  4142. }
  4143. .immediately {
  4144. padding: 19rpx 15px;
  4145. .common-ins-cell:last-child {
  4146. border-bottom: none;
  4147. }
  4148. }
  4149. .common-title {
  4150. font-size: 32upx;
  4151. font-weight: bold;
  4152. }
  4153. .common-ins-cell {
  4154. font-size: 30upx;
  4155. padding: 0upx 30upx;
  4156. height: 90upx;
  4157. border-bottom: 1px solid #eee;
  4158. }
  4159. /* 交强险和商业险弹出框Start */
  4160. .popup-content {
  4161. position: relative;
  4162. }
  4163. .popHeader {
  4164. box-sizing: border-box;
  4165. font-size: 32upx;
  4166. font-weight: bold;
  4167. height: 120upx;
  4168. border-bottom: 1px solid #eee;
  4169. }
  4170. .popup-content .popContent {
  4171. padding: 0upx 30upx;
  4172. height: 620upx;
  4173. box-sizing: border-box;
  4174. }
  4175. .popup-content .popContent .popContentTitle {
  4176. font-weight: bold;
  4177. font-size: 32upx;
  4178. margin: 20upx 0upx 5upx 0upx;
  4179. }
  4180. .popup-content .popContent .amtSingle {
  4181. width: 22%;
  4182. box-sizing: border-box;
  4183. display: inline-block;
  4184. text-align: center;
  4185. vertical-align: middle;
  4186. border: 1px solid #eee;
  4187. margin: 0 15rpx 15rpx 0;
  4188. }
  4189. .popup-content .popBottom {
  4190. margin: 30upx 30upx 0 30upx;
  4191. padding-bottom: 30upx;
  4192. }
  4193. /* 交强险和商业险弹出框End */
  4194. .drivingSelection {
  4195. padding: 8px;
  4196. >view {
  4197. padding: 4px 8px;
  4198. }
  4199. .header {
  4200. width: 100%;
  4201. background: rgba(255, 86, 0, 0.05);
  4202. border-radius: 2px;
  4203. margin-bottom: 4px;
  4204. text {
  4205. font-size: 15px;
  4206. color: #FF5600;
  4207. font-weight: bold;
  4208. }
  4209. }
  4210. }
  4211. .footer-btn {
  4212. position: fixed;
  4213. bottom: 0;
  4214. left: 0;
  4215. width: 100%;
  4216. height: 62px;
  4217. background: #FFFFFF;
  4218. box-shadow: 0px -4px 10px 0px #DAE3F4;
  4219. border-radius: 0px 0px 0px 0px;
  4220. padding: 12px 16px;
  4221. z-index: 99;
  4222. }
  4223. .priceComparison {
  4224. width: 20%;
  4225. background: linear-gradient(180deg, #FA6464 0%, #E53F3F 100%);
  4226. box-shadow: 0px 2px 5px 0px rgba(232, 66, 66, 0.3);
  4227. border-radius: 4px;
  4228. border: 1px solid #FF9A9A;
  4229. }
  4230. .ZJcheckboxGroup {
  4231. padding: 0 10px;
  4232. .title {
  4233. font-size: 14px;
  4234. color: #232832;
  4235. font-weight: bold;
  4236. padding: 10px;
  4237. border-bottom: 1px solid #f2f2f2;
  4238. }
  4239. .scolcentent {
  4240. max-height: 400px;
  4241. padding-bottom: 40px;
  4242. }
  4243. .operateBtn {
  4244. position: absolute;
  4245. bottom: 0;
  4246. left: 0;
  4247. right: 0;
  4248. font-weight: bold;
  4249. font-size: 16px;
  4250. .cancel {
  4251. width: 50%;
  4252. height: 46px;
  4253. color: #FF504D;
  4254. background-color: #EAEAEA;
  4255. }
  4256. .confirm {
  4257. width: 50%;
  4258. height: 46px;
  4259. color: #fff;
  4260. background: linear-gradient(90deg, #FF4D4D 0%, #FF784D 100%);
  4261. }
  4262. }
  4263. }
  4264. /deep/ {
  4265. .jq {
  4266. .u-th {
  4267. background: #F6F7FE;
  4268. padding: 5px 10px !important;
  4269. }
  4270. .u-td {
  4271. padding: 5px 10px !important;
  4272. }
  4273. }
  4274. .sy {
  4275. .u-th {
  4276. background: #F6F7FE;
  4277. }
  4278. }
  4279. }
  4280. </style>