premiumCalc.vue 170 KB

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