KtLetter1.vue 582 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641126421264312644126451264612647126481264912650126511265212653126541265512656126571265812659126601266112662126631266412665126661266712668126691267012671126721267312674126751267612677126781267912680126811268212683126841268512686126871268812689126901269112692126931269412695126961269712698126991270012701127021270312704127051270612707127081270912710127111271212713127141271512716127171271812719127201272112722127231272412725127261272712728127291273012731127321273312734127351273612737127381273912740127411274212743127441274512746127471274812749127501275112752127531275412755127561275712758127591276012761127621276312764127651276612767127681276912770127711277212773127741277512776127771277812779127801278112782127831278412785127861278712788127891279012791127921279312794127951279612797127981279912800128011280212803128041280512806128071280812809128101281112812128131281412815128161281712818128191282012821128221282312824128251282612827128281282912830128311283212833128341283512836128371283812839128401284112842128431284412845128461284712848128491285012851128521285312854128551285612857128581285912860128611286212863128641286512866128671286812869128701287112872128731287412875128761287712878128791288012881128821288312884128851288612887128881288912890128911289212893128941289512896128971289812899129001290112902129031290412905129061290712908129091291012911129121291312914129151291612917129181291912920129211292212923129241292512926129271292812929129301293112932129331293412935129361293712938129391294012941129421294312944129451294612947129481294912950129511295212953129541295512956129571295812959129601296112962129631296412965129661296712968129691297012971129721297312974129751297612977129781297912980129811298212983129841298512986129871298812989129901299112992129931299412995129961299712998129991300013001130021300313004130051300613007130081300913010130111301213013130141301513016130171301813019130201302113022130231302413025130261302713028130291303013031130321303313034130351303613037130381303913040130411304213043130441304513046130471304813049130501305113052130531305413055130561305713058130591306013061130621306313064130651306613067130681306913070130711307213073130741307513076130771307813079130801308113082130831308413085130861308713088130891309013091130921309313094130951309613097130981309913100131011310213103131041310513106131071310813109131101311113112131131311413115131161311713118131191312013121131221312313124131251312613127131281312913130131311313213133131341313513136131371313813139131401314113142131431314413145131461314713148131491315013151131521315313154131551315613157131581315913160131611316213163131641316513166131671316813169131701317113172131731317413175131761317713178131791318013181131821318313184131851318613187131881318913190131911319213193131941319513196131971319813199132001320113202132031320413205132061320713208132091321013211132121321313214132151321613217132181321913220132211322213223132241322513226132271322813229132301323113232132331323413235132361323713238132391324013241132421324313244132451324613247132481324913250132511325213253132541325513256132571325813259132601326113262132631326413265132661326713268132691327013271132721327313274132751327613277132781327913280132811328213283132841328513286132871328813289132901329113292132931329413295132961329713298132991330013301133021330313304133051330613307133081330913310133111331213313133141331513316133171331813319133201332113322133231332413325133261332713328133291333013331133321333313334133351333613337133381333913340133411334213343133441334513346133471334813349133501335113352133531335413355133561335713358133591336013361133621336313364133651336613367133681336913370133711337213373133741337513376133771337813379133801338113382133831338413385133861338713388133891339013391133921339313394133951339613397133981339913400134011340213403134041340513406134071340813409134101341113412134131341413415134161341713418134191342013421134221342313424134251342613427134281342913430134311343213433134341343513436134371343813439134401344113442134431344413445134461344713448134491345013451134521345313454134551345613457134581345913460134611346213463134641346513466134671346813469134701347113472134731347413475134761347713478134791348013481134821348313484134851348613487134881348913490134911349213493134941349513496134971349813499135001350113502135031350413505135061350713508135091351013511135121351313514135151351613517135181351913520135211352213523135241352513526135271352813529135301353113532135331353413535135361353713538135391354013541135421354313544135451354613547135481354913550135511355213553135541355513556135571355813559135601356113562135631356413565135661356713568135691357013571135721357313574135751357613577135781357913580135811358213583135841358513586135871358813589135901359113592135931359413595135961359713598135991360013601136021360313604136051360613607136081360913610136111361213613136141361513616136171361813619136201362113622136231362413625136261362713628136291363013631136321363313634136351363613637136381363913640136411364213643136441364513646136471364813649136501365113652136531365413655136561365713658136591366013661136621366313664136651366613667136681366913670136711367213673136741367513676136771367813679136801368113682136831368413685136861368713688136891369013691136921369313694136951369613697136981369913700137011370213703137041370513706137071370813709137101371113712137131371413715137161371713718137191372013721137221372313724137251372613727137281372913730137311373213733137341373513736137371373813739137401374113742137431374413745137461374713748137491375013751137521375313754137551375613757137581375913760137611376213763137641376513766137671376813769137701377113772137731377413775137761377713778137791378013781137821378313784137851378613787137881378913790137911379213793137941379513796137971379813799138001380113802138031380413805138061380713808138091381013811138121381313814138151381613817138181381913820138211382213823138241382513826138271382813829138301383113832138331383413835138361383713838138391384013841138421384313844138451384613847138481384913850138511385213853138541385513856138571385813859138601386113862138631386413865138661386713868138691387013871138721387313874138751387613877138781387913880138811388213883138841388513886138871388813889138901389113892138931389413895138961389713898138991390013901139021390313904139051390613907139081390913910139111391213913139141391513916139171391813919139201392113922139231392413925139261392713928139291393013931139321393313934139351393613937139381393913940139411394213943139441394513946139471394813949139501395113952139531395413955139561395713958139591396013961139621396313964139651396613967139681396913970139711397213973139741397513976139771397813979139801398113982139831398413985139861398713988139891399013991139921399313994139951399613997139981399914000140011400214003140041400514006140071400814009140101401114012140131401414015140161401714018140191402014021140221402314024140251402614027140281402914030140311403214033140341403514036140371403814039140401404114042140431404414045140461404714048140491405014051140521405314054140551405614057140581405914060140611406214063140641406514066140671406814069140701407114072140731407414075140761407714078140791408014081140821408314084140851408614087140881408914090140911409214093140941409514096140971409814099141001410114102141031410414105141061410714108141091411014111141121411314114141151411614117141181411914120141211412214123141241412514126141271412814129141301413114132141331413414135141361413714138141391414014141141421414314144141451414614147141481414914150141511415214153141541415514156141571415814159141601416114162141631416414165141661416714168141691417014171141721417314174141751417614177141781417914180141811418214183141841418514186141871418814189141901419114192141931419414195141961419714198141991420014201142021420314204142051420614207142081420914210142111421214213142141421514216142171421814219142201422114222142231422414225142261422714228142291423014231142321423314234142351423614237142381423914240142411424214243142441424514246142471424814249142501425114252142531425414255
  1. <template>
  2. <div class="body">
  3. <div class="Enclosure flex f-c back" v-if="isLetter == '1'">
  4. <div class="home flex j-s a-c">
  5. <div class="flex j-s a-c">
  6. <img src="../../../../src/icon/归属信息.png" alt class="icon-img" />
  7. <span style="margin-left: 10px">归属信息</span>
  8. </div>
  9. </div>
  10. <el-form class="demo-ruleForm" :model="userform" ref="userform" label-width="130px" size="small"
  11. style="margin-top: 15px" disabled label-position="top">
  12. <el-row :gutter="colgutter">
  13. <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  14. <el-form-item label="业务员">
  15. <el-input v-model="userform.name"></el-input>
  16. </el-form-item>
  17. </el-col>
  18. <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  19. <el-form-item label="工号">
  20. <el-input v-model="userform.id" type="text"></el-input>
  21. </el-form-item>
  22. </el-col>
  23. <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  24. <el-form-item label="工号类型">
  25. <el-select v-model="userform.usertype" style="width: 100%;">
  26. <el-option label="业务员" value="A"></el-option>
  27. <el-option label="代理人" value="B"></el-option>
  28. </el-select>
  29. </el-form-item>
  30. </el-col>
  31. <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  32. <el-form-item label="归属">
  33. <el-input v-model="deptName"></el-input>
  34. </el-form-item>
  35. </el-col>
  36. </el-row>
  37. </el-form>
  38. </div>
  39. <div class="Enclosure flex f-c back" v-if="isLetter == '1'">
  40. <div class="home flex j-s a-c">
  41. <div class="flex j-s a-c">
  42. <img src="../../../../src/icon/快速查询.png" alt class="icon-img" />
  43. <span style="margin-left: 10px">快速查询</span>
  44. </div>
  45. <el-button size="small" type="primary" @click="continuousquery()">
  46. <i class="el-icon-search" style="margin-right: 1px"></i>
  47. 续保查询
  48. </el-button>
  49. </div>
  50. <el-form class="demo-ruleForm" :model="attributionform" ref="continuousform" label-width="130px" size="small"
  51. style="margin-top: 15px" label-position="top">
  52. <el-row :gutter="colgutter">
  53. <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  54. <el-form-item label="保险公司" prop="companyId">
  55. <el-select v-model="attributionform.companyId" placeholder="请选择保险公司" @change="continuousChange">
  56. <el-option v-for="(item, index) in continuousCompanyList" :key="index" :label="item.namesimple"
  57. :value="item.id"></el-option>
  58. </el-select>
  59. </el-form-item>
  60. </el-col>
  61. <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl" v-for="(domain, index) in attributionform.configure" :key="domain.index">
  62. <el-form-item :label="domain.label" :prop="'configure.' + index + '.value'" :rules="{
  63. required: true,
  64. message: domain.label + '不能为空',
  65. trigger: 'blur',
  66. }">
  67. <el-input v-model="domain.value" :type="domain.type"></el-input>
  68. </el-form-item>
  69. </el-col>
  70. </el-row>
  71. </el-form>
  72. </div>
  73. <div class="Enclosure flex f-c back">
  74. <div class="home flex j-s a-c">
  75. <div class="flex j-s a-c color" id="Car">
  76. <img src="../../../../src/icon/车辆信息.png" alt class="icon-img" />
  77. <span style="margin-left: 10px">车辆信息</span>
  78. </div>
  79. <el-button size="small" type="primary" @click="uploadcardialogVisible = true">
  80. <i class="el-icon-camera-solid" style="margin-right: 1px"></i>
  81. 证件识别
  82. </el-button>
  83. </div>
  84. <el-form class="demo-ruleForm" :model="carInfo" ref="carInfo" :rules="rules" label-width="130px" size="small"
  85. label-position="top" style="margin-top: 15px">
  86. <el-row :gutter="colgutter">
  87. <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  88. <el-form-item label="车牌" :prop="licenseplate ? 'licenseNo' : ''">
  89. <div style="display: flex">
  90. <el-input style="width: 75%; margin-right: 13px" v-model="carInfo.licenseNo" placeholder="请输入车牌号"
  91. :disabled="!licenseplate" @blur="getCompanyList">
  92. <el-button slot="append" type="primary" icon="el-icon-search" @click="toCheckLicenseNo(carInfo.licenseNo)" style="color: #fff;"></el-button>
  93. </el-input>
  94. <el-checkbox v-model="licenseplate">已上牌</el-checkbox>
  95. </div>
  96. </el-form-item>
  97. </el-col>
  98. <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  99. <el-form-item label="车辆识别代码" prop="frameNo" class="red-btn">
  100. <el-input placeholder="请输入车辆识别码" v-model="carInfo.frameNo" maxlength="17" type="text" show-word-limit @blur="getCompanyList">
  101. <el-button slot="append" type="primary" icon="el-icon-search" @click="toChooseVin(carInfo.frameNo)" style="color: #fff;"></el-button>
  102. </el-input>
  103. </el-form-item>
  104. </el-col>
  105. <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  106. <el-form-item label="品牌型号" prop="modelcname" class="red-btn">
  107. <el-input v-model="carInfo.modelcname" placeholder="请输入品牌型号" type="text" @blur="getCompanyList">
  108. <el-button slot="append" icon="el-icon-search" type="primary"
  109. @click="toChooseVehicleType(carInfo.modelcname)" style="color: #fff;"></el-button>
  110. </el-input>
  111. </el-form-item>
  112. </el-col>
  113. <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  114. <el-form-item label="发动机号" prop="engineNo">
  115. <el-input v-model="carInfo.engineNo" placeholder="请输入发动机号" @blur="getCompanyList"></el-input>
  116. </el-form-item>
  117. </el-col>
  118. <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  119. <el-form-item label="年款" prop="caryear">
  120. <el-input onkeyup="value=value.replace(/\D/g,'')" @blur="getCompanyList" v-model="carInfo.caryear" placeholder="请输入年款"></el-input>
  121. </el-form-item>
  122. </el-col>
  123. <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  124. <el-form-item label="座位数" prop="seatCount">
  125. <el-input onkeyup="value=value.replace(/\D/g,'')" v-model="carInfo.seatCount" placeholder="请输入座位数" @blur="getCompanyList">
  126. <el-button slot="append">座</el-button>
  127. </el-input>
  128. </el-form-item>
  129. </el-col>
  130. <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  131. <el-form-item label="整备质量" prop="completeKerbMass">
  132. <el-input v-model="carInfo.completeKerbMass" placeholder="请输入整备质量" @blur="getCompanyList">
  133. <el-button slot="append">千克(KG)</el-button>
  134. </el-input>
  135. </el-form-item>
  136. </el-col>
  137. <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  138. <el-form-item label="核定载质量" prop="limitLoad">
  139. <el-input v-model="carInfo.limitLoad" placeholder="请输入核定载质量">
  140. <el-button slot="append">千克(KG)</el-button>
  141. </el-input>
  142. </el-form-item>
  143. </el-col>
  144. <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  145. <el-form-item label="排量" prop="enginedesc">
  146. <el-input v-model="carInfo.enginedesc" placeholder="请输入排量" @blur="getCompanyList">
  147. <el-button slot="append">升(L)</el-button>
  148. </el-input>
  149. </el-form-item>
  150. </el-col>
  151. <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  152. <el-form-item label="功率" prop="powerScale">
  153. <el-input v-model="carInfo.powerScale" placeholder="请输入功率" @blur="getCompanyList">
  154. <el-button slot="append">千瓦(KW)</el-button>
  155. </el-input>
  156. </el-form-item>
  157. </el-col>
  158. <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  159. <el-form-item label="新车购置价" prop="purchasePrice">
  160. <el-input onkeyup="value=value.replace(/\D/g,'')" v-model="carInfo.purchasePrice" placeholder="请输入新车购置价" @blur="getCompanyList">
  161. <el-button slot="append">元</el-button>
  162. </el-input>
  163. </el-form-item>
  164. </el-col>
  165. <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  166. <el-form-item label="使用性质" prop="carnature">
  167. <el-select v-model="carInfo.carnature" placeholder="请选择使用性质" @change="natureFun" @blur="getCompanyList">
  168. <el-option :label="item.dictTag" :value="item.dictValue"
  169. v-for="(item, index) in natureOfVehicleUseoptions" :key="index"></el-option>
  170. </el-select>
  171. </el-form-item>
  172. </el-col>
  173. <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  174. <el-form-item label="车辆用途" prop="vehicleUse">
  175. <el-select v-if="carInfo.carnature == '02'" v-model="carInfo.vehicleUse" placeholder="请选择使车辆用途" @blur="getCompanyList">
  176. <el-option :label="item.dictTag" :value="item.dictValue"
  177. v-for="(item, index) in outOfBusinessVehicleUseoptions" :key="index"></el-option>
  178. </el-select>
  179. <el-select v-if="carInfo.carnature == '01'" v-model="carInfo.vehicleUse" placeholder="请选择使车辆用途" @blur="getCompanyList">
  180. <el-option :label="item.dictTag" :value="item.dictValue"
  181. v-for="(item, index) in businessVehicleUseoptions" :key="index"></el-option>
  182. </el-select>
  183. </el-form-item>
  184. </el-col>
  185. <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  186. <el-form-item label="车辆类型" prop="cartype">
  187. <el-select v-model="carInfo.cartype" placeholder="请选择车辆种类" filterable clearable @blur="getCompanyList">
  188. <el-option :label="item.dictValue + item.dictTag" :value="item.dictValue"
  189. v-for="(item, index) in trafficManagementVehicleTypeoptions" :key="index"></el-option>
  190. </el-select>
  191. </el-form-item>
  192. </el-col>
  193. <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  194. <el-form-item label="车辆种类" prop="cimodelclass">
  195. <el-select v-model="carInfo.cimodelclass" placeholder="请选择车辆种类" clearable @blur="getCompanyList">
  196. <el-option :label="item.dictTag" :value="item.dictValue" v-for="(item, index) in vehicleTypeoptions"
  197. :key="index"></el-option>
  198. </el-select>
  199. </el-form-item>
  200. </el-col>
  201. <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  202. <el-form-item label="能源种类" prop="energyType">
  203. <el-select v-model="carInfo.energyType" placeholder="请选择能源种类" @blur="getCompanyList">
  204. <el-option :label="item.dictTag" :value="item.dictValue" v-for="(item, index) in energyTypeoptions"
  205. :key="index"></el-option>
  206. </el-select>
  207. </el-form-item>
  208. </el-col>
  209. <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  210. <el-form-item label="注册日期" prop="registerDate" class="red-btn">
  211. <el-date-picker v-dateFormat v-model="carInfo.registerDate" :picker-options="pickerOptions" @blur="getCompanyList"
  212. value-format="yyyy-MM-dd" type="date" placeholder="选择注册日期" placement="bottom-start"></el-date-picker>
  213. </el-form-item>
  214. </el-col>
  215. <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  216. <el-form-item label="发证日期" prop="issueDate" class="red-btn" @blur="getCompanyList">
  217. <el-date-picker v-dateFormat v-model="carInfo.issueDate" :picker-options="issueDateOptions" type="date"
  218. placeholder="选择发证日期" value-format="yyyy-MM-dd" placement="bottom-start"></el-date-picker>
  219. </el-form-item>
  220. </el-col>
  221. <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl" v-if="transferDateShow">
  222. <el-form-item label="转移登记日期" prop="transferDate">
  223. <el-date-picker v-dateFormat v-model="carInfo.transferDate" :picker-options="pickerOptions" type="date" @blur="getCompanyList"
  224. placeholder="选择日期" value-format="yyyy-MM-dd" placement="bottom-start"></el-date-picker>
  225. </el-form-item>
  226. </el-col>
  227. </el-row>
  228. </el-form>
  229. </div>
  230. <div class="Enclosure flex f-c back">
  231. <div class="home flex j-s a-c">
  232. <div class="flex j-s a-c color" id="CheZhu">
  233. <img src="../../../../src/icon/车主信息.png" alt class="icon-img" />
  234. <span style="margin-left: 10px">车主信息</span>
  235. </div>
  236. <el-button size="small" type="primary" @click="uploaduser(2)">
  237. <i class="el-icon-camera-solid" style="margin-right: 4px"></i>证件识别
  238. </el-button>
  239. </div>
  240. <el-form class="demo-ruleForm" :model="ownerInfo" ref="ownerInfo" :rules="rules" label-width="130px" size="small"
  241. style="margin-top: 15px" label-position="top">
  242. <el-row :gutter="colgutter">
  243. <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  244. <el-form-item label="车主姓名" prop="name">
  245. <el-input v-model="ownerInfo.name" placeholder="请输入车主姓名" @blur="getCompanyList"></el-input>
  246. </el-form-item>
  247. </el-col>
  248. <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  249. <el-form-item label="证件类型" prop="identifyType">
  250. <el-select v-model="ownerInfo.identifyType" placeholder="身份证" @blur="getCompanyList" disabled>
  251. <el-option label="身份证" value="01"></el-option>
  252. </el-select>
  253. </el-form-item>
  254. </el-col>
  255. <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  256. <el-form-item label="证件号码" prop="identifyNumber">
  257. <el-input v-model="ownerInfo.identifyNumber" placeholder="请输入证件号码" type="text" maxlength="18"
  258. show-word-limit @blur="identifyblur('ownerInfo'); getCompanyList"></el-input>
  259. </el-form-item>
  260. </el-col>
  261. <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  262. <el-form-item label="年龄" prop="age">
  263. <el-input v-model="ownerInfo.age" placeholder="请输入年龄" type="text" disabled @blur="getCompanyList"></el-input>
  264. </el-form-item>
  265. </el-col>
  266. <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  267. <el-form-item label="性别" prop="gender">
  268. <el-select @change="genderChange" v-model="ownerInfo.gender" placeholder="请选择性别" @blur="getCompanyList">
  269. <el-option label="男" value="男"></el-option>
  270. <el-option label="女" value="女"></el-option>
  271. </el-select>
  272. </el-form-item>
  273. </el-col>
  274. <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  275. <el-form-item label="车主手机号" prop="mobile">
  276. <el-input v-model="ownerInfo.mobile" placeholder="请输入车主手机号" type="text" maxlength="11" @blur="getCompanyList"
  277. @paste.native="handlePaste($event, 'ownerInfo')" show-word-limit></el-input>
  278. </el-form-item>
  279. </el-col>
  280. <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  281. <el-form-item label="地址" prop="addr">
  282. <el-input v-model="ownerInfo.addr" placeholder="请输入地址" type="text" @blur="getCompanyList"></el-input>
  283. </el-form-item>
  284. </el-col>
  285. <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  286. <el-form-item label="有效期起期" prop="identifyValidDate">
  287. <el-date-picker v-dateFormat v-model="ownerInfo.identifyValidDate" value-format="yyyy-MM-dd" @blur="getCompanyList"
  288. :picker-options="pickerOptions" type="date" placeholder="选择注册日期"
  289. placement="bottom-start"></el-date-picker>
  290. </el-form-item>
  291. </el-col>
  292. <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  293. <el-form-item label="有效期止期" prop="identifyValidEndDate" class="red-btn">
  294. <el-date-picker v-dateFormat v-model="ownerInfo.identifyValidEndDate" type="date" value-format="yyyy-MM-dd" @blur="getCompanyList"
  295. placeholder="选择有效期" placement="bottom-start" style="width: calc(100% - 40px)"></el-date-picker>
  296. <div class="insure-long-term" @click="insureLongterm('ownerInfo')">
  297. 长期
  298. </div>
  299. </el-form-item>
  300. </el-col>
  301. <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  302. <el-form-item label="电子邮箱" prop="email">
  303. <el-input v-model="ownerInfo.email" placeholder="请输入电子邮箱"></el-input>
  304. </el-form-item>
  305. </el-col>
  306. <!-- <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell" v-if="iscCrownerShow">
  307. <el-form-item label="省市区:">
  308. <el-cascader v-model="ownerInfo.provinceData" :options="areaOption" :props="{ value: 'code',label: 'name',children: 'sub'}"></el-cascader>
  309. </el-form-item>
  310. </el-col>-->
  311. </el-row>
  312. </el-form>
  313. </div>
  314. <div class="Enclosure flex f-c back">
  315. <div class="home flex j-s a-c">
  316. <div class="flex j-s a-c" id="toubaor">
  317. <img src="../../../../src/icon/投保人信息.png" alt class="icon-img" />
  318. <span style="margin-left: 10px">投保人信息</span>
  319. </div>
  320. <div class="flex a-c j-c">
  321. <div style="font-size: 12px; margin: 0 10px">
  322. 同车主
  323. <el-switch v-model="tbczcarShow" active-color="#D42426" @change="tbczcarShowChange()"></el-switch>
  324. </div>
  325. <el-button size="small" type="primary" @click="uploaduser(3)">
  326. <i class="el-icon-camera-solid" style="margin-right: 4px"></i>
  327. 证件识别
  328. </el-button>
  329. </div>
  330. </div>
  331. <el-form v-show="!tbczcarShow" class="demo-ruleForm" :model="policyHolderInfo" ref="policyHolderInfo" :rules="rules"
  332. label-width="130px" size="small " style="margin-top: 15px" label-position="top">
  333. <el-row :gutter="colgutter">
  334. <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  335. <el-form-item label="投保人姓名" prop="name">
  336. <el-input v-model="policyHolderInfo.name" placeholder="请输入投保人姓名" @blur="getCompanyList"></el-input>
  337. </el-form-item>
  338. </el-col>
  339. <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  340. <el-form-item label="证件类型" prop="identifyType">
  341. <el-select v-model="policyHolderInfo.identifyType" placeholder="身份证" disabled @blur="getCompanyList">
  342. <el-option label="身份证" value="01"></el-option>
  343. </el-select>
  344. </el-form-item>
  345. </el-col>
  346. <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  347. <el-form-item label="证件号码" prop="identifyNumber">
  348. <el-input v-model="policyHolderInfo.identifyNumber" placeholder="请输入证件号码" type="text" maxlength="18"
  349. show-word-limit @blur="identifyblur('policyHolderInfo'); getCompanyList"></el-input>
  350. </el-form-item>
  351. </el-col>
  352. <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  353. <el-form-item label="年龄" prop="age">
  354. <el-input v-model="policyHolderInfo.age" placeholder="请输入年龄" type="text" disabled @blur="getCompanyList"></el-input>
  355. </el-form-item>
  356. </el-col>
  357. <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  358. <el-form-item label="性别" prop="gender">
  359. <el-select v-model="policyHolderInfo.gender" placeholder="请选择性别" @blur="getCompanyList">
  360. <el-option label="男" value="男"></el-option>
  361. <el-option label="女" value="女"></el-option>
  362. </el-select>
  363. </el-form-item>
  364. </el-col>
  365. <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  366. <el-form-item label="投保人手机号" prop="mobile">
  367. <el-input v-model="policyHolderInfo.mobile" placeholder="请输入投保人手机号" maxlength="11" type="text" @blur="getCompanyList"
  368. @paste.native="handlePaste($event, 'policyHolderInfo')" show-word-limit></el-input>
  369. </el-form-item>
  370. </el-col>
  371. <!-- <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell">
  372. <el-form-item label="省市区:">
  373. <el-cascader v-model="selectedOptions2" :options="areaOptions"
  374. @change="event => areahandleChange(event, 'policyHolderInfo')"></el-cascader>
  375. </el-form-item>
  376. </el-col>-->
  377. <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  378. <el-form-item label="地址" prop="addr">
  379. <el-input v-model="policyHolderInfo.addr" placeholder="请输入地址" type="text" @blur="getCompanyList"></el-input>
  380. </el-form-item>
  381. </el-col>
  382. <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  383. <el-form-item v-dateFormat label="有效期起期" prop="identifyValidDate">
  384. <el-date-picker v-model="policyHolderInfo.identifyValidDate" value-format="yyyy-MM-dd" @blur="getCompanyList"
  385. :picker-options="pickerOptions" type="date" placeholder="选择有效期" placement="bottom-start"></el-date-picker>
  386. </el-form-item>
  387. </el-col>
  388. <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  389. <el-form-item v-dateFormat label="有效期止期" prop="identifyValidEndDate">
  390. <el-date-picker v-model="policyHolderInfo.identifyValidEndDate" type="date" @blur="getCompanyList"
  391. value-format="yyyy-MM-dd" placeholder="选择有效期" placement="bottom-start"
  392. style="width: calc(100% - 40px)"></el-date-picker>
  393. <div class="insure-long-term" @click="insureLongterm('policyHolderInfo')">
  394. 长期
  395. </div>
  396. </el-form-item>
  397. </el-col>
  398. <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  399. <el-form-item label="电子邮箱" prop="email">
  400. <el-input v-model="policyHolderInfo.email" placeholder="请输入电子邮箱"></el-input>
  401. </el-form-item>
  402. </el-col>
  403. <!-- <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell" v-if="isApplicantShow">
  404. <el-form-item label="省市区:">
  405. <el-cascader v-model="policyHolderInfo.provinceData" :options="areaOption" :props="{ value: 'code',label: 'name',children: 'sub'}"></el-cascader>
  406. </el-form-item>
  407. </el-col>-->
  408. </el-row>
  409. </el-form>
  410. </div>
  411. <!-- 被保人信息 -->
  412. <div class="Enclosure flex f-c back">
  413. <div class="home flex j-s a-c">
  414. <div class="flex j-s a-c" id="beitoubaoren">
  415. <img src="../../../../src/icon/被投保人信息.png" alt class="icon-img" />
  416. <span style="margin-left: 10px">被保人信息</span>
  417. </div>
  418. <div class="flex j-s a-c">
  419. <div style="font-size: 12px; margin: 0 10px" v-show="!bbtbcarShow && !bbczcarShow">
  420. <el-button size="small" type="primary" @click="clearBbxx">清空被保人信息</el-button>
  421. </div>
  422. <div style="font-size: 12px; margin: 0 10px">
  423. 同投保人
  424. <el-switch v-model="bbtbcarShow" active-color="#D42426" @change="bbtbcarShowChange()"></el-switch>
  425. </div>
  426. <div style="font-size: 12px; margin: 0 10px">
  427. 同车主
  428. <el-switch v-model="bbczcarShow" active-color="#D42426" @change="bbczcarShowChange()"></el-switch>
  429. </div>
  430. <el-button size="small" type="primary" @click="uploaduser(4)">
  431. <i class="el-icon-camera-solid" style="margin-right: 4px"></i>
  432. 证件识别
  433. </el-button>
  434. </div>
  435. </div>
  436. <el-form v-show="!bbtbcarShow && !bbczcarShow" class="demo-ruleForm" :model="insuredPersonInfo"
  437. ref="insuredPersonInfo" :rules="rules" label-width="130px" size="small" style="margin-top: 15px"
  438. label-position="top">
  439. <el-row :gutter="colgutter">
  440. <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  441. <el-form-item label="被保人姓名" prop="name">
  442. <el-input v-model="insuredPersonInfo.name" placeholder="请输入被保人姓名" @blur="getCompanyList"></el-input>
  443. </el-form-item>
  444. </el-col>
  445. <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  446. <el-form-item label="证件类型" prop="identifyType">
  447. <el-select v-model="insuredPersonInfo.identifyType" placeholder="身份证" disabled @blur="getCompanyList">
  448. <el-option label="身份证" value="01"></el-option>
  449. </el-select>
  450. </el-form-item>
  451. </el-col>
  452. <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  453. <el-form-item label="证件号码" prop="identifyNumber">
  454. <el-input v-model="insuredPersonInfo.identifyNumber" placeholder="请输入证件号码" type="text" maxlength="18"
  455. show-word-limit @blur="identifyblur('insuredPersonInfo'); getCompanyList"></el-input>
  456. </el-form-item>
  457. </el-col>
  458. <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  459. <el-form-item label="年龄" prop="age">
  460. <el-input v-model="insuredPersonInfo.age" placeholder="请输入年龄" type="text" disabled @blur="getCompanyList"></el-input>
  461. </el-form-item>
  462. </el-col>
  463. <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  464. <el-form-item label="性别" prop="gender">
  465. <el-select v-model="insuredPersonInfo.gender" placeholder="请选择性别" @blur="getCompanyList">
  466. <el-option label="男" value="男"></el-option>
  467. <el-option label="女" value="女"></el-option>
  468. </el-select>
  469. </el-form-item>
  470. </el-col>
  471. <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  472. <el-form-item label="被保人手机号" prop="mobile">
  473. <el-input v-model="insuredPersonInfo.mobile" placeholder="请输入被保人手机号" maxlength="11" type="text" @blur="getCompanyList"
  474. @paste.native="handlePaste($event, 'insuredPersonInfo')" show-word-limit></el-input>
  475. </el-form-item>
  476. </el-col>
  477. <!-- <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell">
  478. <el-form-item label="省市区:">
  479. <el-cascader v-model="selectedOptions3" :options="areaOptions"
  480. @change="event => areahandleChange(event, 'insuredPersonInfo')"></el-cascader>
  481. </el-form-item>
  482. </el-col>-->
  483. <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  484. <el-form-item label="地址" prop="addr">
  485. <el-input v-model="insuredPersonInfo.addr" placeholder="请输入地址" type="text" @blur="getCompanyList"></el-input>
  486. </el-form-item>
  487. </el-col>
  488. <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  489. <el-form-item label="有效期起期" prop="identifyValidDate">
  490. <el-date-picker v-dateFormat v-model="insuredPersonInfo.identifyValidDate" value-format="yyyy-MM-dd" @blur="getCompanyList"
  491. :picker-options="pickerOptions" type="date" placeholder="选择有效期" placement="bottom-start"></el-date-picker>
  492. </el-form-item>
  493. </el-col>
  494. <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  495. <el-form-item label="有效期止期" prop="identifyValidEndDate">
  496. <el-date-picker v-dateFormat v-model="insuredPersonInfo.identifyValidEndDate" type="date" @blur="getCompanyList"
  497. value-format="yyyy-MM-dd" placeholder="选择有效期" placement="bottom-start"
  498. style="width: calc(100% - 40px)"></el-date-picker>
  499. <div class="insure-long-term" @click="insureLongterm('insuredPersonInfo')">
  500. 长期
  501. </div>
  502. </el-form-item>
  503. </el-col>
  504. <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  505. <el-form-item label="电子邮箱" prop="email">
  506. <el-input v-model="insuredPersonInfo.email" placeholder="请输入电子邮箱"></el-input>
  507. </el-form-item>
  508. </el-col>
  509. <!-- <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell" v-if="isInsuredShow">
  510. <el-form-item label="省市区:">
  511. <el-cascader v-model="insuredPersonInfo.provinceData" :options="areaOption" :props="{ value: 'code',label: 'name',children: 'sub'}"></el-cascader>
  512. </el-form-item>
  513. </el-col>-->
  514. </el-row>
  515. </el-form>
  516. </div>
  517. <!-- 车船税 -->
  518. <div class="Enclosure flex f-c back">
  519. <div class="home flex j-s a-c">
  520. <div class="flex j-s a-c color" id="insurance">
  521. <img src="../../../../src/icon/车船税.png" alt class="icon-img" />
  522. <span style="margin-left: 10px">车船税</span>
  523. </div>
  524. </div>
  525. <el-form class="demo-ruleForm" :model="vehicleAndVesselTaxForm" ref="vehicleAndVesselTaxForm" :rules="rules"
  526. label-width="160px" size="small" style="margin-top: 15px" label-position="top">
  527. <el-row :gutter="colgutter">
  528. <el-col :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  529. <el-form-item label="纳税类型:" prop="taxRelifFlag">
  530. <el-select @change="taxRelifFlagChange" v-model="vehicleAndVesselTaxForm.taxRelifFlag" placeholder="纳税类型">
  531. <el-option v-for="(item, index) in taxRelifFlagoptions" :key="index" :label="item.dictTag"
  532. :value="item.dictValue"></el-option>
  533. </el-select>
  534. </el-form-item>
  535. </el-col>
  536. <el-col v-show="vehicleAndVesselTaxForm.taxRelifFlag == 1" :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  537. <el-form-item label="纳税人识别号:" prop="identifyNumber">
  538. <el-input v-model="vehicleAndVesselTaxForm.identifyNumber" placeholder="请输入纳税人识别号" type="text"></el-input>
  539. </el-form-item>
  540. </el-col>
  541. <el-col v-show="vehicleAndVesselTaxForm.taxRelifFlag == 1" :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  542. <el-form-item label="纳税人名称:" prop="taxpayerName">
  543. <el-input v-model="vehicleAndVesselTaxForm.taxpayerName" placeholder="请输入纳税人名称" type="text"></el-input>
  544. </el-form-item>
  545. </el-col>
  546. <el-col v-show="vehicleAndVesselTaxForm.taxRelifFlag == 1" :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  547. <el-form-item label="证件类型:" prop="taxpayerIdentifier">
  548. <el-select v-model="vehicleAndVesselTaxForm.taxpayerIdentifier" placeholder="证件类型" clearable>
  549. <el-option v-for="(item, index) in taxpayerIdentifieroptions" :key="index" :label="item.dictTag"
  550. :value="item.dictValue"></el-option>
  551. </el-select>
  552. </el-form-item>
  553. </el-col>
  554. <el-col v-show="vehicleAndVesselTaxForm.taxRelifFlag == 2 ||
  555. vehicleAndVesselTaxForm.taxRelifFlag == 3
  556. " :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  557. <el-form-item label="减免税凭证号:" prop="extendChar2">
  558. <el-input v-model="vehicleAndVesselTaxForm.extendChar2" placeholder="请输入减免税凭证号" type="text"></el-input>
  559. </el-form-item>
  560. </el-col>
  561. <el-col v-show="vehicleAndVesselTaxForm.taxRelifFlag == 4" :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  562. <el-form-item label="完税凭证号:" prop="paidFreeCertificate">
  563. <el-input v-model="vehicleAndVesselTaxForm.paidFreeCertificate" placeholder="请输入完税凭证号"
  564. type="text"></el-input>
  565. </el-form-item>
  566. </el-col>
  567. <el-col v-show="vehicleAndVesselTaxForm.taxRelifFlag == 2 ||
  568. vehicleAndVesselTaxForm.taxRelifFlag == 3
  569. " :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  570. <el-form-item label="减免税原因:" prop="relifReason">
  571. <el-select v-model="vehicleAndVesselTaxForm.relifReason" placeholder="减免税原因" clearable>
  572. <el-option v-for="(item, index) in relifReasonoptions" :key="index" :label="item.dictTag"
  573. :value="item.dictValue"></el-option>
  574. </el-select>
  575. </el-form-item>
  576. </el-col>
  577. <el-col v-show="vehicleAndVesselTaxForm.taxRelifFlag != 1" :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  578. <el-form-item label="税务机关代码:" prop="taxComCode">
  579. <el-input v-model="vehicleAndVesselTaxForm.taxComCode" placeholder="请输入税务机关代码" type="text"></el-input>
  580. </el-form-item>
  581. </el-col>
  582. <el-col v-show="vehicleAndVesselTaxForm.taxRelifFlag != 1" :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  583. <el-form-item label="税务机关名称:" prop="taxComName">
  584. <el-input v-model="vehicleAndVesselTaxForm.taxComName" placeholder="请输入税务机关名称" type="text"></el-input>
  585. </el-form-item>
  586. </el-col>
  587. <el-col v-show="vehicleAndVesselTaxForm.taxRelifFlag == 4" :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  588. <el-form-item label="完税凭证填发日期:" prop="taxDocumentDate">
  589. <el-date-picker v-model="vehicleAndVesselTaxForm.taxDocumentDate" value-format="yyyy-MM-dd"
  590. type="date" placeholder="完税凭证填发日期" placement="bottom-start"></el-date-picker>
  591. </el-form-item>
  592. </el-col>
  593. <el-col v-show="vehicleAndVesselTaxForm.taxRelifFlag == 4" :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  594. <el-form-item label="完税凭证地区:" prop="taxPaidAreaCode">
  595. <el-select v-model="vehicleAndVesselTaxForm.taxPaidAreaCode" placeholder="完税凭证地区" clearable>
  596. <el-option v-for="(item, index) in provinceSelect" :key="index" :label="item.name"
  597. :value="item.code"></el-option>
  598. </el-select>
  599. </el-form-item>
  600. </el-col>
  601. <el-col v-show="vehicleAndVesselTaxForm.taxRelifFlag == 3" :xs="colSpan.xs" :sm="colSpan.sm" :md="colSpan.md" :lg="colSpan.lg" :xl="colSpan.xl">
  602. <el-form-item label="减税比例:" prop="taxRelief">
  603. <el-input v-model="vehicleAndVesselTaxForm.taxRelief" placeholder="请输入0~1的数值" type="text"></el-input>
  604. </el-form-item>
  605. </el-col>
  606. </el-row>
  607. </el-form>
  608. </div>
  609. <!-- 险别选择 -->
  610. <div class="Enclosure flex f-c back xianbie">
  611. <div class="home flex j-s a-c back">
  612. <div class="flex j-s a-c" id="more">
  613. <img src="../../../../src/icon/险别选择.png" alt class="icon-img" />
  614. <span style="margin-left: 15px; width: 120px">险种选择</span>
  615. <!-- <el-select size="small" style="width: 70%" v-model="packageValue" placeholder="请选择套餐" @change="packageChange">
  616. <el-option v-for="item in packageOptions" :key="item.id" :label="item.title" :value="item.id"></el-option>
  617. </el-select> -->
  618. <el-radio-group v-model="productId" @change="productIdChange">
  619. <el-radio v-for="(item, index) in productList" :key="index" :label="item.code">{{ item.desc }}</el-radio>
  620. </el-radio-group>
  621. </div>
  622. </div>
  623. <!-- <div class="flex f-c more">
  624. <div class="flex j-s a-c more-title back">
  625. <div style="width: 590px; padding-left: 100px" class="flex j-s a-c">
  626. <span>险别</span>
  627. <span>保额(元)</span>
  628. </div>
  629. </div>
  630. <div class="flex a-c more-data back" v-for="(insureitem, insureindex) in insureList" :key="insureindex">
  631. <div style="width: 700px; padding-left: 100px" class="flex j-s a-c">
  632. <div style="width: auto">
  633. <span style="text-align: center">
  634. {{ insureitem.kindName }}
  635. <el-input v-show="insureitem.kindCode == 'D4' ||
  636. insureitem.kindCode == 'MJ4' ||
  637. insureitem.kindCode == 'SY_FJ_YBW2'
  638. " v-model="sumseatCount" style="width: 40px; margin: 0 5px" size="small" placeholder
  639. disabled></el-input>
  640. <span v-show="insureitem.kindCode == 'D4' ||
  641. insureitem.kindCode == 'MJ4' ||
  642. insureitem.kindCode == 'SY_FJ_YBW2'
  643. ">座</span>
  644. </span>
  645. </div>
  646. <el-select v-if="insureitem.amtList" filterable v-model="insureitem.amount" placeholder="请选择"
  647. @change="insureitemChange($event, insureitem)" size="small" style="width: 300px">
  648. <el-option :label="item.label" :value="item.value" v-for="(item, index) in insureitem.amtList"
  649. :key="index"></el-option>
  650. </el-select>
  651. <span v-else>
  652. <el-input-number size="small" style="width: 280px; margin-right: 10px" v-model="insureitem.amount"
  653. :min="0"></el-input-number>次
  654. </span>
  655. </div>
  656. </div>
  657. </div> -->
  658. </div>
  659. <!-- 投保信息 -->
  660. <div class="Enclosure flex f-c back">
  661. <div class="home flex j-s a-c">
  662. <div class="flex j-s a-c color" id="insurance">
  663. <img src="../../../../src/icon/投保信息.png" alt class="icon-img" />
  664. <span style="margin-left: 10px">投保信息</span>
  665. <el-switch style="margin: 0 10px 0 30px" @change="immediatelyChange" v-model="immediatelyValue"
  666. active-color="#D42426"></el-switch>
  667. <span style="font-weight: normal; font-size: 13px">即时投保</span>
  668. </div>
  669. </div>
  670. <el-form class="back demo-ruleForm" :inline="true" :model="Carinsurance" label-width="150px" size="small"
  671. style="margin-top: 15px" label-position="top">
  672. <div class="flex j-start a-c">
  673. <div class="flex j-c a-start">
  674. <el-checkbox class="checkbox" style="margin-right: 20px" v-model="jqchecked" disabled
  675. ></el-checkbox>
  676. <div class="flex f-c a-c">
  677. <el-form-item label="交强险起保日期" prop="identifyNumber" class="red-btn">
  678. <el-date-picker value-format="yyyy-MM-dd HH:mm:ss" v-model="jqstartDate" @change="jqChange"
  679. type="datetime" placeholder="选择日期时间" placement="bottom-start"></el-date-picker>
  680. </el-form-item>
  681. <el-form-item label="交强险终保日期" prop="identifyNumber" class="red-btn">
  682. <el-date-picker value-format="yyyy-MM-dd HH:mm:ss" v-model="jqendDate" type="datetime"
  683. placeholder="选择日期时间" placement="bottom-start"></el-date-picker>
  684. </el-form-item>
  685. </div>
  686. </div>
  687. <div class="synchronous" style="margin: 0 50px" @click="synchronization">
  688. <img src="@/icon/Union2.png">
  689. <div>同步</div>
  690. </div>
  691. <div class="flex j-c a-start">
  692. <el-checkbox class="checkbox" style="margin-right: 20px" v-model="sychecked" disabled
  693. @change="sycheckedChange"></el-checkbox>
  694. <div class="flex f-c a-c">
  695. <el-form-item label="商业险起保日期" prop="name" class="red-btn">
  696. <el-date-picker value-format="yyyy-MM-dd HH:mm:ss" v-model="systartDate" @change="syChange"
  697. type="datetime" placeholder="选择日期时间" placement="bottom-start"></el-date-picker>
  698. </el-form-item>
  699. <el-form-item label="商业险终保日期" prop="name" class="red-btn">
  700. <el-date-picker value-format="yyyy-MM-dd HH:mm:ss" v-model="syendDate" type="datetime"
  701. placeholder="选择日期时间" placement="bottom-start"></el-date-picker>
  702. </el-form-item>
  703. </div>
  704. </div>
  705. </div>
  706. </el-form>
  707. </div>
  708. <!-- 保险公司 -->
  709. <div class="Enclosure flex f-c back">
  710. <div class="home flex j-s">
  711. <div class="flex j-s a-c" id="company">
  712. <img src="../../../../src/icon/保险公司.png" alt class="icon-img" />
  713. <span style="margin-left: 10px">保险公司</span>
  714. <div class="csstool">
  715. <span>是否过户车</span>
  716. <el-switch @change="transferFlagChange" v-model="carInfo.transferFlag" active-color="#D42426"></el-switch>
  717. </div>
  718. <div class="csstool">
  719. <span>商业险是否过户</span>
  720. <el-switch v-model="carInfo.transferFlagBi" active-color="#D42426"></el-switch>
  721. </div>
  722. <div class="csstool">
  723. <span>是否脱保</span>
  724. <el-switch v-model="carInfo.outOfInsurance" active-color="#D42426"></el-switch>
  725. </div>
  726. <div class="csstool">
  727. <span>是否二手车</span>
  728. <el-switch v-model="carInfo.usedCar" active-color="#D42426"></el-switch>
  729. </div>
  730. </div>
  731. <div class="flex j-c a-c">
  732. <el-button v-show="imageUploadShow" size="small" type="primary" @click="imageUpload()">
  733. <i class="el-icon-camera-solid" style="margin-right: 4px"></i>
  734. 影像上传
  735. </el-button>
  736. </div>
  737. </div>
  738. <div>
  739. <!-- <div class="companyhead">
  740. <el-row>
  741. <el-col :span="1">
  742. <span style="font-size: 14px">选择</span>
  743. </el-col>
  744. <el-col :span="2" style="margin: 0 42px 0 35px">
  745. <span>保险公司</span>
  746. </el-col>
  747. <el-col :span="3">
  748. <span>报价协议</span>
  749. </el-col>
  750. <el-col :span="3" v-if="isLetter !== '3'">
  751. <span>报价结果</span>
  752. </el-col>
  753. <el-col :span="3">
  754. <span>交强险</span>
  755. </el-col>
  756. <el-col :span="3">
  757. <span>车船税</span>
  758. </el-col>
  759. <el-col :span="3">
  760. <span>商业险</span>
  761. </el-col>
  762. <el-col :span="2">
  763. <span>驾意险</span>
  764. </el-col>
  765. <el-col :span="2">
  766. <span>操作</span>
  767. </el-col>
  768. </el-row>
  769. </div>
  770. -->
  771. <div class="coll">
  772. <div v-loading="showLoading" class="hovers" :class="reslistitem.checked ? 'border-red' : 'border-blue'" v-for="(reslistitem, reslistindex) in totalCompanyList"
  773. :key="reslistindex">
  774. <el-row v-show="reslistitem.checked || reslistindex == 0" class="companyhead" style="margin-bottom: 20px;">
  775. <el-col :span="1">
  776. <span style="font-size: 14px">选择</span>
  777. </el-col>
  778. <el-col :span="2" style="margin: 0 42px 0 35px">
  779. <span>保险公司</span>
  780. </el-col>
  781. <el-col :span="3">
  782. <span>报价协议</span>
  783. </el-col>
  784. <el-col :span="3" v-if="isLetter !== '3'">
  785. <span>报价结果</span>
  786. </el-col>
  787. <el-col :span="3">
  788. <span>交强险</span>
  789. </el-col>
  790. <el-col :span="3">
  791. <span>车船税</span>
  792. </el-col>
  793. <el-col :span="3">
  794. <span>商业险</span>
  795. </el-col>
  796. <el-col :span="2">
  797. <span>驾意险</span>
  798. </el-col>
  799. <el-col :span="2">
  800. <span>操作</span>
  801. </el-col>
  802. </el-row>
  803. <el-row class="bxgs-list">
  804. <el-col :span="1" style="margin-left: 20px">
  805. <el-checkbox v-model="reslistitem.checked" :disabled="reslistitem.disabled" @change="(event) =>
  806. initchange(
  807. event,
  808. reslistitem.id,
  809. reslistitem.cnName,
  810. reslistindex
  811. )
  812. "></el-checkbox>
  813. </el-col>
  814. <el-col :span="2">
  815. <img :src="reslistitem.logo" alt style="
  816. width: 30px;
  817. height: 30px;
  818. vertical-align: middle;
  819. margin-left: 20px;
  820. " />
  821. <span>{{ reslistitem.namesimple }}</span>
  822. </el-col>
  823. <el-col :span="4">
  824. <el-select size="small" v-if="reslistitem.isTaxSource && reslistitem.isTaxSource == '1'
  825. " :disabled="true" placeholder="默认" style="width: 230px" v-model="isTaxSourceModel"
  826. :clearable="true"></el-select>
  827. <el-select size="small" v-else :disabled="!reslistitem.checked" v-model="reslistitem.agreementId"
  828. placeholder="请选择协议" style="width: 230px" :clearable="true" @change="(val) =>
  829. agreementChange(
  830. val,
  831. reslistitem.agreement,
  832. reslistindex,
  833. reslistitem
  834. )
  835. ">
  836. <div v-for="(
  837. agreementitem, agreementindex
  838. ) in reslistitem.agreement" :key="agreementindex">
  839. <div v-if="agreementitem.licenseNo &&
  840. agreementitem.licenseNo.length > 0 &&
  841. carInfo.licenseNo.length > 0
  842. ? agreementitem.licenseNo.includes(
  843. carInfo.licenseNo.slice(0, 2)
  844. )
  845. : 'true'
  846. ">
  847. <el-option
  848. :label="agreementitem.jobDescription ? agreementitem.businessDescription + '(' + agreementitem.jobDescription + ')' : agreementitem.businessDescription"
  849. :value="agreementitem.id" :disabled="agreementitem.disabled">{{ agreementitem.jobDescription ?
  850. agreementitem.businessDescription + '(' + agreementitem.jobDescription + ')' :
  851. agreementitem.businessDescription }}</el-option>
  852. </div>
  853. </div>
  854. </el-select>
  855. </el-col>
  856. <el-col :span="3">
  857. <div v-show="reslistitem.quoteCode == '0'">
  858. <span style="line-height: auto;">未报价</span>
  859. </div>
  860. <div class="loader" v-show="reslistitem.quoteCode == '1'">
  861. <!-- <i style="color: #d42426" class="el-icon-loading"></i> -->
  862. <p class="text">
  863. <span class="letter letter1">掌</span>
  864. <span class="letter letter2">柜</span>
  865. <span class="letter letter3">正</span>
  866. <span class="letter letter4">在</span>
  867. <span class="letter letter5">为</span>
  868. <span class="letter letter6">您</span>
  869. <span class="letter letter7">报</span>
  870. <span class="letter letter8">价</span>
  871. <span class="letter letter9">.</span>
  872. <span class="letter letter10">.</span>
  873. <span class="letter letter11">.</span>
  874. </p>
  875. </div>
  876. <div class="dis f-c" v-show="reslistitem.quoteCode == '200' && reslistitem.result.orderstatus != '10' && reslistitem.result.orderstatus != '11'">
  877. <span style="color: #d42426; font-weight: bold">
  878. ¥{{ reslistitem.result.sumPermium }}
  879. </span>
  880. <!-- <span style="font-size: 13px; color: #2d4d89" class="m-top-5">{{ reslistitem.result.feeView ? '总科技币:' : '优惠:' }}{{ reslistitem.result.sumExportFee}}</span> -->
  881. </div>
  882. <div class="dis f-c" v-show="reslistitem.quoteCode == '200' && (reslistitem.result.orderstatus == '10' || reslistitem.result.orderstatus == '11')">
  883. <span style="color: #d42426; font-weight: bold">
  884. {{ reslistitem.result.orderStatusInfo }}
  885. </span>
  886. </div>
  887. </el-col>
  888. <el-col :span="3" v-show="reslistitem.quoteCode == '200' && reslistitem.result.orderstatus != '10' && reslistitem.result.orderstatus != '11'">
  889. <div class="dis f-c">
  890. <span style="color: #d42426; font-weight: bold">
  891. ¥{{ reslistitem.result.jqPremium }}
  892. </span>
  893. <!-- <span v-if="reslistitem.result.jqPremium" style="font-size: 13px; color: #2d4d89" class="m-top-5">{{ reslistitem.result.feeView ? '掌柜科技币:' : '优惠:' }}{{ reslistitem.result.jqExportFee }}</span> -->
  894. </div>
  895. </el-col>
  896. <el-col :span="3" v-show="reslistitem.quoteCode == '200' && reslistitem.result.orderstatus != '10' && reslistitem.result.orderstatus != '11'">
  897. <span style="color: #d42426; font-weight: bold">
  898. ¥{{ reslistitem.result.taxAmount }}
  899. </span>
  900. </el-col>
  901. <el-col :span="3" v-show="reslistitem.quoteCode == '200' && reslistitem.result.orderstatus != '10' && reslistitem.result.orderstatus != '11'">
  902. <div class="dis f-c">
  903. <span style="color: #d42426; font-weight: bold">
  904. ¥{{ reslistitem.result.syPremium }}
  905. </span>
  906. <!-- <span v-if="reslistitem.result.syPremium" style="font-size: 13px; color: #2d4d89" class="m-top-5">{{ reslistitem.result.feeView ? '掌柜科技币:' : '优惠:' }}{{ reslistitem.result.syExportFee }}</span> -->
  907. </div>
  908. </el-col>
  909. <el-col :span="2" v-if="reslistitem.quoteCode == '200' && reslistitem.result.orderstatus != '10' && reslistitem.result.orderstatus != '11'" style="">
  910. <div class="dis f-c">
  911. <span style="color: #d42426; font-weight: bold">
  912. {{
  913. reslistitem.result.jyPremium
  914. ? "¥" + reslistitem.result.jyPremium
  915. : "无"
  916. }}
  917. </span>
  918. <!-- <span v-if="reslistitem.result.jyPremium" style="font-size: 13px; color: #2d4d89" class="m-top-5">{{ reslistitem.result.feeView ? '掌柜科技币:' : '优惠:' }}{{ reslistitem.result.noExportFee }}</span> -->
  919. </div>
  920. </el-col>
  921. <el-col :span="24" v-show="reslistitem.quoteCode == '200' &&
  922. reslistitem.result.feeNoDescription
  923. ">
  924. <div class="flex offer-time" style="color: #d42426">
  925. <span>该车未匹配销管费用,不建议投保!</span>
  926. <el-tooltip class="item" effect="dark" content="费用匹配错误信息" placement="top">
  927. <i class="el-icon-s-goods" @click="
  928. open3(
  929. reslistitem.namesimple + '优惠信息',
  930. reslistitem.result.feeNoDescription
  931. )
  932. " style="
  933. font-size: 20px;
  934. transform: scale(0.8);
  935. vertical-align: middle;
  936. " :disabled="reslistitem.quoteCode == '200' &&
  937. reslistitem.result.feeNoDescription
  938. "></i>
  939. </el-tooltip>
  940. </div>
  941. </el-col>
  942. <el-col :span="24" v-show="reslistitem.quoteCode != '200' &&
  943. reslistitem.quoteCode != '0' &&
  944. reslistitem.quoteCode != '1'
  945. ">
  946. <div class="flex j-s offer-time" style="color: #d42426">
  947. 错误提示:
  948. {{
  949. reslistitem.msg.length > 500
  950. ? reslistitem.msg.slice(0, 500)
  951. : reslistitem.msg
  952. }}
  953. </div>
  954. </el-col>
  955. <el-col :span="24" v-show="reslistitem.quoteCode == '200' &&
  956. (reslistitem.result.orderstatus == '10' || reslistitem.result.orderstatus == '11')">
  957. <div class="flex j-s offer-time" style="color: #d42426">
  958. {{ reslistitem.result.quoteErrMsg }}
  959. </div>
  960. </el-col>
  961. <div class="baofeijisuan" @click="handleListJisuan(reslistitem, reslistindex)">计算保费</div>
  962. </el-row>
  963. <!-- 选中-方案选择 -->
  964. <div v-show="reslistitem.checked" :gutter="20" class="company-checked">
  965. <el-row class="width1280">
  966. <el-col :span="24">
  967. <el-row type="flex" align="middle" class="left-title" v-if="reslistitem.programme">
  968. <el-col :span="2">方案选择</el-col>
  969. <div style="margin-right: 20px;" v-for="(item, index) in reslistitem.schemes" :key="index" @click="checkedPopover(reslistindex, index, item)">
  970. <el-popover placement="top-start" trigger="hover" width="660">
  971. <!-- :disabled="reslistitem.checkedProgramme == index" -->
  972. <!-- <div>弹出</div> -->
  973. <Ktletter1Popover :data="item" :programme="reslistitem.programme" :productId="productId"></Ktletter1Popover>
  974. <el-col class="gray-style" :class="reslistitem.checkedProgramme == index ? 'blue-style' : ''" slot="reference"
  975. >
  976. <!-- <i v-show="reslistitem.checkedProgramme == index" class="el-icon-circle-check"></i> -->
  977. {{ item.schemeName }}
  978. <img v-show="reslistitem.checkedProgramme == index" src="@/assets/Frame.png" />
  979. </el-col>
  980. </el-popover>
  981. </div>
  982. <div @click="checkedPopover(reslistindex, 99)" style="margin-right: 20px;" v-show="reslistitem.programme99 && reslistitem.programme99.schemeId">
  983. <el-popover placement="top-start" width="660" :disabled="reslistitem.checkedProgramme == 99" trigger="hover">
  984. <Ktletter1Popover :data="reslistitem.programme99" :programme="reslistitem.programme" :productId="productId"></Ktletter1Popover>
  985. <el-col class="gray-style" :class="reslistitem.checkedProgramme == 99 ? 'blue-style' : ''" slot="reference">
  986. <!-- <i v-show="reslistitem.checkedProgramme == 99" class="el-icon-circle-check"></i> -->
  987. 自选方案
  988. <img v-show="reslistitem.checkedProgramme == 99" src="@/assets/Frame.png" />
  989. </el-col>
  990. </el-popover>
  991. </div>
  992. <div v-show="reslistitem.checkedProgramme == 99" style="margin-right: 20px;" class="juse-style">
  993. <span @click="showTypeDialog(reslistitem, reslistindex)">调整险种</span>
  994. </div>
  995. <!-- <el-popover placement="top-start" width="450" style="margin-right: 20px;" trigger="hover">
  996. <Ktletter1Popover></Ktletter1Popover>
  997. <el-col class="gray-style" slot="reference">服务方案</el-col>
  998. </el-popover> -->
  999. </el-row>
  1000. </el-col>
  1001. <el-col :span="2" v-if="reslistitem.programme" class="card-bg">
  1002. <div class="card-xianzhong">
  1003. <div>已选险种</div>
  1004. <div class="card-btn" v-show="reslistitem.programme.description">{{ reslistitem.programme.description }}</div>
  1005. <!-- <div v-if="reslistitem.quoteCode == '200' && reslistitem.result.orderstatus">{{ reslistitem.result.orderstatus | cap }}</div> -->
  1006. </div>
  1007. </el-col>
  1008. <!-- 险种明细 -->
  1009. <el-col :span="8" class="card-bg" style="padding-left: 0;" v-if="reslistitem.programme && reslistitem.programme.kinds">
  1010. <div class="card-mingxi">
  1011. <div class="card-mingxi-title">险种明细:
  1012. <span v-show="reslistitem.checkedProgramme != 99" @click="showDetailJiaYi(reslistitem, reslistindex)">查看详情</span>
  1013. <!-- <span v-show="reslistitem.checkedProgramme == 99" @click="showTypeDialog(reslistitem, reslistindex)">调整险种</span> -->
  1014. </div>
  1015. <div class="card-table" v-show="reslistitem.programme.description != '单商' && reslistitem.programme.description != '单三'">
  1016. <div class="table-title">交强险</div>
  1017. <div class="table-list" v-if="reslistitem.programme.kinds">
  1018. <div class="table-list-title">
  1019. <div class="flex-1">产品名称</div>
  1020. </div>
  1021. <div class="table-list-content">
  1022. <div class="flex-1">
  1023. <img src="@/icon/icon-chengse.png">
  1024. <!-- <span>{{ reslistitem.programme.jqx.name }}</span> -->
  1025. <span>交通事故强制责任险</span>
  1026. </div>
  1027. </div>
  1028. </div>
  1029. </div>
  1030. <div class="card-table" v-show="reslistitem.programme.description != '单交'">
  1031. <div class="table-title">商业险</div>
  1032. <div class="table-list" v-if="reslistitem.programme && reslistitem.programme.kinds">
  1033. <div class="table-list-title">
  1034. <div class="flex-1">产品名称</div>
  1035. <div class="w-60">保额(元)</div>
  1036. </div>
  1037. <div v-for="(kinds, kindIndex) in reslistitem.programme.kinds.main" :key="kindIndex + 'main'">
  1038. <div class="table-list-content" v-if="kinds.amount != 0">
  1039. <div class="flex-1">
  1040. <img src="@/icon/icon-chengse.png">
  1041. <span>{{ kinds.kindName }}</span>
  1042. </div>
  1043. <div v-if="kinds.kindCode != 'A'" class="w-60"> {{ toWan(kinds.amount) }}</div>
  1044. <div v-else class="w-60">{{ toWan(kinds.amount) }}</div>
  1045. </div>
  1046. </div>
  1047. <div v-for="(kinds, kindIndex) in reslistitem.programme.kinds.additional" :key="kindIndex">
  1048. <div class="table-list-content" v-if="kinds.amount != 0">
  1049. <div class="flex-1">
  1050. <img src="@/icon/icon-chengse.png">
  1051. <span>{{ kinds.kindName }}</span>
  1052. </div>
  1053. <div class="w-60"> {{ toWan(kinds.amount) }}</div>
  1054. </div>
  1055. </div>
  1056. <div class="table-list-content" v-if="reslistitem.programme && reslistitem.programme.kinds && !reslistitem.programme.kinds.main.length && !reslistitem.programme.kinds.additional.length">暂无</div>
  1057. </div>
  1058. </div>
  1059. <div class="card-table" v-if="reslistitem.programme && reslistitem.programme.drivingList && reslistitem.programme.drivingList.length > 0">
  1060. <div class="table-title">驾意险</div>
  1061. <div class="table-list" v-if="reslistitem.programme.kinds">
  1062. <div class="table-list-title">
  1063. <div class="flex-1">产品名称</div>
  1064. <div class="w-60">份数</div>
  1065. <div class="w-60">保费</div>
  1066. </div>
  1067. <div class="table-list-content" v-for="(driving, drivingIndex) in reslistitem.programme.drivingList" :key="drivingIndex" @click="showDetailJiaYi(reslistitem, reslistindex, 'jiayi')">
  1068. <div class="flex-1">
  1069. <img src="@/icon/icon-chengse.png">
  1070. <span>
  1071. <!-- <span style="margin-right: 0;" v-if="reslistitem.cnName == 'guoRen' || reslistitem.cnName == 'ansheng'">{{ driving.select }}</span> -->
  1072. {{ driving.alias || driving.projectName }}
  1073. </span>
  1074. </div>
  1075. <div class="w-60">{{ driving.quantity }}份</div>
  1076. <div class="w-60">¥{{ Number(driving.sumPremium) * driving.quantity }}
  1077. <span v-show="reslistitem.checkedProgramme == 99"><i class="el-icon-delete" @click="deleteJiaYi(reslistindex, drivingIndex)"></i></span>
  1078. </div>
  1079. </div>
  1080. <div class="table-list-content" v-if="reslistitem.programme && reslistitem.programme.drivingList && !reslistitem.programme.drivingList.length">暂无</div>
  1081. </div>
  1082. </div>
  1083. <div class="card-table" v-show="reslistitem.cnName == 'guoRen'">
  1084. <!-- reslistitem.checkedProgramme == 99 && -->
  1085. <div class="table-title">其他</div>
  1086. <div class="table-list">
  1087. <!-- v-if="reslistitem.programme.kinds" -->
  1088. <div style="color: #FD9A25;" @click="contributingGuoRen(reslistitem.agreementId, reslistindex)">选择特约</div>
  1089. <div class="table-list-title" v-show="reslistitem.programme && reslistitem.programme.teyue && reslistitem.programme.teyue.length">
  1090. <div class="flex-1">特约名称</div>
  1091. </div>
  1092. <div class="table-list-content" v-for="(teyueitem, teyueindex) in reslistitem.programme.teyue" :key="teyueindex">
  1093. <div class="flex-1">
  1094. <img src="@/icon/icon-chengse.png">
  1095. {{ teyueitem.clauseName }}
  1096. </div>
  1097. </div>
  1098. <!-- <div class="table-list-content" v-if="!reslistitem.programme.teyue.length">暂无</div> -->
  1099. </div>
  1100. </div>
  1101. <div class="card-table" v-show="reslistitem.cnName == 'zijin'">
  1102. <div class="table-title">其他</div>
  1103. <div>自定义系数:
  1104. <el-input v-model="reslistitem.coefficient" size="mini" class="coefficient" placeholder="请输入"></el-input>
  1105. </div>
  1106. </div>
  1107. </div>
  1108. </el-col>
  1109. <!-- 服务明细 -->
  1110. <el-col :span="4" class="card-bg" style="padding-left: 0;" v-if="reslistitem.programme && reslistitem.programme.kinds">
  1111. <div class="card-mingxi fuwu">
  1112. <div class="card-mingxi-title">服务明细:</div>
  1113. <div class="card-table">
  1114. <div class="table-list">
  1115. <div class="table-list-title">
  1116. <div class="flex-1">增值服务</div>
  1117. <div class="w-50">次数</div>
  1118. </div>
  1119. <div class="table-list-content" v-for="(kinds, kindIndex) in reslistitem.programme.kinds.service" :key="kindIndex">
  1120. <div class="flex-1">
  1121. <img src="@/icon/icon-lanse.png">
  1122. <span style="margin-left: 0;">{{ kinds.alias || kinds.kindName }}</span>
  1123. </div>
  1124. <div class="w-50 w-55">{{ toWan(kinds.amount, 'fw') }}</div>
  1125. </div>
  1126. <div class="table-list-content" v-if="reslistitem.programme && reslistitem.programme.kinds && !reslistitem.programme.kinds.service.length">暂无</div>
  1127. </div>
  1128. </div>
  1129. </div>
  1130. </el-col>
  1131. <!-- 优惠明细 -->
  1132. <el-col :span="4" class="card-bg" style="padding-left: 0;" v-if="reslistitem.quoteCode == '200' && reslistitem.result.orderstatus != '10' && reslistitem.result.orderstatus != '11'">
  1133. <div class="card-mingxi youhui">
  1134. <div class="card-mingxi-title">优惠明细:</div>
  1135. <div class="card-table">
  1136. <div class="table-list">
  1137. <div class="table-list-title" style="padding-left: 0;">
  1138. <div class="w-50" style="width: 40px;">险种</div>
  1139. <div class="w-50" style="width: 50px; font-size: 10px;">优惠比例</div>
  1140. <div class="w-60" style=" font-size: 10px;">优惠金额(元)</div>
  1141. <div class="w-60" style="width: 50px; font-size: 10px;">合计优惠</div>
  1142. </div>
  1143. <div class="table-list-content" v-if="reslistitem.programme">
  1144. <div class="w-50" style="width: 40px;">
  1145. <div class="table-list-line" style="border-right: none; padding-left: 0;" v-show="reslistitem.programme.description != '单商' && reslistitem.programme.description != '单三'">
  1146. <span style="margin-left: 0; font-size: 10px;">交强险</span>
  1147. </div>
  1148. <div class="table-list-line" style="border-right: none; padding-left: 0;" v-show="reslistitem.programme.description != '单交'">
  1149. <span style="margin-left: 0; font-size: 10px;">商业险</span>
  1150. </div>
  1151. <div class="table-list-line table-list-line-last" style="border-right: none; padding-left: 0;" v-show="reslistitem.result.jyPremium">
  1152. <span style="margin-left: 0; font-size: 10px;">驾意险</span>
  1153. </div>
  1154. </div>
  1155. <div class="w-50" style="width: 50px;">
  1156. <div class="table-list-line" style="border-right: none;" v-show="reslistitem.programme.description != '单商' && reslistitem.programme.description != '单三'">
  1157. <span style="margin-left: 0;">{{ reslistitem.result.jqExportFee ? reslistitem.result.jqExportRadio : '无' }}</span>
  1158. </div>
  1159. <div class="table-list-line" style="border-right: none;" v-show="reslistitem.programme.description != '单交'">
  1160. <span style="margin-left: 0;">{{ reslistitem.result.syExportFee ? reslistitem.result.syExportRadio : '无' }}</span>
  1161. </div>
  1162. <div class="table-list-line table-list-line-last" style="border-right: none;" v-show="reslistitem.result.jyPremium">
  1163. <span style="margin-left: 0;">{{ reslistitem.result.noExportRadio }}</span>
  1164. </div>
  1165. </div>
  1166. <div class="w-60">
  1167. <div class="table-list-line" v-show="reslistitem.programme.description != '单商' && reslistitem.programme.description != '单三'">
  1168. <span style="margin-left: 0;">{{ reslistitem.result.jqExportFee ? reslistitem.result.jqExportFee : '无' }}</span>
  1169. </div>
  1170. <div class="table-list-line" v-show="reslistitem.programme.description != '单交'">
  1171. <span style="margin-left: 0;">{{ reslistitem.result.syExportFee ? reslistitem.result.syExportFee : '无' }}</span>
  1172. </div>
  1173. <div class="table-list-line table-list-line-last" v-show="reslistitem.result.jyPremium">
  1174. <span style="margin-left: 0;">{{ reslistitem.result.noExportFee ? reslistitem.result.noExportFee : '无' }}</span>
  1175. </div>
  1176. </div>
  1177. <div class="w-50 w-66"><span v-show="reslistitem.result.sumExportFee">¥</span>{{ reslistitem.result.sumExportFee }}</div>
  1178. </div>
  1179. </div>
  1180. </div>
  1181. <div class="card-mingxi-title" style="margin-top: 10px; border-top: 1px solid #fabdae;">返还测算:</div>
  1182. <div class="card-table">
  1183. <div class="table-list">
  1184. <div class="table-list-title" style="padding-left: 0;">
  1185. <div class="w-50" style="width: 40px;">险种</div>
  1186. <div class="w-50" style="width: 50px; font-size: 10px;">返还比例</div>
  1187. <div class="w-60" style=" font-size: 10px;">返还金额(元)</div>
  1188. <div class="w-60" style="width: 50px; font-size: 10px;">合计返还</div>
  1189. </div>
  1190. <div class="table-list-content" v-if="reslistitem.programme">
  1191. <div class="w-50" style="width: 40px;">
  1192. <div class="table-list-line" style="border-right: none; padding-left: 0;" v-show="reslistitem.programme.description != '单商' && reslistitem.programme.description != '单三'">
  1193. <span style="margin-left: 0; font-size: 10px;">交强险</span>
  1194. </div>
  1195. <div class="table-list-line" style="border-right: none; padding-left: 0;" v-show="reslistitem.programme.description != '单交'">
  1196. <span style="margin-left: 0; font-size: 10px;">商业险</span>
  1197. </div>
  1198. <div class="table-list-line table-list-line-last" style="border-right: none; padding-left: 0;" v-show="reslistitem.result.jyPremium">
  1199. <span style="margin-left: 0; font-size: 10px;">驾意险</span>
  1200. </div>
  1201. </div>
  1202. <div class="w-50" style="width: 50px;">
  1203. <div class="table-list-line" style="border-right: none; padding-left: 0;" v-show="reslistitem.programme.description != '单商' && reslistitem.programme.description != '单三'">
  1204. <span style="margin-left: 0;">
  1205. <el-input size="mini" style="width: 40px;" v-model="reslistitem.result.jqInput" class="mini-input"></el-input>
  1206. </span>
  1207. </div>
  1208. <div class="table-list-line" style="border-right: none; padding-left: 0;" v-show="reslistitem.programme.description != '单交'">
  1209. <span style="margin-left: 0;">
  1210. <el-input size="mini" style="width: 40px;" v-model="reslistitem.result.syInput" class="mini-input"></el-input>
  1211. </span>
  1212. </div>
  1213. <div class="table-list-line table-list-line-last" style="border-right: none; padding-left: 0;" v-show="reslistitem.result.jyPremium">
  1214. <span style="margin-left: 0;">
  1215. <el-input size="mini" style="width: 40px;" v-model="reslistitem.result.jyInput" class="mini-input"></el-input>
  1216. </span>
  1217. </div>
  1218. </div>
  1219. <div class="w-60">
  1220. <div class="table-list-line" v-show="reslistitem.programme.description != '单商' && reslistitem.programme.description != '单三'">
  1221. <span style="margin-left: 0;">{{ reslistitem.result.jqInput ? (reslistitem.result.jqPremium * (reslistitem.result.jqInput / 100)).toFixed(2) : 0 }}</span>
  1222. </div>
  1223. <div class="table-list-line" v-show="reslistitem.programme.description != '单交'">
  1224. <span style="margin-left: 0;">{{ reslistitem.result.syInput ? (reslistitem.result.syPremium * (reslistitem.result.syInput / 100)).toFixed(2) : 0 }}</span>
  1225. </div>
  1226. <div class="table-list-line table-list-line-last" v-show="reslistitem.result.jyPremium">
  1227. <span style="margin-left: 0;">{{ reslistitem.result.jyInput ? (reslistitem.result.jyPremium * (reslistitem.result.jyInput / 100)).toFixed(2) : 0 }}</span>
  1228. </div>
  1229. </div>
  1230. <div class="w-60 w-66">{{ (
  1231. (reslistitem.result.jqInput ? reslistitem.result.jqPremium * (reslistitem.result.jqInput / 100) : 0) +
  1232. (reslistitem.result.syInput ? reslistitem.result.syPremium * (reslistitem.result.syInput / 100) : 0 ) +
  1233. (reslistitem.result.jyInput ? reslistitem.result.jyPremium * (reslistitem.result.jyInput / 100) : 0)
  1234. ).toFixed(2)
  1235. }}</div>
  1236. </div>
  1237. </div>
  1238. </div>
  1239. </div>
  1240. </el-col>
  1241. <!-- 保险期限 -->
  1242. <el-col :span="6" class="card-bg" style="padding-left: 0;" v-if="reslistitem.quoteCode == '200' && reslistitem.result.orderstatus != '10' && reslistitem.result.orderstatus != '11'">
  1243. <div class="card-mingxi baoxian">
  1244. <div class="card-mingxi-title">保险期限:
  1245. <div @click="syncData(reslistitem.result)">
  1246. <el-tooltip class="item" effect="dark" content="使用此时间" placement="top">
  1247. <i style="color: red" class="el-icon-time"></i>
  1248. </el-tooltip>
  1249. </div>
  1250. </div>
  1251. <div class="card-table">
  1252. <div class="table-list">
  1253. <div class="table-list-title">
  1254. <div class="w-40">险种</div>
  1255. <div class="flex-1">起保日期</div>
  1256. <div class="flex-1">终保日期</div>
  1257. </div>
  1258. <div class="table-list-content" v-show="reslistitem.result.startDateJq">
  1259. <div class="w-40">交强险</div>
  1260. <div class="flex-1">{{ reslistitem.result.startDateJq }}</div>
  1261. <div class="flex-1">{{ reslistitem.result.endDateJq }}</div>
  1262. </div>
  1263. <div class="table-list-content" v-show="reslistitem.result.startDateSy">
  1264. <div class="w-40">商业险</div>
  1265. <div class="flex-1">{{ reslistitem.result.startDateSy }}</div>
  1266. <div class="flex-1">{{ reslistitem.result.endDateSy }}</div>
  1267. </div>
  1268. </div>
  1269. </div>
  1270. <div class="card-table">
  1271. <div class="table-list">
  1272. <div class="table-list-title">
  1273. <div class="flex-1">类型</div>
  1274. <div class="flex-1">评分</div>
  1275. </div>
  1276. <!-- <div class="table-list-content" v-show="reslistitem.result.JqExportFee">
  1277. <div class="flex-1">交强出口费用</div>
  1278. <div class="flex-1">{{ reslistitem.result.JqExportFee }}</div>
  1279. </div>
  1280. <div class="table-list-content" v-show="reslistitem.result.syExportFee">
  1281. <div class="flex-1">商业出口费用</div>
  1282. <div class="flex-1">{{ reslistitem.result.syExportFee }}</div>
  1283. </div>
  1284. <div class="table-list-content" v-show="reslistitem.result.noExportFee">
  1285. <div class="flex-1">非车出口费用</div>
  1286. <div class="flex-1">{{ reslistitem.result.noExportFee }}</div>
  1287. </div> -->
  1288. <div class="table-list-content" v-show="reslistitem.result.jqScore">
  1289. <div class="flex-1">交强类型评分:</div>
  1290. <div class="flex-1">{{ reslistitem.result.jqScore }}</div>
  1291. </div>
  1292. <div class="table-list-content" v-show="reslistitem.result.syScore">
  1293. <div class="flex-1">商业类型评分:</div>
  1294. <div class="flex-1">{{ reslistitem.result.syScore }}</div>
  1295. </div>
  1296. <div class="table-list-content" v-show="reslistitem.result.lossRation">
  1297. <div class="flex-1">总赔付率:</div>
  1298. <div class="flex-1">{{ reslistitem.result.lossRation }}</div>
  1299. </div>
  1300. <div class="table-list-content" v-show="reslistitem.result.jqLossRation">
  1301. <div class="flex-1">交强赔付率:</div>
  1302. <div class="flex-1">{{ reslistitem.result.jqLossRation }}</div>
  1303. </div>
  1304. <div class="table-list-content" v-show="reslistitem.result.syLossRation">
  1305. <div class="flex-1">商业赔付率:</div>
  1306. <div class="flex-1">{{ reslistitem.result.syLossRation }}</div>
  1307. </div>
  1308. <div class="table-list-content" v-show="reslistitem.result.totalAdjustRate">
  1309. <div class="flex-1">自主定价系数:</div>
  1310. <div class="flex-1">{{ reslistitem.result.totalAdjustRate }}</div>
  1311. </div>
  1312. <div class="table-list-content" v-show="reslistitem.result.jgAdjustRate">
  1313. <div class="flex-1">交强折扣系数:</div>
  1314. <div class="flex-1">{{ reslistitem.result.jgAdjustRate }}</div>
  1315. </div>
  1316. <div class="table-list-content" v-show="reslistitem.result.syAdjustRate">
  1317. <div class="flex-1">商业折扣系数:</div>
  1318. <div class="flex-1">{{ reslistitem.result.syAdjustRate }}</div>
  1319. </div>
  1320. <div class="table-list-content" v-show="reslistitem.result.jqRenewal">
  1321. <div class="flex-1">交强续保:</div>
  1322. <div class="flex-1">{{ reslistitem.result.jqRenewal ? reslistitem.result.jqRenewal : "无" }}</div>
  1323. </div>
  1324. <div class="table-list-content" v-show="reslistitem.result.syRenewal">
  1325. <div class="flex-1">商业续保:</div>
  1326. <div class="flex-1">{{ reslistitem.result.syRenewal ? reslistitem.result.syRenewal : "无" }}</div>
  1327. </div>
  1328. <div class="table-list-content" v-show="reslistitem.result.jqClaims">
  1329. <div class="flex-1">交强出险次数:</div>
  1330. <div class="flex-1">{{ reslistitem.result.jqClaims ? reslistitem.result.jqClaims : "无" }}</div>
  1331. </div>
  1332. <div class="table-list-content" v-show="reslistitem.result.syClaims">
  1333. <div class="flex-1">商业出险次数:</div>
  1334. <div class="flex-1">{{ reslistitem.result.syClaims ? reslistitem.result.syClaims : "无" }}</div>
  1335. </div>
  1336. <div class="table-list-content" v-if="reslistitem.namesimple == '紫金财险' &&
  1337. reslistitem.result.ubiPredictedInfoScore">
  1338. <div class="flex-1">紫金能源车(鼎然-车辆风险评分):</div>
  1339. <div class="flex-1">{{ reslistitem.result.ubiPredictedInfoScore }}</div>
  1340. </div>
  1341. <div class="table-list-content" v-if="reslistitem.result.iszdj && reslistitem.result.iszdj == '1' ">
  1342. <div class="flex-1">真单交</div>
  1343. </div>
  1344. <div class="table-list-content" v-if="reslistitem.result.iszdj && reslistitem.result.iszdj == '0' ">
  1345. <div class="flex-1">假单交</div>
  1346. </div>
  1347. <div class="table-list-content" v-if="reslistitem.namesimple == '永诚财险'">
  1348. <div class="flex-1">光博分:</div>
  1349. <div class="flex-1">{{ reslistitem.result.ilogPreUdwMess ? reslistitem.result.ilogPreUdwMess : "无" }}</div>
  1350. </div>
  1351. <div class="table-list-content" v-else>
  1352. <div class="flex-1">评分:</div>
  1353. <div class="flex-1">{{ reslistitem.result.ilogPreUdwMess ? reslistitem.result.ilogPreUdwMess : "无" }}</div>
  1354. </div>
  1355. </div>
  1356. </div>
  1357. <div style="flex: 1;"></div>
  1358. <div style="display: flex; align-items: center;">
  1359. <div style="flex: 1;"></div>
  1360. <div style="color: #2d4d89">
  1361. <el-tooltip class="item" effect="dark" content="上年信息" placement="top">
  1362. <i class="el-icon-chat-dot-round" @click="
  1363. open2(reslistitem.namesimple, reslistitem.lastYearMsg)
  1364. " style="
  1365. font-size: 20px;
  1366. transform: scale(0.8);
  1367. vertical-align: middle;
  1368. " :disabled="reslistitem.namesimple == '众安财险' &&
  1369. reslistitem.result.tips == '需要验车'
  1370. " v-show="reslistitem.quoteCode == '200' &&
  1371. reslistitem.lastYearMsg
  1372. "></i>
  1373. </el-tooltip>
  1374. <el-tooltip class="item" effect="dark" content="预核保信息" placement="top">
  1375. <i class="el-icon-chat-dot-round" @click="
  1376. openPredictInfo(
  1377. reslistitem.namesimple,
  1378. reslistitem.predictInfo
  1379. )
  1380. " style="
  1381. font-size: 20px;
  1382. transform: scale(0.8);
  1383. vertical-align: middle;
  1384. " v-show="reslistitem.quoteCode == '200' &&
  1385. reslistitem.predictInfo &&
  1386. reslistitem.predictInfo.length > 0 &&
  1387. reslistitem.namesimple == '中国人寿'
  1388. "></i>
  1389. </el-tooltip>
  1390. </div>
  1391. <el-button :disabled="reslistitem.namesimple == '众安财险' &&
  1392. reslistitem.result.tips == '需要验车'
  1393. " v-show="reslistitem.quoteCode == '200' &&
  1394. !('editStatus' in reslistitem.result)
  1395. " type="text" size="small" style="color: #2d4d89; font-size: 14px"
  1396. @click="hbsubmitdialog(reslistitem, reslistindex)">下单</el-button>
  1397. <el-button v-show="reslistitem.quoteCode == '200'" type="text" size="small"
  1398. style="color: #2d4d89; font-size: 14px"
  1399. @click="qoutedetail(reslistitem.result.companyId)">查看详情</el-button>
  1400. <el-button v-show="reslistitem.quoteCode == '200'" type="text" size="small" style="font-size: 14px"
  1401. @click="bjdpreview(reslistitem.result.companyId)">报价单</el-button>
  1402. <el-button type="text" size="small" style="font-size: 14px"
  1403. @click="Payment(reslistitem.result.companyId, reslistitem)" v-show="reslistitem.orderstatus == '2' &&
  1404. !('editStatus' in reslistitem.result) && reslistitem.namesimple !== '平安财险'
  1405. ">付款码</el-button>
  1406. <el-button type="text" size="small" style="font-size: 14px"
  1407. @click="signature(reslistitem.result.companyId)" v-show="reslistitem.orderstatus == '2' &&
  1408. !('editStatus' in reslistitem.result) && reslistitem.namesimple == '平安财险'
  1409. ">生成签章</el-button>
  1410. <el-button v-if="vehicleInspectionUrl" type="text" size="small" style="font-size: 14px" @click="validateCarCode">验车二维码</el-button>
  1411. </div>
  1412. </div>
  1413. <!-- <div style="line-height: 25px">
  1414. 保险期限:
  1415. <span v-show="reslistitem.result.startDateJq">
  1416. 【交强险】
  1417. <span>
  1418. {{ reslistitem.result.startDateJq }} -
  1419. {{ reslistitem.result.endDateJq }}
  1420. </span>
  1421. <br />
  1422. </span>
  1423. <span v-show="reslistitem.result.startDateSy">
  1424. 【商业险】
  1425. <span>
  1426. {{ reslistitem.result.startDateSy }} -
  1427. {{ reslistitem.result.endDateSy }}
  1428. </span>
  1429. <br />
  1430. </span>
  1431. <span @click="syncData(reslistitem.result)">
  1432. <el-tooltip class="item" effect="dark" content="使用此时间" placement="top">
  1433. <i style="color: red" class="el-icon-time"></i>
  1434. </el-tooltip>
  1435. </span>
  1436. <div>
  1437. <span v-show="reslistitem.result.JqExportFee">
  1438. 交强出口费用<span>{{
  1439. reslistitem.result.JqExportFee
  1440. }}</span>
  1441. <br />
  1442. </span>
  1443. <span v-show="reslistitem.result.syExportFee">
  1444. 商业出口费用<span>{{
  1445. reslistitem.result.syExportFee
  1446. }}</span>
  1447. <br />
  1448. </span>
  1449. <span v-show="reslistitem.result.noExportFee">
  1450. 非车出口费用<span>
  1451. {{ reslistitem.result.noExportFee }}</span>
  1452. </span>
  1453. <br />
  1454. </div>
  1455. <div>
  1456. <span v-if="reslistitem.result.jqScore" class="marginL">
  1457. 交强类型评分:
  1458. <span>{{ reslistitem.result.jqScore }}</span>
  1459. <br />
  1460. </span>
  1461. <span v-if="reslistitem.result.syScore" class="marginL">
  1462. 商业类型评分:
  1463. <span>{{ reslistitem.result.syScore }}</span>
  1464. <br />
  1465. </span>
  1466. <span v-if="reslistitem.result.lossRation" class="marginL">
  1467. 总赔付率:
  1468. <span>{{ reslistitem.result.lossRation }}</span>
  1469. <br />
  1470. </span>
  1471. <span v-if="reslistitem.result.jqLossRation" class="marginL">
  1472. 交强赔付率:
  1473. <span>{{ reslistitem.result.jqLossRation }}</span>
  1474. <br />
  1475. </span>
  1476. <span v-if="reslistitem.result.syLossRation" class="marginL">
  1477. 商业赔付率:
  1478. <span>{{ reslistitem.result.syLossRation }}</span>
  1479. <br />
  1480. </span>
  1481. <span v-if="reslistitem.result.totalAdjustRate" class="marginL">
  1482. 自主定价系数:
  1483. <span>{{ reslistitem.result.totalAdjustRate }}</span>
  1484. <br />
  1485. </span>
  1486. <span v-if="reslistitem.result.jgAdjustRate" class="marginL">
  1487. 交强折扣系数:
  1488. <span>{{ reslistitem.result.jgAdjustRate }}</span>
  1489. <br />
  1490. </span>
  1491. <span v-if="reslistitem.result.syAdjustRate" class="marginL">
  1492. 商业折扣系数:
  1493. <span>{{ reslistitem.result.syAdjustRate }}</span>
  1494. <br />
  1495. </span>
  1496. <span v-if="reslistitem.result.jqRenewal" class="marginL">
  1497. 交强续保:
  1498. <span>
  1499. {{
  1500. reslistitem.result.jqRenewal
  1501. ? reslistitem.result.jqRenewal
  1502. : "无"
  1503. }}
  1504. </span>
  1505. <br />
  1506. </span>
  1507. <span v-if="reslistitem.result.syRenewal" class="marginL">
  1508. 商业续保:
  1509. <span>
  1510. {{
  1511. reslistitem.result.syRenewal
  1512. ? reslistitem.result.syRenewal
  1513. : "无"
  1514. }}
  1515. </span>
  1516. <br />
  1517. </span>
  1518. <span v-if="reslistitem.result.jqClaims" class="marginL">
  1519. 交强出险次数:
  1520. <span>
  1521. {{
  1522. reslistitem.result.jqClaims
  1523. ? reslistitem.result.jqClaims
  1524. : "无"
  1525. }}
  1526. </span>
  1527. <br />
  1528. </span>
  1529. <span v-if="reslistitem.result.syClaims" class="marginL">
  1530. 商业出险次数:
  1531. <span>
  1532. {{
  1533. reslistitem.result.syClaims
  1534. ? reslistitem.result.syClaims
  1535. : "无"
  1536. }}
  1537. </span>
  1538. <br />
  1539. </span>
  1540. <span v-if="reslistitem.namesimple == '紫金财险' &&
  1541. reslistitem.result.ubiPredictedInfoScore
  1542. " class="marginL">
  1543. 紫金能源车(鼎然-车辆风险评分):
  1544. <span>{{ reslistitem.result.ubiPredictedInfoScore }}</span>
  1545. <br />
  1546. </span>
  1547. <span v-if="reslistitem.result.iszdj &&
  1548. reslistitem.result.iszdj == '1'
  1549. ">真单交</span>
  1550. <span v-if="reslistitem.result.iszdj &&
  1551. reslistitem.result.iszdj == '0'
  1552. ">假单交</span>
  1553. <span v-if="reslistitem.namesimple == '永诚财险'">
  1554. 光博分:
  1555. <span>
  1556. {{
  1557. reslistitem.result.ilogPreUdwMess
  1558. ? reslistitem.result.ilogPreUdwMess
  1559. : "无"
  1560. }}
  1561. </span>
  1562. <br />
  1563. </span>
  1564. <span v-else>
  1565. 评分:
  1566. <span>
  1567. {{
  1568. reslistitem.result.ilogPreUdwMess
  1569. ? reslistitem.result.ilogPreUdwMess
  1570. : "无"
  1571. }}
  1572. </span>
  1573. <br />
  1574. </span>
  1575. </div>
  1576. </div> -->
  1577. </el-col>
  1578. <!-- <el-col :gutter="20" :span="24" class="company-checked-left">
  1579. <div class="company-checked-card" v-if="reslistitem.programme">
  1580. <div>
  1581. <div class="checked-card-title">险种</div>
  1582. <div class="checked-card-content">
  1583. <span class="blue-style" v-show="reslistitem.programme.description">{{ reslistitem.programme.description }}</span>
  1584. <span v-show="reslistitem.checkedProgramme == 99" class="blue-button" @click="showTypeDialog(reslistitem, reslistindex)">调整险种</span>
  1585. </div>
  1586. </div>
  1587. <div>
  1588. <div class="checked-card-title">主险</div>
  1589. <div class="checked-card-content" v-if="reslistitem.programme.kinds">
  1590. <span class="blue-text" v-for="(kinds, kindIndex) in reslistitem.programme.kinds.main" :key="kindIndex">{{ kinds.alias || kinds.kindName }} {{ toWan(kinds.amount) }}</span>
  1591. <span style="color: rgba(51,51,51,0.65);" v-if="reslistitem.programme.kinds.main.length == 0">暂无</span>
  1592. </div>
  1593. </div>
  1594. <div>
  1595. <div class="checked-card-title">附加险</div>
  1596. <div class="checked-card-content" v-if="reslistitem.programme.kinds">
  1597. <span v-for="(kinds, kindIndex) in reslistitem.programme.kinds.additional" :key="kindIndex">{{ kinds.alias || kinds.kindName }} {{ toWan(kinds.amount) }}</span>
  1598. <span style="color: rgba(51,51,51,0.65);" v-if="reslistitem.programme.kinds.additional.length == 0">暂无</span>
  1599. </div>
  1600. </div>
  1601. <div>
  1602. <div class="checked-card-title">驾意险</div>
  1603. <div class="checked-card-content" v-if="reslistitem.programme.kinds">
  1604. <div v-for="(driving, drivingIndex) in reslistitem.programme.drivingList" :key="drivingIndex" style="margin-bottom: 10px;">
  1605. <span style="margin-right: 0;" v-if="reslistitem.cnName == 'guoRen' || reslistitem.cnName == 'ansheng'">{{ driving.select }}</span>
  1606. <span>{{ driving.alias || driving.projectName }} {{ driving.quantity }}份 ¥{{ Number(driving.sumPremium) * driving.quantity }}</span>
  1607. <span v-show="reslistitem.checkedProgramme == 99"><i class="el-icon-delete" @click="deleteJiaYi(reslistindex, drivingIndex)"></i></span>
  1608. <span class="blue-button" @click="showDetailJiaYi(reslistindex, driving)">查看详情</span>
  1609. <span class="blue-button" @click="addJiaYi(reslistitem)" v-show="drivingIndex == 0 && reslistitem.checkedProgramme == 99">+驾意险</span>
  1610. </div>
  1611. <span class="blue-button" @click="addJiaYi(reslistitem)" v-show="!reslistitem.programme.drivingList.length && reslistitem.checkedProgramme == 99">+驾意险</span>
  1612. </div>
  1613. </div>
  1614. <div style="margin-top: -10px;">
  1615. <div class="checked-card-title">服务</div>
  1616. <div class="checked-card-content" v-if="reslistitem.programme.kinds">
  1617. <span v-for="(kinds, kindIndex) in reslistitem.programme.kinds.service" :key="kindIndex">{{ kinds.alias || kinds.kindName }} {{ toWan(kinds.amount, 'fw') }}</span>
  1618. <span style="color: rgba(51,51,51,0.65);" v-if="reslistitem.programme.kinds.service.length == 0">暂无</span>
  1619. </div>
  1620. </div>
  1621. <div>
  1622. <div class="checked-card-title">其他</div>
  1623. <div class="checked-card-content" v-show="reslistitem.checkedProgramme == 99 && reslistitem.cnName == 'guoRen'">
  1624. <div v-if="reslistitem.programme">
  1625. <div v-for="(teyueitem, teyueindex) in reslistitem.programme.teyue" :key="teyueindex">{{ teyueitem.clauseName }}</div>
  1626. <span style="color: #F96646;" @click="contributingGuoRen(reslistitem.agreementId, reslistindex)">选择特约</span>
  1627. </div>
  1628. </div>
  1629. <el-col :span="20" v-show="reslistitem.cnName == 'zijin'">
  1630. <div v-show="reslistitem.cnName == 'zijin'">自定义系数:
  1631. <el-input v-model="reslistitem.coefficient" size="mini" class="coefficient" placeholder="请输入"></el-input>
  1632. </div>
  1633. </el-col>
  1634. </div>
  1635. </div>
  1636. </el-col> -->
  1637. </el-row>
  1638. </div>
  1639. <!--
  1640. <div class="flex j-s offer-time" v-if="reslistitem.quoteCode == '200'">
  1641. <div style="line-height: 25px">
  1642. 保险期限:
  1643. <span v-show="reslistitem.result.startDateJq">
  1644. 【交强险】
  1645. <span>
  1646. {{ reslistitem.result.startDateJq }} -
  1647. {{ reslistitem.result.endDateJq }}
  1648. </span>
  1649. </span>
  1650. <span v-show="reslistitem.result.startDateSy" style="margin-left: 20px">
  1651. 【商业险】
  1652. <span>
  1653. {{ reslistitem.result.startDateSy }} -
  1654. {{ reslistitem.result.endDateSy }}
  1655. </span>
  1656. </span>
  1657. <span @click="syncData(reslistitem.result)">
  1658. <el-tooltip class="item" effect="dark" content="使用此时间" placement="top">
  1659. <i style="color: red" class="el-icon-time"></i>
  1660. </el-tooltip>
  1661. </span>
  1662. <div>
  1663. <span v-show="reslistitem.result.JqExportFee">
  1664. 交强出口费用<span>{{
  1665. reslistitem.result.JqExportFee
  1666. }}</span>
  1667. </span>
  1668. <span v-show="reslistitem.result.syExportFee">
  1669. 商业出口费用<span>{{
  1670. reslistitem.result.syExportFee
  1671. }}</span>
  1672. </span>
  1673. <span v-show="reslistitem.result.noExportFee">
  1674. 非车出口费用<span>
  1675. {{ reslistitem.result.noExportFee }}</span>
  1676. </span>
  1677. </div>
  1678. <div>
  1679. <span v-if="reslistitem.namesimple == '永诚财险'">
  1680. 光博分:
  1681. <span>
  1682. {{
  1683. reslistitem.result.ilogPreUdwMess
  1684. ? reslistitem.result.ilogPreUdwMess
  1685. : "无"
  1686. }}
  1687. </span>
  1688. </span>
  1689. <span v-else>
  1690. 评分:
  1691. <span>
  1692. {{
  1693. reslistitem.result.ilogPreUdwMess
  1694. ? reslistitem.result.ilogPreUdwMess
  1695. : "无"
  1696. }}
  1697. </span>
  1698. </span>
  1699. <span v-if="reslistitem.result.jqScore" class="marginL">
  1700. 交强类型评分:
  1701. <span>{{ reslistitem.result.jqScore }}</span>
  1702. </span>
  1703. <span v-if="reslistitem.result.syScore" class="marginL">
  1704. 商业类型评分:
  1705. <span>{{ reslistitem.result.syScore }}</span>
  1706. </span>
  1707. <span v-if="reslistitem.result.lossRation" class="marginL">
  1708. 总赔付率:
  1709. <span>{{ reslistitem.result.lossRation }}</span>
  1710. </span>
  1711. <span v-if="reslistitem.result.jqLossRation" class="marginL">
  1712. 交强赔付率:
  1713. <span>{{ reslistitem.result.jqLossRation }}</span>
  1714. </span>
  1715. <span v-if="reslistitem.result.syLossRation" class="marginL">
  1716. 商业赔付率:
  1717. <span>{{ reslistitem.result.syLossRation }}</span>
  1718. </span>
  1719. <span v-if="reslistitem.result.totalAdjustRate" class="marginL">
  1720. 自主定价系数:
  1721. <span>{{ reslistitem.result.totalAdjustRate }}</span>
  1722. </span>
  1723. <span v-if="reslistitem.result.jgAdjustRate" class="marginL">
  1724. 交强折扣系数:
  1725. <span>{{ reslistitem.result.jgAdjustRate }}</span>
  1726. </span>
  1727. <span v-if="reslistitem.result.syAdjustRate" class="marginL">
  1728. 商业折扣系数:
  1729. <span>{{ reslistitem.result.syAdjustRate }}</span>
  1730. </span>
  1731. <span v-if="reslistitem.result.jqRenewal" class="marginL">
  1732. 交强续保:
  1733. <span>
  1734. {{
  1735. reslistitem.result.jqRenewal
  1736. ? reslistitem.result.jqRenewal
  1737. : "无"
  1738. }}
  1739. </span>
  1740. </span>
  1741. <span v-if="reslistitem.result.syRenewal" class="marginL">
  1742. 商业续保:
  1743. <span>
  1744. {{
  1745. reslistitem.result.syRenewal
  1746. ? reslistitem.result.syRenewal
  1747. : "无"
  1748. }}
  1749. </span>
  1750. </span>
  1751. <span v-if="reslistitem.result.jqClaims" class="marginL">
  1752. 交强出险次数:
  1753. <span>
  1754. {{
  1755. reslistitem.result.jqClaims
  1756. ? reslistitem.result.jqClaims
  1757. : "无"
  1758. }}
  1759. </span>
  1760. </span>
  1761. <span v-if="reslistitem.result.syClaims" class="marginL">
  1762. 商业出险次数:
  1763. <span>
  1764. {{
  1765. reslistitem.result.syClaims
  1766. ? reslistitem.result.syClaims
  1767. : "无"
  1768. }}
  1769. </span>
  1770. </span>
  1771. <span v-if="reslistitem.namesimple == '紫金财险' &&
  1772. reslistitem.result.ubiPredictedInfoScore
  1773. " class="marginL">
  1774. 紫金能源车(鼎然-车辆风险评分):
  1775. <span>{{ reslistitem.result.ubiPredictedInfoScore }}</span>
  1776. </span>
  1777. <span v-if="reslistitem.result.iszdj &&
  1778. reslistitem.result.iszdj == '1'
  1779. ">真单交</span>
  1780. <span v-if="reslistitem.result.iszdj &&
  1781. reslistitem.result.iszdj == '0'
  1782. ">假单交</span>
  1783. </div>
  1784. </div>
  1785. <div style="text-align: right">
  1786. <div style="color: #2d4d89">
  1787. <el-tooltip class="item" effect="dark" content="上年信息" placement="top">
  1788. <i class="el-icon-chat-dot-round" @click="
  1789. open2(reslistitem.namesimple, reslistitem.lastYearMsg)
  1790. " style="
  1791. font-size: 20px;
  1792. transform: scale(0.8);
  1793. vertical-align: middle;
  1794. " :disabled="reslistitem.namesimple == '众安财险' &&
  1795. reslistitem.result.tips == '需要验车'
  1796. " v-show="reslistitem.quoteCode == '200' &&
  1797. reslistitem.lastYearMsg
  1798. "></i>
  1799. </el-tooltip>
  1800. <el-tooltip class="item" effect="dark" content="预核保信息" placement="top">
  1801. <i class="el-icon-chat-dot-round" @click="
  1802. openPredictInfo(
  1803. reslistitem.namesimple,
  1804. reslistitem.predictInfo
  1805. )
  1806. " style="
  1807. font-size: 20px;
  1808. transform: scale(0.8);
  1809. vertical-align: middle;
  1810. " v-show="reslistitem.quoteCode == '200' &&
  1811. reslistitem.predictInfo &&
  1812. reslistitem.predictInfo.length > 0 &&
  1813. reslistitem.namesimple == '中国人寿'
  1814. "></i>
  1815. </el-tooltip>
  1816. <el-button :disabled="reslistitem.namesimple == '众安财险' &&
  1817. reslistitem.result.tips == '需要验车'
  1818. " v-show="reslistitem.quoteCode == '200' &&
  1819. !('editStatus' in reslistitem.result)
  1820. " type="text" size="small" style="color: #2d4d89; font-size: 14px"
  1821. @click="hbsubmitdialog(reslistitem)">下单</el-button>
  1822. <el-button v-show="reslistitem.quoteCode == '200'" type="text" size="small"
  1823. style="color: #2d4d89; font-size: 14px"
  1824. @click="qoutedetail(reslistitem.result.companyId)">查看详情</el-button>
  1825. </div>
  1826. <div>
  1827. <el-button v-show="reslistitem.quoteCode == '200'" type="text" size="small" style="font-size: 14px"
  1828. @click="bjdpreview(reslistitem.result.companyId)">报价单</el-button>
  1829. <el-button type="text" size="small" style="font-size: 14px"
  1830. @click="Payment(reslistitem.result.companyId, reslistitem)" v-show="reslistitem.orderstatus == '2' &&
  1831. !('editStatus' in reslistitem.result) && reslistitem.namesimple !== '平安财险'
  1832. ">付款码</el-button>
  1833. <el-button type="text" size="small" style="font-size: 14px"
  1834. @click="signature(reslistitem.result.companyId)" v-show="reslistitem.orderstatus == '2' &&
  1835. !('editStatus' in reslistitem.result) && reslistitem.namesimple == '平安财险'
  1836. ">生成签章</el-button>
  1837. </div>
  1838. </div>
  1839. </div>
  1840. <template>
  1841. <span v-if="reslistitem.checked &&
  1842. reslistitem.agreementId &&
  1843. reslistitem.underwritingDescription
  1844. " style="margin: 20px 20px 0 100px; display: inline-block">{{ reslistitem.underwritingDescription}}</span>
  1845. </template>
  1846. <template v-if="reslistitem.namesimple == '平安财险' &&
  1847. reslistitem.checked &&
  1848. reslistitem.agreementId
  1849. ">
  1850. <div class="flex f-c Driving-risk">
  1851. <div v-for="(val, index) in pinganInsuranceData" :key="index" >
  1852. <el-form :inline="true" :model="accidentFormPA[index-1]" class="demo-form-inline" size="small"
  1853. style="font-weight: bold;margin-top:15px ">
  1854. <el-form-item :label="index=='1'?'财意险':index=='2'?'小微险':'组合险'" style="margin-right: 30px">
  1855. <el-select clearable v-model="accidentFormPA[index-1].pingantemplateSelection" placeholder="未选择" @clear="clearAccidentFormPA(index-1,)"
  1856. @change="pinganInsuranceChange($event,index-1,val)">
  1857. <el-option v-for="(item, index1) in val" :key="index1" :label="item.projectName"
  1858. :value="item.projectName"></el-option>
  1859. </el-select>
  1860. </el-form-item>
  1861. <el-form-item label="选择份数" style="margin-right: 50px" v-if="index ==1||index ==2">
  1862. <el-input-number v-model="accidentFormPA[index-1].quantity" :disabled="!accidentFormPA[index-1].pinganInsurancetype" @change="numberCopieschangePA($event,index-1)" :min="1" :max="accidentFormPA[index-1].sellListSize"
  1863. controls-position="right"></el-input-number>
  1864. </el-form-item>
  1865. <el-form-item label="保费:" v-if="index ==1||index ==2">
  1866. <span>{{ accidentFormPA[index-1].premium || 0 }}&ensp;元</span>
  1867. </el-form-item>
  1868. </el-form>
  1869. <el-table class="pinganTable" style="margin-top: 20px" size="small" :data="accidentFormPA[index-1].pinganInsuranceDataTable" border
  1870. v-if="accidentFormPA[index-1].pingantemplateSelection" highlight-current-row :header-cell-style="{
  1871. background: '#F7F7F9 ',
  1872. fontWeight: '700',
  1873. color: '#333333',
  1874. }" ref="RsTable" @select="(selections,row)=>{PADrivingCheckbox(selections,row,reslistitem.agreementId,index-1)}">
  1875. <el-table-column align="center" width="55" label="选择" v-if="index ==1||index ==2">
  1876. <template slot-scope="scope">
  1877. <el-radio class="radio" v-model="accidentFormPA[index-1].pinganInsurancetype" :label="scope.row.code"
  1878. @click.native.stop.prevent="PADrivingRadio(scope.row,reslistitem.agreementId,index-1)">&nbsp;</el-radio>
  1879. </template>
  1880. </el-table-column>
  1881. <el-table-column
  1882. type="selection"
  1883. v-else
  1884. width="55">
  1885. </el-table-column>
  1886. <el-table-column prop="name" label="方案名称" align="center"></el-table-column>
  1887. <el-table-column prop="code" label="方案代码" align="center"></el-table-column>
  1888. <el-table-column prop="premium" label="保费 (元)/每份" align="center">
  1889. </el-table-column>
  1890. <el-table-column prop="quantity" label="份数" align="center" v-if="index ==3">
  1891. <template slot-scope="scope">
  1892. <el-input-number size='small' v-model="scope.row.quantity" :min="1" :max="Number(scope.row.sellListSize)"
  1893. controls-position="right"></el-input-number>
  1894. </template>
  1895. </el-table-column>
  1896. <el-table-column
  1897. label="操作"
  1898. width="100">
  1899. <template slot-scope="scope">
  1900. <el-button type="text" size="small" @click="pinganDetail(scope.row,reslistitem.agreementId)">查看</el-button>
  1901. </template>
  1902. </el-table-column>
  1903. </el-table>
  1904. </div>
  1905. </div>
  1906. </template>
  1907. <template v-if="reslistitem.namesimple == '泰康财险' &&
  1908. reslistitem.checked &&
  1909. reslistitem.agreementId &&
  1910. isLetter !== '3'
  1911. ">
  1912. <div class="flex f-c Driving-risk">
  1913. <el-form :inline="true" :model="accidentFormTk" class="demo-form-inline" size="small"
  1914. style="font-weight: bold; margin-top: 15px">
  1915. <el-form-item label="意外险类型" style="margin-right: 30px">
  1916. <el-select clearable v-model="taikangtemplateSelection" placeholder="未选择" @clear="clearAccidentFormTk"
  1917. @change="taikangInsuranceChange">
  1918. <el-option v-for="(item, index) in taikangaccidentDataList" :key="index" :label="item.projectName"
  1919. :value="item.projectCode"></el-option>
  1920. </el-select>
  1921. </el-form-item>
  1922. <el-form-item label="选择份数" style="margin-right: 50px">
  1923. <el-input-number v-model="accidentFormTk.quantity" @change="numberCopieschangeTk" :min="1"
  1924. controls-position="right"></el-input-number>
  1925. </el-form-item>
  1926. <el-form-item label="保费:">
  1927. <span>{{ accidentFormTk.sumPremium }}&ensp;元</span>
  1928. </el-form-item>
  1929. </el-form>
  1930. <el-table v-if="taikangtemplateSelection" size="small" :data="taikangInsuranceDataTable" border
  1931. ref="expandTable" highlight-current-row :header-cell-style="{
  1932. background: '#F7F7F9',
  1933. fontWeight: '700',
  1934. color: '#333333',
  1935. }">
  1936. <el-table-column prop="name" label="保险责任" align="center"></el-table-column>
  1937. <el-table-column prop="amount" label="每座保额 (元)/每份" align="center"></el-table-column>
  1938. <el-table-column prop="sumAmount" label="每车保额 (元)/每份" align="center"></el-table-column>
  1939. <el-table-column prop="premium" label="责任保费 (元)/每份" align="center"></el-table-column>
  1940. </el-table>
  1941. </div>
  1942. </template>
  1943. <template v-if="reslistitem.namesimple == '恒邦财险' &&
  1944. reslistitem.checked &&
  1945. reslistitem.agreementId &&
  1946. isLetter !== '3'
  1947. ">
  1948. <div class="flex f-c Driving-risk">
  1949. <div class="dis a-c" style="margin: 15px 0">
  1950. <span style="margin-right: 15px; font-weight: bold">选择意外险</span>
  1951. <el-select style="width: 250px; margin-right: 60px" filterable size="small" clearable
  1952. v-model="hengbangtemplateSelection" placeholder="未选择" @clear="clearAccidentFormHB"
  1953. @change="hengbangInsuranceChange">
  1954. <el-option v-for="(item, index) in hengbangInsuranceData" :key="index" :label="item.projectName"
  1955. :value="item.projectCode"></el-option>
  1956. </el-select>
  1957. 保费:
  1958. <b>{{
  1959. hengbangaccidentalDrivingVo.sumPremium || 0
  1960. }}&ensp;元</b>
  1961. </div>
  1962. <el-table size="small" :data="hengbangInsuranceDataTable" border v-if="hengbangtemplateSelection"
  1963. ref="RsTable" highlight-current-row :header-cell-style="{
  1964. background: '#F7F7F9 ',
  1965. fontWeight: '700',
  1966. color: '#333333',
  1967. }">
  1968. <el-table-column prop="name" label="险种名称" align="center"></el-table-column>
  1969. <el-table-column prop="amount" label="保额" align="center"></el-table-column>
  1970. </el-table>
  1971. </div>
  1972. </template>
  1973. <template v-if="reslistitem.namesimple == '华农财险' &&
  1974. reslistitem.checked &&
  1975. reslistitem.agreementId &&
  1976. isLetter !== '3'
  1977. ">
  1978. <div class="flex f-c Driving-risk">
  1979. <el-form :inline="true" :model="accidentFormHN" class="demo-form-inline"
  1980. style="font-weight: bold; margin-top: 15px" size="small">
  1981. <el-form-item label="意外险类型:" style="margin-right: 30px">
  1982. <el-select clearable v-model="accidentFormHN.accidentType" placeholder="未选择"
  1983. @clear="clearAccidentFormHN" @change="huanongInsuranceChange">
  1984. <el-option v-for="(item, index) in huanongInsuranceData" :key="index" :label="item.projectName"
  1985. :value="item.projectCode"></el-option>
  1986. </el-select>
  1987. </el-form-item>
  1988. <el-form-item label="选择份数" style="margin-right: 30px">
  1989. <el-input-number v-model="accidentFormHN.quantity" :min="1"
  1990. controls-position="right"></el-input-number>
  1991. </el-form-item>
  1992. </el-form>
  1993. <el-table v-if="accidentFormHN.accidentType" size="small" :data="huanongInsuranceDataTable" border
  1994. ref="expandTable" highlight-current-row :header-cell-style="{
  1995. background: '#F7F7F9 ',
  1996. fontWeight: '700',
  1997. color: '#333333',
  1998. }">
  1999. <el-table-column prop="name" label="保险责任" align="center"></el-table-column>
  2000. <el-table-column prop="amount" label="保额" align="center">
  2001. <template slot-scope="scope">
  2002. <el-input v-model="scope.row.amount" placeholder="请输入内容" size="small" disabled></el-input>
  2003. </template>
  2004. </el-table-column>
  2005. </el-table>
  2006. </div>
  2007. </template>
  2008. <template v-if="reslistitem.namesimple == '太平财险' &&
  2009. reslistitem.checked &&
  2010. reslistitem.agreementId &&
  2011. isLetter !== '3'
  2012. ">
  2013. <div class="flex f-c Driving-risk">
  2014. <div class="dis a-c" style="margin: 15px 0">
  2015. <span style="margin-right: 15px; font-weight: bold">选择意外险</span>
  2016. <el-select style="width: 250px; margin-right: 60px" filterable size="small" clearable
  2017. v-model="taipingtemplateSelection" placeholder="未选择" @clear="clearAccidentFormTP"
  2018. @change="taipingInsuranceChange">
  2019. <el-option v-for="(item, index) in taipingInsuranceData" :key="index" :label="item.projectName"
  2020. :value="item.projectCode"></el-option>
  2021. </el-select>
  2022. 每份价税合计:
  2023. <b>{{ taipingaccidentalDrivingVo.sumPremium || 0 }}&ensp;元</b>
  2024. </div>
  2025. <el-table size="small" :data="taipingInsuranceDataTable" border v-if="taipingtemplateSelection"
  2026. ref="RsTable" highlight-current-row :header-cell-style="{
  2027. background: '#F7F7F9 ',
  2028. fontWeight: '700',
  2029. color: '#333333',
  2030. }">
  2031. <el-table-column prop="name" label="险种名称" align="center"></el-table-column>
  2032. <el-table-column prop="amount" label="险种金额" align="center"></el-table-column>
  2033. </el-table>
  2034. </div>
  2035. </template>
  2036. <template v-if="reslistitem.namesimple == '安盛天平' &&
  2037. reslistitem.checked &&
  2038. reslistitem.agreementId &&
  2039. isLetter !== '3'
  2040. ">
  2041. <div class="flex f-c Driving-risk">
  2042. <div class="dis a-c" style="margin-top: 15px">
  2043. <span style="margin-right: 15px; font-weight: bold">意外险类型</span>
  2044. <el-select style="width: 250px" size="small" clearable v-model="anshengtemplateSelection"
  2045. placeholder="未选择" @clear="clearAccidentFormAS" @change="anshengInsuranceChange">
  2046. <el-option v-for="(item, index) in anshengInsuranceData" :key="index"
  2047. :label="item.projectCode + ' ' + item.projectName" :value="item.projectCode"></el-option>
  2048. </el-select>
  2049. </div>
  2050. <el-table style="margin-top: 20px" size="small" :data="anshengInsuranceDataTable" border
  2051. v-if="anshengtemplateSelection" ref="RsTable" highlight-current-row :header-cell-style="{
  2052. background: '#F7F7F9 ',
  2053. fontWeight: '700',
  2054. color: '#333333',
  2055. }">
  2056. <el-table-column align="center" width="55" label="选择">
  2057. <template slot-scope="scope">
  2058. <el-radio class="radio" v-model="anshengInsurancetype" :label="scope.row.projectCode"
  2059. @click.native.stop.prevent="ASDrivingRadio(scope.row)">&nbsp;</el-radio>
  2060. </template>
  2061. </el-table-column>
  2062. <el-table-column prop="projectName" label="方案名称" align="center"></el-table-column>
  2063. <el-table-column prop="projectCode" label="方案代码" align="center"></el-table-column>
  2064. <el-table-column prop="quantity" label="份数" align="center">
  2065. </el-table-column>
  2066. </el-table>
  2067. </div>
  2068. </template>
  2069. <template v-if="reslistitem.namesimple == '中国人寿' &&
  2070. reslistitem.checked &&
  2071. reslistitem.agreementId &&
  2072. isLetter !== '3'
  2073. ">
  2074. <div style="margin: 15px 0 15px 100px">
  2075. <span>商业险折扣:</span>
  2076. <el-input style="width: 220px" :disabled="!lastCompanyId" size="small" v-model="reslistitem.discount"
  2077. placeholder="请输入内容" @input="
  2078. reslistitem.discount = reslistitem.discount.replace(
  2079. /[^\d.]/g,
  2080. ''
  2081. )
  2082. "></el-input>
  2083. </div>
  2084. <div class="flex f-c Driving-risk">
  2085. <div class="dis a-c">
  2086. <span style="margin-right: 15px; font-weight: bold">选择意外险</span>
  2087. <el-select style="width: 250px" filterable size="small" clearable v-model="renshoutemplateSelection"
  2088. placeholder="未选择" @clear="clearAccidentFormRS" @change="renshouInsuranceChange">
  2089. <el-option v-for="(item, index) in renshouInsuranceData" :key="index" :label="item.projectName"
  2090. :value="item.projectCode"></el-option>
  2091. </el-select>
  2092. </div>
  2093. <el-table size="small" style="margin-top: 20px" :data="renshouInsuranceDataTable" border
  2094. v-if="renshoutemplateSelection" @row-click="RSDrivingChange" ref="RsTable" highlight-current-row
  2095. :header-cell-style="{
  2096. background: '#F7F7F9 ',
  2097. fontWeight: '700',
  2098. color: '#333333',
  2099. }">
  2100. <el-table-column prop="name" label="方案名称" align="center"></el-table-column>
  2101. <el-table-column prop="premium" label="保费 (元)起" align="center">
  2102. <template slot-scope="scope">
  2103. <span>¥{{ scope.row.premium }}</span>
  2104. </template>
  2105. </el-table-column>
  2106. <el-table-column label="份数" align="center">
  2107. <template slot-scope="scope">
  2108. <span>{{ scope.row.quantity }}</span>
  2109. </template>
  2110. </el-table-column>
  2111. </el-table>
  2112. </div>
  2113. </template>
  2114. <template v-if="reslistitem.namesimple == '众安财险' &&
  2115. reslistitem.checked &&
  2116. reslistitem.agreementId &&
  2117. isLetter !== '3'
  2118. ">
  2119. <div class="flex f-c Driving-risk">
  2120. <div class="dis a-c" style="margin: 15px 0">
  2121. <span style="margin-right: 15px; font-weight: bold">选择意外险</span>
  2122. <el-select style="width: 250px" filterable size="small" clearable v-model="zhongantemplateSelection"
  2123. placeholder="未选择" @clear="clearAccidentFormZA" @change="zhonganInsuranceChange">
  2124. <el-option v-for="(item, index) in zhonganInsuranceData" :key="index" :label="item.projectName"
  2125. :value="item.projectCode"></el-option>
  2126. </el-select>
  2127. </div>
  2128. <el-table size="small" :data="zhonganInsuranceDataTable" border v-if="zhongantemplateSelection"
  2129. @row-click="ZADrivingChange" ref="RsTable" highlight-current-row :header-cell-style="{
  2130. background: '#F7F7F9 ',
  2131. fontWeight: '700',
  2132. color: '#333333',
  2133. }">
  2134. <el-table-column prop="name" label="险种名称" align="center"></el-table-column>
  2135. <el-table-column prop="amount" label="险种金额" align="center"></el-table-column>
  2136. </el-table>
  2137. </div>
  2138. </template>
  2139. <template v-if="reslistitem.namesimple == '紫金财险' &&
  2140. reslistitem.checked &&
  2141. reslistitem.agreementId &&
  2142. isLetter !== '3'
  2143. ">
  2144. <div style="margin: 15px 0 15px 100px">
  2145. <span>自主定价系数:</span>
  2146. <el-input style="width: 220px" size="small" v-model="reslistitem.coefficient"
  2147. placeholder="请输入内容"></el-input>
  2148. </div>
  2149. <div class="flex f-c Driving-risk">
  2150. <div class="dis a-c" style="margin-bottom: 15px">
  2151. <span style="margin-right: 15px; font-weight: bold">选择意外险</span>
  2152. <el-select style="width: 250px" filterable multiple size="small" clearable
  2153. v-model="zijintemplateSelection" placeholder="未选择" @clear="clearAccidentFormZJ"
  2154. @change="zijinInsuranceChange">
  2155. <el-option v-for="(item, index) in ziJinInsuranceData" :key="index" :label="item.projectName"
  2156. :value="item.projectCode"></el-option>
  2157. </el-select>
  2158. </div>
  2159. <el-table size="small" :data="zijinInsuranceDataTable" border v-if="zijintemplateSelection"
  2160. @select="CheckboxChange" filterable ref="expandTable" highlight-current-row :header-cell-style="{
  2161. background: '#F7F7F9 ',
  2162. fontWeight: '700',
  2163. color: '#333333',
  2164. }">
  2165. <el-table-column type="selection" width="55"></el-table-column>
  2166. <el-table-column prop="projectName" label="方案名称" align="center"></el-table-column>
  2167. <el-table-column prop="sumAmount" label="总保额 (元)/每份" align="center"></el-table-column>
  2168. <el-table-column prop="sumPremium" label="保费 (元)/每份" align="center">
  2169. <template slot-scope="scope">
  2170. <span>¥{{ scope.row.sumPremium }}</span>
  2171. </template>
  2172. </el-table-column>
  2173. <el-table-column prop="quantity" label="份数" align="center">
  2174. <template slot-scope="scope">
  2175. <el-input-number v-model="scope.row.quantity" :min="1" size="small"
  2176. controls-position="right"></el-input-number>
  2177. </template>
  2178. </el-table-column>
  2179. <el-table-column prop="Totalprice" label="总保费 (元)" align="center">
  2180. <template slot-scope="scope">
  2181. <span v-if="scope.row.quantity">{{
  2182. scope.row.sumPremium * scope.row.quantity
  2183. }}</span>
  2184. <span v-else>{{ scope.row.sumPremium }}</span>
  2185. </template>
  2186. </el-table-column>
  2187. </el-table>
  2188. </div>
  2189. </template>
  2190. <template v-if="reslistitem.namesimple == '永诚财险' &&
  2191. reslistitem.checked &&
  2192. reslistitem.agreementId &&
  2193. isLetter !== '3'
  2194. ">
  2195. <div class="flex f-c Driving-risk">
  2196. <el-form :inline="true" :model="accidentForm" class="demo-form-inline" size="small"
  2197. style="font-weight: bold; margin-top: 15px">
  2198. <el-form-item label="意外险类型" style="margin-right: 30px">
  2199. <el-select clearable v-model="yongchengtemplateSelection" placeholder="未选择" @clear="clearAccidentForm"
  2200. @change="yongchengInsuranceChange">
  2201. <el-option v-for="(item, index) in yongchengaccidentDataList" :key="index" :label="item.projectName"
  2202. :value="item.projectCode"></el-option>
  2203. </el-select>
  2204. </el-form-item>
  2205. <el-form-item label="选择份数" style="margin-right: 50px">
  2206. <el-input-number v-model="accidentForm.quantity" @change="numberCopieschange" :min="1"
  2207. controls-position="right"></el-input-number>
  2208. </el-form-item>
  2209. <el-form-item label="保费:">
  2210. <span>{{ accidentForm.sumPremium }}&ensp;元</span>
  2211. </el-form-item>
  2212. </el-form>
  2213. <el-table v-if="yongchengtemplateSelection" size="small" :data="yongchengInsuranceDataTable" border
  2214. ref="expandTable" highlight-current-row :header-cell-style="{
  2215. background: '#F7F7F9',
  2216. fontWeight: '700',
  2217. color: '#333333',
  2218. }">
  2219. <el-table-column prop="name" label="保险责任" align="center"></el-table-column>
  2220. <el-table-column prop="amount" label="每座保额 (元)/每份" align="center"></el-table-column>
  2221. <el-table-column prop="sumAmount" label="每车保额 (元)/每份" align="center"></el-table-column>
  2222. <el-table-column prop="premium" label="责任保费 (元)/每份" align="center"></el-table-column>
  2223. </el-table>
  2224. </div>
  2225. </template>
  2226. <template v-if="reslistitem.namesimple == '国任财险' &&
  2227. reslistitem.checked &&
  2228. reslistitem.agreementId &&
  2229. isLetter !== '3'
  2230. ">
  2231. <el-button type="text" style="margin: 10px 0 0 100px"
  2232. @click="contributingGuoRen(reslistitem.agreementId)">选择特约</el-button>
  2233. <div class="flex f-c Driving-risk">
  2234. <el-form :inline="true" :model="guoRenaccidentForm" class="demo-form-inline" size="small">
  2235. <el-form-item label="意外险类型" style="margin-right: 30px">
  2236. <el-select clearable placeholder="未选择" @clear="clearAccidentFormGr" @change="grcxchange"
  2237. v-model="guoRenaccidentForm.goodsCode">
  2238. <el-option v-for="(item, index) in guoRenaccidentDataList" :key="index" :label="item.projectName"
  2239. :value="item.projectCode"></el-option>
  2240. </el-select>
  2241. </el-form-item>
  2242. <el-form-item label=" ">
  2243. <el-select clearable v-model="guoRenaccidentForm.prodCode" @change="grcxchangeChild">
  2244. <el-option v-for="(item) in guoRenaccidentDataListChild" :key="item.projectCode"
  2245. :label="item.projectName" :value="item.projectCode"></el-option>
  2246. </el-select>
  2247. </el-form-item>
  2248. <el-form-item label="选择份数" style="margin-right: 30px">
  2249. <el-input-number v-model="guoRenaccidentForm.quantity" :min="1" controls-position="right"
  2250. @change="numberCopieschangeGR"></el-input-number>
  2251. </el-form-item>
  2252. <el-form-item label="保费:">
  2253. <span>{{ guoRenaccidentForm.sumPremium }}&ensp;元</span>
  2254. </el-form-item>
  2255. </el-form>
  2256. <el-table v-if="guoRenaccidentForm.prodCode" size="small" :data="guoRenInsuranceDataTable" border
  2257. ref="expandTable" highlight-current-row :header-cell-style="{
  2258. background: '#F7F7F9 ',
  2259. fontWeight: '700',
  2260. color: '#333333',
  2261. }">
  2262. <el-table-column prop="name" label="保险责任" align="center"></el-table-column>
  2263. <el-table-column prop="amount" label="保额 (元)" align="center"></el-table-column>
  2264. <el-table-column prop="premium" label="保费 (元)" align="center">
  2265. <template slot-scope="scope">¥{{ scope.row.premium }}</template>
  2266. </el-table-column>
  2267. </el-table>
  2268. </div>
  2269. </template>
  2270. <template v-if="reslistitem.namesimple == '中煤财险' &&
  2271. reslistitem.checked &&
  2272. reslistitem.agreementId &&
  2273. isLetter !== '3'
  2274. ">
  2275. <div class="flex f-c Driving-risk accident-style zmDriving">
  2276. <el-form :inline="true" :model="accidentFormZM" class="demo-form-inline" size="small"
  2277. style="font-weight: bold; margin-top: 15px">
  2278. <el-form-item label="意外险类型" style="margin-right: 30px">
  2279. <el-select style="width: 250px" size="small" clearable v-model="zhongmeitemplateSelection"
  2280. placeholder="未选择" @clear="numberCopieschangeZM" @change="zhongmeiInsuranceChange">
  2281. <el-option v-for="(item, index) in zhongmeiInsuranceData" :key="index" :label="item.projectName"
  2282. :value="item.projectCode"></el-option>
  2283. </el-select>
  2284. </el-form-item>
  2285. <el-form-item label="选择份数" style="margin-right: 30px">
  2286. <el-input-number v-model="accidentFormZM.quantity" @change="numberCopieschangeZM" :min="1"
  2287. controls-position="right"></el-input-number>
  2288. </el-form-item>
  2289. <el-form-item label="保费:">
  2290. <span>{{ accidentFormZM.sumPremium }}&ensp;元</span>
  2291. </el-form-item>
  2292. </el-form>
  2293. <el-table size="small" :data="zhongmeiInsuranceDataTable" border ref="ZmMultipleTable"
  2294. v-if="zhongmeitemplateSelection" :header-cell-style="{
  2295. background: '#F7F7F9 ',
  2296. fontWeight: '700',
  2297. color: '#333333',
  2298. }">
  2299. <el-table-column prop="name" label="保险责任名称" align="center"></el-table-column>
  2300. <el-table-column prop="amount" label="保险责任对应保额" align="center"></el-table-column>
  2301. </el-table>
  2302. </div>
  2303. </template>
  2304. <template v-if="reslistitem.namesimple == '大家财险' &&
  2305. reslistitem.checked &&
  2306. reslistitem.agreementId &&
  2307. isLetter !== '3'
  2308. ">
  2309. <div class="flex f-c Driving-risk">
  2310. <div class="dis a-c" style="margin-top: 15px">
  2311. <span style="margin-right: 15px; font-weight: bold">选择意外险</span>
  2312. <el-select style="width: 250px" v-if="reslistitem.apiType == 1" filterable size="small" clearable
  2313. v-model="dajiatemplateSelection" placeholder="未选择" @clear="clearAccidentFormDJ"
  2314. @change="dajiaInsuranceChange">
  2315. <el-option v-for="(item, index) in dajiaInsuranceData" :key="index" :label="item.projectName"
  2316. :value="item.projectCode"></el-option>
  2317. </el-select>
  2318. <div v-else>
  2319. <el-select size="small" style="width: 250px" clearable placeholder="未选择" @change="djcxchange"
  2320. v-model="dajiaaccidentForm.parentCode" @clear="clearAccidentFormDJ">
  2321. <el-option v-for="(item, index) in dajiaInsuranceData" :key="index" :label="item.projectName"
  2322. :value="item.projectCode"></el-option>
  2323. </el-select>
  2324. <el-select size="small" style="width: 250px" clearable v-model="dajiaaccidentForm.projectCode"
  2325. @change="djcxchangeChild">
  2326. <el-option v-for="(item) in dajiaaccidentDataListChild" :key="item.projectCode"
  2327. :label="item.projectName" :value="item.projectCode"></el-option>
  2328. </el-select>
  2329. </div>
  2330. </div>
  2331. <el-table size="small" :data="dajiaInsuranceDataTable" border ref="RsTable" highlight-current-row
  2332. :header-cell-style="{
  2333. background: '#F7F7F9 ',
  2334. fontWeight: '700',
  2335. color: '#333333',
  2336. }">
  2337. <el-table-column prop="name" label="保险责任名称" align="center"></el-table-column>
  2338. <el-table-column prop="premium" label="保费 (元)/每份" align="center">
  2339. <template slot-scope="scope">¥{{ scope.row.premium }}</template>
  2340. </el-table-column>
  2341. </el-table>
  2342. </div>
  2343. </template>
  2344. <template v-if="reslistitem.namesimple == '渤海财险' &&
  2345. reslistitem.checked &&
  2346. reslistitem.agreementId &&
  2347. isLetter !== '3'
  2348. ">
  2349. <div class="flex f-c Driving-risk" style="margin-top: 15px">
  2350. <el-form :inline="true" :model="boHaiaccidentForm" class="demo-form-inline" size="small">
  2351. <el-form-item label="意外险类型" style="margin-right: 30px">
  2352. <el-select clearable placeholder="未选择" @clear="clearAccidentFormBh" @change="bohaiInsuranceChange"
  2353. v-model="boHaiaccidentForm.projectCode">
  2354. <el-option v-for="(item, index) in boHaiaccidentDataList" :key="index" :label="item.projectName"
  2355. :value="item.projectCode"></el-option>
  2356. </el-select>
  2357. </el-form-item>
  2358. <el-form-item label="选择份数" style="margin-right: 30px">
  2359. <el-input-number v-model="boHaiaccidentForm.copies" :min="1"
  2360. controls-position="right"></el-input-number>
  2361. </el-form-item>
  2362. <el-form-item label="保费:">
  2363. <span>{{
  2364. boHaiaccidentForm.premium * boHaiaccidentForm.copies
  2365. }}&ensp;元</span>
  2366. </el-form-item>
  2367. </el-form>
  2368. <el-table v-if="boHaiaccidentForm.projectCode" size="small" :data="bohaiInsuranceDataTable" border
  2369. ref="expandTable" highlight-current-row :header-cell-style="{
  2370. background: '#F7F7F9 ',
  2371. fontWeight: '700',
  2372. color: '#333333',
  2373. }">
  2374. <el-table-column prop="name" label="保险责任名称" align="center"></el-table-column>
  2375. <el-table-column prop="amount" label="保额 (元)" align="center">
  2376. <template slot-scope="scope">¥{{ scope.row.amount }}</template>
  2377. </el-table-column>
  2378. </el-table>
  2379. </div>
  2380. </template> -->
  2381. </div>
  2382. </div>
  2383. </div>
  2384. </div>
  2385. <!-- 报价历史 -->
  2386. <div class="Enclosure flex f-c" v-if="isLetter == '1'">
  2387. <div class="home flex j-s a-c back">
  2388. <div class="flex j-s a-c color">
  2389. <img src="../../../../src/icon/报价历史.png" alt class="icon-img" />
  2390. <span style="margin-left: 10px">报价历史</span>
  2391. <div v-if="orderno">
  2392. <el-radio-group v-model="historyRadio" style="margin-left: 30px" @input="RadioHistoryChange"
  2393. v-for="item in insOrderStatusoptions" :key="item.dictValue">
  2394. <el-radio :label="item.dictValue">{{ item.dictTag }}</el-radio>
  2395. </el-radio-group>
  2396. </div>
  2397. </div>
  2398. </div>
  2399. <div style="padding: 20px">
  2400. <el-table size="small" :data="HistoryList" height="250" border style="width: 100%" v-loading="loading"
  2401. :header-cell-style="{
  2402. background: '#F7F7F9 ',
  2403. fontWeight: '700',
  2404. color: '#333333',
  2405. }" highlight-current-row>
  2406. <el-table-column prop="inscompany" label="保险公司" align="center"></el-table-column>
  2407. <el-table-column prop="username" label="业务员" align="center">
  2408. <template slot-scope="scope">
  2409. <span>{{ scope.row.userName }}({{ scope.row.userId }})</span>
  2410. </template>
  2411. </el-table-column>
  2412. <el-table-column prop="licenseno" label="车牌号" align="center"></el-table-column>
  2413. <el-table-column prop="product" label="险种" align="center"></el-table-column>
  2414. <el-table-column prop="createtime" label="报价时间" align="center"></el-table-column>
  2415. <el-table-column prop="jqpremium" label="交强险" align="center"></el-table-column>
  2416. <el-table-column prop="sypremium" label="商业险" align="center"></el-table-column>
  2417. <el-table-column prop="taxamount" label="车船税" align="center"></el-table-column>
  2418. <el-table-column prop="sumpremium" label="总保费" align="center"></el-table-column>
  2419. <el-table-column prop="orderstatus" label="状态" align="center">
  2420. <template slot-scope="scope">
  2421. <el-tag style="
  2422. color: #33a08d;
  2423. border-color: #33a08d;
  2424. background: rgba(51, 160, 141, 0.1);
  2425. " v-if="scope.row.orderstatus == '0' || scope.row.orderstatus == '1'
  2426. " size="small">{{ scope.row.orderstatus | cap }}</el-tag>
  2427. <el-tag type="danger" style="border-color: #e75b5d" v-else-if="scope.row.orderstatus == '3'" size="small">{{
  2428. scope.row.orderstatus | cap }}</el-tag>
  2429. <el-tag v-else style="
  2430. color: #2d4d89;
  2431. border-color: #2d4d89;
  2432. background: rgba(45, 77, 137, 0.1);
  2433. " size="small">{{ scope.row.orderstatus | cap }}</el-tag>
  2434. </template>
  2435. </el-table-column>
  2436. <el-table-column label="操作" align="center" min-width="180" fixed="right">
  2437. <template slot-scope="scope">
  2438. <el-button type="text" style="color: #2d4d89" size="small"
  2439. @click="qoutedetail(scope.row.id)">查看详情</el-button>
  2440. <el-button size="small" type="text" @click="bjdpreview(scope.row.id)">报价单</el-button>
  2441. <el-button size="small" v-show="scope.row.orderstatus == '2' && scope.row.inscompany!=='平安财险'" type="text"
  2442. @click="Payment(scope.row.id, scope.row)">付款码</el-button>
  2443. <el-button size="small" v-show="scope.row.orderstatus == '2' && scope.row.inscompany=='平安财险'" type="text"
  2444. @click="signature(scope.row.id)">生成签章</el-button>
  2445. <el-button size="mini" type="text" v-if="(scope.row.orderstatus == '1' ||
  2446. scope.row.orderstatus == '2' ||
  2447. scope.row.orderstatus == '4') &&
  2448. ['紫金财险', '诚泰财险','阳光财险'].includes(scope.row.inscompany)
  2449. " @click="cancelorder(scope.row)">撤单</el-button>
  2450. <el-button type="text" size="mini" style="color: #2d4d89" v-if="scope.row.orderstatus == '2' && scope.row.inscompany!=='平安财险'"
  2451. @click="revokeCode(scope.row.id)">撤销二维码</el-button>
  2452. </template>
  2453. </el-table-column>
  2454. </el-table>
  2455. </div>
  2456. </div>
  2457. <!-- 查看详情 -->
  2458. <detailsDialog ref="detailsDialog" :orderInfo.sync="queryOrders" :Feepermissions="false"></detailsDialog>
  2459. <el-dialog title="车型选择" :visible.sync="chexingdialogVisible" width="1300px">
  2460. <el-form :inline="true" class="demo-form-inline" size="small">
  2461. <el-form-item label="厂牌型号">
  2462. <el-input v-model="carInfo.modelcname" placeholder="厂牌型号" style="width: 500px"></el-input>
  2463. </el-form-item>
  2464. <el-form-item>
  2465. <el-button type="primary" size="small" @click="toChooseVehicleType(carInfo.modelcname)">查询</el-button>
  2466. </el-form-item>
  2467. </el-form>
  2468. <el-table size="small" :data="reslist" height="690" border style="width: 100%" v-loading="loading"
  2469. :header-cell-style="{
  2470. background: '#F7F7F9 ',
  2471. fontWeight: '700',
  2472. color: '#333333',
  2473. }" highlight-current-row @row-dblclick="reslistCurrentChange">
  2474. <el-table-column prop="modelCode" label="厂牌型号代码" align="center" width="200"></el-table-column>
  2475. <el-table-column prop="modelName" label="厂牌型号" align="center" width="300"></el-table-column>
  2476. <el-table-column prop="replacementValue" label="新车购置价" align="center" width="100"></el-table-column>
  2477. <el-table-column prop="marketYear" label="年款" align="center" width="100"></el-table-column>
  2478. <el-table-column prop="ratedPassengerCapacity" label="座位数" align="center" width="80"></el-table-column>
  2479. <el-table-column prop="displacement" label="排量" align="center" width="100"></el-table-column>
  2480. <el-table-column prop="remark" label="配置" align="center"></el-table-column>
  2481. </el-table>
  2482. </el-dialog>
  2483. <el-dialog title="车辆识别代码" :visible.sync="sbdmdialogVisible" width="1300px">
  2484. <el-form :inline="true" class="demo-form-inline" size="small">
  2485. <el-form-item label="车辆识别代码">
  2486. <el-input v-model="carInfo.frameNo" placeholder="车辆识别代码" style="width: 500px"></el-input>
  2487. </el-form-item>
  2488. <el-form-item>
  2489. <el-button type="primary" size="small" @click="toChooseVin(carInfo.frameNo)">查询</el-button>
  2490. </el-form-item>
  2491. </el-form>
  2492. <el-table size="small" :data="reslist" height="690" border style="width: 100%" v-loading="loading"
  2493. :header-cell-style="{
  2494. background: '#F7F7F9 ',
  2495. fontWeight: '700',
  2496. color: '#333333',
  2497. }" highlight-current-row @row-dblclick="reslistCurrentChange">
  2498. <el-table-column prop="modelCode" label="厂牌型号代码" align="center" width="200"></el-table-column>
  2499. <el-table-column prop="modelName" label="厂牌型号" align="center" width="300"></el-table-column>
  2500. <el-table-column prop="replacementValue" label="新车购置价" align="center" width="100"></el-table-column>
  2501. <el-table-column prop="marketYear" label="年款" align="center" width="100"></el-table-column>
  2502. <el-table-column prop="ratedPassengerCapacity" label="座位数" align="center" width="80"></el-table-column>
  2503. <el-table-column prop="displacement" label="排量" align="center" width="100"></el-table-column>
  2504. <el-table-column prop="remark" label="配置" align="center"></el-table-column>
  2505. </el-table>
  2506. </el-dialog>
  2507. <!--第一种 二维码 -->
  2508. <el-dialog :visible.sync="codedialogVisible" width="430px" top="10vh" class="saomazhifucodeClass">
  2509. <div class="ORcodebody" v-watermark="userform.id || userId">
  2510. <div slot="title" class="dialog-title">
  2511. <span>扫码付款</span>
  2512. </div>
  2513. <div class="ORcode">
  2514. <div style="padding: 13px; position: relative">
  2515. <div id="qrcode" ref="qrcode"></div>
  2516. </div>
  2517. </div>
  2518. <img style="margin-left: -16px" src="../../../assets/image/divider.png" alt />
  2519. <div style="
  2520. font-size: 32px;
  2521. text-align: center;
  2522. color: #d42426;
  2523. margin-top: 20px;
  2524. ">
  2525. <span style="font-size: 24px; font-weight: bold">¥</span>
  2526. {{ sumpremium }}
  2527. </div>
  2528. <div class="ORtitle">
  2529. <div>
  2530. <span>保险公司:</span>
  2531. <span>{{ inscompany }}</span>
  2532. </div>
  2533. <div>
  2534. <span>车牌号:</span>
  2535. <span>{{ licenseNo }}</span>
  2536. </div>
  2537. <div>
  2538. <span>投保人:</span>
  2539. <span>{{ applyName }}</span>
  2540. </div>
  2541. <!-- <div>
  2542. <span style="color:#f75c00">总金额:</span>
  2543. <span style="color:#f75c00">{{ sumpremium }}</span>
  2544. </div>-->
  2545. <div v-show="jqpremium">
  2546. <span>交强:</span>
  2547. <span>{{ jqpremium }}</span>
  2548. </div>
  2549. <div v-show="sypremium">
  2550. <span>商业:</span>
  2551. <span>{{ sypremium }}</span>
  2552. </div>
  2553. <div v-show="taxamount">
  2554. <span>车船税:</span>
  2555. <span>{{ taxamount }}</span>
  2556. </div>
  2557. <div v-show="jqstartdate">
  2558. <span>交强险起保日期:</span>
  2559. <span>{{ jqstartdate }}</span>
  2560. </div>
  2561. <div v-show="systartdate">
  2562. <span>商业险起保日期:</span>
  2563. <span>{{ systartdate }}</span>
  2564. </div>
  2565. <div v-if="jypremium">
  2566. <span>驾意险:</span>
  2567. <span>{{ jypremium }}</span>
  2568. </div>
  2569. <div v-if="jypremium">
  2570. <span>驾意险险起保日期:</span>
  2571. <span>{{ systartdate || jqstartdate }}</span>
  2572. </div>
  2573. </div>
  2574. <!-- <div class="display">
  2575. <el-button size="small" style="width:100px;" @click="codedialogVisible = false">关闭</el-button>
  2576. </div>-->
  2577. </div>
  2578. <span slot="footer" class="dialog-footer display">
  2579. <el-button size="small" style="width: 100px; border-color: #d42426; color: #d42426"
  2580. @click="codedialogVisible = false">关闭</el-button>
  2581. </span>
  2582. </el-dialog>
  2583. <!--第二种 二维码 -->
  2584. <el-dialog :visible.sync="codedialogVisiblePro" width="660px" class="proSaomazhifucodeClass" top="10vh" title="扫码付款">
  2585. <div class="flex j-s">
  2586. <div class="scan-code">
  2587. <div style="font-weight: bold">
  2588. 总金额:
  2589. <span style="color: #2d4d89">{{ sumpremium }}</span>
  2590. </div>
  2591. <div>交强险:{{ jqpremium }}</div>
  2592. <div>车船税:{{ taxamount }}</div>
  2593. <div>商业险:{{ sypremium }}</div>
  2594. <div>驾意险:{{ jypremium }}</div>
  2595. </div>
  2596. <div id="qrcode" ref="qrcode"></div>
  2597. <div class="scan-code">
  2598. <div>保险公司:{{ inscompany }}</div>
  2599. <div>车牌号:{{ licenseNo }}</div>
  2600. <div>投保人:{{ applyName }}</div>
  2601. <div>交强险起保日期:{{ jqstartdate }}</div>
  2602. <div>商业险起保日期:{{ systartdate }}</div>
  2603. <div>驾意险起保日期:{{ systartdate || jqstartdate }}</div>
  2604. </div>
  2605. </div>
  2606. <span slot="footer" class="dialog-footer">
  2607. <el-button size="small" style="
  2608. width: 100px;
  2609. background: #eaedf1;
  2610. border-color: #eaedf1;
  2611. color: #2d4d89;
  2612. " @click="codedialogVisiblePro = false">关闭</el-button>
  2613. </span>
  2614. </el-dialog>
  2615. <el-dialog :visible.sync="uploadcardialogVisible" width="960px" style="padding: 10px 20px; box-sizing: border-box"
  2616. @open="closeDialog(0)">
  2617. <div slot="title" class="dialog-title">
  2618. <span>行驶证识别</span>
  2619. </div>
  2620. <el-row :gutter="20">
  2621. <div class="bodys1">
  2622. <div>
  2623. <div class="flex a-c">
  2624. <div class="OCR" style="text-align: center">行驶证主页</div>
  2625. <div style="text-align: center; margin: 20px" @drop="reportDrop">
  2626. <el-upload drag action="#" :show-file-list="false" :auto-upload="false" :on-change="carfrontChange">
  2627. <img v-show="carfrontImg" :src="carfrontImg" style="width: 100%; height: 100%" />
  2628. <img v-show="!carfrontImg" src="../../../../static/carfront.png" style="width: 100%; height: 100%" />
  2629. <span class="slot" v-show="carfrontImg" @click.stop>
  2630. <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(carfrontImg)"></i>
  2631. <i class="el-icon-delete" @click.stop="handleRemove('carfrontImg')"></i>
  2632. </span>
  2633. </el-upload>
  2634. </div>
  2635. </div>
  2636. <div class="flex a-c">
  2637. <div class="OCR" style="text-align: center">行驶证副页</div>
  2638. <div style="text-align: center; margin: 20px" @drop="reportDrop">
  2639. <el-upload drag action="#" :show-file-list="false" :auto-upload="false" :on-change="carbackChange">
  2640. <img v-show="carbackImg" :src="carbackImg" style="width: 100%; height: 100%" />
  2641. <img v-show="!carbackImg" src="../../../../static/carback.png" style="width: 100%; height: 100%" />
  2642. <span class="slot" v-show="carbackImg" @click.stop>
  2643. <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(carbackImg)"></i>
  2644. <i class="el-icon-delete" @click.stop="handleRemove('carbackImg')"></i>
  2645. </span>
  2646. </el-upload>
  2647. </div>
  2648. </div>
  2649. </div>
  2650. <div style="text-align: center">
  2651. <el-form :model="carform" label-width="130px" size="small">
  2652. <el-form-item label="所有人">
  2653. <el-input v-model="carform.carOwner" autocomplete="off"></el-input>
  2654. </el-form-item>
  2655. <el-form-item label="车牌号">
  2656. <el-input v-model="carform.licenseNo" autocomplete="off"></el-input>
  2657. </el-form-item>
  2658. <el-form-item label="车架号">
  2659. <el-input v-model="carform.frameNo" autocomplete="off"></el-input>
  2660. </el-form-item>
  2661. <el-form-item label="品牌型号">
  2662. <el-input v-model="carform.modelcname" autocomplete="off"></el-input>
  2663. </el-form-item>
  2664. <el-form-item label="发动机号">
  2665. <el-input v-model="carform.engineNo" autocomplete="off"></el-input>
  2666. </el-form-item>
  2667. <el-form-item label="总质量">
  2668. <el-input v-model="carform.grossMass" autocomplete="off"></el-input>
  2669. </el-form-item>
  2670. <el-form-item label="整备质量">
  2671. <el-input v-model="carform.unladenMass" autocomplete="off"></el-input>
  2672. </el-form-item>
  2673. <el-form-item label="核定载质量">
  2674. <el-input v-model="carform.limitLoad" autocomplete="off"></el-input>
  2675. </el-form-item>
  2676. <el-form-item label="核定载客数">
  2677. <el-input v-model="carform.approvedPassengersCapacity" autocomplete="off"></el-input>
  2678. </el-form-item>
  2679. <el-form-item label="注册日期">
  2680. <el-input v-model="carform.registerDate" autocomplete="off"></el-input>
  2681. </el-form-item>
  2682. <el-form-item label="发证日期">
  2683. <el-input v-model="carform.issueDate" autocomplete="off"></el-input>
  2684. </el-form-item>
  2685. </el-form>
  2686. </div>
  2687. </div>
  2688. </el-row>
  2689. <span slot="footer" class="dialog-footer">
  2690. <el-button type="primary" @click="CarOCRdiscern()" size="small">识 别</el-button>
  2691. <el-button type="primary" @click="CarOCRconfirm()" size="small">确 认</el-button>
  2692. </span>
  2693. </el-dialog>
  2694. <el-dialog :visible.sync="uploaduserdialogVisible" width="960px" style="padding: 10px 20px; box-sizing: border-box"
  2695. @open="closeDialog(userIndex)">
  2696. <el-tabs v-model="activeName">
  2697. <el-tab-pane label="身份证识别" name="1">
  2698. <el-row :gutter="20">
  2699. <div class="bodys1">
  2700. <div>
  2701. <div class="flex">
  2702. <div class="OCR" style="text-align: center">身份证主页</div>
  2703. <div style="text-align: center; margin: 20px" @drop="reportDrop">
  2704. <el-upload class="upload-demo" drag action="#" :show-file-list="false" :auto-upload="false"
  2705. :on-change="userfrontChange">
  2706. <img v-show="userfrontImg" :src="userfrontImg" style="width: 100%; height: 100%" />
  2707. <img v-show="!userfrontImg" src="../../../../static/userfront.png"
  2708. style="width: 100%; height: 100%" />
  2709. <span class="slot" v-show="userfrontImg" @click.stop>
  2710. <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(userfrontImg)"></i>
  2711. <i class="el-icon-delete" @click.stop="handleRemove('userfrontImg')"></i>
  2712. </span>
  2713. </el-upload>
  2714. </div>
  2715. </div>
  2716. <div class="flex">
  2717. <div class="OCR" style="text-align: center">身份证副页</div>
  2718. <div style="text-align: center; margin: 20px" @drop="reportDrop">
  2719. <el-upload class="upload-demo" drag action="#" :show-file-list="false" :auto-upload="false"
  2720. :on-change="userbackChange">
  2721. <img v-show="userbackImg" :src="userbackImg" style="width: 100%; height: 100%" />
  2722. <img v-show="!userbackImg" src="../../../../static/userback.png"
  2723. style="width: 100%; height: 100%" />
  2724. <span class="slot" v-show="userbackImg" @click.stop>
  2725. <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(userbackImg)"></i>
  2726. <i class="el-icon-delete" @click.stop="handleRemove('userbackImg')"></i>
  2727. </span>
  2728. </el-upload>
  2729. </div>
  2730. </div>
  2731. </div>
  2732. <div style="text-align: center">
  2733. <el-form :model="ownerInfoform" label-width="130px" size="small">
  2734. <el-form-item label="姓名">
  2735. <el-input v-model="ownerInfoform.name" autocomplete="off"></el-input>
  2736. </el-form-item>
  2737. <el-form-item label="性别">
  2738. <el-input v-model="ownerInfoform.gender" autocomplete="off"></el-input>
  2739. </el-form-item>
  2740. <el-form-item label="证件类型">
  2741. <el-input v-model="ownerInfoform.identifyType" autocomplete="off"></el-input>
  2742. </el-form-item>
  2743. <el-form-item label="证件号码">
  2744. <el-input v-model="ownerInfoform.identifyNumber" autocomplete="off"></el-input>
  2745. </el-form-item>
  2746. <el-form-item label="车主手机号">
  2747. <el-input v-model="ownerInfoform.mobile" autocomplete="off"></el-input>
  2748. </el-form-item>
  2749. <el-form-item label="地址">
  2750. <el-input v-model="ownerInfoform.addr" autocomplete="off"></el-input>
  2751. </el-form-item>
  2752. <el-form-item label="有效期起期">
  2753. <el-input disabled v-model="ownerInfoform.identifyValidDate" autocomplete="off"></el-input>
  2754. </el-form-item>
  2755. <el-form-item label="有效期止期">
  2756. <el-input disabled v-model="ownerInfoform.identifyValidEndDate" autocomplete="off"></el-input>
  2757. </el-form-item>
  2758. <el-form-item label="电子邮箱">
  2759. <el-input v-model="ownerInfoform.email" autocomplete="off"></el-input>
  2760. </el-form-item>
  2761. </el-form>
  2762. </div>
  2763. </div>
  2764. </el-row>
  2765. </el-tab-pane>
  2766. <el-tab-pane label="营业执照" name="2">
  2767. <el-row :gutter="20">
  2768. <div class="bodys1">
  2769. <div>
  2770. <div class="flex">
  2771. <div class="OCR" style="text-align: center">营业执照</div>
  2772. <div style="text-align: center; margin: 20px" @drop="reportDrop">
  2773. <el-upload class="upload-demo" drag action="#" :show-file-list="false" :auto-upload="false"
  2774. :on-change="userfrontChange">
  2775. <img v-show="businessImg" :src="businessImg" style="width: 100%; height: 100%" />
  2776. <img v-show="!businessImg" src="../../../../static/userfront.png"
  2777. style="width: 100%; height: 100%" />
  2778. <span class="slot" v-show="businessImg" @click.stop>
  2779. <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(businessImg)"></i>
  2780. <i class="el-icon-delete" @click.stop="handleRemove('businessImg')"></i>
  2781. </span>
  2782. </el-upload>
  2783. </div>
  2784. </div>
  2785. </div>
  2786. <div style="text-align: center">
  2787. <el-form :model="ownerInfoform" label-width="130px" size="small">
  2788. <el-form-item label="单位名称">
  2789. <el-input autocomplete="off"></el-input>
  2790. </el-form-item>
  2791. <el-form-item label="法人">
  2792. <el-input autocomplete="off"></el-input>
  2793. </el-form-item>
  2794. <el-form-item label="社会信用代码">
  2795. <el-input autocomplete="off"></el-input>
  2796. </el-form-item>
  2797. <el-form-item label="地址">
  2798. <el-input autocomplete="off"></el-input>
  2799. </el-form-item>
  2800. <el-form-item label="经营范围">
  2801. <el-input autocomplete="off"></el-input>
  2802. </el-form-item>
  2803. <el-form-item label="注册资本">
  2804. <el-input autocomplete="off"></el-input>
  2805. </el-form-item>
  2806. </el-form>
  2807. </div>
  2808. </div>
  2809. </el-row>
  2810. </el-tab-pane>
  2811. </el-tabs>
  2812. <span slot="footer" class="dialog-footer">
  2813. <el-button type="primary" @click="userOCRdiscern()" size="small">识 别</el-button>
  2814. <el-button type="primary" @click="userOCRconfirm()" size="small">确 认</el-button>
  2815. </span>
  2816. </el-dialog>
  2817. <el-dialog :visible.sync="pinganDataDetailVisible" width="40%" title="责任明细">
  2818. <el-table
  2819. :data="pinganDataDetail"
  2820. border
  2821. style="width: 100%">
  2822. <el-table-column
  2823. prop="insuranceCoverage"
  2824. label="责任名称">
  2825. </el-table-column>
  2826. <el-table-column
  2827. prop="unitInsuredAmount"
  2828. label="每份保额">
  2829. </el-table-column>
  2830. </el-table>
  2831. </el-dialog>
  2832. <div v-if="isLetter == '1'" class="flex j-c a-c footer" :class="$store.state.app.collapse ? 'position-collapse-left' : 'position-left'
  2833. ">
  2834. <el-button size="small" @click="add()">录下一单</el-button>
  2835. <el-button type="primary" :loading="calculateLoading" size="small" @click="quote1()">保费计算</el-button>
  2836. </div>
  2837. <div v-if="isLetter == '2'" style="text-align: center">
  2838. <el-button type="primary" :loading="calculateLoading" size="small" @click="quote1()">保费计算</el-button>
  2839. </div>
  2840. <div class="Anchor-link flex f-c j-s a-c" v-if="isLetter == '1'">
  2841. <div>
  2842. <img src="../../../../src/icon/车辆信息.png" alt class="icon-img" @click="handleScroll('Car')" />
  2843. </div>
  2844. <div>
  2845. <img src="../../../../src/icon/投保信息.png" alt class="icon-img" @click="handleScroll('insurance')" />
  2846. </div>
  2847. <div>
  2848. <img src="../../../../src/icon/险别选择.png" alt class="icon-img" @click="handleScroll('more')" />
  2849. </div>
  2850. <div>
  2851. <img src="../../../../src/icon/保险公司.png" alt class="icon-img" @click="handleScroll('company')" />
  2852. </div>
  2853. </div>
  2854. <el-dialog title="核保信息" :visible.sync="underwritingdialogVisible" width="30%">
  2855. <div class="flex j-s f-c">
  2856. <div style="
  2857. font-size: 18px;
  2858. color: #d42426;
  2859. font-weight: 700;
  2860. padding: 10px 30px;
  2861. " v-if="orderstatus == '2'">
  2862. 订单状态:已核保待缴费
  2863. </div>
  2864. </div>
  2865. <span slot="footer" class="dialog-footer" >
  2866. <el-button style="width: 100px" type="primary" size="small" v-if="orderstatus == '2' && queryOrders.inscompany!=='平安财险'"
  2867. @click="Payment(companyId, queryOrders)">缴费二维码</el-button>
  2868. <el-button style="width: 100px" type="primary" size="small" v-if="orderstatus == '2' && queryOrders.inscompany=='平安财险'"
  2869. @click="signature(companyId)">生成签章</el-button>
  2870. </span>
  2871. </el-dialog>
  2872. <el-dialog title="转保确认码" :visible.sync="renewalCodedialogVisible" width="400px" style="font-weight: bold">
  2873. <div class="flex a-c u-f-sa" v-if="renewalCodeJqImg">
  2874. <span>交强转保确认码</span>
  2875. <div class="flex a-c f-c">
  2876. <img :src="renewalCodeJqImg" alt style="width: 150px; height: 40px; margin-bottom: 5px" />
  2877. <el-input v-model="renewalCodeJq" placeholder="请输入确认码" style="width: 150px"></el-input>
  2878. </div>
  2879. </div>
  2880. <div class="flex a-c u-f-sa" v-if="renewalCodeSyImg">
  2881. <span>商业转保确认码</span>
  2882. <div class="flex a-c f-c">
  2883. <img :src="renewalCodeSyImg" alt style="width: 150px; height: 40px; margin-bottom: 5px" />
  2884. <el-input v-model="renewalCodeSy" placeholder="请输入确认码" style="width: 150px"></el-input>
  2885. </div>
  2886. </div>
  2887. <span slot="footer" class="dialog-footer">
  2888. <el-button size="small" @click="renewalCodedialogVisible = false">取 消</el-button>
  2889. <el-button size="small" type="primary" @click="renewalCodeconfirm">确 定</el-button>
  2890. </span>
  2891. </el-dialog>
  2892. <el-dialog :title="contributingState ? '选择特约' : '提交核保'" :visible.sync="hbsubmitdialogVisible" width="1200px">
  2893. <div style="margin-bottom: 20px; font-weight: bold">特约选择</div>
  2894. <el-table size="small" :data="zijinengageListData" border v-loading="contributingLoading"
  2895. @select="zijinengageChange" @select-all="zijinengageChangeAll" ref="expandTablePro" highlight-current-row
  2896. @cell-dblclick="zijincellDblclick" :cell-class-name="tableCellClassName" :header-cell-style="{
  2897. background: '#F7F7F9 ',
  2898. fontWeight: '700',
  2899. color: '#333333',
  2900. }">
  2901. <el-table-column type="selection" width="55"></el-table-column>
  2902. <el-table-column prop="clauseCode" :width="80" label="特约代码" align="center"></el-table-column>
  2903. <el-table-column v-if="contributingState" :width="100" prop="riskCode" label="特约险种"
  2904. align="center"></el-table-column>
  2905. <el-table-column prop="clauseName" label="特约名称" align="center"></el-table-column>
  2906. <!-- <el-table-column prop="replaceContent" label="特约内容" align="center"></el-table-column> -->
  2907. <el-table-column prop="clauseContent" label="特约内容">
  2908. <template slot-scope="scope">
  2909. <el-input @blur="hideInput" size="small" type="textarea" :ref="scope.row.index + ',' + scope.column.index"
  2910. v-model="scope.row.clauseContent" v-if="scope.row.index + ',' + scope.column.index == currentCell &&
  2911. scope.row.modifyFlag == '1'
  2912. "></el-input>
  2913. <span v-else>{{ scope.row.clauseContent }}</span>
  2914. </template>
  2915. </el-table-column>
  2916. </el-table>
  2917. <span slot="footer" class="dialog-footer">
  2918. <el-button size="small" @click="hbsubmitdialogVisible = false">取 消</el-button>
  2919. <el-button v-if="contributingState" size="small" type="primary"
  2920. @click="hbsubmitdialogVisible = false">确定</el-button>
  2921. <el-button v-else size="small" type="primary" @click="hbsubmit">提交核保</el-button>
  2922. </span>
  2923. </el-dialog>
  2924. <!-- <imageDialog ref="imageDialog" :quoteno="quoteno"></imageDialog>-->
  2925. <!-- 报价单 -->
  2926. <quotationDialog ref="quotationDialog" :queryOrders="queryOrders"></quotationDialog>
  2927. <quotationDialogPro ref="quotationDialogPro" :queryOrders="queryOrders"></quotationDialogPro>
  2928. <el-image-viewer v-if="showViewer" :on-close="closeViewer" :z-index="9999" :url-list="[ProViewImg]" />
  2929. <el-dialog :visible.sync="redictInfodialogVisible" width="70%">
  2930. <el-table :data="redictInfoMsg" style="width: 100%">
  2931. <el-table-column prop="description" label="审核意见"></el-table-column>
  2932. <el-table-column prop="opinion" label="备注"></el-table-column>
  2933. </el-table>
  2934. </el-dialog>
  2935. <!-- 生成签章 -->
  2936. <el-dialog :visible.sync="signaturedialogVisible" title="生成签章" width="14%">
  2937. <div >
  2938. <img :src="resultMessageImg" alt style="width: 100%" />
  2939. <!-- <div id="signaturecode" ref="signaturecode"></div> -->
  2940. </div>
  2941. </el-dialog>
  2942. <!-- 保单上传 -->
  2943. <el-dialog :visible.sync="policyUploaddialogVisible" width="30%">
  2944. <div slot="title" class="dialog-title">
  2945. <span>保单上传</span>
  2946. </div>
  2947. <el-form :model="policyNumberForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
  2948. <el-form-item label="交强保单:" prop="jqPolicy">
  2949. <el-upload class="upload-demo" ref="jqPolicyupload" action="#" :limit="1" :auto-upload="false"
  2950. :on-remove="(file) => removePhoto(file, policyNumberForm.jqPolicyList, 'jqPolicyList')"
  2951. :file-list="policyNumberForm.jqPolicyList" :on-change="(file) => policydrivingupload(file, 'jqPolicy')">
  2952. <el-button size="small" type="primary">点击上传</el-button>
  2953. <el-button size="small" type="primary" @click.stop="policyNumberForm.jqPolicyList = []">清空</el-button>
  2954. </el-upload>
  2955. </el-form-item>
  2956. <el-form-item label="商业保单:" prop="syPolicy">
  2957. <el-upload class="upload-demo" ref="syPolicyupload" action="#" :limit="1" :auto-upload="false"
  2958. :on-remove="(file) => removePhoto(file, policyNumberForm.syPolicyList, 'syPolicyList')"
  2959. :file-list="policyNumberForm.syPolicyList" :on-change="(file) => policydrivingupload(file, 'syPolicy')">
  2960. <el-button size="small" type="primary">点击上传</el-button>
  2961. <el-button size="small" type="primary" @click.stop="policyNumberForm.syPolicyList = []">清空</el-button>
  2962. </el-upload>
  2963. </el-form-item>
  2964. <el-form-item label="非车保单:" prop="noPolicy">
  2965. <el-upload class="upload-demo" ref="noPolicyupload" action="#" :limit="1" :auto-upload="false"
  2966. :on-remove="(file) => removePhoto(file, policyNumberForm.noPolicyList, 'noPolicyList')"
  2967. :file-list="policyNumberForm.noPolicyList" :on-change="(file) => policydrivingupload(file, 'noPolicy')">
  2968. <el-button size="small" type="primary">点击上传</el-button>
  2969. <el-button size="small" type="primary" @click.stop="policyNumberForm.noPolicyList = []">清空</el-button>
  2970. </el-upload>
  2971. </el-form-item>
  2972. <el-form-item label="交强电子标志:" prop="jqSign">
  2973. <el-upload class="upload-demo" ref="jqSignupload" action="#" :limit="1" :auto-upload="false"
  2974. :on-remove="(file) => removePhoto(file, policyNumberForm.jqSignList, 'jqSignList')"
  2975. :file-list="policyNumberForm.jqSignList" :on-change="(file) => policydrivingupload(file, 'jqSign')">
  2976. <el-button size="small" type="primary">点击上传</el-button>
  2977. <el-button size="small" type="primary" @click.stop="policyNumberForm.jqSignList = []">清空</el-button>
  2978. </el-upload>
  2979. </el-form-item>
  2980. </el-form>
  2981. <span slot="footer" class="dialog-footer">
  2982. <el-button size="small" @click="policyUploaddialogVisible = false">取 消</el-button>
  2983. <el-button size="small" type="primary" @click="policyUploaddialogVisible = false">确 定</el-button>
  2984. </span>
  2985. </el-dialog>
  2986. <!-- 影像上传 -->
  2987. <el-dialog :visible.sync="imageUploaddialogVisible" width="1070px">
  2988. <div slot="title" class="dialog-title">
  2989. <span>影像上传</span>
  2990. </div>
  2991. <el-row>
  2992. <el-col :span="4">
  2993. <div class="tab-style">
  2994. <li class="liMenu" :class="idx == tabLiIndex ? 'tabLi-style' : ''"
  2995. @click="tabLiScroll(item.scroll, idx)" v-for="(item, idx) in tabLimenu" :key="idx">
  2996. {{ item.name }}
  2997. </li>
  2998. </div>
  2999. </el-col>
  3000. <el-col :span="20" style="height: 320px; overflow-y: auto">
  3001. <div class="flex f-wrap" id="vehicle">
  3002. <div class="aaa">
  3003. <span>1.行驶证主页</span>
  3004. <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag :on-change="(file) => drivingupload(file, 'imageList1', 'imgList1', 'C01')
  3005. " :file-list="imgList1" ref="upload1" :class="{ styleB: imgList1.length == 1 }">
  3006. <img v-show="imgList1.length == 0" src="../../../../static/carfront.png"
  3007. style="width: 100%; height: 100%" />
  3008. <div slot="file" slot-scope="{ file }" v-if="imgList1.length > 0">
  3009. <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
  3010. <span class="el-upload-list__item-actions">
  3011. <span class="el-upload-list__item-delete"
  3012. @click="handleRemove1(file, 'imageList1', 'imgList1')">
  3013. <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
  3014. <i class="el-icon-delete"></i>
  3015. </span>
  3016. </span>
  3017. </div>
  3018. </el-upload>
  3019. </div>
  3020. <div class="aaa">
  3021. <span>2.行驶证副页</span>
  3022. <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag :on-change="(file) => drivingupload(file, 'imageList1', 'imgList2', 'D01')
  3023. " :file-list="imgList2" ref="upload2" :class="{ styleB: imgList2.length === 1 }">
  3024. <img v-show="imgList2.length == 0" src="../../../../static/carback.png"
  3025. style="width: 100%; height: 100%" />
  3026. <div slot="file" slot-scope="{ file }">
  3027. <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
  3028. <span class="el-upload-list__item-actions">
  3029. <span class="el-upload-list__item-delete"
  3030. @click="handleRemove1(file, 'imageList1', 'imgList2')">
  3031. <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
  3032. <i class="el-icon-delete"></i>
  3033. </span>
  3034. </span>
  3035. </div>
  3036. </el-upload>
  3037. </div>
  3038. <div class="aaa">
  3039. <span>3.机动车辆登记证书</span>
  3040. <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag :on-change="(file) => drivingupload(file, 'imageList1', 'imgList12', 'TAR05')
  3041. " :file-list="imgList12" ref="upload2" :class="{ styleB: imgList12.length === 1 }">
  3042. <img v-show="imgList12.length == 0" src="../../../../static/carback.png"
  3043. style="width: 100%; height: 100%" />
  3044. <div slot="file" slot-scope="{ file }">
  3045. <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
  3046. <span class="el-upload-list__item-actions">
  3047. <span class="el-upload-list__item-delete"
  3048. @click="handleRemove1(file, 'imageList1', 'imgList12')">
  3049. <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
  3050. <i class="el-icon-delete"></i>
  3051. </span>
  3052. </span>
  3053. </div>
  3054. </el-upload>
  3055. </div>
  3056. <div class="aaa">
  3057. <span>4.新车合格证</span>
  3058. <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag :on-change="(file) =>
  3059. drivingupload(file, 'imageList5', 'imgList9', 'XC00')
  3060. " :file-list="imgList9" multiple ref="upload3" :class="{ styleB: imgList9.length === 1 }">
  3061. <img v-show="imgList9.length == 0" src="../../../../static/userfront.png"
  3062. style="width: 100%; height: 100%" />
  3063. <div slot="file" slot-scope="{ file }">
  3064. <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
  3065. <span class="el-upload-list__item-actions">
  3066. <span class="el-upload-list__item-delete"
  3067. @click="handleRemove1(file, 'imageList5', 'imgList9')">
  3068. <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
  3069. <i class="el-icon-delete"></i>
  3070. </span>
  3071. </span>
  3072. </div>
  3073. </el-upload>
  3074. </div>
  3075. <div class="aaa">
  3076. <span>5.购车发票</span>
  3077. <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag :on-change="(file) =>
  3078. drivingupload(file, 'imageList5', 'imgList10', 'GC00')
  3079. " :file-list="imgList10" multiple ref="upload4"
  3080. :class="{ styleB: imgList10.length === 1 }">
  3081. <img v-show="imgList10.length == 0" src="../../../../static/userfront.png"
  3082. style="width: 100%; height: 100%" />
  3083. <div slot="file" slot-scope="{ file }">
  3084. <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
  3085. <span class="el-upload-list__item-actions">
  3086. <span class="el-upload-list__item-delete"
  3087. @click="handleRemove1(file, 'imageList5', 'imgList10')">
  3088. <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
  3089. <i class="el-icon-delete"></i>
  3090. </span>
  3091. </span>
  3092. </div>
  3093. </el-upload>
  3094. </div>
  3095. </div>
  3096. <div class="flex f-wrap" id="owner">
  3097. <div class="aaa">
  3098. <span>1.车主身份证(正面)</span>
  3099. <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag :on-change="(file) => drivingupload(file, 'imageList2', 'imgList3', 'C02')
  3100. " :file-list="imgList3" multiple ref="upload3" :class="{ styleB: imgList3.length === 1 }">
  3101. <img v-show="imgList3.length == 0" src="../../../../static/userfront.png"
  3102. style="width: 100%; height: 100%" />
  3103. <div slot="file" slot-scope="{ file }">
  3104. <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
  3105. <span class="el-upload-list__item-actions">
  3106. <span class="el-upload-list__item-delete"
  3107. @click="handleRemove1(file, 'imageList2', 'imgList3')">
  3108. <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
  3109. <i class="el-icon-delete"></i>
  3110. </span>
  3111. </span>
  3112. </div>
  3113. </el-upload>
  3114. </div>
  3115. <div class="aaa">
  3116. <span>2.车主身份证(反面)</span>
  3117. <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag :on-change="(file) => drivingupload(file, 'imageList2', 'imgList4', 'D02')
  3118. " :file-list="imgList4" multiple ref="upload4" :class="{ styleB: imgList4.length === 1 }">
  3119. <img v-show="imgList4.length == 0" src="../../../../static/userback.png"
  3120. style="width: 100%; height: 100%" />
  3121. <div slot="file" slot-scope="{ file }">
  3122. <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
  3123. <span class="el-upload-list__item-actions">
  3124. <span class="el-upload-list__item-delete"
  3125. @click="handleRemove1(file, 'imageList2', 'imgList4')">
  3126. <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
  3127. <i class="el-icon-delete"></i>
  3128. </span>
  3129. </span>
  3130. </div>
  3131. </el-upload>
  3132. </div>
  3133. <div class="aaa">
  3134. <span>3.营业执照</span>
  3135. <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag multiple
  3136. ref="upload4">
  3137. <img src="../../../../static/userfront.png" style="width: 100%; height: 100%" />
  3138. <div slot="file" slot-scope="{ file }">
  3139. <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
  3140. <span class="el-upload-list__item-actions">
  3141. <span class="el-upload-list__item-delete"
  3142. @click="handleRemove1(file, 'imageList2', 'imgList4')">
  3143. <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
  3144. <i class="el-icon-delete"></i>
  3145. </span>
  3146. </span>
  3147. </div>
  3148. </el-upload>
  3149. </div>
  3150. </div>
  3151. <div class="flex f-wrap" id="applicant">
  3152. <div class="aaa">
  3153. <span>1.投保人身份证(正面)</span>
  3154. <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag :on-change="(file) => drivingupload(file, 'imageList3', 'imgList5', 'C03')
  3155. " :file-list="imgList5" multiple ref="upload5" :class="{ styleB: imgList5.length === 1 }">
  3156. <img v-show="imgList5.length == 0" src="../../../../static/userfront.png"
  3157. style="width: 100%; height: 100%" />
  3158. <div slot="file" slot-scope="{ file }">
  3159. <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
  3160. <span class="el-upload-list__item-actions">
  3161. <span class="el-upload-list__item-delete"
  3162. @click="handleRemove1(file, 'imageList3', 'imgList5')">
  3163. <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
  3164. <i class="el-icon-delete"></i>
  3165. </span>
  3166. </span>
  3167. </div>
  3168. </el-upload>
  3169. </div>
  3170. <div class="aaa">
  3171. <span>2.投保人身份证(反面)</span>
  3172. <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag :on-change="(file) => drivingupload(file, 'imageList3', 'imgList6', 'D03')
  3173. " :file-list="imgList6" multiple ref="upload6" :class="{ styleB: imgList6.length === 1 }">
  3174. <img v-show="imgList6.length == 0" src="../../../../static/userback.png"
  3175. style="width: 100%; height: 100%" />
  3176. <div slot="file" slot-scope="{ file }">
  3177. <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
  3178. <span class="el-upload-list__item-actions">
  3179. <span class="el-upload-list__item-delete"
  3180. @click="handleRemove1(file, 'imageList3', 'imgList6')">
  3181. <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
  3182. <i class="el-icon-delete"></i>
  3183. </span>
  3184. </span>
  3185. </div>
  3186. </el-upload>
  3187. </div>
  3188. <div class="aaa">
  3189. <span>3.营业执照</span>
  3190. <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag multiple
  3191. ref="upload4">
  3192. <img src="../../../../static/userfront.png" style="width: 100%; height: 100%" />
  3193. <div slot="file" slot-scope="{ file }">
  3194. <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
  3195. <span class="el-upload-list__item-actions">
  3196. <span class="el-upload-list__item-delete"
  3197. @click="handleRemove1(file, 'imageList2', 'imgList4')">
  3198. <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
  3199. <i class="el-icon-delete"></i>
  3200. </span>
  3201. </span>
  3202. </div>
  3203. </el-upload>
  3204. </div>
  3205. </div>
  3206. <div class="flex f-wrap">
  3207. <div class="aaa">
  3208. <span id="insured">1.被保人身份证(正面)</span>
  3209. <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag :on-change="(file) => drivingupload(file, 'imageList4', 'imgList7', 'C04')
  3210. " :file-list="imgList7" multiple ref="upload7" :class="{ styleB: imgList7.length === 1 }">
  3211. <img v-show="imgList7.length == 0" src="../../../../static/userfront.png"
  3212. style="width: 100%; height: 100%" />
  3213. <div slot="file" slot-scope="{ file }">
  3214. <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
  3215. <span class="el-upload-list__item-actions">
  3216. <span class="el-upload-list__item-delete"
  3217. @click="handleRemove1(file, 'imageList4', 'imgList7')">
  3218. <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
  3219. <i class="el-icon-delete"></i>
  3220. </span>
  3221. </span>
  3222. </div>
  3223. </el-upload>
  3224. </div>
  3225. <div class="aaa">
  3226. <span>2.被保人身份证(反面)</span>
  3227. <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag :on-change="(file) => drivingupload(file, 'imageList4', 'imgList8', 'D04')
  3228. " :file-list="imgList8" multiple ref="upload8" :class="{ styleB: imgList8.length === 1 }">
  3229. <img v-show="imgList8.length == 0" src="../../../../static/userback.png"
  3230. style="width: 100%; height: 100%" />
  3231. <div slot="file" slot-scope="{ file }">
  3232. <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
  3233. <span class="el-upload-list__item-actions">
  3234. <span class="el-upload-list__item-delete"
  3235. @click="handleRemove1(file, 'imageList4', 'imgList8')">
  3236. <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
  3237. <i class="el-icon-delete"></i>
  3238. </span>
  3239. </span>
  3240. </div>
  3241. </el-upload>
  3242. </div>
  3243. <div class="aaa">
  3244. <span>3.营业执照</span>
  3245. <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag multiple
  3246. ref="upload4">
  3247. <img src="../../../../static/userfront.png" style="width: 100%; height: 100%" />
  3248. <div slot="file" slot-scope="{ file }">
  3249. <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
  3250. <span class="el-upload-list__item-actions">
  3251. <span class="el-upload-list__item-delete"
  3252. @click="handleRemove1(file, 'imageList2', 'imgList4')">
  3253. <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
  3254. <i class="el-icon-delete"></i>
  3255. </span>
  3256. </span>
  3257. </div>
  3258. </el-upload>
  3259. </div>
  3260. </div>
  3261. <div class="flex f-wrap" id="relationship">
  3262. <div class="aaa">
  3263. <span>1.关系证明</span>
  3264. <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag :on-change="(file) =>
  3265. drivingupload(file, 'imageList5', 'imgList11', 'GX00')
  3266. " :file-list="imgList11" multiple ref="upload3"
  3267. :class="{ styleB: imgList11.length === 1 }">
  3268. <img v-show="imgList11.length == 0" src="../../../../static/userfront.png"
  3269. style="width: 100%; height: 100%" />
  3270. <div slot="file" slot-scope="{ file }">
  3271. <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
  3272. <span class="el-upload-list__item-actions">
  3273. <span class="el-upload-list__item-delete"
  3274. @click="handleRemove1(file, 'imageList5', 'imgList11')">
  3275. <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
  3276. <i class="el-icon-delete"></i>
  3277. </span>
  3278. </span>
  3279. </div>
  3280. </el-upload>
  3281. </div>
  3282. </div>
  3283. <div class="flex f-wrap" id="yanchezhao">
  3284. <div class="aaa">
  3285. <span>1.验车照(车架)</span>
  3286. <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag :on-change="(file) =>
  3287. drivingupload(file, 'imageList6', 'imgList13', 'C0500')
  3288. " :file-list="imgList13" multiple ref="upload3"
  3289. :class="{ styleB: imgList13.length === 1 }">
  3290. <img v-show="imgList13.length == 0" src="../../../../static/userfront.png"
  3291. style="width: 100%; height: 100%" />
  3292. <div slot="file" slot-scope="{ file }">
  3293. <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
  3294. <span class="el-upload-list__item-actions">
  3295. <span class="el-upload-list__item-delete"
  3296. @click="handleRemove1(file, 'imageList6', 'imgList13')">
  3297. <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
  3298. <i class="el-icon-delete"></i>
  3299. </span>
  3300. </span>
  3301. </div>
  3302. </el-upload>
  3303. </div>
  3304. <div class="aaa">
  3305. <span>2.验车照(后左)</span>
  3306. <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag :on-change="(file) =>
  3307. drivingupload(file, 'imageList6', 'imgList14', 'C0501')
  3308. " :file-list="imgList14" multiple ref="upload3"
  3309. :class="{ styleB: imgList14.length === 1 }">
  3310. <img v-show="imgList14.length == 0" src="../../../../static/userfront.png"
  3311. style="width: 100%; height: 100%" />
  3312. <div slot="file" slot-scope="{ file }">
  3313. <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
  3314. <span class="el-upload-list__item-actions">
  3315. <span class="el-upload-list__item-delete"
  3316. @click="handleRemove1(file, 'imageList6', 'imgList14')">
  3317. <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
  3318. <i class="el-icon-delete"></i>
  3319. </span>
  3320. </span>
  3321. </div>
  3322. </el-upload>
  3323. </div>
  3324. <div class="aaa">
  3325. <span>3.验车照(后右)</span>
  3326. <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag :on-change="(file) =>
  3327. drivingupload(file, 'imageList6', 'imgList15', 'C0502')
  3328. " :file-list="imgList15" multiple ref="upload3"
  3329. :class="{ styleB: imgList15.length === 1 }">
  3330. <img v-show="imgList15.length == 0" src="../../../../static/userfront.png"
  3331. style="width: 100%; height: 100%" />
  3332. <div slot="file" slot-scope="{ file }">
  3333. <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
  3334. <span class="el-upload-list__item-actions">
  3335. <span class="el-upload-list__item-delete"
  3336. @click="handleRemove1(file, 'imageList6', 'imgList15')">
  3337. <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
  3338. <i class="el-icon-delete"></i>
  3339. </span>
  3340. </span>
  3341. </div>
  3342. </el-upload>
  3343. </div>
  3344. <div class="aaa">
  3345. <span>4.验车照(前右)</span>
  3346. <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag :on-change="(file) =>
  3347. drivingupload(file, 'imageList6', 'imgList16', 'C0503')
  3348. " :file-list="imgList16" multiple ref="upload3"
  3349. :class="{ styleB: imgList16.length === 1 }">
  3350. <img v-show="imgList16.length == 0" src="../../../../static/userfront.png"
  3351. style="width: 100%; height: 100%" />
  3352. <div slot="file" slot-scope="{ file }">
  3353. <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
  3354. <span class="el-upload-list__item-actions">
  3355. <span class="el-upload-list__item-delete"
  3356. @click="handleRemove1(file, 'imageList6', 'imgList16')">
  3357. <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
  3358. <i class="el-icon-delete"></i>
  3359. </span>
  3360. </span>
  3361. </div>
  3362. </el-upload>
  3363. </div>
  3364. <div class="aaa">
  3365. <span>5.验车照(前左)</span>
  3366. <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag :on-change="(file) =>
  3367. drivingupload(file, 'imageList6', 'imgList17', 'C0504')
  3368. " :file-list="imgList17" multiple ref="upload3"
  3369. :class="{ styleB: imgList17.length === 1 }">
  3370. <img v-show="imgList17.length == 0" src="../../../../static/userfront.png"
  3371. style="width: 100%; height: 100%" />
  3372. <div slot="file" slot-scope="{ file }">
  3373. <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
  3374. <span class="el-upload-list__item-actions">
  3375. <span class="el-upload-list__item-delete"
  3376. @click="handleRemove1(file, 'imageList6', 'imgList17')">
  3377. <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
  3378. <i class="el-icon-delete"></i>
  3379. </span>
  3380. </span>
  3381. </div>
  3382. </el-upload>
  3383. </div>
  3384. <div class="aaa">
  3385. <span>6.验车照(正前)</span>
  3386. <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag :on-change="(file) =>
  3387. drivingupload(file, 'imageList6', 'imgList18', 'C0506')
  3388. " :file-list="imgList18" multiple ref="upload3"
  3389. :class="{ styleB: imgList18.length === 1 }">
  3390. <img v-show="imgList18.length == 0" src="../../../../static/userfront.png"
  3391. style="width: 100%; height: 100%" />
  3392. <div slot="file" slot-scope="{ file }">
  3393. <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
  3394. <span class="el-upload-list__item-actions">
  3395. <span class="el-upload-list__item-delete"
  3396. @click="handleRemove1(file, 'imageList6', 'imgList18')">
  3397. <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
  3398. <i class="el-icon-delete"></i>
  3399. </span>
  3400. </span>
  3401. </div>
  3402. </el-upload>
  3403. </div>
  3404. <div class="aaa">
  3405. <span>7.验车照(正后)</span>
  3406. <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag :on-change="(file) =>
  3407. drivingupload(file, 'imageList6', 'imgList19', 'C0507')
  3408. " :file-list="imgList19" multiple ref="upload3"
  3409. :class="{ styleB: imgList19.length === 1 }">
  3410. <img v-show="imgList19.length == 0" src="../../../../static/userfront.png"
  3411. style="width: 100%; height: 100%" />
  3412. <div slot="file" slot-scope="{ file }">
  3413. <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
  3414. <span class="el-upload-list__item-actions">
  3415. <span class="el-upload-list__item-delete"
  3416. @click="handleRemove1(file, 'imageList6', 'imgList19')">
  3417. <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
  3418. <i class="el-icon-delete"></i>
  3419. </span>
  3420. </span>
  3421. </div>
  3422. </el-upload>
  3423. </div>
  3424. <div class="aaa">
  3425. <span>8.验车照(人车合影)</span>
  3426. <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag :on-change="(file) =>
  3427. drivingupload(file, 'imageList6', 'imgList20', 'C0505')
  3428. " :file-list="imgList20" multiple ref="upload3"
  3429. :class="{ styleB: imgList20.length === 1 }">
  3430. <img v-show="imgList20.length == 0" src="../../../../static/userfront.png"
  3431. style="width: 100%; height: 100%" />
  3432. <div slot="file" slot-scope="{ file }">
  3433. <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
  3434. <span class="el-upload-list__item-actions">
  3435. <span class="el-upload-list__item-delete"
  3436. @click="handleRemove1(file, 'imageList6', 'imgList20')">
  3437. <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
  3438. <i class="el-icon-delete"></i>
  3439. </span>
  3440. </span>
  3441. </div>
  3442. </el-upload>
  3443. </div>
  3444. <div class="aaa">
  3445. <span>9.验车照(地标合影)</span>
  3446. <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag :on-change="(file) =>
  3447. drivingupload(file, 'imageList6', 'imgList21', 'C0508')
  3448. " :file-list="imgList21" multiple ref="upload3"
  3449. :class="{ styleB: imgList21.length === 1 }">
  3450. <img v-show="imgList21.length == 0" src="../../../../static/userfront.png"
  3451. style="width: 100%; height: 100%" />
  3452. <div slot="file" slot-scope="{ file }">
  3453. <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
  3454. <span class="el-upload-list__item-actions">
  3455. <span class="el-upload-list__item-delete"
  3456. @click="handleRemove1(file, 'imageList6', 'imgList21')">
  3457. <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
  3458. <i class="el-icon-delete"></i>
  3459. </span>
  3460. </span>
  3461. </div>
  3462. </el-upload>
  3463. </div>
  3464. <div class="aaa">
  3465. <span>10.验车照(工作台)</span>
  3466. <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag :on-change="(file) =>
  3467. drivingupload(file, 'imageList6', 'imgList22', 'C0509')
  3468. " :file-list="imgList22" multiple ref="upload3"
  3469. :class="{ styleB: imgList22.length === 1 }">
  3470. <img v-show="imgList22.length == 0" src="../../../../static/userfront.png"
  3471. style="width: 100%; height: 100%" />
  3472. <div slot="file" slot-scope="{ file }">
  3473. <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
  3474. <span class="el-upload-list__item-actions">
  3475. <span class="el-upload-list__item-delete"
  3476. @click="handleRemove1(file, 'imageList6', 'imgList22')">
  3477. <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
  3478. <i class="el-icon-delete"></i>
  3479. </span>
  3480. </span>
  3481. </div>
  3482. </el-upload>
  3483. </div>
  3484. <div class="aaa">
  3485. <span>11.验车照(天窗)</span>
  3486. <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag :on-change="(file) =>
  3487. drivingupload(file, 'imageList6', 'imgList23', 'C0510')
  3488. " :file-list="imgList23" multiple ref="upload3"
  3489. :class="{ styleB: imgList23.length === 1 }">
  3490. <img v-show="imgList23.length == 0" src="../../../../static/userfront.png"
  3491. style="width: 100%; height: 100%" />
  3492. <div slot="file" slot-scope="{ file }">
  3493. <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
  3494. <span class="el-upload-list__item-actions">
  3495. <span class="el-upload-list__item-delete"
  3496. @click="handleRemove1(file, 'imageList6', 'imgList23')">
  3497. <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
  3498. <i class="el-icon-delete"></i>
  3499. </span>
  3500. </span>
  3501. </div>
  3502. </el-upload>
  3503. </div>
  3504. </div>
  3505. <div class="flex f-wrap" id="snbaodan">
  3506. <div class="aaa">
  3507. <span>1.上年商业险保单</span>
  3508. <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag :on-change="(file) =>
  3509. drivingupload(file, 'imageList6', 'imgList24', 'LAST_INSURANCE_POLICY')
  3510. " :file-list="imgList24" multiple ref="upload3"
  3511. :class="{ styleB: imgList24.length === 1 }">
  3512. <img v-show="imgList24.length == 0" src="../../../../static/userfront.png"
  3513. style="width: 100%; height: 100%" />
  3514. <div slot="file" slot-scope="{ file }">
  3515. <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
  3516. <span class="el-upload-list__item-actions">
  3517. <span class="el-upload-list__item-delete"
  3518. @click="handleRemove1(file, 'imageList6', 'imgList24')">
  3519. <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
  3520. <i class="el-icon-delete"></i>
  3521. </span>
  3522. </span>
  3523. </div>
  3524. </el-upload>
  3525. </div>
  3526. </div>
  3527. <div class="flex f-wrap" id="shouquanshu">
  3528. <div class="aaa">
  3529. <span>1.授权书</span>
  3530. <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag :on-change="(file) =>
  3531. drivingupload(file, 'imageList6', 'imgList25', 'SQ00')
  3532. " :file-list="imgList25" multiple ref="upload3"
  3533. :class="{ styleB: imgList25.length === 1 }">
  3534. <img v-show="imgList25.length == 0" src="../../../../static/userfront.png"
  3535. style="width: 100%; height: 100%" />
  3536. <div slot="file" slot-scope="{ file }">
  3537. <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
  3538. <span class="el-upload-list__item-actions">
  3539. <span class="el-upload-list__item-delete"
  3540. @click="handleRemove1(file, 'imageList6', 'imgList25')">
  3541. <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
  3542. <i class="el-icon-delete"></i>
  3543. </span>
  3544. </span>
  3545. </div>
  3546. </el-upload>
  3547. </div>
  3548. </div>
  3549. </el-col>
  3550. </el-row>
  3551. <span slot="footer" class="dialog-footer">
  3552. <el-button size="small" @click="imageUploaddialogVisible = false">取 消</el-button>
  3553. <el-button size="small" type="primary" @click="uploadinformation">上传资料</el-button>
  3554. </span>
  3555. </el-dialog>
  3556. <!-- 调整险种弹窗 -->
  3557. <el-dialog title="调整险种" :visible.sync="typeDialogVisible" width="60%" top="5vh"
  3558. :before-close="handleCloseType">
  3559. <div class="typedialog-style addyiwai typedialog-style1" v-if="productId != '034001' && productId != '034002'">
  3560. <div class="typedialog-title"><i class="el-icon-circle-check" style="color: #D42426; font-size: 20px; margin-right: 10px;"></i>交通事故强制责任险:</div>
  3561. <el-table :data="typeJqTable" border style="width: 100%" stripe header-cell-class-name="table-header">
  3562. <el-table-column prop="date" label="保障范围" align="center"></el-table-column>
  3563. <el-table-column prop="date1" label="保额(元)" align="center"></el-table-column>
  3564. <!-- <el-table-column prop="date2" label="总计" align="center"></el-table-column> -->
  3565. </el-table>
  3566. </div>
  3567. <div class="typedialog-style addyiwai typedialog-style2" v-if="productId != '0330'">
  3568. <!-- 商业险 -->
  3569. <div class="typedialog-title"><i class="el-icon-circle-check" style="color: #D42426; font-size: 20px; margin-right: 10px;"></i>商业险详情:</div>
  3570. <div class="flex f-c">
  3571. <div class="flex j-s a-c more-title back">
  3572. <div style="width: 550px; padding-left: 100px" class="flex j-s a-c">
  3573. <span>险别</span>
  3574. <span>保额(元)</span>
  3575. </div>
  3576. </div>
  3577. <div class="a-c back" v-for="(insureitem, insureindex) in typeDialogData.kinds" :key="insureindex">
  3578. <el-row style="background: #FFF;" type="flex" align="middle">
  3579. <el-col :span="10" class="more-data-left">
  3580. <div class="zhuxian" v-if="insureitem.grouping == 'main'" style="background: #E0282A">主险</div>
  3581. <div class="zhuxian" v-if="insureitem.grouping == 'additional'">附加险</div>
  3582. <div class="zhuxian" v-if="insureitem.grouping == 'service'">增值服务</div>
  3583. <span>
  3584. <el-checkbox v-model="insureitem.checked" :disabled="insureitem.Required">
  3585. <!-- <span :class="insureitem.grouping != 'additional' ? 'opacity1' : 'opacity0'">{{ insureitem.kindName }}</span> -->
  3586. <span class="opacity1">{{ insureitem.kindName }}</span>
  3587. <el-input v-show="insureitem.kindCode == 'D4' ||
  3588. insureitem.kindCode == 'MJ4' ||
  3589. insureitem.kindCode == 'SY_FJ_YBW2'
  3590. " v-model="sumseatCount" style="width: 40px; margin: 0 5px" size="small" placeholder
  3591. disabled></el-input>
  3592. <span v-show="insureitem.kindCode == 'D4' ||
  3593. insureitem.kindCode == 'MJ4' ||
  3594. insureitem.kindCode == 'SY_FJ_YBW2'
  3595. ">座</span>
  3596. </el-checkbox>
  3597. </span>
  3598. </el-col>
  3599. <el-col :span="14" class="more-data-right">
  3600. <el-select v-if="insureitem.amtList" filterable v-model="insureitem.amount" placeholder="请选择"
  3601. @change="insureitemChange($event, insureitem)" size="small" style="width: 300px">
  3602. <el-option :label="item.label" :value="item.value" v-for="(item, index) in insureitem.amtList"
  3603. :key="index"></el-option>
  3604. </el-select>
  3605. <span v-else>
  3606. <el-input-number size="small" style="width: 280px; margin-right: 10px" v-model="insureitem.amount"
  3607. :min="0"></el-input-number>次
  3608. </span>
  3609. </el-col>
  3610. </el-row>
  3611. </div>
  3612. </div>
  3613. </div>
  3614. <div class="typedialog-style addyiwai typedialog-style3">
  3615. <!-- <div class="typedialog-title"><i class="el-icon-circle-check" style="color: #D42426; font-size: 20px; margin-right: 10px;"></i>驾意险详情:</div> -->
  3616. <div class="typedialog-style">
  3617. <div class="flex a-c" style="margin-bottom: 20px;">
  3618. <div class="typedialog-title addyiwai-title"><i class="el-icon-circle-check" style="color: #D42426; font-size: 20px; margin-right: 10px;"></i>驾意险方案配置:</div>
  3619. <div v-if="false" class="addyiwai-title-btn">添加配置</div>
  3620. </div>
  3621. <div v-if="true">
  3622. <div v-for="(listItem, listIndex) in jiayiDialogData.drivingTypeList" :key="listIndex" v-show="listIndex == 0">
  3623. <el-checkbox-group v-model="checkList" @change="handleChangeJiayi(listItem, listIndex)">
  3624. <el-checkbox v-for="(item, index) in listItem.children" :key="index" :label="item">{{item.typeName}}</el-checkbox>
  3625. </el-checkbox-group>
  3626. <div v-for="(item, index) in checkList" :key="index" style="margin-bottom: 20px;">
  3627. <div v-if="totalCompanyList[typeDialogIndex].cnName == 'zijin'">
  3628. <el-row style="margin-bottom: 20px;">
  3629. <el-col :span="10">
  3630. {{ item.typeName }}
  3631. <el-select v-if="item.detail" style="width: 300px;" v-model="item.selectList" clearable multiple @change="handleChangeSelect(index)" size="small" placeholder="请选择">
  3632. <el-option v-for="(i, ind) in item.detail" :key="ind" :label="i.alias" :value="i.alias">
  3633. </el-option>
  3634. </el-select>
  3635. </el-col>
  3636. </el-row>
  3637. <div v-for="(dataItem, dataIndex) in item.tableData" :key="dataIndex">
  3638. <el-col :span="6">
  3639. 份数
  3640. <el-input v-model="dataItem.quantity" style="width: 120px;" size="small" @input="(e) => {changeInput(e,listIndex, index, 'minus',item.tableData.minQuantity)}">
  3641. <template slot="prepend"><i class="el-icon-minus" @click="numberChange(listIndex, index, 'minus',dataItem.minQuantity, dataIndex)"></i></template>
  3642. <template slot="append"><i class="el-icon-plus" @click="numberChange(listIndex, index, 'plus',dataItem.minQuantity, dataIndex)"></i></template>
  3643. </el-input>
  3644. 份
  3645. </el-col>
  3646. <el-col v-if="item.tableData" :span="4" class="flex a-c">保费:{{ Number(dataItem.sumPremium) * dataItem.quantity }}元</el-col>
  3647. </div>
  3648. <el-table v-if="item.tableData && item.tableData.length" :data="item.tableData" border style="width: 100%; margin-top: 20px;" stripe
  3649. header-cell-class-name="table-header">
  3650. <el-table-column prop="name" label="保险责任" align="center">
  3651. <template slot-scope="scope">
  3652. <span>{{ scope.row.insDrivingIntentionInsuranceSon[0].name }}</span>
  3653. </template>
  3654. </el-table-column>
  3655. <el-table-column prop="amount" label="保险金额" align="center">
  3656. <template slot-scope="scope">
  3657. <span>{{ scope.row.insDrivingIntentionInsuranceSon[0].amount }}</span>
  3658. </template>
  3659. </el-table-column>
  3660. <el-table-column prop="premium" label="保费(元)" align="center">
  3661. <template slot-scope="scope">
  3662. <span>{{ scope.row.insDrivingIntentionInsuranceSon[0].premium }}</span>
  3663. </template>
  3664. </el-table-column>
  3665. <el-table-column prop="quantity" label="份数" align="center"></el-table-column>
  3666. <el-table-column prop="sumPremium" label="总保费" align="center"></el-table-column>
  3667. </el-table>
  3668. </div>
  3669. <div v-else>
  3670. <!-- totalCompanyList[typeDialogIndex].cnName == 'guoRen' || totalCompanyList[typeDialogIndex].cnName == 'ansheng' || totalCompanyList[typeDialogIndex].cnName == 'dajia' -->
  3671. <el-row v-if="false">
  3672. <el-col :span="8">
  3673. {{ item.typeName }}
  3674. <el-select v-model="item.select" style="width: 400px;" clearable @change="handleChangeSelectGuoren(index)" size="small" placeholder="请选择" v-if="item.detail">
  3675. <el-option v-for="(i, ind) in item.detail" :key="ind" :label="i.alias" :value="i.alias">
  3676. </el-option>
  3677. </el-select>
  3678. </el-col>
  3679. <el-col :span="5">
  3680. <el-select v-model="item.select1" clearable @change="handleChangeSelect(index)" size="small" placeholder="请选择" v-if="item.tableData1">
  3681. <el-option v-for="(i, ind) in item.tableData1" :key="ind" :label="i.alias" :value="i.alias">
  3682. </el-option>
  3683. </el-select>
  3684. </el-col>
  3685. <el-col :span="6" v-if="item.tableData">
  3686. 份数
  3687. <!-- <el-input-number v-model="item.tableData.quantity" :step="1" :min="1" :max="10" @change="numberChange(listIndex, index)" size="small"></el-input-number> -->
  3688. <el-input v-model="item.tableData.quantity" style="width: 120px;" size="small" @input="(e) => {changeInput(e,listIndex, index, 'minus',item.tableData.minQuantity)}">
  3689. <template slot="prepend"><i class="el-icon-minus" @click="numberChange(listIndex, index, 'minus',item.tableData.minQuantity)"></i></template>
  3690. <template slot="append"><i class="el-icon-plus" @click="numberChange(listIndex, index, 'plus',item.tableData.minQuantity)"></i></template>
  3691. </el-input>
  3692. 份
  3693. </el-col>
  3694. <el-col v-if="item.tableData" :span="4">保费:{{ Number(item.tableData.sumPremium) * item.tableData.quantity }}元</el-col>
  3695. <!-- <el-col :span="1"><i class="el-icon-delete"></i></el-col> -->
  3696. </el-row>
  3697. <el-row v-else>
  3698. <el-col :span="12">
  3699. {{ item.typeName }}
  3700. <el-select v-model="item.select" style="width: 400px;" clearable @change="handleChangeSelect(index)" size="small" placeholder="请选择" v-if="item.detail">
  3701. <el-option v-for="(i, ind) in item.detail" :key="ind" :label="i.alias" :value="i.alias">
  3702. </el-option>
  3703. </el-select>
  3704. </el-col>
  3705. <el-col :span="6" v-if="item.tableData">
  3706. 份数
  3707. <!-- <el-input-number v-model="item.tableData.quantity" :step="1" :min="1" :max="10" @change="numberChange(listIndex, index)" label="描述文字" size="small"></el-input-number> -->
  3708. <el-input v-model="item.tableData.quantity" style="width: 120px;" size="small" @input="(e) => {changeInput(e,listIndex, index, 'minus',item.tableData.minQuantity)}">
  3709. <template slot="prepend"><i class="el-icon-minus" @click="numberChange(listIndex, index, 'minus',item.tableData.minQuantity)"></i></template>
  3710. <template slot="append"><i class="el-icon-plus" @click="numberChange(listIndex, index, 'plus',item.tableData.minQuantity)"></i></template>
  3711. </el-input>
  3712. 份
  3713. </el-col>
  3714. <el-col v-if="item.tableData" :span="4" class="flex a-c">保费:{{ Number(item.tableData.sumPremium) * item.tableData.quantity }}元</el-col>
  3715. <!-- <el-col :span="1"><i class="el-icon-delete"></i></el-col> -->
  3716. </el-row>
  3717. <el-table v-if="item.tableData" :data="item.tableData.insDrivingIntentionInsuranceSon" border style="width: 100%; margin-top: 20px;" stripe
  3718. header-cell-class-name="table-header">
  3719. <el-table-column prop="name" label="保险责任" align="center"></el-table-column>
  3720. <el-table-column prop="amount" label="保险金额" align="center"></el-table-column>
  3721. <el-table-column prop="premium" label="保费(元)" align="center"></el-table-column>
  3722. </el-table>
  3723. </div>
  3724. </div>
  3725. </div>
  3726. </div>
  3727. <div v-else>
  3728. <div v-for="(item, index) in 3" :key="index" style="margin-bottom: 20px;">
  3729. <el-row style="margin-bottom: 20px;">
  3730. <el-col :span="10">
  3731. 驾意选择
  3732. <!-- v-model="value" -->
  3733. <el-select size="small" clearable placeholder="请选择">
  3734. <el-option v-for="item in 3" :key="item.value" :label="22" :value="22">
  3735. </el-option>
  3736. </el-select>
  3737. </el-col>
  3738. <el-col :span="9">
  3739. 份数
  3740. <el-input-number label="描述文字" size="small"></el-input-number>
  3741. 份
  3742. </el-col>
  3743. <el-col :span="4">保费:15元</el-col>
  3744. <el-col :span="1"><i class="el-icon-delete"></i></el-col>
  3745. </el-row>
  3746. <el-table :data="item.table" border style="width: 100%" stripe
  3747. header-cell-class-name="table-header">
  3748. <el-table-column prop="date" label="保险责任" align="center"></el-table-column>
  3749. <el-table-column prop="date1" label="保险金额" align="center"></el-table-column>
  3750. <el-table-column prop="date2" label="保费(元)" align="center"></el-table-column>
  3751. </el-table>
  3752. </div>
  3753. </div>
  3754. </div>
  3755. </div>
  3756. <span slot="footer" class="dialog-footer">
  3757. <el-button size="small" @click="handleCloseType">取 消</el-button>
  3758. <el-button size="small" type="primary" @click="subTypeDialog">确 定</el-button>
  3759. </span>
  3760. </el-dialog>
  3761. <!-- 驾意险 -->
  3762. <el-dialog title="驾意险" :visible.sync="addYiwaiDialogVisible" width="60%" top="5vh"
  3763. :before-close="handleCloseAddYiwai" class="addyiwai">
  3764. <div class="typedialog-style">
  3765. <el-card>
  3766. <div class="flex a-c" style="margin-bottom: 20px;">
  3767. <div class="addyiwai-title">驾意险方案配置</div>
  3768. <div v-if="false" class="addyiwai-title-btn">添加配置</div>
  3769. </div>
  3770. <div v-if="true">
  3771. <div v-for="(listItem, listIndex) in jiayiDialogData.drivingTypeList" :key="listIndex">
  3772. <el-checkbox-group v-model="checkList" @change="handleChangeJiayi(listItem, listIndex)">
  3773. <el-checkbox v-for="(item, index) in listItem.children" :key="index" :label="item">{{item.typeName}}</el-checkbox>
  3774. </el-checkbox-group>
  3775. <div v-for="(item, index) in checkList" :key="index" style="margin-bottom: 20px;">
  3776. <div v-if="totalCompanyList[typeDialogIndex].cnName == 'zijin'">
  3777. <el-row style="margin-bottom: 20px;">
  3778. <el-col :span="10">
  3779. {{ item.typeName }}
  3780. <el-select v-if="item.detail" v-model="item.selectList" clearable multiple @change="handleChangeSelect(index)" size="small" placeholder="请选择">
  3781. <el-option v-for="(i, ind) in item.detail" :key="ind" :label="i.projectName" :value="i.projectName">
  3782. </el-option>
  3783. </el-select>
  3784. </el-col>
  3785. </el-row>
  3786. <el-table v-if="item.tableData" :data="item.tableData" border style="width: 100%; margin-top: 20px;" stripe
  3787. header-cell-class-name="table-header">
  3788. <el-table-column prop="name" label="保险责任" align="center">
  3789. <template slot-scope="scope">
  3790. <span>{{ scope.row.insDrivingIntentionInsuranceSon[0].name }}</span>
  3791. </template>
  3792. </el-table-column>
  3793. <el-table-column prop="amount" label="保险金额" align="center">
  3794. <template slot-scope="scope">
  3795. <span>{{ scope.row.insDrivingIntentionInsuranceSon[0].amount }}</span>
  3796. </template>
  3797. </el-table-column>
  3798. <el-table-column prop="premium" label="保费(元)" align="center">
  3799. <template slot-scope="scope">
  3800. <span>{{ scope.row.insDrivingIntentionInsuranceSon[0].premium }}</span>
  3801. </template>
  3802. </el-table-column>
  3803. <el-table-column prop="quantity" label="份数" align="center"></el-table-column>
  3804. <el-table-column prop="sumPremium" label="总保费" align="center"></el-table-column>
  3805. </el-table>
  3806. </div>
  3807. <div v-else>
  3808. <!-- totalCompanyList[typeDialogIndex].cnName == 'guoRen' || totalCompanyList[typeDialogIndex].cnName == 'ansheng' -->
  3809. <el-row v-if="false">
  3810. <el-col :span="8">
  3811. {{ item.typeName }}
  3812. <el-select v-model="item.select" clearable @change="handleChangeSelectGuoren(index)" size="small" placeholder="请选择" v-if="item.detail">
  3813. <el-option v-for="(i, ind) in item.detail" :key="ind" :label="i.alias" :value="i.alias">
  3814. </el-option>
  3815. </el-select>
  3816. </el-col>
  3817. <el-col :span="5">
  3818. <el-select v-model="item.select1" clearable @change="handleChangeSelect(index)" size="small" placeholder="请选择" v-if="item.tableData1">
  3819. <el-option v-for="(i, ind) in item.tableData1" :key="ind" :label="i.alias" :value="i.alias">
  3820. </el-option>
  3821. </el-select>
  3822. </el-col>
  3823. <el-col :span="6" v-if="item.tableData">
  3824. 份数
  3825. <!-- <el-input-number v-model="item.tableData.quantity" :step="1" :min="1" :max="10" @change="numberChange(listIndex, index)" size="small"></el-input-number> -->
  3826. <el-input v-model="item.tableData.quantity" style="width: 120px;" size="small" @input="(e) => {changeInput(e,listIndex, index, 'minus',item.tableData.minQuantity)}">
  3827. <template slot="prepend"><i class="el-icon-minus" @click="numberChange(listIndex, index, 'minus',item.tableData.minQuantity)"></i></template>
  3828. <template slot="append"><i class="el-icon-plus" @click="numberChange(listIndex, index, 'plus',item.tableData.minQuantity)"></i></template>
  3829. </el-input>
  3830. 份
  3831. </el-col>
  3832. <el-col v-if="item.tableData" :span="4">保费:{{ Number(item.tableData.sumPremium) * item.tableData.quantity }}元</el-col>
  3833. <!-- <el-col :span="1"><i class="el-icon-delete"></i></el-col> -->
  3834. </el-row>
  3835. <el-row v-else>
  3836. <el-col :span="10">
  3837. {{ item.typeName }}
  3838. <el-select v-model="item.select" clearable @change="handleChangeSelect(index)" size="small" placeholder="请选择" v-if="item.detail">
  3839. <el-option v-for="(i, ind) in item.detail" :key="ind" :label="i.projectName" :value="i.projectName">
  3840. </el-option>
  3841. </el-select>
  3842. </el-col>
  3843. <el-col :span="9" v-if="item.tableData">
  3844. 份数
  3845. <!-- <el-input-number v-model="item.tableData.quantity" :step="1" :min="1" :max="10" @change="numberChange(listIndex, index)" label="描述文字" size="small"></el-input-number> -->
  3846. <el-input v-model="item.tableData.quantity" style="width: 120px;" size="small" @input="(e) => {changeInput(e,listIndex, index, 'minus',item.tableData.minQuantity)}">
  3847. <template slot="prepend"><i class="el-icon-minus" @click="numberChange(listIndex, index, 'minus',item.tableData.minQuantity)"></i></template>
  3848. <template slot="append"><i class="el-icon-plus" @click="numberChange(listIndex, index, 'plus',item.tableData.minQuantity)"></i></template>
  3849. </el-input>
  3850. 份
  3851. </el-col>
  3852. <el-col v-if="item.tableData" :span="4">保费:{{ Number(item.tableData.sumPremium) * item.tableData.quantity }}元</el-col>
  3853. <!-- <el-col :span="1"><i class="el-icon-delete"></i></el-col> -->
  3854. </el-row>
  3855. <el-table v-if="item.tableData" :data="item.tableData.insDrivingIntentionInsuranceSon" border style="width: 100%; margin-top: 20px;" stripe
  3856. header-cell-class-name="table-header">
  3857. <el-table-column prop="name" label="保险责任" align="center"></el-table-column>
  3858. <el-table-column prop="amount" label="保险金额" align="center"></el-table-column>
  3859. <el-table-column prop="premium" label="保费(元)" align="center"></el-table-column>
  3860. </el-table>
  3861. </div>
  3862. </div>
  3863. </div>
  3864. </div>
  3865. <div v-else>
  3866. <div v-for="(item, index) in 3" :key="index" style="margin-bottom: 20px;">
  3867. <el-row style="margin-bottom: 20px;">
  3868. <el-col :span="10">
  3869. 驾意选择
  3870. <!-- v-model="value" -->
  3871. <el-select size="small" clearable placeholder="请选择">
  3872. <el-option v-for="item in 3" :key="item.value" :label="22" :value="22">
  3873. </el-option>
  3874. </el-select>
  3875. </el-col>
  3876. <el-col :span="9">
  3877. 份数
  3878. <el-input-number label="描述文字" size="small"></el-input-number>
  3879. 份
  3880. </el-col>
  3881. <el-col :span="4">保费:15元</el-col>
  3882. <el-col :span="1"><i class="el-icon-delete"></i></el-col>
  3883. </el-row>
  3884. <el-table :data="item.table" border style="width: 100%" stripe
  3885. header-cell-class-name="table-header">
  3886. <el-table-column prop="date" label="保险责任" align="center"></el-table-column>
  3887. <el-table-column prop="date1" label="保险金额" align="center"></el-table-column>
  3888. <el-table-column prop="date2" label="保费(元)" align="center"></el-table-column>
  3889. </el-table>
  3890. </div>
  3891. </div>
  3892. </el-card>
  3893. </div>
  3894. <span slot="footer" class="dialog-footer">
  3895. <el-button size="small" @click="handleCloseAddYiwai">取 消</el-button>
  3896. <el-button size="small" type="primary" @click="handleAddYiWai">确 定</el-button>
  3897. </span>
  3898. </el-dialog>
  3899. <!-- 详情 -->
  3900. <el-dialog :title="detailJiaYiTitle" :visible.sync="showDetailJiaYiVisible" width="60%" top="5vh"
  3901. :before-close="handleCloseShowDetailJiaYi">
  3902. <div class="typedialog-style addyiwai typedialog-style1" v-if="productId != '034001' && productId != '034002' && detailJiaYiTitle == '查看详情'">
  3903. <div class="typedialog-title"><i class="el-icon-circle-check" style="color: #D42426; font-size: 20px; margin-right: 10px;"></i>交通事故强制责任险:</div>
  3904. <el-table :data="typeJqTable" border style="width: 100%" stripe header-cell-class-name="table-header">
  3905. <el-table-column prop="date" label="保障范围" align="center"></el-table-column>
  3906. <el-table-column prop="date1" label="保额(元)" align="center"></el-table-column>
  3907. </el-table>
  3908. </div>
  3909. <div class="typedialog-style typedialog-style2" v-if="productId != '0330' && detailJiaYiTitle == '查看详情'">
  3910. <div class="typedialog-title"><i class="el-icon-circle-check" style="color: #D42426; font-size: 20px; margin-right: 10px;"></i>商业险详情:</div>
  3911. <div class="a-c back">
  3912. <el-row style="background: #F7F7F9;">
  3913. <el-col :span="10" class="more-data-left">险别</el-col>
  3914. <el-col :span="14" class="more-data-right">保额(元)</el-col>
  3915. </el-row>
  3916. <el-row style="background: #FFF;" v-for="(insureitem, insureindex) in typeDialogData.shangyeList" :key="insureindex">
  3917. <el-col :span="10" class="more-data-left">
  3918. <div class="zhuxian" v-if="insureitem.grouping == 'main'" style="background: #E0282A">主险</div>
  3919. <div class="zhuxian" v-if="insureitem.grouping == 'additional'">附加险</div>
  3920. <div class="zhuxian" v-if="insureitem.grouping == 'service'">增值服务</div>
  3921. <span>
  3922. <span class="opacity1">{{ insureitem.kindName }}</span>
  3923. <el-input v-show="insureitem.kindCode == 'D4' ||
  3924. insureitem.kindCode == 'MJ4' ||
  3925. insureitem.kindCode == 'SY_FJ_YBW2'
  3926. " v-model="sumseatCount" style="width: 40px; margin: 0 5px" size="mini" placeholder
  3927. disabled></el-input>
  3928. <span v-show="insureitem.kindCode == 'D4' ||
  3929. insureitem.kindCode == 'MJ4' ||
  3930. insureitem.kindCode == 'SY_FJ_YBW2'
  3931. ">座</span>
  3932. </span>
  3933. </el-col>
  3934. <el-col :span="14" class="more-data-right">
  3935. {{ toWan(insureitem.amount) }}
  3936. </el-col>
  3937. </el-row>
  3938. <div v-show="typeDialogData && typeDialogData.shangyeList && !typeDialogData.shangyeList.length">暂无</div>
  3939. </div>
  3940. </div>
  3941. <div class="typedialog-style typedialog-style3" v-if="showDetailtable && showDetailtable.length">
  3942. <div class="typedialog-title" style="display: flex; justify-content: space-between;">
  3943. <div><i class="el-icon-circle-check" style="color: #D42426; font-size: 20px; margin-right: 10px;"></i>驾意险详情:</div>
  3944. <div class="typedialog-title">( 驾驶人意外单份保额 )如下</div>
  3945. </div>
  3946. <el-table v-for="(item, index) in showDetailtable" :key="index" :data="item" border style="width: 100%" stripe
  3947. header-cell-class-name="table-header">
  3948. <el-table-column prop="name" label="保险责任名称" align="center"></el-table-column>
  3949. <el-table-column prop="amount" label="保额(元)" align="center"></el-table-column>
  3950. <el-table-column prop="premium" label="保费(元)" align="center"></el-table-column>
  3951. </el-table>
  3952. <div v-if="showDetailtable && !showDetailtable.length">暂无</div>
  3953. <div class="typedialog-title" v-if="detailJiaYiTitle == '查看详情'">已选份数:</div>
  3954. <div class="jiayi-style" v-if="detailJiaYiTitle == '查看详情'">
  3955. <el-row v-for="(item, index) in typeDialogData.drivingList" :key="index">
  3956. <el-col :span="10">
  3957. <div class="jiayi-style-title">产品名称</div>
  3958. <div class="jiayi-style-line">{{ item.alias || item.projectName }}</div>
  3959. </el-col>
  3960. <!-- <el-col :span="6">
  3961. <div class="jiayi-style-title">座位数</div>
  3962. <div class="jiayi-style-line">{{ }}</div>
  3963. </el-col> -->
  3964. <el-col :span="6">
  3965. <div class="jiayi-style-title">份数</div>
  3966. <div class="jiayi-style-line">{{ item.quantity }}</div>
  3967. </el-col>
  3968. <el-col :span="3">
  3969. <div class="jiayi-style-title">每份</div>
  3970. <div class="jiayi-style-line">{{ item.sumPremium }}</div>
  3971. </el-col>
  3972. <el-col :span="3">
  3973. <div class="jiayi-style-title">合计</div>
  3974. <div class="jiayi-style-line">{{ Number(item.sumPremium) * item.quantity }}</div>
  3975. </el-col>
  3976. </el-row>
  3977. <div v-if="typeDialogData && typeDialogData.drivingList && !typeDialogData.drivingList.length">暂无</div>
  3978. </div>
  3979. </div>
  3980. <span slot="footer" class="dialog-footer">
  3981. <!-- <el-button size="small" @click="handleCloseShowDetailJiaYi">取 消</el-button> -->
  3982. <el-button size="small" type="primary" @click="handleCloseShowDetailJiaYi">确 定</el-button>
  3983. </span>
  3984. </el-dialog>
  3985. <!-- 驾意险详情 -->
  3986. <el-dialog :title="detailJiaYiTitle" :visible.sync="showDetailJiaYiVisible1" width="60%" top="5vh" v-dialogDrag
  3987. :before-close="handleCloseShowDetailJiaYi">
  3988. <div class="typedialog-style typedialog-style3" v-if="showDetailtable && showDetailtable.length">
  3989. <div class="typedialog-title" style="display: flex; justify-content: space-between;">
  3990. <div><i class="el-icon-circle-check" style="color: #D42426; font-size: 20px; margin-right: 10px;"></i>驾意险详情:</div>
  3991. <div class="typedialog-title">( 驾驶人意外单份保额 )如下</div>
  3992. </div>
  3993. <el-table v-for="(item, index) in showDetailtable" :key="index" :data="item" border style="width: 100%" stripe
  3994. header-cell-class-name="table-header">
  3995. <el-table-column prop="name" label="保险责任名称" align="center"></el-table-column>
  3996. <el-table-column prop="amount" label="保额(元)" align="center"></el-table-column>
  3997. <el-table-column prop="premium" label="保费(元)" align="center"></el-table-column>
  3998. </el-table>
  3999. <div v-if="showDetailtable && !showDetailtable.length">暂无</div>
  4000. </div>
  4001. <span slot="footer" class="dialog-footer">
  4002. <!-- <el-button size="small" @click="handleCloseShowDetailJiaYi">取 消</el-button> -->
  4003. <el-button size="small" type="primary" @click="handleCloseShowDetailJiaYi">确 定</el-button>
  4004. </span>
  4005. </el-dialog>
  4006. <!-- 选择特约 showTeYueVisible -->
  4007. <el-dialog title="选择特约" :visible.sync="showTeYueVisible" width="40%" top="5vh"
  4008. :before-close="handleCloseTeYue" class="teYuedialog-style">
  4009. <div>
  4010. <!-- <el-input placeholder="请输入内容" style="margin-bottom: 20px;">
  4011. <el-button type="primary" slot="append" icon="el-icon-search"></el-button>
  4012. </el-input> -->
  4013. <el-table :data="teYueTable" style="width: 100%" stripe
  4014. header-cell-class-name="table-header">
  4015. <el-table-column type="selection" width="55"></el-table-column>
  4016. <el-table-column type="expand">
  4017. <!-- <template slot-scope="props">
  4018. <div class="table-title">特约内容</div>
  4019. <div class="table-title">保险公司温馨提示:根据车船税征收管理规定,次年生效交强险业务如本年提前续保,请您仍须在下一年度年底前完成跨年提前续保并缴纳车船税,否则会产生车船税滞纳金。</div>
  4020. </template> -->
  4021. </el-table-column>
  4022. <el-table-column prop="date" label="特约名称" align="center">
  4023. </el-table-column>
  4024. <el-table-column prop="date1" label="特约险种" align="center"></el-table-column>
  4025. <el-table-column prop="date2" label="特约代码" align="center"></el-table-column>
  4026. </el-table>
  4027. </div>
  4028. <span slot="footer" class="dialog-footer">
  4029. <span>已选择了 <b style="color: #F96646;"> 1</b> 条特约</span>
  4030. <span style="flex: 1;"></span>
  4031. <el-button size="small" @click="showTeYueVisible = false">取 消</el-button>
  4032. <el-button size="small" type="primary" @click="showTeYueVisible = false">确 定</el-button>
  4033. </span>
  4034. </el-dialog>
  4035. <floatingBar />
  4036. <!-- 生成验车二维码 -->
  4037. <el-dialog :visible.sync="validateCarCodeShow" width="30%" title="验车二维码">
  4038. <div class="QRCode" ref="myQrcode"></div>
  4039. </el-dialog>
  4040. </div>
  4041. </template>
  4042. <script>
  4043. import QrCode from "qrcodejs2";
  4044. let _self;
  4045. import Cookies from "js-cookie";
  4046. import CommonUtil from "@/utils/comutil.js";
  4047. import floatingBar from '@/components/customerService/floatingBar.vue';
  4048. import {
  4049. getAgeByIdCard,
  4050. searchkey,
  4051. addressCode,
  4052. getGenderByIdCard,
  4053. } from "@/utils/validate.js";
  4054. import citydata from "@/assets/js/citydata.js";
  4055. // import yongchengData from '../../assets/js/yongchengData';
  4056. import { regionData, codeToText } from "element-china-area-data";
  4057. import { base64ToPath } from "@/common/image-tools-base64.js";
  4058. import quotationDialog from "@/views/Core/components/quotationDialog.vue";
  4059. import quotationDialogPro from "@/views/Core/components/quotationDialogPro.vue";
  4060. import detailsDialog from "@/views/Core/components/detailsDialog.vue";
  4061. import imageDialog from "@/views/Core/components/imageDialog.vue";
  4062. import { mapState } from "vuex";
  4063. import Ktletter1Popover from "./components/LetterPopover.vue"
  4064. export default {
  4065. inject: ["reload"],
  4066. name: "qrCode",
  4067. data() {
  4068. var checkpurchasePrice = (rule, value, callback) => {
  4069. if (!value) {
  4070. callback(new Error("新车购置价不能为空"));
  4071. } else if (value == 0) {
  4072. callback(new Error("新车购置价不能为零"));
  4073. } else {
  4074. callback();
  4075. }
  4076. };
  4077. var checkframeNo = (rule, value, callback) => {
  4078. if (value.length < 17) {
  4079. callback(new Error("车架号不足17位"));
  4080. } else if (
  4081. value.indexOf("I") != "-1" ||
  4082. value.indexOf("O") != "-1" ||
  4083. value.indexOf("Q") != "-1"
  4084. ) {
  4085. callback(new Error("车架号不能包含(I O Q)三个字母"));
  4086. } else {
  4087. callback();
  4088. }
  4089. };
  4090. var carPhoneValid = (rule, value, callback) => {
  4091. const plateNumber =
  4092. /^([京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}(([0-9]{5}[DF])|([DF]([A-HJ-NP-Z0-9])[0-9]{4})))|([京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳]{1})$/;
  4093. if (!value) {
  4094. callback(new Error("请输入车牌号"));
  4095. } else if (plateNumber.test(value)) {
  4096. callback();
  4097. } else {
  4098. callback(new Error("请输入正确的车牌号"));
  4099. }
  4100. };
  4101. var validateRight = (rule, value, callback) => {
  4102. if(!value) {
  4103. callback(new Error("请选择能源种类"))
  4104. } else if(this.carInfo.licenseNo.length === 8 && value === '0'){
  4105. callback(new Error('能源类型错误,请重新选择!'))
  4106. } else {
  4107. callback()
  4108. }
  4109. };
  4110. return {
  4111. validateCarCodeShow: false,
  4112. vehicleInspectionUrl: '',
  4113. colSpan: {
  4114. xs: 24, // 超小屏幕
  4115. sm: 12, // 小屏幕
  4116. md: 12, // 中屏幕
  4117. lg: 6, // 大屏幕
  4118. xl: 6 // 超大屏幕
  4119. },
  4120. colgutter:80,
  4121. productList: [], // 产品id列表
  4122. productId: '', // 产品id
  4123. // 选择特约
  4124. teYueTable: [{}, {}],
  4125. showTeYueVisible: false,
  4126. // 驾意险详情
  4127. jiayiDialogData: {},
  4128. showDetailJiaYiVisible: false,
  4129. showDetailJiaYiVisible1: false,
  4130. showDetailtable: [],
  4131. // 添加驾意险
  4132. checkList: [],
  4133. addYiwaiDialogVisible: false,
  4134. typeJqTable: [
  4135. {date: '死亡伤残赔偿', date1: 180000},
  4136. {date: '医疗费用赔偿', date1: 18000},
  4137. {date: '财产损失赔偿', date1: 2000}
  4138. ], // 调整险种交强险表格
  4139. typeDialogVisible: false, // 调整险种弹窗
  4140. typeDialogData: [], // 调整险种弹窗商业险
  4141. typeDialogIndex: 0, // 当前 调整险种弹窗 index
  4142. inquiryNowList: [], // 现询列表
  4143. isInquiryNowDisable: false,
  4144. taikangtemplateSelection: [], // 泰康
  4145. taikangInsuranceDataTable: [],
  4146. taikangaccidentDataList: [],
  4147. accidentPremiumTk: "",
  4148. accidentPremiumPA:'',
  4149. accidentFormTk: {
  4150. quantity: "1",
  4151. sumPremium: 0,
  4152. },
  4153. pinganDataDetail:[],
  4154. pinganDataDetailVisible:false,
  4155. accidentFormPA: [{
  4156. quantity: "1",
  4157. premium: 0,
  4158. pingantemplateSelection:'',
  4159. pinganInsuranceDataTable:[],
  4160. pinganInsurancetype:'',
  4161. },
  4162. {
  4163. quantity: "1",
  4164. premium: 0,
  4165. pingantemplateSelection:'',
  4166. pinganInsuranceDataTable:[],
  4167. pinganInsurancetype:'',
  4168. },
  4169. {
  4170. quantity: "1",
  4171. premium: 0,
  4172. pingantemplateSelection:'',
  4173. pinganInsuranceDataTable:[],
  4174. pinganInsurancetype:'',
  4175. }],
  4176. taikangaccidentalDrivingVo: {},
  4177. pinganaccidentalDrivingVo: {
  4178. 0:{},
  4179. 1:{},
  4180. 2:[],
  4181. },
  4182. nowCostsId: undefined, // 现询
  4183. policyNumberForm: {
  4184. jqpolicyno: "",
  4185. sypolicyno: "",
  4186. jypolicyno: "",
  4187. jqpremium: "",
  4188. sypremium: "",
  4189. jypremium: "",
  4190. taxamount: "",
  4191. commissionFeevalue: "",
  4192. otherFeevalue: "",
  4193. jqSuperviseCostsProportion: "",
  4194. sySuperviseCostsProportion: "",
  4195. noSuperviseCostsProportion: "",
  4196. jqOtherCostsProportion: "",
  4197. syOtherCostsProportion: "",
  4198. noOtherCostsProportion: "",
  4199. jqReceivableProportion: "",
  4200. syReceivableProportion: "",
  4201. noReceivableProportion: "",
  4202. jqPolicyList: [],
  4203. syPolicyList: [],
  4204. jqSignList: [],
  4205. noPolicyList: [],
  4206. noCostsProportion: '',
  4207. jqCostsProportion: '',
  4208. syCostsProportion: '',
  4209. },
  4210. watermarkedImage: "",
  4211. redictInfoMsg: [],
  4212. redictInfodialogVisible: false,
  4213. qrcodeWidth: "180",
  4214. qrcodeHeight: "180",
  4215. activeName: "1",
  4216. isTaxSourceModel: "",
  4217. tabLiIndex: 0,
  4218. tabLimenu: [
  4219. {
  4220. name: "车辆信息",
  4221. scroll: "vehicle",
  4222. },
  4223. {
  4224. name: "车主信息",
  4225. scroll: "owner",
  4226. },
  4227. {
  4228. name: "投保人信息",
  4229. scroll: "applicant",
  4230. },
  4231. {
  4232. name: "被保人信息",
  4233. scroll: "insured",
  4234. },
  4235. {
  4236. name: "关系证明",
  4237. scroll: "relationship",
  4238. },
  4239. {
  4240. name: "验车照",
  4241. scroll: "yanchezhao",
  4242. },
  4243. {
  4244. name: "上年商业险保单",
  4245. scroll: "snbaodan",
  4246. },
  4247. {
  4248. name: "授权书",
  4249. scroll: "shouquanshu",
  4250. },
  4251. ],
  4252. packageValue: "",
  4253. packageOptions: [],
  4254. zhongmeitemplateSelection: "", //中煤驾意险产品选中值
  4255. zhongmeiInsuranceData: [], //中煤驾意险产品列表数据
  4256. zhongmeiInsuranceDataTable: [], //中煤驾意险产品明细方案数据
  4257. zhongmeiaccidentalDrivingVo: {}, //中煤驾意险最终选中字段
  4258. pinganInsuranceData: [], //平安驾意险产品列表数据
  4259. currentCell: null,
  4260. feeDetailInfo: [], //费用明细信息
  4261. immediatelyValue: false,
  4262. isRetractZJ: false,
  4263. isRetractHB: false,
  4264. isRetractZM: false,
  4265. isRetractASTP: false,
  4266. isRetractZA: false,
  4267. isRetractYC: false,
  4268. isRetractRS: false,
  4269. anshengInsurancetype: "",
  4270. iscCrownerShow: false,
  4271. isApplicantShow: false,
  4272. isInsuredShow: false,
  4273. formInline: {},
  4274. anshengtemplateSelection: "", //安盛
  4275. anshengInsuranceData: [], //安盛驾意险
  4276. anshengInsuranceDataTable: [], //安盛驾意险
  4277. anshengaccidentalDrivingVo: {}, //安盛驾意险
  4278. hengbangtemplateSelection: "", //恒邦
  4279. hengbangInsuranceData: [], //恒邦驾意险
  4280. hengbangInsuranceDataTable: [],
  4281. hengbangaccidentalDrivingVo: {}, //太平洋驾意险
  4282. taipingyangtemplateSelection: "", //太平洋
  4283. taipingyangInsuranceData: [], //太平洋驾意险
  4284. taipingyangInsuranceDataTable: [],
  4285. taipingyangaccidentalDrivingVo: {}, //太平洋驾意险
  4286. insuranceHN: "", //华农
  4287. huanongInsuranceData: [], //华农驾意险
  4288. huanongInsuranceDataTable: [],
  4289. huanongaccidentalDrivingVo: {}, //华农驾意险
  4290. renshouaccidentalDrivingVo: {}, //人寿意外险
  4291. renshouInsuranceData: [], //-人寿意外险list
  4292. ziJinInsuranceData: [], //-紫金意外险list
  4293. zhonganInsuranceData: [], //众安驾意险
  4294. zhonganaccidentalDrivingVo: {}, //众安驾意险
  4295. zijinInsuranceDataTable: [],
  4296. zijintemplateSelection: "",
  4297. accidentalDrivingVo: [], //-紫金意外险传参
  4298. zijinengageListData: [], //紫金特约
  4299. zijinengageList: [], //紫金特约
  4300. // ------------紫金意外险
  4301. renshoutemplateSelection: "", //人寿
  4302. renshouInsuranceDataTable: [],
  4303. zhongantemplateSelection: "", //众安
  4304. zhonganInsuranceDataTable: [],
  4305. taipingtemplateSelection: "", //太平
  4306. taipingInsuranceData: [], //太平驾意险
  4307. TPDrivingChangeInsuranceData: [],
  4308. taipingaccidentalDrivingVo: {}, //太平驾意险
  4309. licenseplate: true,
  4310. calculateLoading: false, //保费计算按钮 节流
  4311. preserveQuoteLoading: false, //保存按钮
  4312. emporaryLoading: false,
  4313. accidentForm: {
  4314. quantity: "1",
  4315. sumPremium: 0,
  4316. }, //永诚意外险内容
  4317. accidentFormHN: {
  4318. allQuantity: "1",
  4319. quantity: "1",
  4320. }, //华农意外险内容
  4321. yongchengaccidentDataList: [], //永诚意外险
  4322. yongchengtemplateSelection: "",
  4323. guoRenaccidentDataList: [], //国任意外险
  4324. guoRenInsuranceDataTable: [],
  4325. guoRenaccidentDataListChild: [],
  4326. guoRenaccidentalDrivingVo: {}, //国任驾意险
  4327. dajiatemplateSelection: "",
  4328. dajiaaccidentDataListChild: [],
  4329. dajiaaccidentForm: {},
  4330. dajiaInsuranceData: [], //大家意外险
  4331. dajiaInsuranceDataTable: [],
  4332. dajiaaccidentalDrivingVo: {},
  4333. yongchengInsuranceDataTable: [],
  4334. guoRenaccidentLoading: false,
  4335. contributingLoading: false,
  4336. guoRenaccidentPremium: "",
  4337. guoRenaccidentForm: {
  4338. quantity: "1",
  4339. sumPremium: 0,
  4340. }, //国任意外险内容
  4341. accidentFormZM: {
  4342. quantity: "1",
  4343. sumPremium: 0,
  4344. }, //中煤意外险内容
  4345. boHaiaccidentDataList: [], //渤海意外险
  4346. boHaigtemplateSelection:'',
  4347. boHaiaccidentForm: {
  4348. copies: "1",
  4349. policyNum: 0,
  4350. },
  4351. bohaiInsuranceDataTable: [],
  4352. accidentPremium: "",
  4353. accidentPremiumZM: "",
  4354. contributingState: false, //是否为国任特约
  4355. pickerOptions: {
  4356. disabledDate(time) {
  4357. //若选择的日期小于当前日期(包含今天)
  4358. return time.getTime() > Date.now();
  4359. //若选择的日期大于当前日期(不包含今天): time.getTime() < Date.now()
  4360. //若选择的日期小于当前日期(不包含今天): time.getTime() > Date.now() - 8.64e7
  4361. //若选择的日期小于等于当前日期(包含今天): time.getTime() > Date.now()
  4362. },
  4363. },
  4364. attributionform: {
  4365. //续保查询数据
  4366. configure: [],
  4367. companyId: "",
  4368. },
  4369. continuousAction: [], //续保配置项
  4370. //永诚转保确认码
  4371. cqryCdeJq: "",
  4372. cqryCdeSy: "",
  4373. renewalCodeJq: "", //交强确认码
  4374. renewalCodeSy: "", //商业确认码
  4375. renewalCodeJqImg: "", //交强图片
  4376. renewalCodeSyImg: "", //商业图片
  4377. //-----------------
  4378. showViewer: false,
  4379. transferDateShow: false, //转移登记日期
  4380. yonganchecked: false, //永安驾意险
  4381. renbaochecked: false, //人保驾意险
  4382. zhongmeichecked: false, //中煤驾意险
  4383. hengbangchecked: false, //恒邦驾意险
  4384. taipingyangchecked: false, //太平洋驾意险
  4385. yongchengchecked: false, //永诚驾意险
  4386. yonganDrivinglist: [],
  4387. renbaoDrivinglist: [],
  4388. zhongmeiDrivinglist: [],
  4389. hengbangDrivinglist: [],
  4390. taipingyangDrivinglist: [],
  4391. yongchengDrivinglist: [],
  4392. tbczcarShow: true, //投保人同车主
  4393. bbczcarShow: false, //被保人同车主
  4394. bbtbcarShow: true, //被保人同投保人
  4395. imageUploadShow: true, //上传影像显示
  4396. ProViewImg: "", //预览图片
  4397. carfrontImg: "", //行驶证正面
  4398. carbackImg: "", //行驶证背面
  4399. userfrontImg: "", //身份证正面
  4400. userbackImg: "", //身份证背面
  4401. businessImg: "",
  4402. CarFrontFile: "", //车正面文件流
  4403. CarBackFile: "", //车背面文件流
  4404. C02File: "",
  4405. D02File: "",
  4406. C03File: "",
  4407. D03File: "",
  4408. C04File: "",
  4409. D04File: "",
  4410. userIndex: 1, //区分三种人员
  4411. TabName: "car", //默认选项卡
  4412. value1: "",
  4413. chexingdialogVisible: false, //车型选择 显示/隐藏
  4414. sbdmdialogVisible: false, //车型车辆识别代码选择 显示/隐藏
  4415. codedialogVisible: false, //二维码 显示/隐藏
  4416. codedialogVisiblePro: false,
  4417. uploadcardialogVisible: false, //行驶证识别 显示/隐藏
  4418. uploaduserdialogVisible: false, //身份证识别 显示/隐藏
  4419. imageUploaddialogVisible: false, //影像上传 显示/隐藏
  4420. policyUploaddialogVisible: false, //保单上传
  4421. underwritingdialogVisible: false, //核保信息 显示/隐藏
  4422. renewalCodedialogVisible: false, //转保确认码输入
  4423. hbsubmitdialogVisible: false, //核保弹框
  4424. signaturedialogVisible:false, //生成签章
  4425. signaturecode:null,
  4426. Carinsurance: {
  4427. jqinsurance: "1", //交强险
  4428. syinsurance: "1", //商业险
  4429. },
  4430. jqchecked: true,
  4431. sychecked: false,
  4432. jqstartDate: "", //交强时间
  4433. jqendDate: "", //交强时间
  4434. systartDate: "", //商业时间
  4435. syendDate: "", //商业时间
  4436. loading: false, //加载事件
  4437. reslist: [], //车型列表
  4438. userId: "", //出单工号
  4439. carInfo: {
  4440. powerScale: "", ///功率
  4441. licenseNo: "", //车牌号
  4442. brandName: "", //车辆品牌型号
  4443. vinNo: "", //车架号
  4444. engineNo: "", //发动机号
  4445. modelCode: "", //车型编码
  4446. seatCount: null, //核定载客量 核定载人数
  4447. purchasePrice: null, //新车购置价最低,行业实际价值,协商价值
  4448. carBrand: "", //车型品牌
  4449. ciCarName: "", //行业车型名称
  4450. ciModelCode: "", //行业车型编码
  4451. completeKerbMass: "", //整备质量
  4452. exhaustScale: "", //排量
  4453. factory: "", //工厂名称
  4454. factoryid: "", //工厂编码
  4455. frameNo: "", //车架号
  4456. licenseTypeCode: "02", //号牌种类
  4457. vehicleclass: "", //车辆类型
  4458. familyName: "", //车型
  4459. modelcname: "", //车型名称
  4460. powertypecode: "", //燃料类型编码
  4461. vehicleweight: "", //总质量
  4462. limitLoad: "", //核定载质量
  4463. caryear: null, //年款
  4464. cimodelclass: "A0", //车辆种类
  4465. energyType: "0", //能源类型
  4466. enginedesc: "", //排量
  4467. registerDate: "", //注册日期
  4468. issueDate: "", //发证日期
  4469. transferFlag: 0, //过户标志
  4470. transferFlagBi: false, //商业险是否过户
  4471. transferDate: "", //过户日期
  4472. loanStatus: 0, //贷款标志
  4473. firstBeneMan: "", //第一受益人
  4474. noLicenseFlag: false, //是否新车
  4475. cartype: "", //客车A0 货车H0
  4476. carnature: "02", //使用性质
  4477. vehicleUse: "05",
  4478. property: "1", //所属性质 1个人 2企业 3个人
  4479. },
  4480. carform: {
  4481. carOwner: "", //车主
  4482. licenseNo: "", //车牌号
  4483. modelcname: "", //车辆品牌型号
  4484. frameNo: "", //车架号
  4485. engineNo: "", //发动机号
  4486. registerDate: "", //注册日期
  4487. issueDate: "", //发证日期
  4488. grossMass: "", //总质量
  4489. unladenMass: "", //整备质量
  4490. limitLoad: "", //核定载质量
  4491. approvedPassengersCapacity: "", //核定载客数
  4492. },
  4493. ownerInfoform: {
  4494. name: "",
  4495. identifyType: "",
  4496. identifyNumber: "",
  4497. age: "", //年龄
  4498. gender: "", //性别
  4499. addr: "",
  4500. email: "",
  4501. mobile: "",
  4502. identifyValidDate: "", //有效期起期
  4503. identifyValidEndDate: "", //有效期止期
  4504. // province: "",//省
  4505. // city: "",//市
  4506. // county: "",//县
  4507. },
  4508. riskList: [], //险种大类信息
  4509. kindList: [], //商业险险别
  4510. ownerInfo: {
  4511. //车主
  4512. name: "", //姓名
  4513. identifyType: "01", //身份证类型
  4514. identifyNumber: "", //身份证号
  4515. age: "", //年龄
  4516. gender: "", //性别
  4517. addr: "", //地址
  4518. email: "", //邮箱
  4519. mobile: "", //电话
  4520. identifyValidDate: "", //有效期起期
  4521. identifyValidEndDate: "", //有效期止期
  4522. // province: "",//省
  4523. // city: "",//市
  4524. // county: "",//县
  4525. provinceData: [], //省市区
  4526. },
  4527. policyHolderInfo: {
  4528. //投保人
  4529. name: "", //姓名
  4530. identifyType: "01", //身份证类型
  4531. identifyNumber: "", //身份证号
  4532. age: "", //年龄
  4533. gender: "", //性别
  4534. addr: "", //地址
  4535. email: "", //邮箱
  4536. mobile: "", //电话
  4537. identifyValidDate: "", //有效期起期
  4538. identifyValidEndDate: "", //有效期止期
  4539. // province: "",//省
  4540. // city: "",//市
  4541. // county: "",//县
  4542. provinceData: [], //省市区
  4543. },
  4544. insuredPersonInfo: {
  4545. //被保人
  4546. name: "", //姓名
  4547. identifyType: "01", //身份证类型
  4548. identifyNumber: "", //身份证号
  4549. age: "", //年龄
  4550. gender: "", //性别
  4551. addr: "", //地址
  4552. email: "", //邮箱
  4553. mobile: "", //电话
  4554. identifyValidDate: "", //有效期起期
  4555. identifyValidEndDate: "", //有效期止期
  4556. provinceData: [], //省市区
  4557. // province: "",//省
  4558. // city: "",//市
  4559. // county: "",//县
  4560. },
  4561. //车船税form
  4562. vehicleAndVesselTaxForm: {
  4563. taxRelifFlag: "1", //类型
  4564. identifyNumber: "", //纳税人识别号
  4565. taxpayerIdentifier: "01", //纳税人证件类型
  4566. taxpayerName: "", //纳税人名称
  4567. extendChar2: "", //减免税凭证号
  4568. paidFreeCertificate: "", //完税凭证号
  4569. relifReason: "", //减免税原因
  4570. taxComCode: "", //税务机关代码
  4571. taxComName: "", ///税务机关名称
  4572. taxDocumentDate: "", //完税日期
  4573. taxPaidAreaCode: "", //完税凭证地区代码
  4574. taxRelief: "", //减税比例
  4575. },
  4576. //车辆用途列表
  4577. vehicleList: [],
  4578. //能源种类列表
  4579. rules: {
  4580. extendChar2: [
  4581. { required: true, message: "请输入减免税凭证号", trigger: "blur" },
  4582. ],
  4583. paidFreeCertificate: [
  4584. { required: true, message: "请输入完税凭证号", trigger: "blur" },
  4585. ],
  4586. relifReason: [
  4587. { required: true, message: "请输入减免税原因", trigger: "blur" },
  4588. ],
  4589. taxComCode: [
  4590. { required: true, message: "请输入税务机关代码", trigger: "blur" },
  4591. ],
  4592. taxComName: [
  4593. { required: true, message: "请输入税务机关名称", trigger: "blur" },
  4594. ],
  4595. taxDocumentDate: [
  4596. { required: true, message: "请输入完税日期", trigger: "blur" },
  4597. ],
  4598. taxPaidAreaCode: [
  4599. { required: true, message: "请选择完税地区", trigger: "blur" },
  4600. ],
  4601. taxRelief: [
  4602. { required: true, message: "请输入减税比例", trigger: "blur" },
  4603. ],
  4604. taxpayerName: [
  4605. { required: true, message: "请输入纳税人名称", trigger: "blur" },
  4606. ],
  4607. taxpayerIdentifier: [
  4608. { required: true, message: "请选择证件类型", trigger: "blur" },
  4609. ],
  4610. taxRelifFlag: [
  4611. { required: true, message: "请选择纳税类型", trigger: "blur" },
  4612. ],
  4613. energyType: [
  4614. { required: true, validator: validateRight, trigger: "blur" },
  4615. ],
  4616. cimodelclass: [
  4617. { required: true, message: "请选择车辆种类", trigger: "blur" },
  4618. ],
  4619. carnature: [
  4620. { required: true, message: "请选择使用性质", trigger: "blur" },
  4621. ],
  4622. cartype: [
  4623. { required: true, message: "请选择车辆类型", trigger: "blur" },
  4624. ],
  4625. vehicleUse: [
  4626. { required: true, message: "请选择车辆用途", trigger: "blur" },
  4627. ],
  4628. brandName: [
  4629. { required: true, message: "请填写品牌型号", trigger: "blur" },
  4630. ],
  4631. licenseNo: [
  4632. { max: 8, message: "最多八个字符", trigger: "blur" },
  4633. { required: true, validator: carPhoneValid, trigger: "blur" },
  4634. ],
  4635. frameNo: [{ validator: checkframeNo, trigger: "blur" }],
  4636. engineNo: [
  4637. { required: true, message: "请填写发动机号", trigger: "blur" },
  4638. ],
  4639. purchasePrice: [
  4640. { required: true, validator: checkpurchasePrice, trigger: "blur" },
  4641. ],
  4642. registerDate: [
  4643. { required: true, message: "请选择注册时间", trigger: "blur" },
  4644. ],
  4645. issueDate: [
  4646. { required: true, message: "请选择发证日期", trigger: "blur" },
  4647. ],
  4648. transferDate: [
  4649. { required: true, message: "请选择转移登记日期", trigger: "blur" },
  4650. ],
  4651. seatCount: [
  4652. { required: true, message: "请输入座位数", trigger: "blur" },
  4653. ],
  4654. completeKerbMass: [
  4655. { required: true, message: "请输入整备质量", trigger: "blur" },
  4656. ],
  4657. name: [{ required: true, message: "请填写姓名", trigger: "blur" }],
  4658. taxamount: [
  4659. { required: true, message: "请填写车船税", trigger: "blur" },
  4660. ],
  4661. signDate: [
  4662. { required: true, message: "请填写签单日期", trigger: "blur" },
  4663. ],
  4664. // identifyNumber: [
  4665. // { required: true, message: "请填写证件号", trigger: "blur" },
  4666. // { min: 18, max: 18, message: "长度在18个字符", trigger: "blur" },
  4667. // {
  4668. // pattern: /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9xX]$/,
  4669. // message: "请输入正确的证件号",
  4670. // trigger: "blur"
  4671. // }
  4672. // ],
  4673. identifyValidDate: [
  4674. { required: true, message: "请选择起期", trigger: "blur" },
  4675. ],
  4676. identifyValidEndDate: [
  4677. { required: true, message: "请选择止期", trigger: "blur" },
  4678. ],
  4679. addr: [
  4680. { required: true, message: "请填写地址", trigger: "blur" },
  4681. { min: 8, message: "最少8个字符", trigger: "blur" },
  4682. ],
  4683. mobile: [
  4684. { required: true, message: "请填写手机号", trigger: "blur" },
  4685. { min: 11, max: 11, message: "长度在11个字符", trigger: "blur" },
  4686. {
  4687. pattern:
  4688. /^(13[0-9]|14[01456879]|15[0-3,5-9]|16[2567]|17[0-8]|18[0-9]|19[0-3,5-9])\d{8}$/,
  4689. message: "请输入正确的手机号",
  4690. trigger: "blur",
  4691. },
  4692. ],
  4693. email: [
  4694. { min: 10, max: 20, message: "最少10个字符", trigger: "blur" },
  4695. {
  4696. pattern:
  4697. /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/,
  4698. message: "请输入正确的邮箱",
  4699. trigger: "blur",
  4700. },
  4701. ],
  4702. },
  4703. CIInsureList: {
  4704. //交强险
  4705. amount: "1",
  4706. amountDesc: "投保",
  4707. amtList: [
  4708. {
  4709. label: "不投保",
  4710. value: "0",
  4711. },
  4712. {
  4713. label: "投保",
  4714. value: "1",
  4715. },
  4716. ],
  4717. kindCode: "0507",
  4718. kindName: "交强险",
  4719. desc: "国家强制规定购买的险种,对第三方的人身或财产损失提供基本保障",
  4720. },
  4721. BIInsureList: {
  4722. //商业险
  4723. amount: "0",
  4724. amountDesc: "投保",
  4725. amtList: [
  4726. {
  4727. label: "不投保",
  4728. value: "0",
  4729. },
  4730. {
  4731. label: "投保",
  4732. value: "1",
  4733. },
  4734. ],
  4735. kindCode: "0510",
  4736. kindName: "商业险",
  4737. desc: "国家强制规定购买的险种,对第三方的人身或财产损失提供基本保障",
  4738. },
  4739. insureList: [
  4740. {
  4741. amount: "0",
  4742. amountDesc: "投保",
  4743. coveragePremium: 0,
  4744. amtList: [
  4745. {
  4746. label: "不投保",
  4747. value: "0",
  4748. },
  4749. {
  4750. label: "投保",
  4751. value: "1",
  4752. },
  4753. ],
  4754. kindCode: "A",
  4755. isMainRisk: true,
  4756. kindName: "机动车损失险",
  4757. desc: "保险期间内,被保险人或被保险机动车驾驶人在使用被保险机动车过程中,因自然灾害、意外事故、机动车被盗窃、抢劫、抢夺等情况(详见保险条款)造成被保险机动车直接损失,且不属于免除保险人责任的范围,保险人依照本保险合同的约定负责赔偿的险种。",
  4758. },
  4759. {
  4760. amount: "0",
  4761. amountDesc: "不投保",
  4762. coveragePremium: 0,
  4763. amtList: [
  4764. {
  4765. label: "不投保",
  4766. value: "0",
  4767. },
  4768. {
  4769. label: "10万",
  4770. value: "100000",
  4771. },
  4772. {
  4773. label: "15万",
  4774. value: "150000",
  4775. },
  4776. {
  4777. label: "20万",
  4778. value: "200000",
  4779. },
  4780. {
  4781. label: "30万",
  4782. value: "300000",
  4783. },
  4784. {
  4785. label: "50万",
  4786. value: "500000",
  4787. },
  4788. {
  4789. label: "100万",
  4790. value: "1000000",
  4791. },
  4792. {
  4793. label: "150万",
  4794. value: "1500000",
  4795. },
  4796. {
  4797. label: "200万",
  4798. value: "2000000",
  4799. },
  4800. {
  4801. label: "250万",
  4802. value: "2500000",
  4803. },
  4804. {
  4805. label: "300万",
  4806. value: "3000000",
  4807. },
  4808. {
  4809. label: "400万",
  4810. value: "4000000",
  4811. },
  4812. {
  4813. label: "500万",
  4814. value: "5000000",
  4815. },
  4816. {
  4817. label: "600万",
  4818. value: "6000000",
  4819. },
  4820. {
  4821. label: "800万",
  4822. value: "8000000",
  4823. },
  4824. {
  4825. label: "1000万",
  4826. value: "10000000",
  4827. },
  4828. ],
  4829. kindCode: "B",
  4830. isMainRisk: true,
  4831. kindName: "第三者责任险",
  4832. desc: "保险期间内,被保险人或其允许的驾驶人在使用被保险机动车过程中发生意外事故,致使第三者遭受人身伤亡或财产直接损毁,依法应当对第三者承担的损害赔偿责任,且不属于免除保险人责任的范围,保险人依照本保险合同的约定,对于超过机动车交通事故责任强制保险各分项赔偿限额的部分负责赔偿的险种。",
  4833. },
  4834. {
  4835. amount: "0",
  4836. amountDesc: "1万",
  4837. coveragePremium: 0,
  4838. amtList: [
  4839. {
  4840. label: "不投保",
  4841. value: "0",
  4842. },
  4843. {
  4844. label: "1万",
  4845. value: "10000",
  4846. },
  4847. {
  4848. label: "2万",
  4849. value: "20000",
  4850. },
  4851. {
  4852. label: "3万",
  4853. value: "30000",
  4854. },
  4855. {
  4856. label: "4万",
  4857. value: "40000",
  4858. },
  4859. {
  4860. label: "5万",
  4861. value: "50000",
  4862. },
  4863. {
  4864. label: "6万",
  4865. value: "60000",
  4866. },
  4867. {
  4868. label: "7万",
  4869. value: "70000",
  4870. },
  4871. {
  4872. label: "8万",
  4873. value: "80000",
  4874. },
  4875. {
  4876. label: "9万",
  4877. value: "90000",
  4878. },
  4879. {
  4880. label: "10万",
  4881. value: "100000",
  4882. },
  4883. {
  4884. label: "15万",
  4885. value: "150000",
  4886. },
  4887. {
  4888. label: "20万",
  4889. value: "200000",
  4890. },
  4891. {
  4892. label: "25万",
  4893. value: "250000",
  4894. },
  4895. {
  4896. label: "30万",
  4897. value: "300000",
  4898. },
  4899. {
  4900. label: "35万",
  4901. value: "350000",
  4902. },
  4903. {
  4904. label: "40万",
  4905. value: "400000",
  4906. },
  4907. {
  4908. label: "45万",
  4909. value: "450000",
  4910. },
  4911. {
  4912. label: "50万",
  4913. value: "500000",
  4914. },
  4915. ],
  4916. kindCode: "D3",
  4917. isMainRisk: true,
  4918. kindName: "司机责任险",
  4919. desc: "保险期间内,被保险人或其允许的驾驶人在使用被保险机动车过程中发生意外事故,致使车上人员遭受人身伤亡,且不属于免除保险人责任的范围,依法应当对车上人员承担的损害赔偿责任,保险人依照本保险合同的约定负责赔偿的险种。",
  4920. },
  4921. {
  4922. amount: "0",
  4923. amountDesc: "1万",
  4924. coveragePremium: 0,
  4925. amtList: [
  4926. {
  4927. label: "不投保",
  4928. value: "0",
  4929. },
  4930. {
  4931. label: "1万",
  4932. value: "10000",
  4933. },
  4934. {
  4935. label: "2万",
  4936. value: "20000",
  4937. },
  4938. {
  4939. label: "3万",
  4940. value: "30000",
  4941. },
  4942. {
  4943. label: "4万",
  4944. value: "40000",
  4945. },
  4946. {
  4947. label: "5万",
  4948. value: "50000",
  4949. },
  4950. {
  4951. label: "6万",
  4952. value: "60000",
  4953. },
  4954. {
  4955. label: "7万",
  4956. value: "70000",
  4957. },
  4958. {
  4959. label: "8万",
  4960. value: "80000",
  4961. },
  4962. {
  4963. label: "9万",
  4964. value: "90000",
  4965. },
  4966. {
  4967. label: "10万",
  4968. value: "100000",
  4969. },
  4970. {
  4971. label: "15万",
  4972. value: "150000",
  4973. },
  4974. {
  4975. label: "20万",
  4976. value: "200000",
  4977. },
  4978. {
  4979. label: "25万",
  4980. value: "250000",
  4981. },
  4982. {
  4983. label: "30万",
  4984. value: "300000",
  4985. },
  4986. {
  4987. label: "35万",
  4988. value: "350000",
  4989. },
  4990. {
  4991. label: "40万",
  4992. value: "400000",
  4993. },
  4994. {
  4995. label: "45万",
  4996. value: "450000",
  4997. },
  4998. {
  4999. label: "50万",
  5000. value: "500000",
  5001. },
  5002. ],
  5003. kindCode: "D4",
  5004. isMainRisk: true,
  5005. kindName: "乘客责任险",
  5006. desc: "保险期间内,被保险人或其允许的驾驶人在使用被保险机动车过程中发生意外事故,致使车上人员遭受人身伤亡,且不属于免除保险人责任的范围,依法应当对车上人员承担的损害赔偿责任,保险人依照本保险合同的约定负责赔偿的险种。",
  5007. },
  5008. {
  5009. amount: "0",
  5010. amountDesc: "不投保",
  5011. coveragePremium: 0,
  5012. amtList: [
  5013. {
  5014. label: "不投保",
  5015. value: "0",
  5016. },
  5017. {
  5018. label: "2千",
  5019. value: "2000",
  5020. },
  5021. {
  5022. label: "5千",
  5023. value: "5000",
  5024. },
  5025. {
  5026. label: "1万",
  5027. value: "10000",
  5028. },
  5029. {
  5030. label: "2万",
  5031. value: "20000",
  5032. },
  5033. ],
  5034. desc: "保险期间内,被保险机动车在被保险人或被保险机动车驾驶人使用过程中,发生无明显碰撞痕迹的车身划痕损失,保险人按照保险合同约定负责赔偿的险种",
  5035. isMainRisk: false,
  5036. kindCode: "L",
  5037. kindName: "车身划痕险",
  5038. mainRiskCodeList: "A",
  5039. },
  5040. {
  5041. amount: "0",
  5042. amountDesc: "不投保",
  5043. coveragePremium: 0,
  5044. amtList: [
  5045. {
  5046. label: "不投保",
  5047. value: "0",
  5048. },
  5049. {
  5050. label: "5%",
  5051. value: "5",
  5052. },
  5053. {
  5054. label: "10%",
  5055. value: "10",
  5056. },
  5057. {
  5058. label: "15%",
  5059. value: "15",
  5060. },
  5061. {
  5062. label: "20%",
  5063. value: "20",
  5064. },
  5065. ],
  5066. desc: "被保险机动车发生主险约定的保险事故,保险人按照主险的约定计算赔款后,扣减本特约条款约定的免赔的险种。",
  5067. isMainRisk: false,
  5068. kindCode: "MJ1",
  5069. kindName: "绝对免赔率特约险(车损)",
  5070. mainRiskCodeList: "A",
  5071. },
  5072. {
  5073. amount: "0",
  5074. amountDesc: "不投保",
  5075. coveragePremium: 0,
  5076. amtList: [
  5077. {
  5078. label: "不投保",
  5079. value: "0",
  5080. },
  5081. {
  5082. label: "5%",
  5083. value: "5",
  5084. },
  5085. {
  5086. label: "10%",
  5087. value: "10",
  5088. },
  5089. {
  5090. label: "15%",
  5091. value: "15",
  5092. },
  5093. {
  5094. label: "20%",
  5095. value: "20",
  5096. },
  5097. ],
  5098. desc: "被保险机动车发生主险约定的保险事故,保险人按照主险的约定计算赔款后,扣减本特约条款约定的免赔的险种。",
  5099. isMainRisk: false,
  5100. kindCode: "MJ2",
  5101. kindName: "绝对免赔率特约险(三者)",
  5102. mainRiskCodeList: "B",
  5103. },
  5104. {
  5105. amount: "0",
  5106. amountDesc: "不投保",
  5107. coveragePremium: 0,
  5108. amtList: [
  5109. {
  5110. label: "不投保",
  5111. value: "0",
  5112. },
  5113. {
  5114. label: "5%",
  5115. value: "5",
  5116. },
  5117. {
  5118. label: "10%",
  5119. value: "10",
  5120. },
  5121. {
  5122. label: "15%",
  5123. value: "15",
  5124. },
  5125. {
  5126. label: "20%",
  5127. value: "20",
  5128. },
  5129. ],
  5130. desc: "被保险机动车发生主险约定的保险事故,保险人按照主险的约定计算赔款后,扣减本特约条款约定的免赔的险种。",
  5131. isMainRisk: false,
  5132. kindCode: "MJ3",
  5133. kindName: "绝对免赔率特约险(司机)",
  5134. mainRiskCodeList: "D3",
  5135. },
  5136. {
  5137. amount: "0",
  5138. amountDesc: "不投保",
  5139. coveragePremium: 0,
  5140. amtList: [
  5141. {
  5142. label: "不投保",
  5143. value: "0",
  5144. },
  5145. {
  5146. label: "5%",
  5147. value: "5",
  5148. },
  5149. {
  5150. label: "10%",
  5151. value: "10",
  5152. },
  5153. {
  5154. label: "15%",
  5155. value: "15",
  5156. },
  5157. {
  5158. label: "20%",
  5159. value: "20",
  5160. },
  5161. ],
  5162. desc: "被保险机动车发生主险约定的保险事故,保险人按照主险的约定计算赔款后,扣减本特约条款约定的免赔的险种。",
  5163. isMainRisk: false,
  5164. kindCode: "MJ4",
  5165. kindName: "绝对免赔率特约险(乘客)",
  5166. mainRiskCodeList: "D4",
  5167. },
  5168. {
  5169. amount: "0",
  5170. amountDesc: "不投保",
  5171. coveragePremium: 0,
  5172. amtList: [
  5173. {
  5174. label: "不投保",
  5175. value: "0",
  5176. },
  5177. {
  5178. label: "1万",
  5179. value: "10000",
  5180. },
  5181. {
  5182. label: "2万",
  5183. value: "20000",
  5184. },
  5185. {
  5186. label: "4万",
  5187. value: "40000",
  5188. },
  5189. {
  5190. label: "5万",
  5191. value: "50000",
  5192. },
  5193. {
  5194. label: "8万",
  5195. value: "80000",
  5196. },
  5197. {
  5198. label: "10万",
  5199. value: "100000",
  5200. },
  5201. {
  5202. label: "20万",
  5203. value: "200000",
  5204. },
  5205. {
  5206. label: "30万",
  5207. value: "300000",
  5208. },
  5209. {
  5210. label: "50万",
  5211. value: "500000",
  5212. },
  5213. {
  5214. label: "100万",
  5215. value: "1000000",
  5216. },
  5217. {
  5218. label: "200万",
  5219. value: "2000000",
  5220. },
  5221. {
  5222. label: "300万",
  5223. value: "3000000",
  5224. },
  5225. ],
  5226. kindCode: "SY_FJ_YBW1",
  5227. isMainRisk: true,
  5228. kindName: "附加医保-三者",
  5229. desc: "附加医保外医疗费用责任险(机动车第三者责任保险)",
  5230. },
  5231. {
  5232. amount: "0",
  5233. amountDesc: "不投保",
  5234. coveragePremium: 0,
  5235. amtList: [
  5236. {
  5237. label: "不投保",
  5238. value: "0",
  5239. },
  5240. {
  5241. label: "1万",
  5242. value: "10000",
  5243. },
  5244. {
  5245. label: "2万",
  5246. value: "20000",
  5247. },
  5248. {
  5249. label: "5万",
  5250. value: "50000",
  5251. },
  5252. {
  5253. label: "10万",
  5254. value: "100000",
  5255. },
  5256. ],
  5257. kindCode: "SY_FJ_YBW2",
  5258. isMainRisk: true,
  5259. kindName: "附加医保-座位险(乘客)",
  5260. desc: "附加医保外医疗费用责任险(机动车第三者责任保险)",
  5261. },
  5262. {
  5263. amount: "0",
  5264. amountDesc: "不投保",
  5265. coveragePremium: 0,
  5266. amtList: [
  5267. {
  5268. label: "不投保",
  5269. value: "0",
  5270. },
  5271. {
  5272. label: "1万",
  5273. value: "10000",
  5274. },
  5275. {
  5276. label: "2万",
  5277. value: "20000",
  5278. },
  5279. {
  5280. label: "5万",
  5281. value: "50000",
  5282. },
  5283. {
  5284. label: "10万",
  5285. value: "100000",
  5286. },
  5287. ],
  5288. kindCode: "SY_FJ_YBW3",
  5289. isMainRisk: true,
  5290. kindName: "附加医保-座位险(司机)",
  5291. desc: "附加医保外医疗费用责任险(机动车第三者责任保险)",
  5292. },
  5293. {
  5294. amount: "0",
  5295. amountDesc: "不投保",
  5296. coveragePremium: 0,
  5297. amtList: [
  5298. {
  5299. label: "不投保",
  5300. value: "0",
  5301. },
  5302. {
  5303. label: "50万",
  5304. value: "500000",
  5305. },
  5306. {
  5307. label: "100万",
  5308. value: "1000000",
  5309. },
  5310. {
  5311. label: "150万",
  5312. value: "1500000",
  5313. },
  5314. {
  5315. label: "200万",
  5316. value: "2000000",
  5317. },
  5318. {
  5319. label: "250万",
  5320. value: "2500000",
  5321. },
  5322. {
  5323. label: "300万",
  5324. value: "3000000",
  5325. },
  5326. {
  5327. label: "500万",
  5328. value: "5000000",
  5329. },
  5330. {
  5331. label: "1000万",
  5332. value: "10000000",
  5333. },
  5334. ],
  5335. desc: "保险期间内,被保险人或其允许的驾驶人在法定节假日期间使用被保险机动车发生机动车第三者责任保险范围内的事故,并经公安部门或保险人查勘确认的,被保险机动车第三者责任保险所适用的责任限额在保险单载明的基础上增加一倍的险种",
  5336. isMainRisk: false,
  5337. kindCode: "BD",
  5338. kindName: "法定节假日限额翻倍险",
  5339. mainRiskCodeList: "B",
  5340. },
  5341. {
  5342. amount: "0",
  5343. amountDesc: "不投保",
  5344. coveragePremium: 0,
  5345. amtList: [
  5346. {
  5347. label: "不投保",
  5348. value: "0",
  5349. },
  5350. {
  5351. label: "2次",
  5352. value: "2",
  5353. },
  5354. {
  5355. label: "7次",
  5356. value: "7",
  5357. },
  5358. {
  5359. label: "12次",
  5360. value: "12",
  5361. },
  5362. {
  5363. label: "17次",
  5364. value: "17",
  5365. },
  5366. {
  5367. label: "22次",
  5368. value: "22",
  5369. },
  5370. ],
  5371. desc: "道路救援服务特约条款",
  5372. isMainRisk: false,
  5373. kindCode: "TY1",
  5374. kindName: "道路救援服务特约条款",
  5375. },
  5376. {
  5377. amount: "0",
  5378. amountDesc: "不投保",
  5379. coveragePremium: 0,
  5380. desc: "车辆安全检测特约条款",
  5381. isMainRisk: false,
  5382. kindCode: "TY2",
  5383. kindName: "车辆安全检测特约条款",
  5384. },
  5385. {
  5386. amount: "0",
  5387. amountDesc: "不投保",
  5388. coveragePremium: 0,
  5389. desc: "代为驾驶服务特约条款",
  5390. isMainRisk: false,
  5391. kindCode: "TY3",
  5392. kindName: "代为驾驶服务特约条款",
  5393. },
  5394. {
  5395. amount: "0",
  5396. amountDesc: "不投保",
  5397. coveragePremium: 0,
  5398. desc: "代为送检服务特约条款",
  5399. isMainRisk: false,
  5400. kindCode: "TY4",
  5401. kindName: "代为送检服务特约条款",
  5402. },
  5403. ],
  5404. totalCompanyList: [], //报价保险公司
  5405. continuousCompanyList: [], //续保保险公司
  5406. quoteno: "", //报价号
  5407. orderno: "", //订单号
  5408. queryOrders: {
  5409. extendInfo: {},
  5410. carinfo: {},
  5411. ownerinfo: {},
  5412. applyinfo: {},
  5413. insureinfo: {},
  5414. }, //核保详情
  5415. inscompany: "", //保险公司名称
  5416. licenseNo: "", //车牌号
  5417. applyName: "", //车主名字
  5418. orderstatus: "", //订单状态
  5419. sumpremium: "", //保费合计
  5420. jqpremium: "", //交强
  5421. sypremium: "", //商业
  5422. jypremium: "", //驾意险
  5423. taxamount: "", //车船税
  5424. jqstartdate: "", //交强时间
  5425. systartdate: "", //商业时间
  5426. mobile: "", //投保人手机号
  5427. //影像回显列表
  5428. // 是否禁用上传
  5429. uploadDisabled: false,
  5430. href: "",
  5431. pageRequest: {
  5432. //归属查询
  5433. pageNum: 1,
  5434. pageSize: 20,
  5435. columnFilters: {
  5436. deptId: {
  5437. name: "deptId",
  5438. value: "9",
  5439. },
  5440. containsSubDept: {
  5441. name: "containsSubDept",
  5442. value: 1,
  5443. },
  5444. usertype: {
  5445. name: "usertype",
  5446. value: null,
  5447. },
  5448. status: {
  5449. name: "status",
  5450. value: "1",
  5451. },
  5452. id: {
  5453. name: "id",
  5454. value: "",
  5455. },
  5456. name: {
  5457. name: "name",
  5458. value: "",
  5459. },
  5460. mobile: {
  5461. name: "mobile",
  5462. value: "",
  5463. },
  5464. },
  5465. },
  5466. userform: {},
  5467. qrcode: null,
  5468. paycodeimg: "", //展示二维码
  5469. ImageUrldialogVisible: false,
  5470. paramsEdit: "",
  5471. companyId: "",
  5472. apiType: "",
  5473. insureMore: true,
  5474. // insureLength: 5,
  5475. HistoryList: [], //历史记录数据
  5476. image1: "",
  5477. image2: "",
  5478. historyRadio: "888",
  5479. sumseatCount: "", // 投保险种座位数
  5480. deptName: "",
  5481. isBottom: true,
  5482. logoImg: "", //报价单保险公司logo图
  5483. vehicleTypeoptions: [], //车辆种类
  5484. trafficManagementVehicleTypeoptions: [], //车辆类型
  5485. energyTypeoptions: [], //能源种类
  5486. taxRelifFlagoptions: [], //车船税类型
  5487. taxpayerIdentifieroptions: [], //纳税人证件类型
  5488. relifReasonoptions: [], //减免税原因代码
  5489. relifReasonoptions: [], //减免税原因代码
  5490. provinceSelect: [],
  5491. natureOfVehicleUseoptions: [],
  5492. businessVehicleUseoptions: [],
  5493. outOfBusinessVehicleUseoptions: [],
  5494. insOrderStatusoptions: [],
  5495. lastCompanyId: "",
  5496. apiInterfaceName: "generateOrder",
  5497. isLetter3Arr: [],
  5498. isLetter3agreementId: "",
  5499. editorInfo: {},
  5500. resultMessageImg:'',
  5501. tabLiIndex: 0,
  5502. tabLimenu: [
  5503. {
  5504. name: "车辆信息",
  5505. scroll: "vehicle",
  5506. },
  5507. {
  5508. name: "车主信息",
  5509. scroll: "owner",
  5510. },
  5511. {
  5512. name: "投保人信息",
  5513. scroll: "applicant",
  5514. },
  5515. {
  5516. name: "被保人信息",
  5517. scroll: "insured",
  5518. },
  5519. {
  5520. name: "关系证明",
  5521. scroll: "relationship",
  5522. },
  5523. {
  5524. name: "验车照",
  5525. scroll: "yanchezhao",
  5526. },
  5527. {
  5528. name: "上年商业险保单",
  5529. scroll: "snbaodan",
  5530. },
  5531. {
  5532. name: "授权书",
  5533. scroll: "shouquanshu",
  5534. },
  5535. ],
  5536. ProViewImg: "", //预览图片
  5537. carfrontImg: "", //行驶证正面
  5538. carbackImg: "", //行驶证背面
  5539. userfrontImg: "", //身份证正面
  5540. userbackImg: "", //身份证背面
  5541. businessImg: "",
  5542. CarFrontFile: "", //车正面文件流
  5543. CarBackFile: "", //车背面文件流
  5544. C02File: "",
  5545. D02File: "",
  5546. C03File: "",
  5547. D03File: "",
  5548. C04File: "",
  5549. D04File: "",
  5550. //影像回显列表
  5551. imgList1: [],
  5552. imgList2: [],
  5553. imgList3: [],
  5554. imgList4: [],
  5555. imgList5: [],
  5556. imgList6: [],
  5557. imgList7: [],
  5558. imgList8: [],
  5559. imgList9: [],
  5560. imgList10: [],
  5561. imgList11: [],
  5562. imgList12: [],
  5563. imgList13: [],
  5564. imgList14: [],
  5565. imgList15: [],
  5566. imgList16: [],
  5567. imgList17: [],
  5568. imgList18: [],
  5569. imgList19: [],
  5570. imgList20: [],
  5571. imgList21: [],
  5572. imgList22: [],
  5573. imgList23: [],
  5574. imgList24: [],
  5575. imgList25: [],
  5576. //影像上传列表
  5577. imageList1: [],
  5578. imageList2: [],
  5579. imageList3: [],
  5580. imageList4: [],
  5581. imageList5: [],
  5582. imageList6: [],
  5583. showLoading: false,
  5584. detailJiaYiTitle: '查看详情',
  5585. oldData: {}, // 旧获取公司参数
  5586. myQrCode: null
  5587. };
  5588. },
  5589. watch: {
  5590. "carInfo.licenseNo": {
  5591. handler(val) {
  5592. if (val) {
  5593. this.carInfo.licenseNo = val.toUpperCase();
  5594. }
  5595. },
  5596. deep: true,
  5597. },
  5598. "carInfo.frameNo": {
  5599. handler(val) {
  5600. if (val) {
  5601. this.carInfo.frameNo = val.toUpperCase();
  5602. }
  5603. },
  5604. deep: true,
  5605. },
  5606. "carInfo.enginedesc": {
  5607. handler(val) {
  5608. if (val) {
  5609. this.carInfo.enginedesc = val.replace(/[A-Za-z]/g, "");
  5610. }
  5611. },
  5612. deep: true,
  5613. },
  5614. "ownerInfo.mobile": {
  5615. handler(val) {
  5616. if (val) {
  5617. this.ownerInfo.mobile = val.replace(/\s/g, "");
  5618. }
  5619. },
  5620. deep: true,
  5621. },
  5622. "policyHolderInfo.mobile": {
  5623. handler(val) {
  5624. if (val) {
  5625. this.policyHolderInfo.mobile = val.replace(/\s/g, "");
  5626. }
  5627. },
  5628. deep: true,
  5629. },
  5630. "insuredPersonInfo.mobile": {
  5631. handler(val) {
  5632. if (val) {
  5633. this.insuredPersonInfo.mobile = val.replace(/\s/g, "");
  5634. }
  5635. },
  5636. deep: true,
  5637. },
  5638. "carInfo.engineNo": {
  5639. handler(val) {
  5640. if (val) {
  5641. this.carInfo.engineNo = val.replace(/[^\w-]/gi, "").toUpperCase();
  5642. }
  5643. },
  5644. deep: true,
  5645. },
  5646. "carInfo.seatCount": {
  5647. handler(val) {
  5648. if (val) {
  5649. this.sumseatCount = val - 1;
  5650. }
  5651. },
  5652. deep: true,
  5653. },
  5654. "policyHolderInfo.identifyNumber": {
  5655. handler(val) {
  5656. if (val) {
  5657. this.vehicleAndVesselTaxForm.identifyNumber = val;
  5658. }
  5659. },
  5660. deep: true,
  5661. },
  5662. "policyHolderInfo.name": {
  5663. handler(val) {
  5664. if (val) {
  5665. this.vehicleAndVesselTaxForm.taxpayerName = val;
  5666. }
  5667. },
  5668. deep: true,
  5669. },
  5670. ownerInfo: {
  5671. handler(val) {
  5672. if(this.tbczcarShow) {
  5673. this.policyHolderInfo = {...val}
  5674. }
  5675. if(this.bbczcarShow) {
  5676. this.insuredPersonInfo = {...val}
  5677. }
  5678. },
  5679. deep: true
  5680. },
  5681. policyHolderInfo: {
  5682. handler(val) {
  5683. if(this.bbtbcarShow) {
  5684. this.insuredPersonInfo = {...val}
  5685. }
  5686. },
  5687. deep: true
  5688. }
  5689. },
  5690. props: {
  5691. isdisabled: {
  5692. type: Boolean,
  5693. default: true,
  5694. },
  5695. isLetter: {
  5696. type: String,
  5697. default: "1",
  5698. },
  5699. },
  5700. components: {
  5701. detailsDialog,
  5702. quotationDialog,
  5703. quotationDialogPro,
  5704. imageDialog,
  5705. Ktletter1Popover,
  5706. floatingBar,
  5707. "el-image-viewer": () =>
  5708. import("element-ui/packages/image/src/image-viewer"),
  5709. },
  5710. created() {
  5711. if (this.isLetter == "2") {
  5712. this.apiInterfaceName = "ordergenerateOrder";
  5713. }
  5714. if(this.isLetter == "1"){
  5715. this.$api.user.sysMenuRecordAdd(2,1).then((res) => {
  5716. });
  5717. }
  5718. // this.commpanyList(); //获取保险公司
  5719. this.getDicType("taxRelifFlag"); //车船税类型
  5720. this.getDicType("taxpayerIdentifier"); //纳税人证件类型
  5721. this.getDicType("relifReason"); //减免税原因代码
  5722. this.getDicType("vehicleType"); //车辆种类
  5723. this.getDicType("trafficManagementVehicleType"); //车辆类型
  5724. this.getDicType("energyType"); //能源种类
  5725. this.getDicType("natureOfVehicleUse"); //车辆使用性质
  5726. this.getDicType("businessVehicleUse"); //(车辆用途)营业
  5727. this.getDicType("outOfBusinessVehicleUse"); //(车辆用途)非营业
  5728. this.getDicType("insOrderStatus"); //状态
  5729. this.$api.letter.queryCompany().then((res) => {
  5730. this.continuousCompanyList = res.data;
  5731. });
  5732. this.$api.letter.packageQuery().then((res) => {
  5733. this.packageOptions = res.data;
  5734. });
  5735. localStorage.setItem("carInfo", JSON.stringify(this.carInfo));
  5736. localStorage.setItem("insureList", JSON.stringify(this.insureList));
  5737. //--归属信息获取--
  5738. if (this.isLetter == 1 || this.isLetter == 2) {
  5739. var userId = Cookies.get("user");
  5740. if (userId == "admin") {
  5741. this.userId = "admin";
  5742. } else {
  5743. // this.userId = userId;
  5744. this.$api.user.getLoginUser().then((res) => {
  5745. if (res.code == 200) {
  5746. this.userform = res.data;
  5747. this.$api.dept.getDeptById(res.data.deptId).then((res) => {
  5748. this.deptName = res.data.name;
  5749. });
  5750. this.userId = res.data.id;
  5751. }
  5752. });
  5753. }
  5754. }
  5755. //--订单编辑回显--
  5756. // this.paramsEdit = this.$route.query.data; //接收参数
  5757. // this.obtainProtocol(this.$route.query.data);
  5758. this.getProductId() // 获取险别
  5759. // this.editingWay(this.$route.query.data)
  5760. if (this.$route.query.data) {
  5761. this.editingWay(this.$route.query.data)
  5762. }
  5763. },
  5764. mounted() {
  5765. this.getCompanyList(this.$route.query.data)
  5766. this.onScroll();
  5767. if (this.$route.query.data) {
  5768. if(this.isDateBeforeToday(this.$route.query.data.jqstartdate)){
  5769. this.jqstartDate = this.transformTime1();
  5770. this.jqendDate = this.oneYearPast1(this.jqstartDate);
  5771. }else{
  5772. this.jqstartDate = this.$route.query.data.jqstartdate;
  5773. this.jqendDate = this.$route.query.data.jqenddate;
  5774. }
  5775. if (this.$route.query.data.jqstartdate.split(" ")[1] == "00:00:00") {
  5776. this.immediatelyValue = false;
  5777. } else {
  5778. this.immediatelyValue = true;
  5779. }
  5780. }
  5781. window.addEventListener("scroll", this.onScroll);
  5782. },
  5783. destroyed() {
  5784. window.removeEventListener("scroll", this.onScroll);
  5785. },
  5786. beforeCreate() {
  5787. _self = this;
  5788. },
  5789. computed: {
  5790. ...mapState({
  5791. collapse: (state) => state.app.collapse,
  5792. }),
  5793. issueDateOptions() {
  5794. return {
  5795. disabledDate: this.disabledDate,
  5796. };
  5797. },
  5798. },
  5799. filters: {
  5800. cap(ele) {
  5801. return _self.insOrderStatusoptions.find((item) => {
  5802. return item.dictValue === ele;
  5803. }).dictTag;
  5804. },
  5805. },
  5806. methods: {
  5807. deleteJiaYi(reslistindex, drivingIndex) {
  5808. this.totalCompanyList[reslistindex].programme.drivingList.splice(drivingIndex, 1)
  5809. this.$forceUpdate()
  5810. },
  5811. toWan(num, type) {
  5812. if (type == 'fw') {
  5813. return num + '次'
  5814. }
  5815. if (num > 10000) {
  5816. if (num % 10000 == 0) {
  5817. return (num / 10000) + '万'
  5818. } else {
  5819. return (num / 10000).toFixed(4) + '万'
  5820. }
  5821. } else if (num == 1) {
  5822. return '投保'
  5823. } else {
  5824. return num
  5825. }
  5826. },
  5827. // 获取新公司列表
  5828. getCompanyList(data) {
  5829. var _this = this;
  5830. if (!this.productId) {
  5831. this.$message.warning('请选择险种')
  5832. return
  5833. }
  5834. let starttime = new Date(this.carInfo.registerDate);
  5835. let endtime = new Date(this.carInfo.issueDate);
  5836. if (endtime < starttime) {
  5837. this.$message({ message: "发证日期早于初登日期", type: "error" });
  5838. return;
  5839. }
  5840. this.policyHolderInfovalidate()
  5841. this.$refs["carInfo"].validate((valid) => {
  5842. if (valid) {
  5843. _this.$refs["ownerInfo"].validate(async (valid1) => {
  5844. if (valid1) {
  5845. if (!this.bbczcarShow && !this.bbtbcarShow) {
  5846. this.$refs["insuredPersonInfo"].validate((valid2) => {
  5847. if (!valid2) {
  5848. document.getElementById("toubaor").scrollIntoView();
  5849. this.$message({ message: "请检查被投保人信息", type: "warning" });
  5850. return
  5851. }
  5852. });
  5853. }
  5854. if (!_this.productId) {
  5855. _this.$message.warning('请选择险别')
  5856. return
  5857. }
  5858. let res = {};
  5859. let param = {
  5860. productId: this.productId,
  5861. carInfo: this.carInfo,
  5862. ownerInfo: this.ownerInfo,
  5863. applyInfo: this.policyHolderInfo,
  5864. insureInfo: this.insuredPersonInfo,
  5865. userId:this.isLetter==2? this.userId:""
  5866. }
  5867. if (JSON.stringify(param) === this.oldData) {
  5868. return
  5869. } else {
  5870. this.oldData = JSON.stringify(param)
  5871. }
  5872. this.showLoading = true
  5873. // this.$api.letter.getAllAgreement().then((res) => {
  5874. this.$api.letter.ruleFilterCompany(param).then((res) => {
  5875. if (res.code == 200) {
  5876. res.data.map((ele) => {
  5877. ele["result"] = {};
  5878. ele["quoteCode"] = 0;
  5879. ele["checked"] = false;
  5880. ele["msg"] = "";
  5881. ele["lastYearMsg"] = "";
  5882. ele["agreementId"] = "";
  5883. ele["apiType"] = "";
  5884. ele["orderstatus"] = 0;
  5885. ele.coefficient = "";
  5886. ele.underwritingDescription =
  5887. ele.agreement[0].underwritingDescription;
  5888. if (ele.isTaxSource && ele.isTaxSource == "1" && ele.agreement) {
  5889. ele.agreement.forEach((val) => {
  5890. if (val.isTaxSource && val.isTaxSource == "1") {
  5891. ele.agreementId = val.id;
  5892. ele.apiType = val.apiType;
  5893. }
  5894. });
  5895. }
  5896. });
  5897. if (this.$route.query.data) {
  5898. data = data || this.$route.query.data
  5899. }
  5900. if (data) {
  5901. this.productId = this.productId || data.productid
  5902. res.data.forEach((val, index) => {
  5903. if(!data.insAreaCompanyEditingDtos) {
  5904. return
  5905. }
  5906. data.insAreaCompanyEditingDtos.forEach((ele) => {
  5907. if (val.namesimple == ele.inscompany) {
  5908. if (ele.inscompany == "中国人寿" && ele.companyId) {
  5909. this.lastCompanyId = ele.companyId;
  5910. }
  5911. res.data[index].quoteCode = 200;
  5912. res.data[index].result = ele;
  5913. }
  5914. });
  5915. });
  5916. }
  5917. // //险种合并集合
  5918. } else {
  5919. this.$message.error(res.msg)
  5920. }
  5921. const combinedArray = [
  5922. ...this.riskList.map(item => item.riskCode),
  5923. ...this.kindList.map(item => item.kindCode),
  5924. ];
  5925. if (res.data) {
  5926. res.data = res.data.filter(obj => {
  5927. obj.agreement = obj.agreement.filter(agreementObj => {
  5928. // 险种配置为空,则过滤掉该协议
  5929. if (agreementObj.productsCodes == null) {
  5930. return true;
  5931. } else {
  5932. // 检查是否包含 A 的特殊处理
  5933. if (combinedArray.includes('A') && !agreementObj.productsCodes.includes(
  5934. 'A')) {
  5935. return false;
  5936. }
  5937. return agreementObj.productsCodes.some(item => combinedArray.includes(
  5938. item));
  5939. }
  5940. });
  5941. return obj.agreement.length > 0; // 返回true保留,返回false移除该保险公司
  5942. });
  5943. res.data.forEach((e) => {
  5944. if (e.agreement) {
  5945. e.agreement.forEach((el) => (el.disabled = false));
  5946. }
  5947. });
  5948. }
  5949. this.totalCompanyList = res.data;
  5950. this.showLoading = false
  5951. })
  5952. } else {
  5953. document.getElementById("CheZhu").scrollIntoView();
  5954. _this.$message({ message: "请检查人员信息", type: "warning" });
  5955. }
  5956. });
  5957. } else {
  5958. document.getElementById("Car").scrollIntoView();
  5959. this.$message({ message: "请检查车辆信息", type: "warning" });
  5960. return false;
  5961. }
  5962. });
  5963. },
  5964. // 保费计算(报价)按钮
  5965. handleListJisuan(item, index) {
  5966. this.quote(index)
  5967. },
  5968. // 修改险别
  5969. productIdChange() {
  5970. if (this.productId != '0330') {
  5971. this.sychecked = true
  5972. this.sycheckedChange(true)
  5973. } else {
  5974. this.sychecked = false
  5975. this.sycheckedChange(false)
  5976. }
  5977. if (this.productId == '034001' || this.productId == '034002') {
  5978. this.jqchecked = false
  5979. this.jqcheckedChange(false)
  5980. } else {
  5981. this.jqchecked = true
  5982. this.jqcheckedChange(true)
  5983. }
  5984. this.getCompanyList()
  5985. this.totalCompanyList.forEach((val) => {
  5986. val.checked = false
  5987. })
  5988. },
  5989. // 选择方案
  5990. checkedPopover(reslistindex, index, item) {
  5991. if (index == 99) {
  5992. if (this.totalCompanyList[reslistindex].programme99 && !this.totalCompanyList[reslistindex].programme99.schemeId) {
  5993. return
  5994. }
  5995. if (!this.totalCompanyList[reslistindex].zxProgramme) {
  5996. this.totalCompanyList[reslistindex].zxProgramme = { // 自选方案详情
  5997. description: '',
  5998. drivingList: [],
  5999. jqx: {
  6000. name: '交通事故强制责任险'
  6001. },
  6002. kinds: {
  6003. additional: [],
  6004. main: [],
  6005. service: []
  6006. },
  6007. }
  6008. }
  6009. this.typeDialogIndex = reslistindex // 当前的公司index
  6010. this.totalCompanyList[reslistindex].programme = this.totalCompanyList[reslistindex].zxProgramme // 选中的自定义方案详情
  6011. } else {
  6012. this.totalCompanyList[reslistindex].programme = item // 选中的方案详情
  6013. }
  6014. this.totalCompanyList[reslistindex].checkedProgramme = index // 选中的方案
  6015. this.productList.forEach((val) => {
  6016. if (val.code == this.productId) {
  6017. this.totalCompanyList[reslistindex].programme.description = val.desc
  6018. }
  6019. })
  6020. this.$forceUpdate()
  6021. },
  6022. // 获取方案信息
  6023. getCompanyProgramme(e, code, name, index) {
  6024. this.totalCompanyList[index].checked = false
  6025. this.$api.letter.getAllSchemeList({
  6026. companyId: code,
  6027. productId: this.productId,
  6028. seatNum: this.carInfo.seatCount,
  6029. vehicleType: this.carInfo.cimodelclass,
  6030. energyType: this.carInfo.energyType,
  6031. carnature: this.carInfo.carnature
  6032. }).then((res) => {
  6033. if (res.code == 200) {
  6034. this.totalCompanyList[index].schemes = res.data.schemes
  6035. this.totalCompanyList[index].programme99 = res.data.optionalScheme || {kinds: [],} // 获取自选方案弹窗信息
  6036. if (res.data.schemes[0]) {
  6037. this.checkedPopover(index, 0, res.data.schemes[0])
  6038. } else {
  6039. this.checkedPopover(index, 99)
  6040. }
  6041. this.totalCompanyList[index].checked = true
  6042. }
  6043. })
  6044. },
  6045. // 获取险别
  6046. getProductId() {
  6047. // /plt/scheme/getProductInfo
  6048. this.$api.letter.getProductInfo().then((res) => {
  6049. this.productList = res.data
  6050. })
  6051. },
  6052. // 选择特约
  6053. handleCloseTeYue() {
  6054. this.showTeYueVisible = false
  6055. },
  6056. checkTeYue(item) {
  6057. this.showTeYueVisible = true
  6058. },
  6059. // 驾意险详情
  6060. handleCloseShowDetailJiaYi() {
  6061. this.showDetailJiaYiVisible = false
  6062. this.showDetailJiaYiVisible1 = false
  6063. this.showDetailtable = []
  6064. this.typeDialogData = {}
  6065. },
  6066. // 确认驾意
  6067. handleAddYiWai() {
  6068. let arr = []
  6069. this.checkList.forEach((val) => {
  6070. if (this.totalCompanyList[this.typeDialogIndex].cnName == 'zijin') {
  6071. if(val.tableData ) arr.push(...val.tableData)
  6072. // } else if (this.totalCompanyList[this.typeDialogIndex].cnName == 'guoRen' || this.totalCompanyList[this.typeDialogIndex].cnName == 'ansheng') {
  6073. // arr.push({...val.tableData, select: val.select})
  6074. } else {
  6075. if(val.tableData ) arr.push(val.tableData)
  6076. }
  6077. })
  6078. this.totalCompanyList[this.typeDialogIndex].zxProgramme.drivingList = arr;
  6079. this.totalCompanyList[this.typeDialogIndex].programme.drivingList = arr
  6080. this.handleCloseAddYiwai()
  6081. },
  6082. // 驾意输入框按钮
  6083. numberChange(listIndex, index, type,minquantity, dataIndex) {
  6084. if (dataIndex >= 0) {
  6085. if (type == 'plus') {
  6086. // if (this.jiayiDialogData.drivingTypeList[listIndex].children[index].tableData[dataIndex].quantity < 100) {
  6087. this.jiayiDialogData.drivingTypeList[listIndex].children[index].tableData[dataIndex].quantity ++
  6088. // }
  6089. } else {
  6090. if (this.jiayiDialogData.drivingTypeList[listIndex].children[index].tableData[dataIndex].quantity > minquantity) {
  6091. this.jiayiDialogData.drivingTypeList[listIndex].children[index].tableData[dataIndex].quantity -= 1
  6092. }
  6093. }
  6094. } else {
  6095. if (type == 'plus') {
  6096. // if (this.jiayiDialogData.drivingTypeList[listIndex].children[index].tableData.quantity < 100) {
  6097. this.jiayiDialogData.drivingTypeList[listIndex].children[index].tableData.quantity ++
  6098. // }
  6099. } else {
  6100. if (this.jiayiDialogData.drivingTypeList[listIndex].children[index].tableData.quantity > minquantity) {
  6101. this.jiayiDialogData.drivingTypeList[listIndex].children[index].tableData.quantity -= 1
  6102. }
  6103. }
  6104. }
  6105. this.$forceUpdate()
  6106. },
  6107. // 选中驾意一层
  6108. handleChangeSelectGuoren(index) {
  6109. this.checkList[index].tableData1 = undefined
  6110. this.checkList[index].detail.forEach((val) => {
  6111. if (val.projectName == this.checkList[index].select) {
  6112. this.checkList[index].tableData1 = val.insDrivingIntentionInsurances
  6113. }
  6114. })
  6115. },
  6116. changeInput(e,listIndex, index, type,minquantity, dataIndex) {
  6117. let num = Number(e)
  6118. if (dataIndex >= 0) {
  6119. this.jiayiDialogData.drivingTypeList[listIndex].children[index].tableData[dataIndex].quantity = num
  6120. } else {
  6121. this.jiayiDialogData.drivingTypeList[listIndex].children[index].tableData.quantity = num
  6122. }
  6123. this.$forceUpdate()
  6124. },
  6125. // 选中驾意
  6126. handleChangeSelect(index) {
  6127. if (this.totalCompanyList[this.typeDialogIndex].cnName == 'zijin') {
  6128. this.checkList[index].tableData = []
  6129. this.checkList[index].detail.forEach((val) => {
  6130. this.checkList[index].selectList.forEach((value) => {
  6131. if (val.alias == value) {
  6132. this.checkList[index].tableData.push(val)
  6133. this.$forceUpdate()
  6134. }
  6135. })
  6136. })
  6137. // } else if (this.totalCompanyList[this.typeDialogIndex].cnName == 'guoRen' || this.totalCompanyList[this.typeDialogIndex].cnName == 'ansheng' || this.totalCompanyList[this.typeDialogIndex].cnName == 'ansheng') {
  6138. // this.checkList[index].tableData1.forEach((val) => {
  6139. // if (val.projectName == this.checkList[index].select1) {
  6140. // this.checkList[index].tableData = val
  6141. // }
  6142. // })
  6143. } else {
  6144. this.checkList[index].detail.forEach((val) => {
  6145. val.quantity=val.minQuantity?val.minQuantity:val.quantity;
  6146. if (val.alias == this.checkList[index].select) {
  6147. this.checkList[index].tableData = val
  6148. }
  6149. })
  6150. }
  6151. },
  6152. handleChangeJiayi(listItem, listIndex) {
  6153. if (this.checkList.length) {
  6154. this.checkList.forEach((val) => {
  6155. this.$api.letter.getDriving({
  6156. schemeId: this.jiayiDialogData.schemeId,
  6157. seatNum: this.carInfo.seatCount
  6158. // companyId: this.totalCompanyList[this.typeDialogIndex].id,
  6159. // type: val.id,
  6160. // productId: this.productId,
  6161. // vehicleType: this.carInfo.cimodelclass,
  6162. // energyType: this.carInfo.energyType,
  6163. // carnature: this.carInfo.carnature
  6164. }).then((res) => {
  6165. if (res.code == 200) {
  6166. val.detail = res.data
  6167. this.$forceUpdate()
  6168. }
  6169. })
  6170. })
  6171. }
  6172. },
  6173. showDetailJiaYi(item, index, type) {
  6174. this.showDetailtable = []
  6175. item.programme.drivingList.forEach((val) => {
  6176. this.$api.letter.getDrivingSon({
  6177. companyId: this.totalCompanyList[index].id,
  6178. projectCode: val.projectCode
  6179. }).then((res) => {
  6180. if (res.code == 200) {
  6181. this.showDetailtable.push(res.data)
  6182. }
  6183. })
  6184. })
  6185. if (type) {
  6186. this.detailJiaYiTitle = '驾意险详情'
  6187. this.showDetailJiaYiVisible1 = true
  6188. } else {
  6189. this.detailJiaYiTitle = '查看详情'
  6190. this.showDetailJiaYiVisible = true
  6191. }
  6192. this.typeDialogData = item.programme
  6193. this.typeDialogData.shangyeList = [...item.programme.kinds.main,
  6194. ...item.programme.kinds.additional,
  6195. ...item.programme.kinds.service
  6196. ]
  6197. },
  6198. // 添加驾意险
  6199. addJiaYi(item) {
  6200. this.jiayiDialogData = item.programme99
  6201. this.addYiwaiDialogVisible = true
  6202. },
  6203. handleCloseAddYiwai() {
  6204. this.jiayiDialogData = {}
  6205. this.checkList = []
  6206. this.addYiwaiDialogVisible = false
  6207. },
  6208. // 调整险种
  6209. // 确定险种
  6210. subTypeDialog() {
  6211. // this.totalCompanyList[this.typeDialogIndex].zxProgramme = {}
  6212. // this.totalCompanyList[reslistindex].zxProgramme
  6213. let main = []
  6214. let additional = []
  6215. let service = []
  6216. this.typeDialogData.kinds.forEach((val, index) => {
  6217. if (val.checked) {
  6218. if (val.grouping == 'main') {
  6219. main.push(val)
  6220. }
  6221. if (val.grouping == 'additional') {
  6222. additional.push(val)
  6223. }
  6224. if (val.grouping == 'service') {
  6225. service.push(val)
  6226. }
  6227. }
  6228. })
  6229. this.totalCompanyList[this.typeDialogIndex].zxProgramme.kinds = {main, additional, service}
  6230. this.totalCompanyList[this.typeDialogIndex].programme.kinds = {main, additional, service}
  6231. this.handleAddYiWai()
  6232. this.handleCloseType()
  6233. },
  6234. showTypeDialog(item, index) {
  6235. item.programme99.kinds.map(item=>{
  6236. const itemamtList=item.amtList.map(val=>{return val.label})
  6237. if(!itemamtList.includes('不投保')){
  6238. item.checked=true;
  6239. item.Required=true;
  6240. item.amount = item.amtList.length ? item.amtList[0].value : item.max
  6241. }
  6242. return item;
  6243. })
  6244. this.typeDialogData = item.programme99
  6245. this.jiayiDialogData = item.programme99
  6246. this.typeDialogVisible = true
  6247. },
  6248. handleCloseType() {
  6249. this.typeDialogVisible = false
  6250. this.typeDialogData = []
  6251. this.jiayiDialogData = {}
  6252. this.checkList = []
  6253. },
  6254. //清空保单图片
  6255. removePhoto(file, fileList, type) {
  6256. this.policyNumberForm[type] = []
  6257. },
  6258. editingWay(paramsEdit) {
  6259. if (paramsEdit) {
  6260. var _this = this;
  6261. this.jqchecked = false;
  6262. this.tbczcarShow = false;
  6263. this.bbtbcarShow = false;
  6264. this.bbczcarShow = false;
  6265. const { carinfo, ownerinfo, applyinfo, insureinfo, quoteno, orderno } =
  6266. paramsEdit;
  6267. this.editorInfo = { ...paramsEdit };
  6268. // this.vehicleAndVesselTaxForm = { ...paramsEdit.vehicleAndVesselTax };
  6269. _this.carInfo = carinfo;
  6270. if (_this.carInfo.carnature == "8A") {
  6271. _this.carInfo.carnature = "02";
  6272. _this.carInfo.vehicleUse = "05";
  6273. } else {
  6274. _this.carInfo.carnature;
  6275. _this.carInfo.vehicleUse;
  6276. }
  6277. _this.ownerInfo = ownerinfo;
  6278. _this.policyHolderInfo = applyinfo;
  6279. _this.insuredPersonInfo = insureinfo;
  6280. _this.quoteno = quoteno;
  6281. _this.orderno = orderno;
  6282. _this.productId = paramsEdit.productid
  6283. _this.tbczcarShow = applyinfo.owner;
  6284. _this.bbczcarShow = insureinfo.owner;
  6285. _this.kindList = paramsEdit.king;
  6286. _this.bbtbcarShow = insureinfo.insuranceHolder;
  6287. _this.ownerInfo.age = getAgeByIdCard(_this.ownerInfo.identifyNumber);
  6288. _this.policyHolderInfo.age = getAgeByIdCard(
  6289. _this.policyHolderInfo.identifyNumber
  6290. );
  6291. _this.insuredPersonInfo.age = getAgeByIdCard(
  6292. _this.insuredPersonInfo.identifyNumber
  6293. );
  6294. if (paramsEdit.carinfo.transferFlag) {
  6295. this.transferDateShow = true;
  6296. }
  6297. paramsEdit.risk.map((ele) => {
  6298. if (ele.riskCode == "0507") {
  6299. _this.jqchecked = true;
  6300. this.protocolJudge("0507", true);
  6301. _this.riskList.push({
  6302. riskCode: "0507",
  6303. });
  6304. // _this.jqstartDate = ele.startDate;
  6305. // _this.jqendDate = ele.endDate;
  6306. // this.jqstartDate = this.$route.query.data.jqstartdate
  6307. // this.jqendDate = this.$route.query.data.jqenddate
  6308. _this.jqstartDate = this.transformTime1();
  6309. _this.jqendDate = this.oneYearPast1(this.jqstartDate);
  6310. } else if (ele.riskCode == "0510") {
  6311. _this.sychecked = true;
  6312. this.protocolJudge("0510", true);
  6313. _this.riskList.push({
  6314. riskCode: "0510",
  6315. });
  6316. // _this.systartDate = ele.startDate;
  6317. // _this.syendDate = ele.endDate;
  6318. if (new Date(ele.startDate).getTime() > new Date().getTime()) {
  6319. _this.systartDate = ele.startDate;
  6320. _this.syendDate = ele.endDate;
  6321. } else {
  6322. _this.systartDate = this.transformTime1();
  6323. _this.syendDate = this.oneYearPast1(this.systartDate);
  6324. }
  6325. _this.insureList.map((eleA) => {
  6326. paramsEdit.king.map((eleB) => {
  6327. if (eleA.kindCode == eleB.kindCode) {
  6328. switch (eleB.kindCode) {
  6329. case "D4":
  6330. case "SY_FJ_YBW2":
  6331. eleA.amount = JSON.stringify(eleB.unitAmount);
  6332. break;
  6333. case "MJ1":
  6334. case "MJ2":
  6335. case "MJ3":
  6336. case "MJ4":
  6337. eleA.amount = eleB.deductibleRate;
  6338. case "A":
  6339. eleA.amount = JSON.stringify(eleB.amount);
  6340. this.protocolJudge("A", true);
  6341. break;
  6342. default:
  6343. eleA.amount = JSON.stringify(eleB.amount);
  6344. }
  6345. }
  6346. });
  6347. });
  6348. }
  6349. });
  6350. // this.HistoryList = this.paramsEdit.insAreaCompanyList;
  6351. let params = {
  6352. orderNo: paramsEdit.orderno,
  6353. orderStatus: "",
  6354. };
  6355. this.$api.letter.queryQuoteHistory(params).then((res) => {
  6356. res.data.forEach((item) => {
  6357. if (item.accidentInfo) {
  6358. item.accidentInfo.constructor === Object
  6359. ? [item.accidentInfo]
  6360. : item.accidentInfo;
  6361. }
  6362. });
  6363. this.HistoryList = res.data;
  6364. });
  6365. //--获取影像信息--
  6366. _this.imageEcho(this.quoteno);
  6367. // this.$refs.imageDialog.imageEcho(this.quoteno)
  6368. // this.commpanyList()
  6369. //--显示影像按钮--
  6370. _this.imageUploadShow = true;
  6371. this.$forceUpdate()
  6372. _this.obtainProtocol(paramsEdit);
  6373. } else {
  6374. this.jqstartDate = this.transformTime1();
  6375. this.jqendDate = this.oneYearPast1(this.jqstartDate);
  6376. this.systartDate = this.transformTime1();
  6377. this.syendDate = this.oneYearPast1(this.systartDate);
  6378. }
  6379. },
  6380. handleRemove1(file, imageIdList, imgList) {
  6381. this[imageIdList].map((ele, index) => {
  6382. if (file.imageId === ele.imageId) {
  6383. this[imageIdList].splice(index, 1);
  6384. }
  6385. return ele;
  6386. });
  6387. if (file.imageId) {
  6388. this[imgList].map((ele, index) => {
  6389. if (file.imageId === ele.imageId) {
  6390. this[imgList].splice(index, 1);
  6391. }
  6392. return ele;
  6393. });
  6394. } else {
  6395. this[imgList].map((ele, index) => {
  6396. if (file.uid === ele.uid) {
  6397. this[imgList].splice(index, 1);
  6398. }
  6399. return ele;
  6400. });
  6401. }
  6402. },
  6403. uploadinformation() {
  6404. // //上传图片
  6405. const mergedArray = [
  6406. ...this.imageList1,
  6407. ...this.imageList2,
  6408. ...this.imageList3,
  6409. ...this.imageList4,
  6410. ...this.imageList5,
  6411. ...this.imageList6,
  6412. ];
  6413. let imageparam = {
  6414. imageList: mergedArray,
  6415. quoteNo: this.quoteno,
  6416. };
  6417. this.$api.letter.uploadImages(imageparam).then((responses) => {
  6418. if (responses.code == "200") {
  6419. this.imageEcho(this.quoteno);
  6420. this.$message({ message: responses.msg, type: "success" });
  6421. } else {
  6422. this.$message({ message: responses.msg, type: "error" });
  6423. }
  6424. });
  6425. this.imageUploaddialogVisible = false;
  6426. },
  6427. repairinformation() {
  6428. // //上传图片
  6429. const mergedArray = [
  6430. ...this.imageList1,
  6431. ...this.imageList2,
  6432. ...this.imageList3,
  6433. ...this.imageList4,
  6434. ...this.imageList5,
  6435. ...this.imageList6,
  6436. ];
  6437. let imageparam = {
  6438. imageList: mergedArray,
  6439. companyId: this.companyId,
  6440. };
  6441. this.$api.letter.additionalInformation(imageparam).then((responses) => {
  6442. if (responses.code == "200") {
  6443. this.imageUploaddialogVisible = false;
  6444. this.$message({ message: responses.msg, type: "success" });
  6445. } else {
  6446. this.$message({ message: responses.msg, type: "error" });
  6447. }
  6448. });
  6449. },
  6450. //手机号复制粘贴处理
  6451. handlePaste(e, mobileKey) {
  6452. e.preventDefault(); //阻止默认行为
  6453. const clipboardData = e.clipboardData || window.clipboardData; //获取剪切板内容
  6454. let pastedText = clipboardData.getData("text").replace(/\s+/g, ""); //获取纯文本并处理空格
  6455. // 截取前11个字符,以确保不会超过手机号长度限制
  6456. pastedText = pastedText.substring(0, 11);
  6457. // 使用Vue.nextTick确保更新发生在DOM更新之后
  6458. this.$nextTick(() => {
  6459. this[mobileKey].mobile = pastedText;
  6460. });
  6461. },
  6462. // licenseNoFun(data){
  6463. // if(data && this.carInfo.enginedesc){
  6464. // this.obtainProtocol()
  6465. // }
  6466. // },
  6467. // enginedescFun(data){
  6468. // if(data && this.carInfo.licenseNo){
  6469. // this.obtainProtocol()
  6470. // }
  6471. // },
  6472. packageChange(val) {
  6473. let arr = this.packageOptions.find((ele) => ele.id == val).kind;
  6474. if (arr.length > 0) {
  6475. this.insureList.map((eleA) => {
  6476. arr.map((eleB) => {
  6477. if (eleA.kindCode == eleB.kindCode) {
  6478. switch (eleB.kindCode) {
  6479. case "D4":
  6480. case "SY_FJ_YBW2":
  6481. eleA.amount = JSON.stringify(eleB.unitAmount);
  6482. break;
  6483. case "MJ1":
  6484. case "MJ2":
  6485. case "MJ3":
  6486. case "MJ4":
  6487. eleA.amount = eleB.deductibleRate;
  6488. break;
  6489. case "TY2":
  6490. case "TY3":
  6491. case "TY4":
  6492. eleA.amount = eleB.serviceTimes;
  6493. break;
  6494. default:
  6495. eleA.amount = JSON.stringify(eleB.amount);
  6496. }
  6497. }
  6498. });
  6499. });
  6500. } else {
  6501. this.insureList.map((eleA) => {
  6502. eleA.amount = "0";
  6503. });
  6504. }
  6505. },
  6506. capType(val) {
  6507. if (val == "0") {
  6508. return "success";
  6509. }
  6510. if (val == "1") {
  6511. return "warning";
  6512. }
  6513. if (val == "2" || val == "3" || val == "4") {
  6514. return "danger";
  6515. }
  6516. },
  6517. handleCheckAllChange(ele) {
  6518. this.totalCompanyList.forEach((val, index) => {
  6519. ele ? (val.checked = true) : (val.checked = false);
  6520. // this.initchange(ele, val.id, val.cnName, index);
  6521. });
  6522. },
  6523. retractFun() {
  6524. this.isRetract = this.isRetract == false ? true : false;
  6525. },
  6526. //中煤意外险调整份数事件
  6527. ZMhandleChange(val) {
  6528. if (!val) {
  6529. this.$refs.ZmMultipleTable[0].clearSelection(); //清除
  6530. }
  6531. },
  6532. //中煤意外险选中对应意外险方案
  6533. // ZMHandleSelectionChange(val) {
  6534. // // if(val.length > 0&& val[0].quantity==undefined){
  6535. // // this.$message({ message: "请先填写投保份数再勾选!", type: "error", });
  6536. // // this.$refs.ZmMultipleTable[0].clearSelection(); //清除
  6537. // // return false;
  6538. // // }
  6539. // if (val.length > 1) {
  6540. // this.$refs.ZmMultipleTable[0].clearSelection(); //清除
  6541. // this.$refs.ZmMultipleTable[0].toggleRowSelection(val.pop()); //pop:最后一个
  6542. // } else {
  6543. // this.zhongmeiaccidentalDrivingVo = val[0]; //multipleSelection:当前选择的数组
  6544. // }
  6545. // },
  6546. //中煤意外险选中对应产品带出方案明细
  6547. zhongmeiInsuranceChange(index) {
  6548. //每次选中产品,清空之前选中的数据
  6549. this.zhongmeitemplateSelection = index;
  6550. this.zhongmeiaccidentalDrivingVo = {};
  6551. this.zhongmeiInsuranceDataTable = [];
  6552. let data = this.zhongmeiInsuranceData.find(
  6553. (val) => val.projectCode == index
  6554. );
  6555. //把返回的方案明细放入展示数据对象中
  6556. this.accidentFormZM = Object.assign(this.accidentFormZM, data);
  6557. this.accidentFormZM.quantity = "1";
  6558. if (data && data.son) {
  6559. this.accidentPremiumZM = data.sumPremium;
  6560. this.zhongmeiInsuranceDataTable = data.son;
  6561. }
  6562. },
  6563. // 截图粘贴
  6564. copybjd() {
  6565. let that = this;
  6566. html2Canvas(document.getElementById("pdfContentsDiv"), {
  6567. allowTaint: true,
  6568. taintTest: false,
  6569. }).then(function (canvas) {
  6570. let base64Data = "";
  6571. // let blob = null
  6572. base64Data = canvas.toDataURL("image/png", 1);
  6573. const date = new Date();
  6574. const saveInfo = {
  6575. download: date.getTime() + `.png`,
  6576. href: base64Data,
  6577. };
  6578. const element = document.createElement("a");
  6579. element.style.display = "none";
  6580. for (const key in saveInfo) {
  6581. element.setAttribute(key, saveInfo[key]);
  6582. }
  6583. document.body.appendChild(element);
  6584. element.click();
  6585. setTimeout(() => {
  6586. document.body.removeChild(element);
  6587. }, 300);
  6588. // var format = 'image/png'
  6589. // //将Base64图片编码转换成blob
  6590. // var base64 = base64Data
  6591. // var code = window.atob(base64.split(',')[1])
  6592. // var aBuffer = new window.ArrayBuffer(code.length)
  6593. // var uBuffer = new window.Uint8Array(aBuffer)
  6594. // for (var i = 0; i < code.length; i++) {
  6595. // uBuffer[i] = code.charCodeAt(i) & 0xff
  6596. // }
  6597. // try {
  6598. // blob = new Blob([uBuffer], { type: format })
  6599. // } catch (e) {
  6600. // window.BlobBuilder =
  6601. // window.BlobBuilder ||
  6602. // window.WebKitBlobBuilder ||
  6603. // window.MozBlobBuilder ||
  6604. // window.MSBlobBuilder
  6605. // if (e.name == 'TypeError' && window.BlobBuilder) {
  6606. // var bb = new window.BlobBuilder()
  6607. // bb.append(uBuffer.buffer)
  6608. // blob = bb.getBlob('image/png')
  6609. // } else if (e.name == 'InvalidStateError') {
  6610. // blob = new Blob([aBuffer], { type: format })
  6611. // }
  6612. // }
  6613. // const clipboardItemInput = new ClipboardItem({
  6614. // 'image/png': blob,
  6615. // })
  6616. // that.$copyText({
  6617. // 'image/png': blob,
  6618. // }).then(
  6619. //   function(e) {
  6620. //     console.log("copy arguments e:", e);
  6621. //     alert("复制成功!");
  6622. //   },
  6623. //   function(e) {
  6624. //     console.log("copy arguments e:", e);
  6625. //     alert("复制失败!");
  6626. //   }
  6627. //   ),
  6628. // navigator.clipboard.write([clipboardItemInput])
  6629. // that.$message({
  6630. // message: '已截图并复制到粘贴板!',
  6631. // type: 'success'
  6632. // });
  6633. });
  6634. },
  6635. // 即时起保
  6636. immediatelyChange(e) {
  6637. if (e) {
  6638. this.immediatelyValue = true;
  6639. const date = new Date();
  6640. date.setHours(date.getHours() + 2);
  6641. date.setMinutes(0);
  6642. date.setSeconds(0);
  6643. this.jqstartDate = date;
  6644. this.jqendDate = this.oneYearPast1(date);
  6645. } else {
  6646. this.immediatelyValue = false;
  6647. this.jqstartDate = this.transformTime1();
  6648. this.jqendDate = this.oneYearPast1(this.jqstartDate);
  6649. }
  6650. },
  6651. // 使用性质方法
  6652. natureFun() {
  6653. if (this.carInfo.carnature == "01") {
  6654. this.carInfo.vehicleUse = "";
  6655. }
  6656. },
  6657. // 点击同步报价后的时间
  6658. syncData(item) {
  6659. this.jqstartDate = item.startDateJq ? item.startDateJq : this.jqstartDate;
  6660. this.jqendDate = item.endDateJq ? item.endDateJq : this.endDateJq;
  6661. this.systartDate = item.startDateSy ? item.startDateSy : this.systartDate;
  6662. this.syendDate = item.endDateSy ? item.endDateSy : this.syendDate;
  6663. },
  6664. //纳税类型事件
  6665. taxRelifFlagChange(val) {
  6666. if (val == 4) {
  6667. citydata.rawCitiesData.map((val) => {
  6668. this.provinceSelect.push({
  6669. name: val.name,
  6670. code: val.code,
  6671. });
  6672. return val;
  6673. });
  6674. }
  6675. },
  6676. //身份证前六位识别地区
  6677. // getAreaByCode(code) {
  6678. // let list = regionData;
  6679. // let provinceCode = code.substring(0, 2);
  6680. // let cityCode = code.substring(0, 4);
  6681. // let areaCode = code.substring(0, 6);
  6682. // // 获取省份信息
  6683. // let province = list.filter(function (item) {
  6684. // return item.value === provinceCode;
  6685. // });
  6686. // // 获取城市信息
  6687. // let city = province[0].children.filter(function (item) {
  6688. // return item.value === cityCode;
  6689. // });
  6690. // if (city.length > 0) {
  6691. // // 获取区/县信息
  6692. // let area = city[0].children.filter(function (item) {
  6693. // return item.value === areaCode;
  6694. // });
  6695. // return province[0].label + city[0].label + area[0].label;
  6696. // }
  6697. // },
  6698. //--数据字典 begin --
  6699. getDicType(type) {
  6700. this.$api.insCompany.dicType(type).then((res) => {
  6701. if (res.code == 200) {
  6702. if (type == "insOrderStatus") {
  6703. let data = JSON.parse(JSON.stringify(res.data.ddList));
  6704. data.unshift({
  6705. dictTag: "全部",
  6706. dictValue: "888",
  6707. });
  6708. this[type + "options"] = data;
  6709. } else {
  6710. this[type + "options"] = res.data.ddList;
  6711. }
  6712. }
  6713. });
  6714. },
  6715. //身份证失去焦点
  6716. identifyblur(info) {
  6717. // console.log(getAgeByIdCard(this[info].identifyNumber))
  6718. this[info].age =typeof getAgeByIdCard(this[info].identifyNumber)=='number' ?getAgeByIdCard(this[info].identifyNumber):'';
  6719. this[info].gender = getGenderByIdCard(this[info].identifyNumber);
  6720. },
  6721. //车主信息选择性别
  6722. genderChange(e) {
  6723. if (this.tbczcarShow) {
  6724. this.policyHolderInfo.gender = e;
  6725. } else if (this.bbczcarShow) {
  6726. this.insuredPersonInfo.gender = e;
  6727. }
  6728. },
  6729. //省市区
  6730. // areahandleChange(event, info) {
  6731. // console.log(event)
  6732. // if (event[0] != null && event[1] != null && event[2] != null) {
  6733. // this[info].province = codeToText[event[0]]
  6734. // this[info].city = codeToText[event[1]]
  6735. // this[info].county = codeToText[event[2]]
  6736. // }
  6737. // },
  6738. iconfftter(icon) {
  6739. return CommonUtil.getDataName({
  6740. dataList: this.global.insCompanyList,
  6741. value: "name",
  6742. label: "icon",
  6743. data: icon,
  6744. });
  6745. },
  6746. disabledDate(time) {
  6747. let datetime = this.carInfo.registerDate;
  6748. return time.getTime() < new Date(datetime).getTime()-8.64e7;
  6749. },
  6750. onScroll() {
  6751. // 变量scrollTop是滚动条滚动时,滚动条上端距离顶部的距离
  6752. var scrollTop =
  6753. document.documentElement.scrollTop || document.body.scrollTop;
  6754. // 变量windowHeight是可视区的高度
  6755. var windowHeight =
  6756. document.documentElement.clientHeight || document.body.clientHeight;
  6757. // 变量scrollHeight是滚动条的总高度(当前可滚动的页面的总高度)
  6758. var scrollHeight =
  6759. document.documentElement.scrollHeight || document.body.scrollHeight;
  6760. // 滚动条到底部
  6761. if (Math.ceil(scrollTop + windowHeight) >= scrollHeight) {
  6762. this.isBottom = true;
  6763. } else {
  6764. this.isBottom = false;
  6765. }
  6766. },
  6767. pinganInsuranceChange(index,index1,val) {
  6768. if (!index) {
  6769. return;
  6770. }
  6771. this.accidentFormPA[index1].pingantemplateSelection = index;
  6772. this.accidentFormPA[index1].projectName=index
  6773. val.map(val1=>{
  6774. if(val1.projectName == index){
  6775. val1.son.forEach(val3=>{
  6776. val3.quantity='1'
  6777. })
  6778. this.accidentFormPA[index1].pinganInsuranceDataTable= val1.son
  6779. this.accidentFormPA[index1].projectCode= val1.projectCode
  6780. }
  6781. })
  6782. // this.accidentFormPA[index1].projectCode=this.pinganInsuranceData.find(val1=>{
  6783. // // val1.map(
  6784. // // (val) => val.projectName == index
  6785. // // ).projectCode
  6786. // }
  6787. // )
  6788. // this.accidentFormPA[index1].pinganInsuranceDataTable = this.pinganInsuranceData.find(
  6789. // (val) => val.projectName == index
  6790. // ).son;
  6791. },
  6792. taikangInsuranceChange(index) {
  6793. if (index) {
  6794. this.TkDrivingChange(
  6795. this.taikangaccidentDataList.find((val) => val.projectCode == index)
  6796. );
  6797. }
  6798. if (!index) {
  6799. return;
  6800. }
  6801. this.taikangtemplateSelection = index;
  6802. this.accidentFormTk = Object.assign(
  6803. this.accidentFormTk,
  6804. this.taikangaccidentDataList.find((val) => val.projectCode == index)
  6805. );
  6806. this.taikangaccidentDataList
  6807. .find((val) => val.projectCode == index)
  6808. .son.forEach((item) => {
  6809. item.sumAmount =
  6810. Number(item.amount) * Number(this.accidentFormTk.seatNum);
  6811. });
  6812. this.taikangInsuranceDataTable = this.taikangaccidentDataList.find(
  6813. (val) => val.projectCode == index
  6814. ).son;
  6815. this.accidentPremiumTk = this.accidentFormTk.premium;
  6816. },
  6817. anshengInsuranceChange(index) {
  6818. this.anshengtemplateSelection = index;
  6819. let data = this.anshengInsuranceData.find(
  6820. (val) => val.projectCode == index
  6821. );
  6822. this.anshengaccidentalDrivingVo.parentName = data.projectName;
  6823. this.anshengaccidentalDrivingVo.parentCode = data.projectCode;
  6824. this.anshengInsuranceDataTable = [];
  6825. this.anshengInsuranceDataTable = data.children;
  6826. this.anshengInsuranceDataTable.forEach((e) => (e.quantity = "1"));
  6827. },
  6828. hengbangInsuranceChange(index) {
  6829. this.hengbangInsuranceDataTable = this.hengbangInsuranceData.find(
  6830. (val) => val.projectCode == index
  6831. ).son;
  6832. this.hengbangtemplateSelection = index;
  6833. if (this.hengbangInsuranceDataTable.length) {
  6834. this.hengbangaccidentalDrivingVo = this.hengbangInsuranceData.find(
  6835. (val) => val.projectCode == index
  6836. );
  6837. }
  6838. },
  6839. taipingyangInsuranceChange(index) {
  6840. this.taipingyangInsuranceDataTable = this.taipingyangInsuranceData.find(
  6841. (val) => val.projectCode == index
  6842. ).son;
  6843. this.taipingyangtemplateSelection = index;
  6844. if (this.taipingyangInsuranceDataTable.length) {
  6845. this.taipingyangaccidentalDrivingVo = this.taipingyangInsuranceData.find(
  6846. (val) => val.projectCode == index
  6847. );
  6848. }
  6849. },
  6850. huanongInsuranceChange(index) {
  6851. this.huanongInsuranceDataTable = this.huanongInsuranceData.find(
  6852. (val) => val.projectCode == index
  6853. ).son;
  6854. this.accidentFormHN.accidentType = index;
  6855. this.huanongaccidentalDrivingVo = Object.assign(
  6856. this.huanongInsuranceData.find((val) => val.projectCode == index),
  6857. this.accidentFormHN
  6858. );
  6859. },
  6860. taipingInsuranceChange(index) {
  6861. this.taipingtemplateSelection = index;
  6862. this.taipingInsuranceDataTable = this.taipingInsuranceData.find(
  6863. (val) => val.projectCode == index
  6864. ).son;
  6865. if (
  6866. this.taipingInsuranceDataTable &&
  6867. this.taipingInsuranceDataTable.length
  6868. ) {
  6869. this.taipingaccidentalDrivingVo = this.taipingInsuranceData.find(
  6870. (val) => val.projectCode == index
  6871. );
  6872. }
  6873. },
  6874. zijinInsuranceChange(index) {
  6875. this.zijintemplateSelection = index;
  6876. this.zijinInsuranceDataTable = [];
  6877. this.$refs.expandTable[0].clearSelection();
  6878. index.forEach((item) => {
  6879. this.zijinInsuranceDataTable.push(
  6880. this.ziJinInsuranceData.find((val) => val.projectCode == item)
  6881. );
  6882. });
  6883. this.zijinInsuranceDataTable.forEach((item) => {
  6884. this.$nextTick(() => {
  6885. this.$refs.expandTable[0].toggleRowSelection(item);
  6886. });
  6887. });
  6888. this.CheckboxChange(this.zijinInsuranceDataTable);
  6889. },
  6890. renshouInsuranceChange(index) {
  6891. // this.renshouInsuranceDataTable = [
  6892. // this.renshouInsuranceData.find(val => val.projectCode == index)
  6893. // ];
  6894. this.renshoutemplateSelection = index;
  6895. this.renshouInsuranceDataTable = this.renshouInsuranceData.find(
  6896. (val) => val.projectCode == index
  6897. ).son;
  6898. if (index) {
  6899. this.RSDrivingChange(
  6900. this.renshouInsuranceData.find((val) => val.projectCode == index)
  6901. );
  6902. }
  6903. },
  6904. async dajiaInsuranceChange(index) {
  6905. this.dajiaaccidentalDrivingVo = {};
  6906. let data = await this.$api.letter.accidentalDrivingInfo(index);
  6907. if (data.code == 200) {
  6908. this.dajiaaccidentalDrivingVo = {
  6909. rideRiskCode: index,
  6910. rideRiskName: this.dajiaInsuranceData.find((val) => val.id == index)
  6911. .productName,
  6912. quantity: "1",
  6913. };
  6914. this.dajiaInsuranceDataTable = data.data;
  6915. }
  6916. },
  6917. zhonganInsuranceChange(index) {
  6918. this.zhongantemplateSelection = index;
  6919. this.zhonganInsuranceDataTable = this.zhonganInsuranceData.find(
  6920. (val) => val.projectCode == index
  6921. ).son;
  6922. if (index) {
  6923. this.ZADrivingChange(
  6924. this.zhonganInsuranceData.find((val) => val.projectCode == index)
  6925. );
  6926. }
  6927. },
  6928. // 渤海选择意外险类型
  6929. async bohaiInsuranceChange(index) {
  6930. if (index) {
  6931. this.boHaiaccidentForm.projectCode = index;
  6932. // this.boHaiaccidentForm.projectName = this.dajiaInsuranceData.find(
  6933. // (e) => e.projectCode == index
  6934. // ).projectName;
  6935. this.boHaiaccidentForm.copies = "1";
  6936. this.boHaiaccidentForm.premium = Number(
  6937. this.boHaiaccidentDataList.find((e) => e.projectCode == index).sumPremium
  6938. );
  6939. this.bohaiInsuranceDataTable=this.boHaiaccidentDataList.find(
  6940. (e) => e.projectCode == index
  6941. ).son;
  6942. // let data = await this.$api.letter.productDetailsQueryboHai({
  6943. // projectCode: index,
  6944. // productCode: this.boHaiaccidentDataList.find(
  6945. // (e) => e.packageCode == index
  6946. // ).productCode,
  6947. // agreementId: this.boHaiaccidentForm.agreementId,
  6948. // });
  6949. // if (data.code == 200 && data.data) {
  6950. // this.accidentLoadingbh = false;
  6951. // this.bohaiInsuranceDataTable = data.data;
  6952. // } else {
  6953. // this.$message.error(data.msg);
  6954. // this.bohaiInsuranceDataTable = [];
  6955. // }
  6956. }
  6957. },
  6958. djcxchange(index) {
  6959. if (index) {
  6960. this.dajiaaccidentForm.parentCode = index;
  6961. this.dajiaaccidentForm.quantity = "1";
  6962. this.dajiaaccidentForm.prodCode = "";
  6963. this.dajiaaccidentDataListChild = this.dajiaInsuranceData.find(
  6964. (e) => e.projectCode == index
  6965. ).children;
  6966. this.dajiaaccidentalDrivingVo.parentName = this.dajiaInsuranceData.find(
  6967. (e) => e.projectCode == index
  6968. ).projectName;
  6969. this.dajiaaccidentalDrivingVo.parentCode = this.dajiaInsuranceData.find(
  6970. (e) => e.projectCode == index
  6971. ).projectCode;
  6972. }
  6973. },
  6974. djcxchangeChild(index) {
  6975. if (index) {
  6976. let list = this.dajiaaccidentDataListChild.find(
  6977. (val) => val.projectCode == index
  6978. );
  6979. this.dajiaaccidentForm = {
  6980. ...this.dajiaaccidentForm,
  6981. prodCode: index,
  6982. projectName: list.projectName,
  6983. sumAmount: Number(list.sumAmount),
  6984. riskCode: list.riskCode,
  6985. sumPremium: Number(list.sumPremium),
  6986. };
  6987. list.productId = list.id;
  6988. this.dajiaInsuranceDataTable = list.son;
  6989. this.dajiaaccidentalDrivingVo = Object.assign({
  6990. ...this.dajiaaccidentalDrivingVo,
  6991. ...list,
  6992. });
  6993. } else {
  6994. this.dajiaInsuranceDataTable = [];
  6995. }
  6996. },
  6997. // 国任选择意外险类型
  6998. async grcxchange(index) {
  6999. if (index) {
  7000. this.accidentLoading = true;
  7001. this.guoRenaccidentForm.goodsCode = index;
  7002. this.guoRenaccidentForm.quantity = "1";
  7003. this.guoRenaccidentForm.prodCode = "";
  7004. this.guoRenaccidentDataListChild = this.guoRenaccidentDataList.find(
  7005. (e) => e.projectCode == index
  7006. ).children;
  7007. this.guoRenaccidentalDrivingVo.parentName =
  7008. this.guoRenaccidentDataList.find(
  7009. (e) => e.projectCode == index
  7010. ).projectName;
  7011. this.guoRenaccidentalDrivingVo.parentCode =
  7012. this.guoRenaccidentDataList.find(
  7013. (e) => e.projectCode == index
  7014. ).projectCode;
  7015. // let data = await this.$api.letter.syncNonAutoInsGuoren({
  7016. // goodsCode: index,
  7017. // agreementId: this.guoRenaccidentForm.agreementId
  7018. // });
  7019. // if (data.code == 200) {
  7020. // let num = 0;
  7021. // data.data.forEach(item => {
  7022. // num += Number(item.premium);
  7023. // });
  7024. // this.accidentLoading = false;
  7025. // } else {
  7026. // this.accidentLoading = false;
  7027. // this.$message.error(data.msg);
  7028. // this.guoRenaccidentDataListChild = [];
  7029. // }
  7030. }
  7031. },
  7032. // 国任选择意外险子级类型
  7033. async grcxchangeChild(index) {
  7034. let list = this.guoRenaccidentDataListChild.find(
  7035. (val) => val.projectCode == index
  7036. );
  7037. this.guoRenaccidentForm = {
  7038. ...this.guoRenaccidentForm,
  7039. prodCode: index,
  7040. policyNum: Number(list.sumPremium),
  7041. riskCode: list.riskCode,
  7042. // amount: list.amount,
  7043. sumPremium: Number(list.sumPremium),
  7044. // appnum:Number(list.appnum)
  7045. };
  7046. this.guoRenInsuranceDataTable = list.son;
  7047. this.guoRenaccidentalDrivingVo = Object.assign({
  7048. ...list,
  7049. ...this.guoRenaccidentalDrivingVo,
  7050. });
  7051. },
  7052. // 选择意外险类型
  7053. async yongchengInsuranceChange(index) {
  7054. if (!index) {
  7055. return;
  7056. }
  7057. this.yongchengtemplateSelection = index;
  7058. this.accidentForm = Object.assign(
  7059. this.accidentForm,
  7060. this.yongchengaccidentDataList.find((val) => val.projectCode == index)
  7061. );
  7062. this.yongchengaccidentDataList
  7063. .find((val) => val.projectCode == index)
  7064. .son.forEach((item) => {
  7065. item.sumAmount =
  7066. Number(item.amount) * Number(this.accidentForm.seatNum);
  7067. });
  7068. this.yongchengInsuranceDataTable = this.yongchengaccidentDataList.find(
  7069. (val) => val.projectCode == index
  7070. ).son;
  7071. this.accidentPremium = this.accidentForm.sumPremium;
  7072. // this.accidentForm.fen = "1";
  7073. // let data = await this.$api.letter.ycgainAccidentSchemeList({
  7074. // companyCode: this.accidentForm.companyId,
  7075. // code: index,
  7076. // agreementId: this.accidentForm.agreementId,
  7077. // seatNum: Number(this.carInfo.seatCount)
  7078. // });
  7079. // if (data.code == 200) {
  7080. // let num = 0;
  7081. // data.data.forEach(item => {
  7082. // num += Number(item.premium);
  7083. // });
  7084. // this.accidentPremium = num;
  7085. // this.accidentForm.premium = num;
  7086. // this.accidenttableData = data.data;
  7087. // }
  7088. },
  7089. numberCopieschange(index) {
  7090. this.accidentForm.sumPremium = Number(this.accidentPremium) * index;
  7091. },
  7092. numberCopieschangeTk(index) {
  7093. this.accidentFormTk.sumPremium = Number(this.accidentPremiumTk) * index;
  7094. },
  7095. numberCopieschangePA(index,index1) {
  7096. this.accidentFormPA.premium = Number(this.accidentFormPA[index1].accidentPremiumPA ) * index;
  7097. },
  7098. numberCopieschangeZM(index) {
  7099. this.accidentFormZM.sumPremium = Number(this.accidentPremiumZM) * index;
  7100. },
  7101. numberCopieschangeGR(index) {
  7102. this.guoRenaccidentForm.sumPremium =
  7103. Number(this.guoRenaccidentForm.policyNum) * index;
  7104. },
  7105. continuousChange(id) {
  7106. this.continuousCompanyList.map((ele) => {
  7107. if (ele.id == id) {
  7108. this.attributionform.configure = [];
  7109. ele.configure.map((ele, index) => {
  7110. this.attributionform.configure.push({
  7111. field: ele.field,
  7112. isEdit: ele.isEdit,
  7113. label: ele.label,
  7114. type: ele.type,
  7115. value: "",
  7116. });
  7117. });
  7118. }
  7119. });
  7120. },
  7121. //续保查询
  7122. continuousquery() {
  7123. this.$api.letter.queryRenewal(this.attributionform).then((res) => {
  7124. if (res.code == "200") {
  7125. this.carInfo = res.data.carInfo;
  7126. this.carInfo.frameNo = res.data.carInfo.vinNo
  7127. this.ownerInfo = res.data.ownerInfo;
  7128. this.policyHolderInfo = res.data.policyHolderInfo;
  7129. this.insuredPersonInfo = res.data.insuredPersonInfo;
  7130. res.data.riskList.map((ele) => {
  7131. if (ele.riskCode == "0507") {
  7132. this.jqchecked = true;
  7133. this.jqstartDate = ele.startDate;
  7134. this.jqendDate = ele.endDate;
  7135. } else if (ele.riskCode == "0510") {
  7136. this.sychecked = true;
  7137. this.systartDate = ele.startDate;
  7138. this.syendDate = ele.endDate;
  7139. }
  7140. county;
  7141. });
  7142. } else {
  7143. this.$message({
  7144. message: res.msg,
  7145. type: "error",
  7146. duration: 2000,
  7147. });
  7148. }
  7149. });
  7150. },
  7151. //永诚转保
  7152. renewalCodeconfirm() {
  7153. this.renewalCodedialogVisible = false;
  7154. this.quote();
  7155. },
  7156. //报价轨迹查询
  7157. RadioHistoryChange(e) {
  7158. let params = {
  7159. orderNo: this.orderno,
  7160. orderStatus: e == 888 ? "" : e,
  7161. };
  7162. this.$api.letter.queryQuoteHistory(params).then((res) => {
  7163. res.data.forEach((item) => {
  7164. if (item.accidentInfo) {
  7165. item.accidentInfo.constructor === Object
  7166. ? [item.accidentInfo]
  7167. : item.accidentInfo;
  7168. }
  7169. });
  7170. this.HistoryList = res.data;
  7171. });
  7172. },
  7173. protocolJudge(val, val1) {
  7174. if (val1) {
  7175. this.totalCompanyList.forEach((e) => {
  7176. if (
  7177. e.agreement.find(
  7178. (el) => el.productsCode && el.productsCode.includes(val)
  7179. )
  7180. ) {
  7181. e.agreement.find(
  7182. (el) => el.productsCode && el.productsCode.includes(val)
  7183. ).disabled = true;
  7184. }
  7185. });
  7186. } else {
  7187. this.totalCompanyList.forEach((e) => {
  7188. if (
  7189. e.agreement.find(
  7190. (el) => el.productsCode && el.productsCode.includes(val)
  7191. )
  7192. ) {
  7193. e.agreement.find(
  7194. (el) => el.productsCode && el.productsCode.includes(val)
  7195. ).disabled = false;
  7196. }
  7197. });
  7198. }
  7199. },
  7200. // 回显
  7201. async obtainProtocol(data) {
  7202. let res = {};
  7203. if (this.isLetter == "1") {
  7204. this.getCompanyList(data)
  7205. // res = await this.$api.letter.getAllAgreement();
  7206. }
  7207. if (this.isLetter == "2") {
  7208. setTimeout(() => {
  7209. this.getCompanyList(data)
  7210. }, 500);
  7211. }
  7212. },
  7213. //获取保险公司列表
  7214. // commpanyList() {
  7215. // this.$api.letter.gainAllowQuoteList("").then(res => {
  7216. // res.data.map(ele => {
  7217. // ele["result"] = {};
  7218. // ele["quoteCode"] = 0;
  7219. // ele["checked"] = false;
  7220. // ele["msg"] = "";
  7221. // ele["lastYearMsg"] = "";
  7222. // ele["agreementId"] = "";
  7223. // ele["apiType"] = "";
  7224. // ele["orderstatus"] = 0;
  7225. // ele.coefficient = "";
  7226. // // ele.agreementId = ele.agreement[0].id;
  7227. // ele.apiType = ele.agreement[0].apiType;
  7228. // ele.underwritingDescription =
  7229. // ele.agreement[0].underwritingDescription;
  7230. // });
  7231. // if (this.$route.query.data) {
  7232. // res.data.forEach((val, index) => {
  7233. // this.$route.query.data.insAreaCompanyEditingDtos.forEach(ele => {
  7234. // if (val.namesimple == ele.inscompany) {
  7235. // res.data[index].quoteCode = 200;
  7236. // res.data[index].result = ele;
  7237. // }
  7238. // });
  7239. // });
  7240. // }
  7241. // this.totalCompanyList = res.data;
  7242. // });
  7243. // },
  7244. Payment(id, item) {
  7245. this.carcode(id, item);
  7246. },
  7247. // 现询
  7248. getInquiryNowList(agreementId, riskList, kindList) {
  7249. let productId = ''
  7250. this.inquiryNowList = []
  7251. this.$api.letter.getProductId({
  7252. riskList: riskList,
  7253. kindList: kindList
  7254. }).then((res) => {
  7255. if (res.code == 200) {
  7256. productId = res.data
  7257. this.$api.letter.getInquiryNowFee({
  7258. agreementId: agreementId,
  7259. productId: productId
  7260. }).then((resp) => {
  7261. if (resp.code == 200) {
  7262. this.inquiryNowList = resp.data
  7263. }
  7264. })
  7265. }
  7266. })
  7267. },
  7268. inquiryNowListChange(data) {
  7269. if (data) {
  7270. this.nowCostsId = data // 现询id
  7271. this.isInquiryNowDisable = true
  7272. this.inquiryNowList.forEach((val) => {
  7273. if (val.id == data) {
  7274. this.policyNumberForm.jqCostsProportion = val.jqCostsProportion
  7275. this.policyNumberForm.noCostsProportion = val.noCostsProportion
  7276. this.policyNumberForm.syCostsProportion = val.syCostsProportion
  7277. }
  7278. })
  7279. } else {
  7280. this.nowCostsId = ''
  7281. this.isInquiryNowDisable = false
  7282. this.policyNumberForm.jqCostsProportion = ''
  7283. this.policyNumberForm.noCostsProportion = ''
  7284. this.policyNumberForm.syCostsProportion = ''
  7285. }
  7286. },
  7287. //选择协议 val:协议id row:协议列表 index:下标 item:保险公司数据集合
  7288. agreementChange(val, row, index, item) {
  7289. this.getInquiryNowList(val, this.riskList, this.kindList)
  7290. this.kindListFun(index);
  7291. let obj = {};
  7292. obj = row.find((item) => {
  7293. return item;
  7294. });
  7295. let selectRow = row.find((item) => {
  7296. return item.id == val;
  7297. });
  7298. let info = row.find((ele) => ele.id == val);
  7299. this.totalCompanyList[index].apiType = info.apiType;
  7300. this.totalCompanyList[index].underwritingDescription = val
  7301. ? selectRow.underwritingDescription
  7302. : ""; //重新赋值修改选中协议承保描述
  7303. if (this.$route.path != "/task/external/externalOrders")
  7304. if(item.namesimple == "平安财险" ){
  7305. this.$api.letter.getPingAnDrivingInsuranceRule({
  7306. cimodelclass: this.carInfo.cimodelclass,
  7307. isUseCombine:'Y',
  7308. tonNumber:this.carInfo.limitLoad,
  7309. ownAttribute:'03',
  7310. useAttribute: this.carInfo.carnature,
  7311. ruleSeatNum:Number(this.carInfo.seatCount),
  7312. agreementId: item.agreementId,
  7313. }).then(res=>{
  7314. this.pinganInsuranceData= res.data;
  7315. })
  7316. return
  7317. }
  7318. this.$api.letter
  7319. .getDrivingInsuranceRule({
  7320. companyCode: item.id,
  7321. agreementId: item.agreementId,
  7322. seatNum:
  7323. item.namesimple == "永诚财险" || item.namesimple == "中煤财险"
  7324. ? Number(this.carInfo.seatCount)
  7325. : "",
  7326. ruleUseNature: this.carInfo.carnature,
  7327. ruleSeatNum: Number(this.carInfo.seatCount),
  7328. risk: this.riskList,
  7329. kind: this.kindList,
  7330. ruleThirdPartyInsurance: this.insureList[1].amount,
  7331. })
  7332. .then((res) => {
  7333. if (res.code == 200) {
  7334. this.nonVehicle(res.data, item.cnName);
  7335. switch (item.namesimple) {
  7336. case "永诚财险":
  7337. this.yongchengaccidentDataList = res.data;
  7338. break;
  7339. case "国任财险":
  7340. this.guoRenaccidentDataList = res.data;
  7341. break;
  7342. case "渤海财险":
  7343. this.boHaiaccidentDataList = res.data;
  7344. break;
  7345. case "中煤财险":
  7346. this[item.cnName + +"InsuranceData"] = res.data;
  7347. break;
  7348. case "紫金财险":
  7349. let data = res.data;
  7350. data.map((ele) => {
  7351. ele.quantity = 1;
  7352. return ele;
  7353. });
  7354. this.ziJinInsuranceData = data;
  7355. break;
  7356. case "大家财险":
  7357. this.dajiaInsuranceData = res.data;
  7358. break;
  7359. case "泰康财险":
  7360. this.taikangaccidentDataList = res.data;
  7361. break;
  7362. case "中国人寿":
  7363. case "恒邦财险":
  7364. case "太平财险":
  7365. case "安盛天平":
  7366. case "华农财险":
  7367. case "众安财险":
  7368. case "太平洋财险":
  7369. res.data.map((ele) => {
  7370. ele.quantity = 1;
  7371. return ele;
  7372. });
  7373. this[item.cnName + "InsuranceData"] = res.data;
  7374. break;
  7375. }
  7376. } else {
  7377. this.$message.error(res.msg);
  7378. }
  7379. });
  7380. // switch (item.namesimple) {
  7381. // case "永诚财险":
  7382. // this.accidentForm.agreementId = item.agreementId;
  7383. // this.$api.letter
  7384. // .ycgainAccidentList({
  7385. // companyCode: item.id,
  7386. // agreementId: item.agreementId,
  7387. // seatNum: Number(this.carInfo.seatCount)
  7388. // })
  7389. // .then(res => {
  7390. // if (res.code == 200) {
  7391. // this.accidentDataList = res.data;
  7392. // }
  7393. // });
  7394. // break;
  7395. // case "国任财险":
  7396. // this.guoRenaccidentForm.agreementId = item.agreementId;
  7397. // this.$api.letter
  7398. // .syncNonAutoInsGuoren({ agreementId: item.agreementId })
  7399. // .then(res => {
  7400. // if (res.code == 200) {
  7401. // this.guoRenaccidentDataList = res.data;
  7402. // } else {
  7403. // this.guoRenaccidentDataList = [];
  7404. // }
  7405. // });
  7406. // break;
  7407. // case "渤海财险":
  7408. // this.boHaiaccidentForm.agreementId = item.agreementId;
  7409. // let policyHolderInfo = this.tbczcarShow
  7410. // ? this.ownerInfo
  7411. // : this.policyHolderInfo;
  7412. // let productQueryVo = {
  7413. // agreementId: item.agreementId,
  7414. // carnature: this.carInfo.carnature,
  7415. // cimodelclass: this.carInfo.cimodelclass,
  7416. // exhaustScale: this.carInfo.enginedesc,
  7417. // limitLoad: this.carInfo.limitLoad,
  7418. // powerScale: this.carInfo.powerScale,
  7419. // seatCount: this.carInfo.seatCount,
  7420. // vehicleUse: this.carInfo.vehicleUse,
  7421. // policyHolderInfo,
  7422. // insuredPersonInfo: this.bbczcarShow
  7423. // ? this.ownerInfo
  7424. // : this.bbtbcarShow
  7425. // ? policyHolderInfo
  7426. // : this.insuredPersonInfo
  7427. // };
  7428. // this.$api.letter.productQueryboHai(productQueryVo).then(res => {
  7429. // if (res.code == 200) {
  7430. // this.boHaiaccidentDataList = res.data;
  7431. // } else {
  7432. // this.boHaiaccidentDataList = [];
  7433. // }
  7434. // });
  7435. // break;
  7436. // case "紫金财险":
  7437. // this.$api.letter
  7438. // .zijinqueryVehicleProducts({
  7439. // agreementId: val,
  7440. // seatCount: Number(this.carInfo.seatCount)
  7441. // })
  7442. // .then(res => {
  7443. // if (res.code == 200) {
  7444. // let data = res.data;
  7445. // data.map(ele => {
  7446. // ele.quantity = 1;
  7447. // return ele;
  7448. // });
  7449. // this.ziJinInsuranceData = data;
  7450. // } else {
  7451. // this.$message.error(res.msg);
  7452. // }
  7453. // });
  7454. // break;
  7455. // case "中国人寿":
  7456. // case "恒邦财险":
  7457. // case "太平财险":
  7458. // case "安盛天平":
  7459. // case "华农财险":
  7460. // case "众安财险":
  7461. // this.$api.letter.pythongetDriving({ agreementId: val }).then(res => {
  7462. // if (res.code == 200) {
  7463. // let data = res.data;
  7464. // data.map(ele => {
  7465. // ele.quantity = 1;
  7466. // return ele;
  7467. // });
  7468. // this[item.cnName + "InsuranceData"] = data;
  7469. // }
  7470. // });
  7471. // break;
  7472. // case "大家财险":
  7473. // this.$api.letter
  7474. // .dajiagetDriving({ agreementId: item.agreementId })
  7475. // .then(res => {
  7476. // if (res.code == 200) {
  7477. // this.dajiaInsuranceData = res.data;
  7478. // }
  7479. // });
  7480. // break;
  7481. // default:
  7482. // break;
  7483. // }
  7484. },
  7485. nonVehicle(data, type) {
  7486. if (data.some((e) => e.isDefault)) {
  7487. if (type == "guoRen") {
  7488. this.grcxchange(data.find((ele) => ele.isDefault).projectCode);
  7489. this.grcxchangeChild(
  7490. data
  7491. .find((ele) => ele.isDefault)
  7492. .children.find((ele) => ele.isDefault).projectCode
  7493. );
  7494. }
  7495. if (type == "ansheng") {
  7496. this.anshengInsuranceChange(
  7497. data.find((ele) => ele.isDefault).projectCode
  7498. );
  7499. this.ASDrivingRadio(
  7500. data
  7501. .find((ele) => ele.isDefault)
  7502. .children.find((ele) => ele.isDefault)
  7503. );
  7504. }
  7505. if (type == "zijin") {
  7506. this[type + "InsuranceChange"]([
  7507. data.find((ele) => ele.isDefault).projectCode,
  7508. ]);
  7509. } else {
  7510. this[type + "InsuranceChange"](
  7511. data.find((ele) => ele.isDefault).projectCode
  7512. );
  7513. }
  7514. }
  7515. },
  7516. CheckboxChange(select, row) {
  7517. this.accidentalDrivingVo = [];
  7518. select.map((val) => {
  7519. this.accidentalDrivingVo.push(val);
  7520. return val;
  7521. });
  7522. },
  7523. //人寿驾意险选择
  7524. RSDrivingChange(row) {
  7525. this.renshouaccidentalDrivingVo = row;
  7526. },
  7527. TkDrivingChange(row) {
  7528. this.taikangaccidentalDrivingVo = row;
  7529. },
  7530. //众安驾意险选择
  7531. ZADrivingChange(row) {
  7532. this.zhonganaccidentalDrivingVo = row;
  7533. },
  7534. RSDrivingRadio(row) {
  7535. this.RSDrivingChange(row);
  7536. },
  7537. //安盛驾意险选择
  7538. ASDrivingRadio(row) {
  7539. this.anshengInsurancetype = row.projectCode;
  7540. this.anshengaccidentalDrivingVo = Object.assign({
  7541. ...this.anshengaccidentalDrivingVo,
  7542. ...row,
  7543. });
  7544. // this.anshengaccidentalDrivingVo.projectCode = row.projectCode;
  7545. // this.anshengaccidentalDrivingVo.projectName = row.projectName;
  7546. },
  7547. pinganDetail(row,agreementId) {
  7548. this.pinganDataDetailVisible=false
  7549. this.$api.letter
  7550. .productDetailsQuery({ agreementId,
  7551. packageCode:row.code,
  7552. productCode:row.productCode,
  7553. version:row.version,
  7554. })
  7555. .then((res) => {
  7556. if(res.code==200){
  7557. this.pinganDataDetailVisible=true
  7558. this.pinganDataDetail=res.data
  7559. }
  7560. else{
  7561. this.$message.err(res.msg)
  7562. }
  7563. });
  7564. },
  7565. sameItem(array1,array2) {
  7566. return array2.find(item => {
  7567. array1.some(innerItem => innerItem.code === item.code)
  7568. }
  7569. );
  7570. },
  7571. PADrivingCheckbox(event,row,agreementId,index) {
  7572. // const checkedVal = this.accidentFormPA[index].pinganInsuranceDataTable.find(x => x.cameraId === item.cameraId)
  7573. const isSelected = event.some(selectedRow => selectedRow.code == row.code);
  7574. let isIndex =null
  7575. let amount =null
  7576. event.find((selectedRow,selectedIndex) => {
  7577. if(selectedRow.code == row.code){
  7578. isIndex= selectedIndex
  7579. }
  7580. });
  7581. if(event.length>0 && isSelected){
  7582. this.$api.letter
  7583. .productDetailsQuery({ agreementId,
  7584. packageCode:row.code,
  7585. productCode:row.productCode,
  7586. version:row.version,
  7587. })
  7588. .then((res) => {
  7589. if(res.code==200){
  7590. res.data.forEach(ele=>{
  7591. amount+=Number(ele.unitInsuredAmount)?Number(ele.unitInsuredAmount):0
  7592. })
  7593. event[isIndex].amount=amount
  7594. }
  7595. else{
  7596. this.$message.err(res.msg)
  7597. }
  7598. });
  7599. }
  7600. event.forEach((res,indexOf)=>{
  7601. res.projectName=this.accidentFormPA[index].projectName
  7602. res.projectCode=this.accidentFormPA[index].projectCode
  7603. res.combineProductType=this.accidentFormPA[index].combineProductType
  7604. })
  7605. this.pinganaccidentalDrivingVo[index]=event
  7606. },
  7607. //平安驾意险选择
  7608. PADrivingRadio(row,agreementId,index) {
  7609. // this.accidentPremiumPA = row.premium;
  7610. this.accidentFormPA[index].quantity = '1';
  7611. this.accidentFormPA[index].sellListSize =Number(row.sellListSize) ;
  7612. this.accidentFormPA[index].premium = row.premium
  7613. this.accidentFormPA[index].combineProductType = row.combineProductType
  7614. this.accidentFormPA[index].accidentPremiumPA = row.premium
  7615. this.accidentFormPA[index].pinganInsurancetype = row.code;
  7616. this.$api.letter
  7617. .productDetailsQuery({ agreementId,
  7618. packageCode:row.code,
  7619. productCode:row.productCode,
  7620. version:row.version,
  7621. })
  7622. .then((res) => {
  7623. if(res.code==200){
  7624. this.accidentFormPA[index].amount=0
  7625. res.data.forEach(e=>{
  7626. this.accidentFormPA[index].amount+=Number(e.unitInsuredAmount)?Number(e.unitInsuredAmount):0
  7627. })
  7628. this.pinganaccidentalDrivingVo[index]={
  7629. ...row,
  7630. ...this.accidentFormPA[index],
  7631. };
  7632. }
  7633. else{
  7634. this.$message.err(res.msg)
  7635. this.pinganaccidentalDrivingVo[index]={
  7636. ...row,
  7637. ...this.accidentFormPA[index],
  7638. };
  7639. }
  7640. });
  7641. },
  7642. ZADrivingRadio(row) {
  7643. this.ZADrivingChange(row);
  7644. },
  7645. // 获取特约
  7646. getClauseData(id, index) {
  7647. this.ownerInfo.owner = this.tbczcarShow;
  7648. this.insuredPersonInfo.owner = this.bbczcarShow;
  7649. this.insuredPersonInfo.insuranceHolder = this.bbtbcarShow;
  7650. let data = {
  7651. userId: this.userId,
  7652. quoteno: this.quoteno,
  7653. orderNo: this.orderno,
  7654. carInfo: this.carInfo,
  7655. insuredPersonInfo: this.insuredPersonInfo,
  7656. ownerInfo: this.ownerInfo,
  7657. policyHolderInfo: this.policyHolderInfo,
  7658. kindList: this.kindList,
  7659. riskList: this.riskList,
  7660. isExternal: "1",
  7661. vehicleAndVesselTax: this.vehicleAndVesselTaxForm,
  7662. };
  7663. // this.typeDialogIndex = index
  7664. // this.zijinengageListData = [];
  7665. // this.contributingLoading = true;
  7666. // this.contributingState = true;
  7667. // this.hbsubmitdialogVisible = true;
  7668. this.$api.letter.getClauseByCompanyId({
  7669. productCode: this.productId,
  7670. companyId: this.totalCompanyList[index].id,
  7671. quoteInfoVo: data
  7672. }).then((res) => {
  7673. this.contributingLoading = false;
  7674. if (res.data) {
  7675. // res.data.forEach((val) => {
  7676. // val.clauseName = val.clauses;
  7677. // val.clauseContent = val.clausesContext;
  7678. // });
  7679. this.zijinengageListData = res.data;
  7680. }
  7681. })
  7682. },
  7683. // 国任特约选择
  7684. contributingGuoRen(id, index) {
  7685. this.typeDialogIndex = index
  7686. this.zijinengageListData = [];
  7687. this.contributingLoading = true;
  7688. this.contributingState = true;
  7689. this.hbsubmitdialogVisible = true;
  7690. this.getClauseData(id, index)
  7691. return
  7692. this.$api.letter
  7693. .guorenqueryClauseData({ agreementId: id })
  7694. .then((res) => {
  7695. this.contributingLoading = false;
  7696. if (res.data) {
  7697. res.data.forEach((val) => {
  7698. val.clauseName = val.clauses;
  7699. val.clauseContent = val.clausesContext;
  7700. });
  7701. this.zijinengageListData = res.data;
  7702. }
  7703. });
  7704. },
  7705. //紫金特约选择
  7706. zijinengageChange(select, row) {
  7707. this.zijinengageList = [];
  7708. if (!this.totalCompanyList[this.typeDialogIndex].zxProgramme) {
  7709. this.totalCompanyList[this.typeDialogIndex].zxProgramme = { // 自选方案详情
  7710. description: '',
  7711. drivingList: [],
  7712. jqx: {
  7713. name: '交通事故强制责任险'
  7714. },
  7715. kinds: {
  7716. additional: [],
  7717. main: [],
  7718. service: []
  7719. },
  7720. teyue: [],
  7721. }
  7722. }
  7723. // this.totalCompanyList[this.typeDialogIndex].programme = {}
  7724. this.totalCompanyList[this.typeDialogIndex].programme.teyue = []
  7725. select.map((val) => {
  7726. this.zijinengageList.push({
  7727. clauseCode: val.clauseCode,
  7728. clauseName: val.clauseName,
  7729. clauses: val.replaceContent,
  7730. riskCode: val.riskCode,
  7731. });
  7732. this.totalCompanyList[this.typeDialogIndex].zxProgramme.teyue = this.zijinengageList
  7733. this.totalCompanyList[this.typeDialogIndex].programme.teyue = this.zijinengageList
  7734. return val;
  7735. });
  7736. },
  7737. zijinengageChangeAll(row) {
  7738. if (row) {
  7739. this.zijinengageChange(row);
  7740. } else {
  7741. this.$refs.expandTablePro.clearSelection();
  7742. this.zijinengageList = [];
  7743. }
  7744. },
  7745. //紫金特约内容编辑
  7746. zijincellDblclick(row, column) {
  7747. this.currentCell = row.index + "," + column.index;
  7748. if (
  7749. !["clauseContent"].includes(column.property) &&
  7750. row.modifyFlag == "1"
  7751. ) {
  7752. setTimeout(() => {
  7753. this.$refs[row.index + "," + column.index].focus();
  7754. });
  7755. }
  7756. },
  7757. tableCellClassName({ row, column, rowIndex, columnIndex }) {
  7758. row.index = rowIndex;
  7759. column.index = columnIndex;
  7760. },
  7761. hideInput() {
  7762. this.currentCell = null;
  7763. },
  7764. updateArray(arr, value, condition) {
  7765. if (condition) {
  7766. arr.push(value);
  7767. } else {
  7768. const index = arr.indexOf(value);
  7769. if (index !== -1) {
  7770. arr.splice(index, 1);
  7771. }
  7772. }
  7773. if (arr.length == 0) {
  7774. this.totalCompanyList.forEach((e) => {
  7775. e.disabled = false;
  7776. });
  7777. } else {
  7778. this.totalCompanyList.forEach((e) => {
  7779. e.disabled = e.id == arr[0] ? false : true;
  7780. });
  7781. }
  7782. },
  7783. //勾选保险公司
  7784. initchange(e, code, name, index) {
  7785. if (e) {
  7786. this.totalCompanyList[index].checked = e;
  7787. this.getCompanyProgramme(e, code, name, index)
  7788. this.kindListFun();
  7789. let ins = this.totalCompanyList[index].namesimple;
  7790. this.totalCompanyList[index].underwritingDescription =
  7791. this.totalCompanyList[index].agreement[0].underwritingDescription;
  7792. if (this.$route.path != "/task/external/externalOrders")
  7793. this.$api.letter
  7794. .getDrivingInsuranceRule({
  7795. agreementId: this.totalCompanyList[index].agreement[0].id,
  7796. seatNum:
  7797. ins == "永诚财险" || ins == "中煤财险"
  7798. ? Number(this.carInfo.seatCount)
  7799. : "",
  7800. ruleUseNature: this.carInfo.carnature,
  7801. ruleSeatNum: Number(this.carInfo.seatCount),
  7802. risk: this.riskList,
  7803. kind: this.kindList,
  7804. ruleThirdPartyInsurance: this.insureList[1].amount,
  7805. cimodelclass: ins == "平安财险"
  7806. ? this.carInfo.cimodelclass
  7807. : "",
  7808. isUseCombine:ins == "平安财险"
  7809. ? 'Y'
  7810. : "",
  7811. tonNumber:ins == "平安财险"
  7812. ? this.carInfo.limitLoad
  7813. : "",
  7814. ownAttribute:ins == "平安财险"
  7815. ? '03'
  7816. : "",
  7817. useAttribute: ins == "平安财险"
  7818. ? this.carInfo.carnature
  7819. : "",
  7820. })
  7821. .then((res) => {
  7822. if (res.code == 200) {
  7823. switch (ins) {
  7824. case "永诚财险":
  7825. this.yongchengaccidentDataList = res.data;
  7826. break;
  7827. case "国任财险":
  7828. this.guoRenaccidentDataList = res.data;
  7829. break;
  7830. case "渤海财险":
  7831. this.boHaiaccidentDataList = res.data;
  7832. break;
  7833. case "中煤财险":
  7834. case "平安财险":
  7835. this[name + "InsuranceData"] = res.data;
  7836. break;
  7837. case "紫金财险":
  7838. let data = res.data;
  7839. data.map((ele) => {
  7840. ele.quantity = 1;
  7841. return ele;
  7842. });
  7843. this.ziJinInsuranceData = data;
  7844. break;
  7845. case "大家财险":
  7846. this.dajiaInsuranceData = res.data;
  7847. break;
  7848. case "中国人寿":
  7849. case "恒邦财险":
  7850. case "太平财险":
  7851. case "华农财险":
  7852. case "安盛天平":
  7853. case "众安财险":
  7854. case "太平洋财险":
  7855. res.data.map((ele) => {
  7856. ele.quantity = 1;
  7857. return ele;
  7858. });
  7859. this[name + "InsuranceData"] = res.data;
  7860. break;
  7861. }
  7862. this.nonVehicle(res.data, name);
  7863. } else {
  7864. this.$message.error(res.msg);
  7865. }
  7866. });
  7867. // switch (ins) {
  7868. // case "永诚财险":
  7869. // this.accidentForm.agreementId = this.totalCompanyList[
  7870. // index
  7871. // ].agreement[0].id;
  7872. // this.$api.letter
  7873. // .ycgainAccidentList({
  7874. // companyCode: this.totalCompanyList[index].id,
  7875. // agreementId: this.totalCompanyList[index].agreement[0].id,
  7876. // seatNum: Number(this.carInfo.seatCount)
  7877. // })
  7878. // .then(res => {
  7879. // if (res.code == 200) {
  7880. // this.accidentDataList = res.data;
  7881. // } else {
  7882. // this.accidentDataList = [];
  7883. // }
  7884. // });
  7885. // break;
  7886. // case "国任财险":
  7887. // this.guoRenaccidentForm.agreementId = this.totalCompanyList[
  7888. // index
  7889. // ].agreement[0].id;
  7890. // this.$api.letter
  7891. // .syncNonAutoInsGuoren({
  7892. // goodsCode: "",
  7893. // agreementId: this.totalCompanyList[index].agreement[0].id
  7894. // })
  7895. // .then(res => {
  7896. // if (res.code == 200) {
  7897. // this.guoRenaccidentDataList = res.data;
  7898. // } else {
  7899. // this.guoRenaccidentDataList = [];
  7900. // }
  7901. // });
  7902. // break;
  7903. // case "紫金财险":
  7904. // this.$api.letter
  7905. // .zijinqueryVehicleProducts({
  7906. // agreementId: this.totalCompanyList[index].agreement[0].id,
  7907. // seatCount: Number(this.carInfo.seatCount)
  7908. // })
  7909. // .then(res => {
  7910. // if (res.code == 200) {
  7911. // let data = res.data;
  7912. // data.map(ele => {
  7913. // ele.quantity = 1;
  7914. // return ele;
  7915. // });
  7916. // this.ziJinInsuranceData = data;
  7917. // } else {
  7918. // this.$message.error(res.msg);
  7919. // }
  7920. // });
  7921. // break;
  7922. // case "安盛天平":
  7923. // this.$api.letter
  7924. // .pythongetDriving({
  7925. // agreementId: this.totalCompanyList[index].agreement[0].id
  7926. // })
  7927. // .then(res => {
  7928. // if (res.code == 200) {
  7929. // let data = res.data;
  7930. // data.map(ele => {
  7931. // ele.departmentProductList.map(val => {
  7932. // val.quantity = 1;
  7933. // });
  7934. // return ele;
  7935. // });
  7936. // this[name + "InsuranceData"] = data;
  7937. // } else {
  7938. // this.$message.error(res.msg);
  7939. // }
  7940. // });
  7941. // break;
  7942. // case "中国人寿":
  7943. // case "恒邦财险":
  7944. // case "太平财险":
  7945. // case "华农财险":
  7946. // case "众安财险":
  7947. // this.$api.letter
  7948. // .pythongetDriving({
  7949. // agreementId: this.totalCompanyList[index].agreement[0].id
  7950. // })
  7951. // .then(res => {
  7952. // if (res.code == 200) {
  7953. // let data = res.data;
  7954. // data.map(ele => {
  7955. // ele.quantity = 1;
  7956. // return ele;
  7957. // });
  7958. // this[name + "InsuranceData"] = data;
  7959. // } else {
  7960. // this.$message.error(res.msg);
  7961. // }
  7962. // });
  7963. // break;
  7964. // case "中煤财险":
  7965. // this.accidentFormZM.agreementId = this.totalCompanyList[
  7966. // index
  7967. // ].agreement[0].id;
  7968. // this.$api.letter
  7969. // .zmGetDrivingPro({
  7970. // agreementId: this.totalCompanyList[index].agreement[0].id,
  7971. // seatNum: this.carInfo.seatCount
  7972. // })
  7973. // .then(res => {
  7974. // if (res.code == 200) {
  7975. // let data = res.data;
  7976. // this[name + "InsuranceData"] = data;
  7977. // } else {
  7978. // this.$message.error(res.msg);
  7979. // }
  7980. // });
  7981. // break;
  7982. // case "大家财险":
  7983. // this.$api.letter
  7984. // .dajiagetDriving({
  7985. // agreementId: this.totalCompanyList[index].agreement[0].id
  7986. // })
  7987. // .then(res => {
  7988. // if (res.code == 200) {
  7989. // this.dajiaInsuranceData = res.data;
  7990. // } else {
  7991. // this.$message.error(res.msg);
  7992. // }
  7993. // });
  7994. // break;
  7995. // default:
  7996. // break;
  7997. // }
  7998. } else {
  7999. }
  8000. },
  8001. clearAccidentForm() {
  8002. this.yongchengInsuranceDataTable = [];
  8003. this.accidentForm = {};
  8004. this.accidentForm.fen = 1;
  8005. this.accidentForm.premium = 0;
  8006. },
  8007. clearAccidentFormPA(index) {
  8008. // this.accidentFormPA[index]={
  8009. // quantity: 1,
  8010. // premium: 0,
  8011. // pingantemplateSelection:'',
  8012. // pinganInsuranceDataTable:[],
  8013. // pinganInsurancetype:'',
  8014. // }
  8015. this.pinganaccidentalDrivingVo[index] = {};
  8016. },
  8017. clearAccidentFormTk() {
  8018. this.taikangaccidentalDrivingVo = {};
  8019. this.taikangInsuranceDataTable = [];
  8020. this.accidentFormTk = {};
  8021. this.accidentFormTk.fen = 1;
  8022. this.accidentFormTk.premium = 0;
  8023. },
  8024. clearAccidentFormGr() {
  8025. (this.guoRenInsuranceDataTable = []),
  8026. (this.guoRenaccidentDataListChild = []);
  8027. this.guoRenaccidentForm = {
  8028. quantity: "1",
  8029. premium: 0,
  8030. };
  8031. },
  8032. clearAccidentFormBh() {
  8033. this.bohaiInsuranceDataTable = [];
  8034. this.boHaiaccidentForm = {
  8035. copies: "1",
  8036. premium: 0,
  8037. };
  8038. // this.bohaiaccidentalDrivingVo={};
  8039. },
  8040. clearAccidentFormHN() {
  8041. this.huanongaccidentalDrivingVo = {};
  8042. },
  8043. clearAccidentFormHB() {
  8044. this.hengbangaccidentalDrivingVo = {};
  8045. },
  8046. clearAccidentFormTP() {
  8047. this.taipingaccidentalDrivingVo = {};
  8048. },
  8049. clearAccidentFormDJ() {
  8050. this.dajiaaccidentalDrivingVo = {};
  8051. },
  8052. clearAccidentFormZM() {
  8053. this.zhongmeiaccidentalDrivingVo = {};
  8054. },
  8055. clearAccidentFormZJ() {
  8056. this.accidentalDrivingVo = [];
  8057. },
  8058. clearAccidentFormZA() {
  8059. this.zhonganaccidentalDrivingVo = {};
  8060. },
  8061. clearAccidentFormRS() {
  8062. this.renshouaccidentalDrivingVo = {};
  8063. },
  8064. clearAccidentFormAS() {
  8065. this.anshengaccidentalDrivingVo = {};
  8066. },
  8067. //身份证有效期长期
  8068. insureLongterm(e) {
  8069. this[e].identifyValidEndDate = "9999-12-31";
  8070. },
  8071. //较强起保日期事件
  8072. jqChange(e) {
  8073. this.jqendDate = this.oneYearPast1(e);
  8074. },
  8075. //商业起保日期事件
  8076. syChange(e) {
  8077. this.syendDate = this.oneYearPast1(e);
  8078. },
  8079. // //查看更多
  8080. // selectMore(leg) {
  8081. // this.insureMore = false;
  8082. // this.insureLength = leg;
  8083. // },
  8084. // //收起
  8085. // packup() {
  8086. // this.insureMore = true;
  8087. // this.insureLength = 5;
  8088. // },
  8089. //险别选择框事件
  8090. insureitemChange(e, item) {
  8091. // if (e != 0) {
  8092. // this.sychecked = true;
  8093. // this.systartDate = this.transformTime1();
  8094. // this.syendDate = this.oneYearPast1(this.systartDate);
  8095. // this.kindList.push(item)
  8096. // this.obtainProtocol();
  8097. // } else {
  8098. // let list = this.kindList.filter(item => item.kindCode !== item.kindCode);
  8099. // this.kindList = list;
  8100. // this.obtainProtocol();
  8101. // }
  8102. },
  8103. all() {
  8104. this.$refs.detailsDialog.setBackupVisible(true);
  8105. },
  8106. base64ToBlob(code) {
  8107. code = code.replace(/[\n\r]/g, "");
  8108. // atob() 方法用于解码使用 base-64 编码的字符串。
  8109. const raw = window.atob(code);
  8110. const rawLength = raw.length;
  8111. const uInt8Array = new Uint8Array(rawLength);
  8112. for (let i = 0; i < rawLength; ++i) {
  8113. uInt8Array[i] = raw.charCodeAt(i);
  8114. }
  8115. return new Blob([uInt8Array], { type: "application/pdf" });
  8116. },
  8117. viewPdf(content) {
  8118. if (!content) {
  8119. this.$message.error("暂无文件");
  8120. return;
  8121. }
  8122. const blob = this.base64ToBlob(content);
  8123. this.href = blob;
  8124. if (window.navigator && window.navigator.msSaveOrOpenBlob) {
  8125. window.navigator.msSaveOrOpenBlob(blob);
  8126. } else {
  8127. const fileURL = URL.createObjectURL(blob);
  8128. window.open(fileURL);
  8129. }
  8130. },
  8131. //二维码生成插件
  8132. creatQrCode(text) {
  8133. // 查找并删除旧的二维码DOM元素
  8134. let element = document.getElementById("qrcode");
  8135. while (element.firstChild) {
  8136. element.removeChild(element.firstChild);
  8137. }
  8138. // 创建新的QRCode实例
  8139. this.qrcode = new QrCode("qrcode", {
  8140. text: text,
  8141. width: this.qrcodeWidth,
  8142. height: this.qrcodeHeight,
  8143. colorDark: "#000000",
  8144. colorLight: "#ffffff",
  8145. correctLevel: QrCode.CorrectLevel.H,
  8146. });
  8147. },
  8148. //人工核保
  8149. underwriting(id) {
  8150. let param = {
  8151. companyId: id,
  8152. };
  8153. this.$api.letter.manualUnderwriting(param).then((res) => {
  8154. if (res.code == "200") {
  8155. this.Payment(id);
  8156. }
  8157. });
  8158. },
  8159. signature(companyId){
  8160. this.$api.letter.pingAnsignEleApply({companyId}).then((res) => {
  8161. if (res.code == 200 && res.data) {
  8162. this.resultMessageImg=process.env.BASE_URL+res.data.resultMessage
  8163. this.signaturedialogVisible = true;
  8164. // 查找并删除旧的二维码DOM元素
  8165. // let element = document.getElementById("signaturecode");
  8166. // while (element.firstChild) {
  8167. // element.removeChild(element.firstChild);
  8168. // }
  8169. // this.signaturecode = new QRCode("signaturecode", {
  8170. // text: resultMessage,
  8171. // width: 180,
  8172. // height: 180,
  8173. // colorDark: "#000000",
  8174. // colorLight: "#ffffff",
  8175. // correctLevel: QRCode.CorrectLevel.H,
  8176. // });
  8177. // this.signaturedialogVisible = true;
  8178. // this.$api.letter.pingAnsignEleApply({companyId}).then((res) => {
  8179. // if (res.code == 200 && res.data) {
  8180. // // 查找并删除旧的二维码DOM元素
  8181. // let element = document.getElementById("signaturecode");
  8182. // while (element.firstChild) {
  8183. // element.removeChild(element.firstChild);
  8184. // }
  8185. // this.signaturecode = new QRCode("signaturecode", {
  8186. // text: res.data.resultMessage,
  8187. // width: 180,
  8188. // height: 180,
  8189. // colorDark: "#000000",
  8190. // colorLight: "#ffffff",
  8191. // correctLevel: QRCode.CorrectLevel.H,
  8192. // });
  8193. } else {
  8194. this.$message({
  8195. message: res.msg || "暂无数据!",
  8196. type: "warning",
  8197. });
  8198. }
  8199. });
  8200. },
  8201. jqcheckedChange(e) {
  8202. if (e) {
  8203. this.jqstartDate = this.transformTime1();
  8204. this.jqendDate = this.oneYearPast1(this.jqstartDate);
  8205. this.riskList.push({
  8206. riskCode: "0507",
  8207. });
  8208. // this.obtainProtocol();
  8209. } else {
  8210. this.jqstartDate = "";
  8211. this.jqendDate = "";
  8212. let list = this.riskList.filter(item => item.riskCode !== "0507");
  8213. this.riskList = list;
  8214. // this.obtainProtocol();
  8215. }
  8216. },
  8217. sycheckedChange(e) {
  8218. if (e) {
  8219. this.systartDate = this.transformTime1();
  8220. this.syendDate = this.oneYearPast1(this.systartDate);
  8221. this.riskList.push({
  8222. riskCode: "0510",
  8223. });
  8224. // this.obtainProtocol();
  8225. } else {
  8226. this.systartDate = "";
  8227. this.syendDate = "";
  8228. let list = this.riskList.filter(item => item.riskCode !== "0510");
  8229. this.riskList = list;
  8230. // this.obtainProtocol();
  8231. }
  8232. },
  8233. //订单生成后保存接口
  8234. preserveOrderStageProcessing(type, btnLoading) {
  8235. // console.log(this.editorInfo);
  8236. // debugger;
  8237. //同车主的选择框
  8238. this[btnLoading] = true;
  8239. if (this.tbczcarShow && this.imageList2.length > 0) {
  8240. //投保人同车主
  8241. this.imageList3 = JSON.parse(JSON.stringify(this.imageList2));
  8242. if (this.imageList3.length == 1) {
  8243. this.imageList3[0].imageType = this.imageList3[0].imageType.includes(
  8244. "C0"
  8245. )
  8246. ? "C03"
  8247. : "D03";
  8248. } else {
  8249. this.imageList3.forEach((e) => {
  8250. e.imageType = e.imageType.includes("C0") ? "C03" : "D03";
  8251. });
  8252. }
  8253. }
  8254. if (this.bbczcarShow && this.imageList2.length > 0) {
  8255. //被保人同车主
  8256. this.imageList4 = JSON.parse(JSON.stringify(this.imageList2));
  8257. if (this.imageList4.length == 1) {
  8258. this.imageList4[0].imageType = this.imageList4[0].imageType.includes(
  8259. "C0"
  8260. )
  8261. ? "C04"
  8262. : "D04";
  8263. } else {
  8264. this.imageList4.forEach((e) => {
  8265. e.imageType = e.imageType.includes("C0") ? "C04" : "D04";
  8266. });
  8267. }
  8268. }
  8269. if (this.bbtbcarShow && this.imageList3.length > 0) {
  8270. //被保人同投保人
  8271. this.imageList4 = JSON.parse(JSON.stringify(this.imageList3));
  8272. if (this.imageList4.length == 1) {
  8273. this.imageList4[0].imageType = this.imageList4[0].imageType.includes(
  8274. "C0"
  8275. )
  8276. ? "C04"
  8277. : "D04";
  8278. } else {
  8279. this.imageList4.forEach((e) => {
  8280. e.imageType = e.imageType.includes("C0") ? "C04" : "D04";
  8281. });
  8282. }
  8283. }
  8284. //日期长度<10处理
  8285. const formatDate = (date) => {
  8286. if (date.length < 10) {
  8287. return this.timeformat(date);
  8288. }
  8289. return date;
  8290. };
  8291. if (this.carInfo.registerDate.length < 10) {
  8292. this.carInfo.registerDate = formatDate(this.carInfo.registerDate);
  8293. }
  8294. if (this.carInfo.issueDate.length < 10) {
  8295. this.carInfo.issueDate = formatDate(this.carInfo.issueDate);
  8296. }
  8297. if (
  8298. this.carInfo.transferDate &&
  8299. this.carInfo.transferDate.length < 10 &&
  8300. this.carInfo.transferDate !== ""
  8301. ) {
  8302. this.carInfo.transferDate = formatDate(this.carInfo.transferDate);
  8303. }
  8304. //日期长度<10处理
  8305. //提交身份证/驾驶证 ——————————————————
  8306. this.policyHolderInfo.owner = this.tbczcarShow;
  8307. this.insuredPersonInfo.owner = this.bbczcarShow;
  8308. this.insuredPersonInfo.insuranceHolder = this.bbtbcarShow;
  8309. if (typeof this.ownerInfo.provinceData == "string") {
  8310. this.ownerInfo.provinceData = [];
  8311. }
  8312. if (typeof this.insuredPersonInfo.provinceData == "string") {
  8313. this.insuredPersonInfo.provinceData = [];
  8314. }
  8315. if (typeof this.policyHolderInfo.provinceData == "string") {
  8316. this.policyHolderInfo.provinceData = [];
  8317. }
  8318. if (this.$route.query.data) {
  8319. const mergedArray = [
  8320. ...this.imageList1,
  8321. ...this.imageList2,
  8322. ...this.imageList3,
  8323. ...this.imageList4,
  8324. ...this.imageList5,
  8325. ...this.imageList6,
  8326. ];
  8327. if (mergedArray.length > 0) {
  8328. let imageparam = {
  8329. imageList: mergedArray,
  8330. quoteNo: this.$route.query.data.quoteno,
  8331. };
  8332. this.$api.letter.uploadImages(imageparam).then((responses) => {
  8333. // this.$refs.imageDialog.imageEcho(this.$route.query.data.quoteno)
  8334. this.imageEcho(this.$route.query.data.quoteno); // 获取图片
  8335. });
  8336. }
  8337. this.editorInfo.applyinfo.owner = this.tbczcarShow;
  8338. this.editorInfo.insureinfo.owner = this.bbczcarShow;
  8339. this.editorInfo.insureinfo.insuranceHolder = this.bbtbcarShow;
  8340. let params = {
  8341. orderNo: this.$route.query.data.orderno,
  8342. ...this.policyNumberForm,
  8343. agreementId: this.isLetter3agreementId,
  8344. stageFlag: type,
  8345. jqstartdate: this.jqstartDate,
  8346. jqenddate: this.jqendDate,
  8347. systartdate : this.systartDate,
  8348. syenddate : this.syendDate,
  8349. kind: this.kindList,
  8350. risk: this.riskList,
  8351. kindList: this.kindList,
  8352. riskList: this.riskList,
  8353. carInfo: this.carInfo,
  8354. insuredPersonInfo: this.insuredPersonInfo,
  8355. ownerInfo: this.ownerInfo,
  8356. policyHolderInfo: this.policyHolderInfo,
  8357. isExternal: "1",
  8358. vehicleAndVesselTax: this.vehicleAndVesselTaxForm,
  8359. };
  8360. // debugger;
  8361. this.$api.letter.updateExternalOrder(params).then((res) => {
  8362. if (res.code == "200") {
  8363. this[btnLoading] = false;
  8364. this.$message({
  8365. message: res.msg || "编辑成功",
  8366. type: "success",
  8367. });
  8368. this.add();
  8369. } else {
  8370. this[btnLoading] = false;
  8371. this.$message.error(res.msg);
  8372. }
  8373. });
  8374. } else {
  8375. this.ownerInfo.owner = this.tbczcarShow;
  8376. this.insuredPersonInfo.owner = this.bbczcarShow;
  8377. this.insuredPersonInfo.insuranceHolder = this.bbtbcarShow;
  8378. let param = {
  8379. userId: this.userId,
  8380. quoteno: this.quoteno,
  8381. orderNo: this.orderno,
  8382. carInfo: this.carInfo,
  8383. insuredPersonInfo: this.insuredPersonInfo,
  8384. ownerInfo: this.ownerInfo,
  8385. policyHolderInfo: this.policyHolderInfo,
  8386. kindList: this.kindList,
  8387. riskList: this.riskList,
  8388. isExternal: "1",
  8389. vehicleAndVesselTax: this.vehicleAndVesselTaxForm,
  8390. };
  8391. this.$api.letter.generateOrder(param).then((res) => {
  8392. if (res.code == "200") {
  8393. //上传图片
  8394. const mergedArray = [
  8395. ...this.imageList1,
  8396. ...this.imageList2,
  8397. ...this.imageList3,
  8398. ...this.imageList4,
  8399. ...this.imageList5,
  8400. ...this.imageList6,
  8401. ];
  8402. if (mergedArray.length > 0) {
  8403. let imageparam = {
  8404. imageList: mergedArray,
  8405. quoteNo: res.data.quoteno,
  8406. };
  8407. this.$api.letter.uploadImages(imageparam).then((responses) => {
  8408. this.imageEcho(res.data.quoteno); // 获取图片
  8409. // this.$refs.imageDialog.imageEcho(res.data.quoteno)
  8410. });
  8411. }
  8412. let params1 = {
  8413. orderNo: res.data.orderno,
  8414. ...this.policyNumberForm,
  8415. agreementId: this.isLetter3agreementId,
  8416. stageFlag: type,
  8417. nowCostsId: this.nowCostsId
  8418. };
  8419. // debugger
  8420. this.$api.letter.saveSubOrder(params1).then((res) => {
  8421. if (res.code == "200") {
  8422. this[btnLoading] = false;
  8423. this.$message({
  8424. message: res.msg || "录入成功",
  8425. type: "success",
  8426. });
  8427. this.add();
  8428. } else {
  8429. this[btnLoading] = false;
  8430. this.$message.error(res.msg);
  8431. }
  8432. });
  8433. } else {
  8434. this[btnLoading] = false;
  8435. this.$message.error(res.msg);
  8436. }
  8437. });
  8438. }
  8439. // document.getElementById("company").scrollIntoView();
  8440. this.imageUploadShow = true;
  8441. },
  8442. policyHolderInfovalidate() {
  8443. let _this = this;
  8444. // tbczcarShow 同车主
  8445. if (_this.tbczcarShow == true) {
  8446. // 投保人信息 policyHolderInfo
  8447. _this.policyHolderInfo = {..._this.ownerInfo}
  8448. } else {
  8449. _this.$refs["policyHolderInfo"].validate((valid2) => {
  8450. if (valid2) {
  8451. } else {
  8452. document.getElementById("toubaor").scrollIntoView();
  8453. _this.$message({ message: "请检查投保人信息", type: "warning" });
  8454. }
  8455. });
  8456. }
  8457. this.bbtbcarShowChange()
  8458. this.bbczcarShowChange()
  8459. },
  8460. validateCarCode() {
  8461. this.validateCarCodeShow = true
  8462. if(this.myQrCode) {
  8463. this.myQrCode.clear()
  8464. }
  8465. this.$nextTick(() => {
  8466. this.myQrCode = new QrCode(this.$refs.myQrcode, {
  8467. // text 需要转二维码的内容 可以是文本也可以是一个链接 是链接会直接跳走
  8468. text: this.vehicleInspectionUrl,
  8469. width: 200,
  8470. height: 200,
  8471. colorDark: "#333", //二维码颜色
  8472. colorLight: "#fff", //二维码背景颜色
  8473. correctLevel: QrCode.CorrectLevel.L, //容错率,L/M/H
  8474. })
  8475. })
  8476. },
  8477. //报价
  8478. quote(index) {
  8479. let starttime = new Date(this.carInfo.registerDate);
  8480. let endtime = new Date(this.carInfo.issueDate);
  8481. if (endtime < starttime) {
  8482. this.$message({ message: "发证日期早于初登日期", type: "error" });
  8483. return;
  8484. }
  8485. this.policyHolderInfovalidate();
  8486. this.$refs["carInfo"].validate((valid) => {
  8487. if (valid) {
  8488. var _this = this;
  8489. // this.policyHolderInfovalidate()
  8490. if (_this.tbczcarShow == true) {
  8491. _this.policyHolderInfo = {..._this.ownerInfo}
  8492. }
  8493. _this.$refs["ownerInfo"].validate((valid1) => {
  8494. if (valid1) {
  8495. if (_this.bbczcarShow == true) {
  8496. _this.insuredPersonInfo = {..._this.ownerInfo}
  8497. }
  8498. if (_this.bbtbcarShow == true) {
  8499. _this.insuredPersonInfo = {..._this.policyHolderInfo}
  8500. }
  8501. _this.carInfo.vinNo = _this.carInfo.frameNo;
  8502. _this.riskList = []; //险种大类
  8503. _this.kindList = []; //商业险险别
  8504. if (
  8505. (!_this.jqstartDate || !_this.jqendDate) &&
  8506. (!_this.systartDate || !_this.syendDate)
  8507. ) {
  8508. this.$message({ message: "投保日期不能为空", type: "warning" });
  8509. } else {
  8510. if (this.totalCompanyList[index].isTaxSource != 1 && this.totalCompanyList[index].agreementId == "") {
  8511. this.$message.warning('请选择协议')
  8512. return
  8513. }
  8514. this.calculateLoading = true;
  8515. setInterval(() => {
  8516. this.calculateLoading = false;
  8517. }, 3000);
  8518. _this.totalCompanyList[index].kindList = []
  8519. let kinds = [..._this.totalCompanyList[index].programme.kinds.main,
  8520. ..._this.totalCompanyList[index].programme.kinds.additional,
  8521. ..._this.totalCompanyList[index].programme.kinds.service]
  8522. kinds.forEach((value) => {
  8523. _this.totalCompanyList[index].kindList.push({
  8524. amount: value.amount,
  8525. serviceTimes: value.amount,
  8526. unitAmount: value.amount,
  8527. kindCode: value.kindCode,
  8528. kindName: value.kindName
  8529. })
  8530. })
  8531. if (_this.jqchecked) {
  8532. //交强
  8533. _this.jqstartDate = this.transformTime(_this.jqstartDate);
  8534. _this.jqendDate = this.transformTime(_this.jqendDate);
  8535. _this.riskList.push({
  8536. amount: "200000",
  8537. premium: "0",
  8538. riskCode: "0507",
  8539. endDate: _this.jqendDate,
  8540. startDate: _this.jqstartDate,
  8541. instantFlag: "0",
  8542. });
  8543. }
  8544. if (_this.sychecked) {
  8545. _this.systartDate = this.transformTime(_this.systartDate);
  8546. _this.syendDate = this.transformTime(_this.syendDate);
  8547. //商业
  8548. _this.riskList.push({
  8549. premium: "0",
  8550. riskCode: "0510",
  8551. quotePreceptCode: "",
  8552. quotePreceptName: "",
  8553. endDate: _this.syendDate,
  8554. startDate: _this.systartDate,
  8555. instantFlag: "0",
  8556. });
  8557. // _this.totalCompanyList.forEach((val) => {
  8558. // if (val.checked) {
  8559. // console.log(val.programme, 'programmeeeeeeee')
  8560. // let kinds = [...val.programme.kinds.additional, ...val.programme.kinds.main, ...val.programme.kinds.service]
  8561. // kinds.forEach((value) => {
  8562. // _this.kindList.push({
  8563. // amount: value.amount,
  8564. // kindCode: value.kindCode,
  8565. // kindName: value.kindName
  8566. // })
  8567. // })
  8568. // }
  8569. // })
  8570. _this.insureList.map((ele, index) => {
  8571. // if (
  8572. // ele.amount != "0" &&
  8573. // (ele.kindCode == "D4" || ele.kindCode == "SY_FJ_YBW2")
  8574. // ) {
  8575. // _this.kindList.push({
  8576. // unitAmount: _this.insureList[index].amount,
  8577. // kindCode: _this.insureList[index].kindCode,
  8578. // kindName: _this.insureList[index].kindName,
  8579. // });
  8580. // } else if (
  8581. // ele.amount != "0" &&
  8582. // (ele.kindCode == "MJ1" ||
  8583. // ele.kindCode == "MJ2" ||
  8584. // ele.kindCode == "MJ3" ||
  8585. // ele.kindCode == "MJ4")
  8586. // ) {
  8587. // _this.kindList.push({
  8588. // deductibleRate: _this.insureList[index].amount,
  8589. // kindCode: _this.insureList[index].kindCode,
  8590. // kindName: _this.insureList[index].kindName,
  8591. // });
  8592. // } else if (
  8593. // ele.amount != "0" &&
  8594. // (ele.kindCode == "TY1" ||
  8595. // ele.kindCode == "TY2" ||
  8596. // ele.kindCode == "TY3" ||
  8597. // ele.kindCode == "TY4")
  8598. // ) {
  8599. // _this.kindList.push({
  8600. // serviceTimes: _this.insureList[index].amount,
  8601. // kindCode: _this.insureList[index].kindCode,
  8602. // kindName: _this.insureList[index].kindName,
  8603. // });
  8604. // } else if (ele.amount != "0") {
  8605. // _this.kindList.push({
  8606. // amount: _this.insureList[index].amount,
  8607. // kindCode: _this.insureList[index].kindCode,
  8608. // kindName: _this.insureList[index].kindName,
  8609. // });
  8610. // }
  8611. return ele;
  8612. });
  8613. } else {
  8614. _this.kindList = [];
  8615. }
  8616. // if (_this.orderno) {
  8617. this.OrderStageProcessing(index);
  8618. // } else {
  8619. // _this.$api.letter.getquote().then(res => {
  8620. // _this.quoteno = res.data; //获取报价号
  8621. // this.OrderStageProcessing();
  8622. // });
  8623. // }
  8624. }
  8625. } else {
  8626. document.getElementById("CheZhu").scrollIntoView();
  8627. _this.$message({ message: "请检查人员信息", type: "warning" });
  8628. }
  8629. });
  8630. } else {
  8631. document.getElementById("Car").scrollIntoView();
  8632. this.$message({ message: "请检查车辆信息", type: "warning" });
  8633. return false;
  8634. }
  8635. });
  8636. },
  8637. quote1() {
  8638. console.log('最后的信息')
  8639. let starttime = new Date(this.carInfo.registerDate);
  8640. let endtime = new Date(this.carInfo.issueDate);
  8641. if (endtime < starttime) {
  8642. this.$message({ message: "发证日期早于初登日期", type: "error" });
  8643. return;
  8644. }
  8645. if(this.carInfo.licenseNo.length === 8&& this.carInfo.energyType === '0') {
  8646. this.$message.error('能源类型错误,请重新选择!')
  8647. return;
  8648. }
  8649. this.policyHolderInfovalidate();
  8650. var _this = this;
  8651. this.$refs["carInfo"].validate((valid) => {
  8652. if (valid) {
  8653. // this.policyHolderInfovalidate()
  8654. if (_this.tbczcarShow == true) {
  8655. _this.policyHolderInfo = {..._this.ownerInfo}
  8656. }
  8657. _this.$refs["ownerInfo"].validate((valid1) => {
  8658. if (valid1) {
  8659. if (_this.bbczcarShow == true) {
  8660. _this.insuredPersonInfo = {..._this.ownerInfo}
  8661. }
  8662. if (_this.bbtbcarShow == true) {
  8663. _this.insuredPersonInfo = {..._this.policyHolderInfo}
  8664. }
  8665. _this.carInfo.vinNo = _this.carInfo.frameNo;
  8666. _this.riskList = []; //险种大类
  8667. _this.kindList = []; //商业险险别
  8668. if (
  8669. (!_this.jqstartDate || !_this.jqendDate) &&
  8670. (!_this.systartDate || !_this.syendDate)
  8671. ) {
  8672. this.$message({ message: "投保日期不能为空", type: "warning" });
  8673. } else {
  8674. this.calculateLoading = true;
  8675. setInterval(() => {
  8676. this.calculateLoading = false;
  8677. }, 3000);
  8678. try {
  8679. this.totalCompanyList.forEach((val, index) => {
  8680. if (val.checked) {
  8681. val.kindList = []
  8682. if (!val.programme) {
  8683. // throw Error("没有方案")
  8684. return
  8685. }
  8686. let kinds = [...val.programme.kinds.main, ...val.programme.kinds.additional, ...val.programme.kinds.service]
  8687. kinds.forEach((value) => {
  8688. this.totalCompanyList[index].kindList.push({
  8689. amount: value.amount,
  8690. serviceTimes: value.amount,
  8691. unitAmount: value.amount,
  8692. kindCode: value.kindCode,
  8693. kindName: value.kindName
  8694. })
  8695. })
  8696. if (val.isTaxSource != 1 && val.agreementId == "") {
  8697. this.$message.warning('请选择协议')
  8698. throw Error("请选择协议")
  8699. }
  8700. }
  8701. })
  8702. } catch (error) {
  8703. return console.log(error)
  8704. }
  8705. if (_this.jqchecked) {
  8706. //交强
  8707. _this.jqstartDate = this.transformTime(_this.jqstartDate);
  8708. _this.jqendDate = this.transformTime(_this.jqendDate);
  8709. _this.riskList.push({
  8710. amount: "200000",
  8711. premium: "0",
  8712. riskCode: "0507",
  8713. endDate: _this.jqendDate,
  8714. startDate: _this.jqstartDate,
  8715. instantFlag: "0",
  8716. });
  8717. }
  8718. if (_this.sychecked) {
  8719. _this.systartDate = this.transformTime(_this.systartDate);
  8720. _this.syendDate = this.transformTime(_this.syendDate);
  8721. //商业
  8722. _this.riskList.push({
  8723. premium: "0",
  8724. riskCode: "0510",
  8725. quotePreceptCode: "",
  8726. quotePreceptName: "",
  8727. endDate: _this.syendDate,
  8728. startDate: _this.systartDate,
  8729. instantFlag: "0",
  8730. });
  8731. } else {
  8732. _this.kindList = [];
  8733. }
  8734. // if (_this.orderno) {
  8735. this.OrderStageProcessing();
  8736. // } else {
  8737. // _this.$api.letter.getquote().then(res => {
  8738. // _this.quoteno = res.data; //获取报价号
  8739. // this.OrderStageProcessing();
  8740. // });
  8741. // }
  8742. }
  8743. } else {
  8744. document.getElementById("CheZhu").scrollIntoView();
  8745. _this.$message({ message: "请检查人员信息", type: "warning" });
  8746. }
  8747. });
  8748. } else {
  8749. document.getElementById("Car").scrollIntoView();
  8750. this.$message({ message: "请检查车辆信息", type: "warning" });
  8751. return false;
  8752. }
  8753. });
  8754. },
  8755. kindListFun(index) {
  8756. var _this = this;
  8757. _this.riskList = []; //险种大类
  8758. _this.kindList = []; //商业险险别
  8759. if (
  8760. (!_this.jqstartDate || !_this.jqendDate) &&
  8761. (!_this.systartDate || !_this.syendDate)
  8762. ) {
  8763. this.$message({ message: "投保日期不能为空", type: "warning" });
  8764. } else {
  8765. if (_this.jqchecked) {
  8766. //交强
  8767. _this.jqstartDate = this.transformTime(_this.jqstartDate);
  8768. _this.jqendDate = this.transformTime(_this.jqendDate);
  8769. _this.riskList.push({
  8770. amount: "200000",
  8771. premium: "0",
  8772. riskCode: "0507",
  8773. endDate: _this.jqendDate,
  8774. startDate: _this.jqstartDate,
  8775. instantFlag: "0",
  8776. });
  8777. }
  8778. if (_this.sychecked) {
  8779. _this.systartDate = this.transformTime(_this.systartDate);
  8780. _this.syendDate = this.transformTime(_this.syendDate);
  8781. //商业
  8782. _this.riskList.push({
  8783. premium: "0",
  8784. riskCode: "0510",
  8785. quotePreceptCode: "",
  8786. quotePreceptName: "",
  8787. endDate: _this.syendDate,
  8788. startDate: _this.systartDate,
  8789. instantFlag: "0",
  8790. });
  8791. // _this.insureList.map((ele, index) => {
  8792. // if (
  8793. // ele.amount != "0" &&
  8794. // (ele.kindCode == "D4" || ele.kindCode == "SY_FJ_YBW2")
  8795. // ) {
  8796. // _this.kindList.push({
  8797. // unitAmount: _this.insureList[index].amount,
  8798. // kindCode: _this.insureList[index].kindCode,
  8799. // kindName: _this.insureList[index].kindName,
  8800. // });
  8801. // } else if (
  8802. // ele.amount != "0" &&
  8803. // (ele.kindCode == "MJ1" ||
  8804. // ele.kindCode == "MJ2" ||
  8805. // ele.kindCode == "MJ3" ||
  8806. // ele.kindCode == "MJ4")
  8807. // ) {
  8808. // _this.kindList.push({
  8809. // deductibleRate: _this.insureList[index].amount,
  8810. // kindCode: _this.insureList[index].kindCode,
  8811. // kindName: _this.insureList[index].kindName,
  8812. // });
  8813. // } else if (
  8814. // ele.amount != "0" &&
  8815. // (ele.kindCode == "TY1" ||
  8816. // ele.kindCode == "TY2" ||
  8817. // ele.kindCode == "TY3" ||
  8818. // ele.kindCode == "TY4")
  8819. // ) {
  8820. // _this.kindList.push({
  8821. // serviceTimes: _this.insureList[index].amount,
  8822. // kindCode: _this.insureList[index].kindCode,
  8823. // kindName: _this.insureList[index].kindName,
  8824. // });
  8825. // } else if (ele.amount != "0") {
  8826. // _this.kindList.push({
  8827. // amount: _this.insureList[index].amount,
  8828. // kindCode: _this.insureList[index].kindCode,
  8829. // kindName: _this.insureList[index].kindName,
  8830. // });
  8831. // }
  8832. // return ele;
  8833. // });
  8834. } else {
  8835. _this.kindList = [];
  8836. }
  8837. }
  8838. },
  8839. //动态函数
  8840. ToolClickFun(MethodName, Parameter, companyId, companyName, index) {
  8841. this[`${MethodName}`](Parameter, companyId, companyName, index);
  8842. },
  8843. //更新报价历史
  8844. QuotationHistory() {
  8845. let params = {
  8846. orderNo: this.orderno,
  8847. orderStatus: "",
  8848. };
  8849. this.$api.letter.queryQuoteHistory(params).then((res) => {
  8850. res.data.forEach((item) => {
  8851. if (item.accidentInfo) {
  8852. item.accidentInfo.constructor === Object
  8853. ? [item.accidentInfo]
  8854. : item.accidentInfo;
  8855. }
  8856. });
  8857. this.HistoryList = res.data;
  8858. });
  8859. },
  8860. open2(Name, Msg) {
  8861. this.$notify.info({
  8862. title: Name,
  8863. dangerouslyUseHTMLString: true,
  8864. type: "warning",
  8865. message: Msg,
  8866. customClass: "customNotifyClass",
  8867. duration: 7000,
  8868. });
  8869. },
  8870. open3(Name, Msg) {
  8871. this.$notify.info({
  8872. title: Name,
  8873. dangerouslyUseHTMLString: true,
  8874. type: "warning",
  8875. message: `<p>${Msg.replace(/\n/g, "<br>")}</p>`,
  8876. customClass: "customNotifyClass",
  8877. duration: 7000,
  8878. });
  8879. },
  8880. openPredictInfo(Name, Msg) {
  8881. this.redictInfoMsg = Msg;
  8882. this.redictInfodialogVisible = true;
  8883. },
  8884. //订单生成前数据处理事件
  8885. OrderStageProcessing(index) {
  8886. if (this.tbczcarShow && this.imageList2.length > 0) {
  8887. //投保人同车主
  8888. this.imageList3 = JSON.parse(JSON.stringify(this.imageList2));
  8889. if (this.imageList3.length == 1) {
  8890. this.imageList3[0].imageType = this.imageList3[0].imageType.includes(
  8891. "C0"
  8892. )
  8893. ? "C03"
  8894. : "D03";
  8895. } else {
  8896. this.imageList3.forEach((e) => {
  8897. e.imageType = e.imageType.includes("C0") ? "C03" : "D03";
  8898. });
  8899. }
  8900. }
  8901. if (this.bbczcarShow && this.imageList2.length > 0) {
  8902. //被保人同车主
  8903. this.imageList4 = JSON.parse(JSON.stringify(this.imageList2));
  8904. if (this.imageList4.length == 1) {
  8905. this.imageList4[0].imageType = this.imageList4[0].imageType.includes(
  8906. "C0"
  8907. )
  8908. ? "C04"
  8909. : "D04";
  8910. } else {
  8911. this.imageList4.forEach((e) => {
  8912. e.imageType = e.imageType.includes("C0") ? "C04" : "D04";
  8913. });
  8914. }
  8915. // if (this.imageList4.length == 1) {
  8916. // this.imageList4[0].imageType = "C04";
  8917. // }
  8918. // else {
  8919. // this.imageList4[0].imageType = "C04";
  8920. // this.imageList4[1].imageType = "D04";
  8921. // }
  8922. }
  8923. if (this.bbtbcarShow && this.imageList3.length > 0) {
  8924. //被保人同投保人
  8925. this.imageList4 = JSON.parse(JSON.stringify(this.imageList3));
  8926. if (this.imageList4.length == 1) {
  8927. this.imageList4[0].imageType = this.imageList4[0].imageType.includes(
  8928. "C0"
  8929. )
  8930. ? "C04"
  8931. : "D04";
  8932. } else {
  8933. this.imageList4.forEach((e) => {
  8934. e.imageType = e.imageType.includes("C0") ? "C04" : "D04";
  8935. });
  8936. }
  8937. // if (this.imageList4.length == 1) {
  8938. // this.imageList4[0].imageType = "C04";
  8939. // } else {
  8940. // this.imageList4[0].imageType = "C04";
  8941. // this.imageList4[1].imageType = "D04";
  8942. // }
  8943. }
  8944. //日期长度<10处理
  8945. const formatDate = (date) => {
  8946. if (date.length < 10) {
  8947. return this.timeformat(date);
  8948. }
  8949. return date;
  8950. };
  8951. if (this.carInfo.registerDate.length < 10) {
  8952. this.carInfo.registerDate = formatDate(this.carInfo.registerDate);
  8953. }
  8954. if (this.carInfo.issueDate.length < 10) {
  8955. this.carInfo.issueDate = formatDate(this.carInfo.issueDate);
  8956. }
  8957. if (
  8958. this.carInfo.transferDate &&
  8959. this.carInfo.transferDate.length < 10 &&
  8960. this.carInfo.transferDate !== ""
  8961. ) {
  8962. this.carInfo.transferDate = formatDate(this.carInfo.transferDate);
  8963. }
  8964. //日期长度<10处理
  8965. //提交身份证/驾驶证 ——————————————————
  8966. this.policyHolderInfo.owner = this.tbczcarShow;
  8967. this.insuredPersonInfo.owner = this.bbczcarShow;
  8968. this.insuredPersonInfo.insuranceHolder = this.bbtbcarShow;
  8969. if (typeof this.ownerInfo.provinceData == "string") {
  8970. this.ownerInfo.provinceData = [];
  8971. }
  8972. if (typeof this.insuredPersonInfo.provinceData == "string") {
  8973. this.insuredPersonInfo.provinceData = [];
  8974. }
  8975. if (typeof this.policyHolderInfo.provinceData == "string") {
  8976. this.policyHolderInfo.provinceData = [];
  8977. }
  8978. let param = {
  8979. userId: this.userId,
  8980. quoteno: this.quoteno,
  8981. orderNo: this.orderno,
  8982. carInfo: this.carInfo,
  8983. insuredPersonInfo: this.insuredPersonInfo,
  8984. ownerInfo: this.ownerInfo,
  8985. policyHolderInfo: this.policyHolderInfo,
  8986. riskList: this.riskList,
  8987. vehicleAndVesselTax: this.vehicleAndVesselTaxForm,
  8988. productId: this.productId
  8989. };
  8990. console.log('车主信息', this.ownerInfo)
  8991. console.log('投保人信息', this.policyHolderInfo)
  8992. console.log('被投保人信息', this.insuredPersonInfo)
  8993. this.$api.letter[this.apiInterfaceName](param).then((res) => {
  8994. if (res.code == "200") {
  8995. //上传图片
  8996. const mergedArray = [
  8997. ...this.imageList1,
  8998. ...this.imageList2,
  8999. ...this.imageList3,
  9000. ...this.imageList4,
  9001. ...this.imageList5,
  9002. ...this.imageList6,
  9003. ];
  9004. if (mergedArray.length > 0) {
  9005. let imageparam = {
  9006. imageList: mergedArray,
  9007. quoteNo: res.data.quoteno,
  9008. };
  9009. this.$api.letter.uploadImages(imageparam).then((responses) => {
  9010. this.imageEcho(res.data.quoteno); // 获取图片
  9011. // this.$refs.imageDialog.imageEcho(res.data.quoteno)
  9012. });
  9013. }
  9014. this.quoteno = res.data.quoteno;
  9015. this.orderno = res.data.orderno;
  9016. if (index >= 0) {
  9017. this.totalCompanyList[index].quoteCode = 1
  9018. this.ToolClickFun(this.totalCompanyList[index].cnName, index, this.totalCompanyList[index].id, this.totalCompanyList[index].namesimple);
  9019. } else {
  9020. this.totalCompanyList.map((ele, index) => {
  9021. if (ele.checked) {
  9022. //动态调用报价接口
  9023. if (ele.programme) {
  9024. ele.quoteCode = 1;
  9025. ele.orderstatus = 0;
  9026. this.ToolClickFun(ele.cnName, index, ele.id, ele.namesimple);
  9027. }
  9028. }
  9029. });
  9030. }
  9031. } else if (res.code == 1001) {
  9032. this.$confirm("是否生成新订单?", "提示", {
  9033. confirmButtonText: "确定",
  9034. cancelButtonText: "取消",
  9035. type: "warning",
  9036. })
  9037. .then(() => {
  9038. this.orderno = "";
  9039. this.quoteno = "";
  9040. this.quote(index);
  9041. })
  9042. .catch(() => { });
  9043. } else {
  9044. this.$message({ message: res.msg, type: "warning" });
  9045. }
  9046. });
  9047. // document.getElementById("company").scrollIntoView();
  9048. this.imageUploadShow = true;
  9049. },
  9050. // 泰康报价--11
  9051. taikang(num, id, namesimple) {
  9052. this.quoteInsurance(
  9053. num,
  9054. id,
  9055. namesimple,
  9056. this.totalCompanyList[num].apiType
  9057. );
  9058. },
  9059. // 平安报价
  9060. pingan(num, id) {
  9061. let isTaxSource = this.totalCompanyList[num].isTaxSource;
  9062. let accidentalDrivingVo=[]
  9063. if(this.pinganaccidentalDrivingVo){
  9064. accidentalDrivingVo=this.pinganaccidentalDrivingVo
  9065. // accidentalDrivingVo = Object.assign({
  9066. // ...this.pinganaccidentalDrivingVo,
  9067. // ...this.accidentFormPA,
  9068. // });
  9069. }
  9070. let params = {
  9071. accidentalDrivingVo,
  9072. orderNo: this.orderno,
  9073. companyId: id,
  9074. agreementId: this.totalCompanyList[num].agreementId,
  9075. isTaxSource: isTaxSource == 1 ? isTaxSource : null,
  9076. kindList: this.totalCompanyList[num].kindList,
  9077. riskList: this.riskList,
  9078. productId: this.productId,
  9079. };
  9080. this.$api.letter.pinganquote(params).then((res) => {
  9081. this.totalCompanyList[num].msg = res.msg;
  9082. if (!!res.msg && res.msg.indexOf("不存在有效协议") >= 0) {
  9083. this.totalCompanyList[num].quoteCode = "4";
  9084. this.totalCompanyList[num].msg = res.msg;
  9085. return;
  9086. } else if (
  9087. res.data == null &&
  9088. res.msg.indexOf("交强险平台返回") > -1 &&
  9089. res.msg.indexOf(";终保日期") > -1
  9090. ) {
  9091. this.totalCompanyList[num].lastYearMsg =
  9092. "<b>交强险</b><br>" +
  9093. res.msg.slice(
  9094. res.msg.indexOf("起保日期 "),
  9095. res.msg.indexOf("地区 山西。") + 6
  9096. );
  9097. let time =
  9098. res.msg.substr(res.msg.indexOf(";终保日期 ") + 6, 16) + ":00";
  9099. this.jqstartDate = time;
  9100. this.jqendDate = this.oneYearPast1(time);
  9101. if (this.riskList.length > 0) {
  9102. for (let i = 0; i < this.riskList.length; i++) {
  9103. if (this.riskList[i].riskCode == "0507") {
  9104. this.riskList[i].startDate = time;
  9105. this.riskList[i].endDate = this.oneYearPast1(time);
  9106. }
  9107. }
  9108. }
  9109. let param = {
  9110. userId: this.userId,
  9111. quoteno: this.quoteno,
  9112. orderNo: this.orderno,
  9113. carInfo: this.carInfo,
  9114. insuredPersonInfo: this.insuredPersonInfo,
  9115. ownerInfo: this.ownerInfo,
  9116. policyHolderInfo: this.policyHolderInfo,
  9117. kindList: this.kindList,
  9118. riskList: this.riskList,
  9119. vehicleAndVesselTax: this.vehicleAndVesselTaxForm,
  9120. };
  9121. return this.$api.letter[this.apiInterfaceName](param).then((res) => {
  9122. this.pingan(num, id);
  9123. });
  9124. } else if (!!res.data) {
  9125. if (res.data.warnMessageList && res.data.warnMessageList.length > 0) {
  9126. this.totalCompanyList[num].lastYearMsg = "";
  9127. let dat = res.data.warnMessageList;
  9128. dat.map((ele) => {
  9129. this.totalCompanyList[num].lastYearMsg += ele + "<br>";
  9130. });
  9131. }
  9132. this.totalCompanyList[num].quoteCode = 200;
  9133. this.totalCompanyList[num].result = res.data;
  9134. this.jqstartDate = res.data.startDateJq
  9135. this.jqendDate = res.data.endDateJq
  9136. this.systartDate = res.data.startDateSy
  9137. this.syendDate = res.data.endDateSy
  9138. this.QuotationHistory();
  9139. } else {
  9140. this.totalCompanyList[num].quoteCode = "3";
  9141. this.totalCompanyList[num].msg = res.msg;
  9142. return;
  9143. }
  9144. });
  9145. },
  9146. //永安报价
  9147. yongan(num, id) {
  9148. let isTaxSource = this.totalCompanyList[num].isTaxSource;
  9149. let params = {
  9150. orderNo: this.orderno,
  9151. companyId: id,
  9152. agreementId: this.totalCompanyList[num].agreementId,
  9153. kindList: this.totalCompanyList[num].kindList,
  9154. riskList: this.riskList,
  9155. productId: this.productId,
  9156. };
  9157. this.$api.letter.yonganquote(params).then((res) => {
  9158. this.totalCompanyList[num].msg = res.msg;
  9159. if (res.msg == "重复投保" && res.code == "501") {
  9160. if (!!res.data.jqStartDate && !res.data.syStartDate) {
  9161. this.jqstartDate = res.data.jqStartDate;
  9162. this.jqendDate = res.data.jqEndDate;
  9163. this.updateRiskDates(
  9164. "0507",
  9165. res.data.jqStartDate,
  9166. res.data.jqEndDate
  9167. );
  9168. let param = {
  9169. userId: this.userId,
  9170. quoteno: this.quoteno,
  9171. orderNo: this.orderno,
  9172. carInfo: this.carInfo,
  9173. insuredPersonInfo: this.insuredPersonInfo,
  9174. ownerInfo: this.ownerInfo,
  9175. policyHolderInfo: this.policyHolderInfo,
  9176. kindList: this.kindList,
  9177. riskList: this.riskList,
  9178. vehicleAndVesselTax: this.vehicleAndVesselTaxForm,
  9179. isTaxSource: isTaxSource == 1 ? isTaxSource : null,
  9180. };
  9181. return this.$api.letter[this.apiInterfaceName](param).then(
  9182. (res) => {
  9183. this.yongan(num, id);
  9184. }
  9185. );
  9186. } else if (!!res.data.syStartDate && !res.data.jqStartDate) {
  9187. this.systartDate = res.data.syStartDate;
  9188. this.syendDate = res.data.syEndDate;
  9189. this.updateRiskDates(
  9190. "0510",
  9191. res.data.syStartDate,
  9192. res.data.syEndDate
  9193. );
  9194. let param = {
  9195. userId: this.userId,
  9196. quoteno: this.quoteno,
  9197. orderNo: this.orderno,
  9198. carInfo: this.carInfo,
  9199. insuredPersonInfo: this.insuredPersonInfo,
  9200. ownerInfo: this.ownerInfo,
  9201. policyHolderInfo: this.policyHolderInfo,
  9202. kindList: this.kindList,
  9203. riskList: this.riskList,
  9204. vehicleAndVesselTax: this.vehicleAndVesselTaxForm,
  9205. };
  9206. return this.$api.letter[this.apiInterfaceName](param).then(
  9207. (res) => {
  9208. this.yongan(num, id);
  9209. }
  9210. );
  9211. } else if (!!res.data.syStartDate && !!res.data.jqStartDate) {
  9212. this.jqstartDate = res.data.jqStartDate;
  9213. this.jqendDate = res.data.jqEndDate;
  9214. this.systartDate = res.data.syStartDate;
  9215. this.syendDate = res.data.syEndDate;
  9216. this.updateRiskDates(
  9217. "0507",
  9218. res.data.jqStartDate,
  9219. res.data.jqEndDate
  9220. );
  9221. this.updateRiskDates(
  9222. "0510",
  9223. res.data.syStartDate,
  9224. res.data.syEndDate
  9225. );
  9226. let param = {
  9227. userId: this.userId,
  9228. quoteno: this.quoteno,
  9229. orderNo: this.orderno,
  9230. carInfo: this.carInfo,
  9231. insuredPersonInfo: this.insuredPersonInfo,
  9232. ownerInfo: this.ownerInfo,
  9233. policyHolderInfo: this.policyHolderInfo,
  9234. kindList: this.kindList,
  9235. riskList: this.riskList,
  9236. vehicleAndVesselTax: this.vehicleAndVesselTaxForm,
  9237. };
  9238. return this.$api.letter[this.apiInterfaceName](param).then(
  9239. (res) => {
  9240. this.yongan(num, id);
  9241. }
  9242. );
  9243. } else {
  9244. this.totalCompanyList[num].quoteCode = "3";
  9245. this.totalCompanyList[num].msg = "重复投保";
  9246. }
  9247. } else if (
  9248. res.code == "500" ||
  9249. res.code == "502" ||
  9250. res.code == "-9999"
  9251. ) {
  9252. this.totalCompanyList[num].quoteCode = "-9999";
  9253. this.totalCompanyList[num].msg = res.msg;
  9254. } else {
  9255. if (res.data.warnMessageList && res.data.warnMessageList.length > 0) {
  9256. this.totalCompanyList[num].lastYearMsg = "";
  9257. let dat = res.data.warnMessageList;
  9258. dat.map((ele) => {
  9259. this.totalCompanyList[num].lastYearMsg += ele + "<br>";
  9260. });
  9261. }
  9262. this.totalCompanyList[num].quoteCode = 200;
  9263. this.totalCompanyList[num].result = res.data;
  9264. this.jqstartDate = res.data.startDateJq
  9265. this.jqendDate = res.data.endDateJq
  9266. this.systartDate = res.data.startDateSy
  9267. this.syendDate = res.data.endDateSy
  9268. this.QuotationHistory();
  9269. }
  9270. });
  9271. },
  9272. updateRiskDates(riskCode, startDate, endDate) {
  9273. for (let i = 0; i < this.riskList.length; i++) {
  9274. if (this.riskList[i].riskCode == riskCode) {
  9275. this.riskList[i].startDate = startDate;
  9276. this.riskList[i].endDate = endDate;
  9277. }
  9278. }
  9279. },
  9280. //中煤报价
  9281. zhongmei(num, id) {
  9282. let accidentalDrivingVo = {};
  9283. let isTaxSource = this.totalCompanyList[num].isTaxSource;
  9284. let type = this.totalCompanyList[num].apiType;
  9285. let api = type == 2 ? "pythonquote" : "zhongmeiquote";
  9286. // if (this.accidentFormZM.projectCode) {
  9287. // accidentalDrivingVo = {
  9288. // projectCode: this.accidentFormZM.projectCode,
  9289. // projectName: this.accidentFormZM.projectName,
  9290. // quantity: this.accidentFormZM.quantity
  9291. // ? this.accidentFormZM.quantity
  9292. // : "1"
  9293. // };
  9294. // }
  9295. if (this.accidentFormZM.projectCode) {
  9296. accidentalDrivingVo = {
  9297. ...this.zhongmeiInsuranceData.find(
  9298. (e) => e.projectCode == this.accidentFormZM.projectCode
  9299. ),
  9300. quantity: this.accidentFormZM.quantity
  9301. ? this.accidentFormZM.quantity
  9302. : "1",
  9303. };
  9304. }
  9305. accidentalDrivingVo = this.totalCompanyList[num].programme.drivingList[0] || {}
  9306. let params = {
  9307. accidentalDrivingVo,
  9308. orderNo: this.orderno,
  9309. companyId: id,
  9310. agreementId: this.totalCompanyList[num].agreementId,
  9311. isTaxSource: isTaxSource == 1 ? isTaxSource : null,
  9312. kinds: this.totalCompanyList[num].kindList,
  9313. risks: this.riskList,
  9314. productId: this.productId,
  9315. };
  9316. this.$api.letter.zhongmeiquote(params).then((res) => {
  9317. // this.$api.letter[api](params).then((res) => {
  9318. this.totalCompanyList[num].msg = res.msg;
  9319. if (!!res.msg && res.msg.indexOf("不存在有效协议") >= 0) {
  9320. this.totalCompanyList[num].quoteCode = "4";
  9321. this.totalCompanyList[num].msg = res.msg;
  9322. return;
  9323. } else if (
  9324. res.data == null &&
  9325. res.msg.indexOf("交强险平台返回") > -1 &&
  9326. res.msg.indexOf(";终保日期") > -1
  9327. ) {
  9328. this.totalCompanyList[num].lastYearMsg =
  9329. "<b>交强险</b><br>" +
  9330. res.msg.slice(
  9331. res.msg.indexOf("起保日期 "),
  9332. res.msg.indexOf("地区 山西。") + 6
  9333. );
  9334. let time =
  9335. res.msg.substr(res.msg.indexOf(";终保日期 ") + 6, 16) + ":00";
  9336. this.jqstartDate = time;
  9337. this.jqendDate = this.oneYearPast1(time);
  9338. if (this.riskList.length > 0) {
  9339. for (let i = 0; i < this.riskList.length; i++) {
  9340. if (this.riskList[i].riskCode == "0507") {
  9341. this.riskList[i].startDate = time;
  9342. this.riskList[i].endDate = this.oneYearPast1(time);
  9343. }
  9344. }
  9345. }
  9346. let param = {
  9347. userId: this.userId,
  9348. quoteno: this.quoteno,
  9349. orderNo: this.orderno,
  9350. carInfo: this.carInfo,
  9351. insuredPersonInfo: this.insuredPersonInfo,
  9352. ownerInfo: this.ownerInfo,
  9353. policyHolderInfo: this.policyHolderInfo,
  9354. kindList: this.kindList,
  9355. riskList: this.riskList,
  9356. vehicleAndVesselTax: this.vehicleAndVesselTaxForm,
  9357. };
  9358. return this.$api.letter[this.apiInterfaceName](param).then((res) => {
  9359. this.zhongmei(num, id);
  9360. });
  9361. } else if (!!res.data) {
  9362. if (res.data.warnMessageList && res.data.warnMessageList.length > 0) {
  9363. this.totalCompanyList[num].lastYearMsg = "";
  9364. let dat = res.data.warnMessageList;
  9365. dat.map((ele) => {
  9366. this.totalCompanyList[num].lastYearMsg += ele + "<br>";
  9367. });
  9368. }
  9369. this.totalCompanyList[num].quoteCode = 200;
  9370. this.totalCompanyList[num].result = res.data;
  9371. this.jqstartDate = res.data.startDateJq
  9372. this.jqendDate = res.data.endDateJq
  9373. this.systartDate = res.data.startDateSy
  9374. this.syendDate = res.data.endDateSy
  9375. this.QuotationHistory();
  9376. } else {
  9377. this.totalCompanyList[num].quoteCode = "3";
  9378. this.totalCompanyList[num].msg = res.msg;
  9379. return;
  9380. }
  9381. });
  9382. },
  9383. // 大家报价
  9384. dajia(num, id) {
  9385. // let accidentalDrivingVo=[]
  9386. // if(this.dajiaaccidentalDrivingVo){
  9387. // accidentalDrivingVo.rideRiskCode=this.dajiaaccidentalDrivingVo.schemeNo;
  9388. // accidentalDrivingVo.rideRiskName=this.dajiaaccidentalDrivingVo.cvrgName;
  9389. // accidentalDrivingVo.quantity=this.dajiaaccidentalDrivingVo.quantity;
  9390. // }
  9391. let type = this.totalCompanyList[num].apiType;
  9392. let api = type == 2 ? "pythonquote" : "dajiaquote";
  9393. let isTaxSource = this.totalCompanyList[num].isTaxSource;
  9394. let accidentalDrivingVo = this.totalCompanyList[num].programme.drivingList[0] || {}
  9395. let params = {
  9396. accidentalDrivingVo: accidentalDrivingVo,
  9397. orderNo: this.orderno,
  9398. companyId: id,
  9399. agreementId: this.totalCompanyList[num].agreementId,
  9400. isTaxSource: isTaxSource == 1 ? isTaxSource : null,
  9401. kinds: this.totalCompanyList[num].kindList || [],
  9402. risks: this.riskList || []
  9403. };
  9404. this.$api.letter[api](params).then((res) => {
  9405. this.totalCompanyList[num].msg = res.msg;
  9406. if (!!res.msg && res.msg.indexOf("不存在有效协议") >= 0) {
  9407. this.totalCompanyList[num].quoteCode = "4";
  9408. this.totalCompanyList[num].msg = res.msg;
  9409. return;
  9410. } else if (
  9411. res.data == null &&
  9412. res.msg.indexOf("交强险平台返回") > -1 &&
  9413. res.msg.indexOf(";终保日期") > -1
  9414. ) {
  9415. this.totalCompanyList[num].lastYearMsg =
  9416. "<b>交强险</b><br>" +
  9417. res.msg.slice(
  9418. res.msg.indexOf("起保日期 "),
  9419. res.msg.indexOf("地区 山西。") + 6
  9420. );
  9421. let time =
  9422. res.msg.substr(res.msg.indexOf(";终保日期 ") + 6, 16) + ":00";
  9423. this.jqstartDate = time;
  9424. this.jqendDate = this.oneYearPast1(time);
  9425. if (this.riskList.length > 0) {
  9426. for (let i = 0; i < this.riskList.length; i++) {
  9427. if (this.riskList[i].riskCode == "0507") {
  9428. this.riskList[i].startDate = time;
  9429. this.riskList[i].endDate = this.oneYearPast1(time);
  9430. }
  9431. }
  9432. }
  9433. let param = {
  9434. userId: this.userId,
  9435. quoteno: this.quoteno,
  9436. orderNo: this.orderno,
  9437. carInfo: this.carInfo,
  9438. insuredPersonInfo: this.insuredPersonInfo,
  9439. ownerInfo: this.ownerInfo,
  9440. policyHolderInfo: this.policyHolderInfo,
  9441. kindList: this.kindList,
  9442. riskList: this.riskList,
  9443. vehicleAndVesselTax: this.vehicleAndVesselTaxForm,
  9444. kinds: this.totalCompanyList[num].kindList,
  9445. risks: this.riskList
  9446. };
  9447. return this.$api.letter[this.apiInterfaceName](param).then((res) => {
  9448. this.dajia(num, id);
  9449. });
  9450. } else if (!!res.data) {
  9451. if (res.data.warnMessageList && res.data.warnMessageList.length > 0) {
  9452. this.totalCompanyList[num].lastYearMsg = "";
  9453. let dat = res.data.warnMessageList;
  9454. dat.map((ele) => {
  9455. this.totalCompanyList[num].lastYearMsg += ele + "<br>";
  9456. });
  9457. }
  9458. this.totalCompanyList[num].quoteCode = 200;
  9459. this.totalCompanyList[num].result = res.data;
  9460. this.jqstartDate = res.data.startDateJq
  9461. this.jqendDate = res.data.endDateJq
  9462. this.systartDate = res.data.startDateSy
  9463. this.syendDate = res.data.endDateSy
  9464. this.QuotationHistory();
  9465. } else {
  9466. this.totalCompanyList[num].quoteCode = "3";
  9467. this.totalCompanyList[num].msg = res.msg;
  9468. return;
  9469. }
  9470. });
  9471. },
  9472. //华泰报价
  9473. huatai(num, id) {
  9474. let type = this.totalCompanyList[num].apiType;
  9475. let api = type == 2 ? "pythonquote" : "huataiquote";
  9476. let isTaxSource = this.totalCompanyList[num].isTaxSource;
  9477. let params = {
  9478. accidentalDrivingVo:{},
  9479. orderNo: this.orderno,
  9480. companyId: id,
  9481. agreementId: this.totalCompanyList[num].agreementId,
  9482. isTaxSource: isTaxSource == 1 ? isTaxSource : null,
  9483. kinds: this.totalCompanyList[num].kindList || [],
  9484. risks: this.riskList || []
  9485. };
  9486. this.$api.letter[api](params).then((res) => {
  9487. this.totalCompanyList[num].msg = res.msg;
  9488. if (!!res.msg && res.msg.indexOf("不存在有效协议") >= 0) {
  9489. this.totalCompanyList[num].quoteCode = "4";
  9490. this.totalCompanyList[num].msg = res.msg;
  9491. return;
  9492. } else if (
  9493. res.data == null &&
  9494. res.msg.indexOf("交强险平台返回") > -1 &&
  9495. res.msg.indexOf(";终保日期") > -1
  9496. ) {
  9497. //判断保司返回重复投保信息,进行默认赋值起终保日期,重新算费 后面联调需要调整
  9498. let time =
  9499. res.msg.substr(res.msg.indexOf(";终保日期 ") + 6, 16) + ":00";
  9500. this.jqstartDate = time;
  9501. this.jqendDate = this.oneYearPast1(time);
  9502. this.systartDate = time;
  9503. this.syendDate = this.oneYearPast1(time);
  9504. if (this.riskList.length > 0) {
  9505. for (let i = 0; i < this.riskList.length; i++) {
  9506. if (this.riskList[i].riskCode == "0507") {
  9507. this.riskList[i].startDate = time;
  9508. this.riskList[i].endDate = this.oneYearPast1(time);
  9509. } else if (this.riskList[i].riskCode == "0510") {
  9510. this.riskList[i].startDate = time;
  9511. this.riskList[i].endDate = this.oneYearPast1(time);
  9512. }
  9513. }
  9514. }
  9515. let param = {
  9516. userId: this.userId,
  9517. quoteno: this.quoteno,
  9518. orderNo: this.orderno,
  9519. carInfo: this.carInfo,
  9520. insuredPersonInfo: this.insuredPersonInfo,
  9521. ownerInfo: this.ownerInfo,
  9522. policyHolderInfo: this.policyHolderInfo,
  9523. kindList: this.kindList,
  9524. riskList: this.riskList,
  9525. vehicleAndVesselTax: this.vehicleAndVesselTaxForm,
  9526. kinds: this.totalCompanyList[num].kindList || [],
  9527. risks: this.riskList || []
  9528. };
  9529. return this.$api.letter[this.apiInterfaceName](param).then((res) => {
  9530. this.huatai(num, id);
  9531. });
  9532. } else if (!!res.data) {
  9533. this.totalCompanyList[num].quoteCode = 200;
  9534. this.totalCompanyList[num].result = res.data;
  9535. this.jqstartDate = res.data.startDateJq
  9536. this.jqendDate = res.data.endDateJq
  9537. this.systartDate = res.data.startDateSy
  9538. this.syendDate = res.data.endDateSy
  9539. this.QuotationHistory();
  9540. } else {
  9541. this.totalCompanyList[num].quoteCode = "3";
  9542. this.totalCompanyList[num].msg = res.msg;
  9543. return;
  9544. }
  9545. });
  9546. },
  9547. //紫金报价
  9548. zijin(num, id) {
  9549. let isTaxSource = this.totalCompanyList[num].isTaxSource;
  9550. let params = {
  9551. accidentalDrivingVo: this.totalCompanyList[num].programme.drivingList || [],
  9552. orderNo: this.orderno,
  9553. companyId: id,
  9554. agreementId: this.totalCompanyList[num].agreementId,
  9555. isTaxSource: isTaxSource == 1 ? isTaxSource : null,
  9556. coefficient: this.totalCompanyList[num].coefficient,
  9557. kinds: this.totalCompanyList[num].kindList,
  9558. risks: this.riskList,
  9559. productId: this.productId
  9560. };
  9561. this.$api.letter.zijinquote(params).then((res) => {
  9562. this.totalCompanyList[num].msg = res.msg;
  9563. if (!!res.msg && res.msg.indexOf("不存在有效协议") >= 0) {
  9564. this.totalCompanyList[num].quoteCode = "4";
  9565. this.totalCompanyList[num].msg = res.msg;
  9566. return;
  9567. } else if (
  9568. res.data == null &&
  9569. res.msg.indexOf("交强险平台返回") > -1 &&
  9570. res.msg.indexOf(";终保日期") > -1
  9571. ) {
  9572. let time =
  9573. res.msg.substr(res.msg.indexOf(";终保日期 ") + 6, 16) + ":00";
  9574. this.jqstartDate = time;
  9575. this.jqendDate = this.oneYearPast1(time);
  9576. this.systartDate = time;
  9577. this.syendDate = this.oneYearPast1(time);
  9578. if (this.riskList.length > 0) {
  9579. for (let i = 0; i < this.riskList.length; i++) {
  9580. if (this.riskList[i].riskCode == "0507") {
  9581. this.riskList[i].startDate = time;
  9582. this.riskList[i].endDate = this.oneYearPast1(time);
  9583. } else if (this.riskList[i].riskCode == "0510") {
  9584. this.riskList[i].startDate = time;
  9585. this.riskList[i].endDate = this.oneYearPast1(time);
  9586. }
  9587. }
  9588. }
  9589. let param = {
  9590. userId: this.userId,
  9591. quoteno: this.quoteno,
  9592. orderNo: this.orderno,
  9593. carInfo: this.carInfo,
  9594. insuredPersonInfo: this.insuredPersonInfo,
  9595. ownerInfo: this.ownerInfo,
  9596. policyHolderInfo: this.policyHolderInfo,
  9597. kindList: this.kindList,
  9598. riskList: this.riskList,
  9599. vehicleAndVesselTax: this.vehicleAndVesselTaxForm,
  9600. };
  9601. return this.$api.letter[this.apiInterfaceName](param).then((res) => {
  9602. this.zijin(num, id);
  9603. });
  9604. } else if (!!res.data) {
  9605. if (res.data.warnMessageList && res.data.warnMessageList.length > 0) {
  9606. this.totalCompanyList[num].lastYearMsg = "";
  9607. let dat = res.data.warnMessageList;
  9608. dat.map((ele) => {
  9609. this.totalCompanyList[num].lastYearMsg += ele + "<br>";
  9610. });
  9611. }
  9612. this.totalCompanyList[num].quoteCode = 200;
  9613. this.totalCompanyList[num].result = res.data;
  9614. this.jqstartDate = res.data.startDateJq
  9615. this.jqendDate = res.data.endDateJq
  9616. this.systartDate = res.data.startDateSy
  9617. this.syendDate = res.data.endDateSy
  9618. this.QuotationHistory();
  9619. } else {
  9620. this.totalCompanyList[num].quoteCode = "3";
  9621. this.totalCompanyList[num].msg = res.msg;
  9622. return;
  9623. }
  9624. });
  9625. },
  9626. yangguang(num, id){
  9627. let accidentalDrivingVo = {};
  9628. let isTaxSource = this.totalCompanyList[num].isTaxSource;
  9629. accidentalDrivingVo = this.totalCompanyList[num].programme.drivingList[0] || {}
  9630. let params = {
  9631. accidentalDrivingVo,
  9632. orderNo: this.orderno,
  9633. companyId: id,
  9634. cqryCdeJq: this.cqryCdeJq,
  9635. cqryCdeSy: this.cqryCdeSy,
  9636. renewalCodeJq: this.renewalCodeJq,
  9637. renewalCodeSy: this.renewalCodeSy,
  9638. agreementId: this.totalCompanyList[num].agreementId,
  9639. isTaxSource: isTaxSource == 1 ? isTaxSource : null,
  9640. kinds: this.totalCompanyList[num].kindList,
  9641. risks: this.riskList
  9642. };
  9643. this.$api.letter.yangGuangquote(params).then((res) => {
  9644. this.totalCompanyList[num].msg = res.msg;
  9645. if (
  9646. res.data == null &&
  9647. res.msg.indexOf("车险平台返回") > -1 &&
  9648. res.msg.indexOf(";终保日期") > -1
  9649. ) {
  9650. let time =
  9651. res.msg.substr(res.msg.indexOf(";终保日期 ") + 6, 16) + ":00";
  9652. this.jqstartDate = time;
  9653. this.jqendDate = this.oneYearPast1(time);
  9654. if (this.riskList.length > 0) {
  9655. for (let i = 0; i < this.riskList.length; i++) {
  9656. if (this.riskList[i].riskCode == "0507") {
  9657. this.riskList[i].startDate = time;
  9658. this.riskList[i].endDate = this.oneYearPast1(time);
  9659. }
  9660. }
  9661. }
  9662. let param = {
  9663. userId: this.userId,
  9664. quoteno: this.quoteno,
  9665. orderNo: this.orderno,
  9666. carInfo: this.carInfo,
  9667. insuredPersonInfo: this.insuredPersonInfo,
  9668. ownerInfo: this.ownerInfo,
  9669. policyHolderInfo: this.policyHolderInfo,
  9670. kindList: this.totalCompanyList[num].kindList,
  9671. riskList: this.riskList,
  9672. vehicleAndVesselTax: this.vehicleAndVesselTaxForm,
  9673. };
  9674. return this.$api.letter[this.apiInterfaceName](param).then((res) => {
  9675. this.yangguang(num, id);
  9676. });
  9677. } else if (res.code == "200") {
  9678. if (res.data.warnMessageList && res.data.warnMessageList.length > 0) {
  9679. this.totalCompanyList[num].lastYearMsg = "";
  9680. let dat = res.data.warnMessageList;
  9681. dat.map((ele) => {
  9682. this.totalCompanyList[num].lastYearMsg += ele + "<br>";
  9683. });
  9684. }
  9685. this.totalCompanyList[num].quoteCode = 200;
  9686. this.totalCompanyList[num].result = res.data;
  9687. this.jqstartDate = res.data.startDateJq
  9688. this.jqendDate = res.data.endDateJq
  9689. this.systartDate = res.data.startDateSy
  9690. this.syendDate = res.data.endDateSy
  9691. this.QuotationHistory();
  9692. } else if (res.code == "101") {
  9693. this.totalCompanyList[num].quoteCode = "101";
  9694. this.totalCompanyList[num].msg = res.msg;
  9695. this.cqryCdeJq = res.data.cqryCdeJq;
  9696. this.cqryCdeSy = res.data.cqryCdeSy;
  9697. let jq = res.data.renewalCodeJq.replace(/[\r\n]/g, "");
  9698. let jqBase64 = `data:image/png;base64,${jq}`;
  9699. this.renewalCodeJqImg = jqBase64;
  9700. if (res.data.renewalCodeSy) {
  9701. let sy = res.data.renewalCodeSy.replace(/[\r\n]/g, "");
  9702. let syBase64 = `data:image/png;base64,${sy}`;
  9703. this.renewalCodeSyImg = syBase64;
  9704. }
  9705. this.renewalCodedialogVisible = true;
  9706. } else if (res.code == "500") {
  9707. // this.iscCrownerShow=res.msg.indexOf("车主地区自动解析失败")!=-1?true:false
  9708. // this.isInsuredShow=res.msg.indexOf("被保人地区自动解析失败")!=-1?true:false
  9709. // this.isApplicantShow=res.msg.indexOf("投保人地区自动解析失败")!=-1?true:false
  9710. // this.ownerInfo.provinceData= this.iscCrownerShow?[]: this.ownerInfo.provinceData
  9711. // this.insuredPersonInfo.provinceData= this.isInsuredShow?[]: this.insuredPersonInfo.provinceData
  9712. // this.policyHolderInfo.provinceData= this.isApplicantShow?[]: this.policyHolderInfo.provinceData
  9713. this.totalCompanyList[num].quoteCode = "3";
  9714. this.totalCompanyList[num].msg = res.msg;
  9715. } else {
  9716. this.totalCompanyList[num].quoteCode = "3";
  9717. this.totalCompanyList[num].msg = res.msg;
  9718. return;
  9719. }
  9720. });
  9721. },
  9722. //永诚报价
  9723. yongcheng(num, id) {
  9724. this.iscCrownerShow = false;
  9725. this.isInsuredShow = false;
  9726. this.isApplicantShow = false;
  9727. let accidentalDrivingVo = {};
  9728. let isTaxSource = this.totalCompanyList[num].isTaxSource;
  9729. if (this.accidentForm.projectCode) {
  9730. let data = this.yongchengaccidentDataList.find(
  9731. (val) => val.projectCode == this.yongchengtemplateSelection
  9732. );
  9733. accidentalDrivingVo = {
  9734. ...data,
  9735. quantity: this.accidentForm.quantity
  9736. ? this.accidentForm.quantity
  9737. : "",
  9738. };
  9739. }
  9740. accidentalDrivingVo = this.totalCompanyList[num].programme.drivingList[0] || {}
  9741. let params = {
  9742. accidentalDrivingVo,
  9743. orderNo: this.orderno,
  9744. companyId: id,
  9745. cqryCdeJq: this.cqryCdeJq,
  9746. cqryCdeSy: this.cqryCdeSy,
  9747. renewalCodeJq: this.renewalCodeJq,
  9748. renewalCodeSy: this.renewalCodeSy,
  9749. agreementId: this.totalCompanyList[num].agreementId,
  9750. isTaxSource: isTaxSource == 1 ? isTaxSource : null,
  9751. kinds: this.totalCompanyList[num].kindList,
  9752. risks: this.riskList
  9753. };
  9754. this.$api.letter.yongchengquote(params).then((res) => {
  9755. this.totalCompanyList[num].msg = res.msg;
  9756. if (
  9757. res.data == null &&
  9758. res.msg.indexOf("车险平台返回") > -1 &&
  9759. res.msg.indexOf(";终保日期") > -1
  9760. ) {
  9761. let time =
  9762. res.msg.substr(res.msg.indexOf(";终保日期 ") + 6, 16) + ":00";
  9763. this.jqstartDate = time;
  9764. this.jqendDate = this.oneYearPast1(time);
  9765. if (this.riskList.length > 0) {
  9766. for (let i = 0; i < this.riskList.length; i++) {
  9767. if (this.riskList[i].riskCode == "0507") {
  9768. this.riskList[i].startDate = time;
  9769. this.riskList[i].endDate = this.oneYearPast1(time);
  9770. }
  9771. }
  9772. }
  9773. let param = {
  9774. userId: this.userId,
  9775. quoteno: this.quoteno,
  9776. orderNo: this.orderno,
  9777. carInfo: this.carInfo,
  9778. insuredPersonInfo: this.insuredPersonInfo,
  9779. ownerInfo: this.ownerInfo,
  9780. policyHolderInfo: this.policyHolderInfo,
  9781. kindList: this.totalCompanyList[num].kindList,
  9782. riskList: this.riskList,
  9783. vehicleAndVesselTax: this.vehicleAndVesselTaxForm,
  9784. };
  9785. return this.$api.letter[this.apiInterfaceName](param).then((res) => {
  9786. this.yongcheng(num, id);
  9787. });
  9788. } else if (res.code == "200") {
  9789. if (res.data.warnMessageList && res.data.warnMessageList.length > 0) {
  9790. this.totalCompanyList[num].lastYearMsg = "";
  9791. let dat = res.data.warnMessageList;
  9792. dat.map((ele) => {
  9793. this.totalCompanyList[num].lastYearMsg += ele + "<br>";
  9794. });
  9795. }
  9796. this.totalCompanyList[num].quoteCode = 200;
  9797. this.totalCompanyList[num].result = res.data;
  9798. this.jqstartDate = res.data.startDateJq
  9799. this.jqendDate = res.data.endDateJq
  9800. this.systartDate = res.data.startDateSy
  9801. this.syendDate = res.data.endDateSy
  9802. this.QuotationHistory();
  9803. } else if (res.code == "101") {
  9804. this.totalCompanyList[num].quoteCode = "101";
  9805. this.totalCompanyList[num].msg = res.msg;
  9806. this.cqryCdeJq = res.data.cqryCdeJq;
  9807. this.cqryCdeSy = res.data.cqryCdeSy;
  9808. let jq = res.data.renewalCodeJq.replace(/[\r\n]/g, "");
  9809. let jqBase64 = `data:image/png;base64,${jq}`;
  9810. this.renewalCodeJqImg = jqBase64;
  9811. if (res.data.renewalCodeSy) {
  9812. let sy = res.data.renewalCodeSy.replace(/[\r\n]/g, "");
  9813. let syBase64 = `data:image/png;base64,${sy}`;
  9814. this.renewalCodeSyImg = syBase64;
  9815. }
  9816. this.renewalCodedialogVisible = true;
  9817. } else if (res.code == "500") {
  9818. // this.iscCrownerShow=res.msg.indexOf("车主地区自动解析失败")!=-1?true:false
  9819. // this.isInsuredShow=res.msg.indexOf("被保人地区自动解析失败")!=-1?true:false
  9820. // this.isApplicantShow=res.msg.indexOf("投保人地区自动解析失败")!=-1?true:false
  9821. // this.ownerInfo.provinceData= this.iscCrownerShow?[]: this.ownerInfo.provinceData
  9822. // this.insuredPersonInfo.provinceData= this.isInsuredShow?[]: this.insuredPersonInfo.provinceData
  9823. // this.policyHolderInfo.provinceData= this.isApplicantShow?[]: this.policyHolderInfo.provinceData
  9824. this.totalCompanyList[num].quoteCode = "3";
  9825. this.totalCompanyList[num].msg = res.msg;
  9826. } else {
  9827. this.totalCompanyList[num].quoteCode = "3";
  9828. this.totalCompanyList[num].msg = res.msg;
  9829. return;
  9830. }
  9831. });
  9832. },
  9833. //国任报价
  9834. guoRen(num, id) {
  9835. let isTaxSource = this.totalCompanyList[num].isTaxSource;
  9836. let guoRenSpecialAgreementVo = [];
  9837. this.zijinengageList.forEach((val) => {
  9838. guoRenSpecialAgreementVo.push({
  9839. clauses: val.clauseName,
  9840. clausesContext: val.clauses,
  9841. clauseCode: val.clauseCode,
  9842. riskCode: val.riskCode,
  9843. riskName: val.riskName,
  9844. });
  9845. });
  9846. let accidentalDrivingVo = {};
  9847. if (this.guoRenaccidentForm.goodsCode) {
  9848. accidentalDrivingVo = this.guoRenaccidentalDrivingVo;
  9849. }
  9850. accidentalDrivingVo = this.totalCompanyList[num].programme.drivingList[0] || {}
  9851. let params = {
  9852. accidentalDrivingVo,
  9853. orderNo: this.orderno,
  9854. companyId: id,
  9855. cqryCdeJq: this.cqryCdeJq,
  9856. cqryCdeSy: this.cqryCdeSy,
  9857. renewalCodeJq: this.renewalCodeJq,
  9858. renewalCodeSy: this.renewalCodeSy,
  9859. agreementId: this.totalCompanyList[num].agreementId,
  9860. isTaxSource: isTaxSource == 1 ? isTaxSource : null,
  9861. guoRenSpecialAgreementVo,
  9862. kinds: this.totalCompanyList[num].kindList,
  9863. risks: this.riskList,
  9864. productId: this.productId
  9865. };
  9866. this.$api.letter.pythonquote(params).then((res) => {
  9867. this.totalCompanyList[num].msg = res.msg;
  9868. if (!!res.msg && res.msg.indexOf("不存在有效协议") >= 0) {
  9869. this.totalCompanyList[num].quoteCode = "4";
  9870. this.totalCompanyList[num].msg = res.msg;
  9871. return;
  9872. } else if (
  9873. res.data == null &&
  9874. res.msg.indexOf("车险平台返回") > -1 &&
  9875. res.msg.indexOf(";终保日期") > -1
  9876. ) {
  9877. let time =
  9878. res.msg.substr(res.msg.indexOf(";终保日期 ") + 6, 16) + ":00";
  9879. this.jqstartDate = time;
  9880. this.jqendDate = this.oneYearPast1(time);
  9881. this.systartDate = time;
  9882. this.syendDate = this.oneYearPast1(time);
  9883. if (this.riskList.length > 0) {
  9884. for (let i = 0; i < this.riskList.length; i++) {
  9885. if (this.riskList[i].riskCode == "0507") {
  9886. this.riskList[i].startDate = time;
  9887. this.riskList[i].endDate = this.oneYearPast1(time);
  9888. } else if (this.riskList[i].riskCode == "0510") {
  9889. this.riskList[i].startDate = time;
  9890. this.riskList[i].endDate = this.oneYearPast1(time);
  9891. }
  9892. }
  9893. }
  9894. let param = {
  9895. userId: this.userId,
  9896. quoteno: this.quoteno,
  9897. orderNo: this.orderno,
  9898. carInfo: this.carInfo,
  9899. insuredPersonInfo: this.insuredPersonInfo,
  9900. ownerInfo: this.ownerInfo,
  9901. policyHolderInfo: this.policyHolderInfo,
  9902. kindList: this.totalCompanyList[num].kindList,
  9903. riskList: this.riskList,
  9904. vehicleAndVesselTax: this.vehicleAndVesselTaxForm,
  9905. };
  9906. return this.$api.letter[this.apiInterfaceName](param).then((res) => {
  9907. this.guoRen(num, id);
  9908. });
  9909. } else if (res.code == "200") {
  9910. if (res.data.warnMessageList && res.data.warnMessageList.length > 0) {
  9911. this.totalCompanyList[num].lastYearMsg = "";
  9912. let dat = res.data.warnMessageList;
  9913. dat.map((ele) => {
  9914. this.totalCompanyList[num].lastYearMsg += ele + "<br>";
  9915. });
  9916. }
  9917. this.totalCompanyList[num].quoteCode = 200;
  9918. this.totalCompanyList[num].result = res.data;
  9919. this.jqstartDate = res.data.startDateJq
  9920. this.jqendDate = res.data.endDateJq
  9921. this.systartDate = res.data.startDateSy
  9922. this.syendDate = res.data.endDateSy
  9923. this.QuotationHistory();
  9924. } else if (res.code == "101") {
  9925. this.totalCompanyList[num].quoteCode = "101";
  9926. this.totalCompanyList[num].msg = res.msg;
  9927. this.cqryCdeJq = res.data.cqryCdeJq;
  9928. this.cqryCdeSy = res.data.cqryCdeSy;
  9929. let jq = res.data.renewalCodeJq.replace(/[\r\n]/g, "");
  9930. let jqBase64 = `data:image/png;base64,${jq}`;
  9931. this.renewalCodeJqImg = jqBase64;
  9932. if (res.data.renewalCodeSy) {
  9933. let sy = res.data.renewalCodeSy.replace(/[\r\n]/g, "");
  9934. let syBase64 = `data:image/png;base64,${sy}`;
  9935. this.renewalCodeSyImg = syBase64;
  9936. }
  9937. this.renewalCodedialogVisible = true;
  9938. } else {
  9939. this.totalCompanyList[num].quoteCode = "3";
  9940. this.totalCompanyList[num].msg = res.msg;
  9941. return;
  9942. }
  9943. });
  9944. },
  9945. //渤海报价
  9946. bohai(num, id) {
  9947. let isTaxSource = this.totalCompanyList[num].isTaxSource;
  9948. let accidentalDrivingVo ={};
  9949. if (this.boHaiaccidentForm.projectCode) {
  9950. accidentalDrivingVo = {
  9951. // packageCode: this.boHaiaccidentForm.packageCode,
  9952. // productCode: this.boHaiaccidentDataList.find(
  9953. // (e) => e.packageCode == this.boHaiaccidentForm.packageCode
  9954. // ).productCode,
  9955. // copies: this.boHaiaccidentForm.copies,
  9956. ...this.boHaiaccidentDataList.find(
  9957. (e) => e.projectCode == this.boHaiaccidentForm.projectCode
  9958. ),
  9959. quantity: this.boHaiaccidentForm.copies
  9960. ? this.boHaiaccidentForm.copies
  9961. : "1",
  9962. }
  9963. }
  9964. accidentalDrivingVo = this.totalCompanyList[num].programme.drivingList[0] || {}
  9965. let params = {
  9966. accidentalDrivingVo,
  9967. orderNo: this.orderno,
  9968. companyId: id,
  9969. cqryCdeJq: this.cqryCdeJq,
  9970. cqryCdeSy: this.cqryCdeSy,
  9971. renewalCodeJq: this.renewalCodeJq,
  9972. renewalCodeSy: this.renewalCodeSy,
  9973. agreementId: this.totalCompanyList[num].agreementId,
  9974. isTaxSource: isTaxSource == 1 ? isTaxSource : null,
  9975. kinds: this.totalCompanyList[num].kindList,
  9976. risks: this.riskList,
  9977. userId: this.userId,
  9978. };
  9979. this.$api.letter.bohaiquote(params).then((res) => {
  9980. this.totalCompanyList[num].msg = res.msg;
  9981. if (!!res.msg && res.msg.indexOf("不存在有效协议") >= 0) {
  9982. this.totalCompanyList[num].quoteCode = "4";
  9983. this.totalCompanyList[num].msg = res.msg;
  9984. return;
  9985. } else if (
  9986. res.data == null &&
  9987. res.msg.indexOf("车险平台返回") > -1 &&
  9988. res.msg.indexOf(";终保日期") > -1
  9989. ) {
  9990. let time =
  9991. res.msg.substr(res.msg.indexOf(";终保日期 ") + 6, 16) + ":00";
  9992. this.jqstartDate = time;
  9993. this.jqendDate = this.oneYearPast1(time);
  9994. this.systartDate = time;
  9995. this.syendDate = this.oneYearPast1(time);
  9996. if (this.riskList.length > 0) {
  9997. for (let i = 0; i < this.riskList.length; i++) {
  9998. if (this.riskList[i].riskCode == "0507") {
  9999. this.riskList[i].startDate = time;
  10000. this.riskList[i].endDate = this.oneYearPast1(time);
  10001. } else if (this.riskList[i].riskCode == "0510") {
  10002. this.riskList[i].startDate = time;
  10003. this.riskList[i].endDate = this.oneYearPast1(time);
  10004. }
  10005. }
  10006. }
  10007. let param = {
  10008. userId: this.userId,
  10009. quoteno: this.quoteno,
  10010. orderNo: this.orderno,
  10011. carInfo: this.carInfo,
  10012. insuredPersonInfo: this.insuredPersonInfo,
  10013. ownerInfo: this.ownerInfo,
  10014. policyHolderInfo: this.policyHolderInfo,
  10015. kindList: this.kindList,
  10016. riskList: this.riskList,
  10017. vehicleAndVesselTax: this.vehicleAndVesselTaxForm,
  10018. };
  10019. return this.$api.letter[this.apiInterfaceName](param).then((res) => {
  10020. this.bohai(num, id);
  10021. });
  10022. } else if (res.code == "200") {
  10023. if (res.data.warnMessageList && res.data.warnMessageList.length > 0) {
  10024. this.totalCompanyList[num].lastYearMsg = "";
  10025. let dat = res.data.warnMessageList;
  10026. dat.map((ele) => {
  10027. this.totalCompanyList[num].lastYearMsg += ele + "<br>";
  10028. });
  10029. }
  10030. this.totalCompanyList[num].quoteCode = 200;
  10031. this.totalCompanyList[num].result = res.data;
  10032. this.jqstartDate = res.data.startDateJq
  10033. this.jqendDate = res.data.endDateJq
  10034. this.systartDate = res.data.startDateSy
  10035. this.syendDate = res.data.endDateSy
  10036. this.QuotationHistory();
  10037. } else if (res.code == "101") {
  10038. this.totalCompanyList[num].quoteCode = "101";
  10039. this.totalCompanyList[num].msg = res.msg;
  10040. this.cqryCdeJq = res.data.cqryCdeJq;
  10041. this.cqryCdeSy = res.data.cqryCdeSy;
  10042. let jq = res.data.renewalCodeJq.replace(/[\r\n]/g, "");
  10043. let jqBase64 = `data:image/png;base64,${jq}`;
  10044. this.renewalCodeJqImg = jqBase64;
  10045. if (res.data.renewalCodeSy) {
  10046. let sy = res.data.renewalCodeSy.replace(/[\r\n]/g, "");
  10047. let syBase64 = `data:image/png;base64,${sy}`;
  10048. this.renewalCodeSyImg = syBase64;
  10049. }
  10050. this.renewalCodedialogVisible = true;
  10051. } else {
  10052. this.totalCompanyList[num].quoteCode = "3";
  10053. this.totalCompanyList[num].msg = res.msg;
  10054. return;
  10055. }
  10056. });
  10057. },
  10058. // 爬虫对接
  10059. quoteInsurance(num, id, namesimple, apiType) {
  10060. let api = apiType == 2 ? "pythonquote" : "";
  10061. if (namesimple == '诚泰财险') {
  10062. api = "pythonquote"
  10063. }
  10064. let ccidenttype = this.totalCompanyList[num].cnName;
  10065. let isTaxSource = this.totalCompanyList[num].isTaxSource;
  10066. // accidentalDrivingVo = this.totalCompanyList[num].programme.drivingList[0] || {}
  10067. let params = {
  10068. // accidentalDrivingVo: this[ccidenttype + "accidentalDrivingVo"],
  10069. accidentalDrivingVo: this.totalCompanyList[num].programme.drivingList[0] || {},
  10070. orderNo: this.orderno,
  10071. companyId: id,
  10072. userId: this.userId,
  10073. agreementId: this.totalCompanyList[num].agreementId,
  10074. isTaxSource: isTaxSource == 1 ? isTaxSource : null,
  10075. kinds: this.totalCompanyList[num].kindList || [],
  10076. risks: this.riskList || [],
  10077. productId: this.productId
  10078. };
  10079. if (namesimple == "中国人寿" && this.lastCompanyId) {
  10080. params.discount = this.totalCompanyList[num].discount;
  10081. params.lastCompanyId = this.lastCompanyId;
  10082. }
  10083. if (
  10084. namesimple == "华农财险" &&
  10085. this.huanongaccidentalDrivingVo.quantity
  10086. ) {
  10087. params.accidentalDrivingVo.quantity = this.accidentFormHN.quantity;
  10088. // params.accidentalDrivingVo.allQuantity = this.accidentFormHN.allQuantity;
  10089. }
  10090. this.$api.letter[api] (params).then((res) => {
  10091. this.totalCompanyList[num].msg = res.msg;
  10092. switch (namesimple) {
  10093. case "安盛天平":
  10094. case "诚泰财险":
  10095. case "泰康财险":
  10096. case "中国人寿":
  10097. case "恒邦财险":
  10098. case "华农财险":
  10099. case "太平财险":
  10100. case "太平洋财险":
  10101. if (!!res.data) {
  10102. if (
  10103. res.data.warnMessageList &&
  10104. res.data.warnMessageList.length > 0
  10105. ) {
  10106. this.totalCompanyList[num].lastYearMsg = "";
  10107. let dat = res.data.warnMessageList;
  10108. dat.map((ele) => {
  10109. this.totalCompanyList[num].lastYearMsg += ele + "<br>";
  10110. });
  10111. }
  10112. if (res.data.predictInfo && res.data.predictInfo.length > 0) {
  10113. this.totalCompanyList[num].predictInfo = res.data.predictInfo;
  10114. }
  10115. this.totalCompanyList[num].quoteCode = 200;
  10116. this.totalCompanyList[num].result = res.data;
  10117. this.vehicleInspectionUrl = this.totalCompanyList[num].result.vehicleInspectionUrl
  10118. if (namesimple == "中国人寿" && res.data.companyId) {
  10119. this.lastCompanyId = res.data.companyId;
  10120. }
  10121. this.jqstartDate = res.data.startDateJq
  10122. this.jqendDate = res.data.endDateJq
  10123. this.systartDate = res.data.startDateSy
  10124. this.syendDate = res.data.endDateSy
  10125. this.QuotationHistory();
  10126. } else {
  10127. this.totalCompanyList[num].quoteCode = "3";
  10128. this.totalCompanyList[num].msg = res.msg;
  10129. return;
  10130. }
  10131. break;
  10132. case "众安财险":
  10133. if (!!res.data) {
  10134. if (res.data.tips == "需要验车") {
  10135. this.$notify.error({
  10136. title: "通融单",
  10137. duration: 0,
  10138. dangerouslyUseHTMLString: true,
  10139. message: `<div> ${res.data.warnMessageList
  10140. .map((item) => {
  10141. return `<p>${item}</p>`;
  10142. })
  10143. .join("")}
  10144. </div>`,
  10145. });
  10146. }
  10147. if (
  10148. res.data.warnMessageList &&
  10149. res.data.warnMessageList.length > 0
  10150. ) {
  10151. this.totalCompanyList[num].lastYearMsg = "";
  10152. let dat = res.data.warnMessageList;
  10153. dat.map((ele) => {
  10154. this.totalCompanyList[num].lastYearMsg += ele + "<br>";
  10155. });
  10156. }
  10157. this.totalCompanyList[num].quoteCode = 200;
  10158. this.totalCompanyList[num].result = res.data;
  10159. this.jqstartDate = res.data.startDateJq
  10160. this.jqendDate = res.data.endDateJq
  10161. this.systartDate = res.data.startDateSy
  10162. this.syendDate = res.data.endDateSy
  10163. this.QuotationHistory();
  10164. } else {
  10165. this.totalCompanyList[num].quoteCode = "3";
  10166. this.totalCompanyList[num].msg = res.msg;
  10167. return;
  10168. }
  10169. break;
  10170. default:
  10171. break;
  10172. }
  10173. });
  10174. },
  10175. //安盛天平
  10176. ansheng(num, id, namesimple) {
  10177. this.quoteInsurance(
  10178. num,
  10179. id,
  10180. namesimple,
  10181. this.totalCompanyList[num].apiType
  10182. );
  10183. },
  10184. //众安
  10185. zhongan(num, id, namesimple) {
  10186. this.quoteInsurance(
  10187. num,
  10188. id,
  10189. namesimple,
  10190. this.totalCompanyList[num].apiType
  10191. );
  10192. },
  10193. //人寿
  10194. renshou(num, id, namesimple) {
  10195. this.quoteInsurance(
  10196. num,
  10197. id,
  10198. namesimple,
  10199. this.totalCompanyList[num].apiType
  10200. );
  10201. },
  10202. //恒邦
  10203. hengbang(num, id, namesimple) {
  10204. this.quoteInsurance(
  10205. num,
  10206. id,
  10207. namesimple,
  10208. this.totalCompanyList[num].apiType
  10209. );
  10210. },
  10211. //太平洋
  10212. taipingyang(num, id, namesimple) {
  10213. this.quoteInsurance(
  10214. num,
  10215. id,
  10216. namesimple,
  10217. this.totalCompanyList[num].apiType
  10218. );
  10219. },
  10220. //诚泰
  10221. chengtai(num, id, namesimple) {
  10222. this.quoteInsurance(
  10223. num,
  10224. id,
  10225. namesimple,
  10226. this.totalCompanyList[num].apiType
  10227. );
  10228. },
  10229. //太平
  10230. taiping(num, id, namesimple) {
  10231. this.quoteInsurance(
  10232. num,
  10233. id,
  10234. namesimple,
  10235. this.totalCompanyList[num].apiType
  10236. );
  10237. },
  10238. //华农
  10239. huanong(num, id, namesimple) {
  10240. this.quoteInsurance(
  10241. num,
  10242. id,
  10243. namesimple,
  10244. this.totalCompanyList[num].apiType
  10245. );
  10246. },
  10247. capTypedictTag(val, option) {
  10248. if (option.find((item) => item.dictValue == val)) {
  10249. return option.find((item) => item.dictValue == val).dictTag;
  10250. } else {
  10251. return "-";
  10252. }
  10253. },
  10254. // 爬虫对接
  10255. qoutedetail(companyId) {
  10256. let params = {
  10257. companyId: companyId,
  10258. };
  10259. this.$api.letter.getByCompanyId(params).then((res) => {
  10260. if (res.code == "200") {
  10261. var data = res.data;
  10262. data.kindinfo.map((ele, index) => {
  10263. switch (ele.kindCode) {
  10264. case "A":
  10265. ele.amount = "投保";
  10266. break;
  10267. case "D4":
  10268. case "SY_FJ_YBW2":
  10269. ele.unitAmount = this.toChinesNum(ele.unitAmount);
  10270. break;
  10271. case "MJ1":
  10272. case "MJ2":
  10273. case "MJ3":
  10274. case "MJ4":
  10275. ele.deductibleRate = ele.deductibleRate + "%";
  10276. break;
  10277. default:
  10278. ele.amount = this.toChinesNum(ele.amount);
  10279. }
  10280. return ele;
  10281. });
  10282. if (
  10283. (data.carinfo.carnature && data.carinfo.carnature == "02") ||
  10284. data.carinfo.carnature == "非营业"
  10285. ) {
  10286. data.carinfo.vehicleUse = this.capTypedictTag(
  10287. data.carinfo.vehicleUse,
  10288. this.outOfBusinessVehicleUseoptions
  10289. );
  10290. } else {
  10291. data.carinfo.vehicleUse = this.capTypedictTag(
  10292. data.carinfo.vehicleUse,
  10293. this.businessVehicleUseoptions
  10294. );
  10295. }
  10296. data.carinfo.carnature = this.capTypedictTag(
  10297. data.carinfo.carnature,
  10298. this.natureOfVehicleUseoptions
  10299. );
  10300. data.carinfo.cartype = data.carinfo.cartype
  10301. ? this.capTypedictTag(
  10302. data.carinfo.cartype,
  10303. this.trafficManagementVehicleTypeoptions
  10304. )
  10305. : "";
  10306. data.carinfo.cimodelclass = data.carinfo.cimodelclass
  10307. ? this.capTypedictTag(
  10308. data.carinfo.cimodelclass,
  10309. this.vehicleTypeoptions
  10310. )
  10311. : "";
  10312. data.carinfo.energyType = data.carinfo.energyType
  10313. ? this.capTypedictTag(
  10314. data.carinfo.energyType,
  10315. this.energyTypeoptions
  10316. )
  10317. : "";
  10318. this.queryOrders = data;
  10319. //赋值费用信息
  10320. // this.feeDetailInfo=data.orderFeeResult;
  10321. }
  10322. });
  10323. this.$refs.detailsDialog.setBackupVisible(true);
  10324. },
  10325. imageUpload() {
  10326. this.imageUploaddialogVisible = true;
  10327. // this.$refs.imageDialog.setBackupVisible(true);
  10328. },
  10329. tabLiScroll(id, idx) {
  10330. this.tabLiIndex = idx;
  10331. document.getElementById(id).scrollIntoView({ behavior: "smooth" });
  10332. },
  10333. //影像上传
  10334. drivingupload(file, imageIdList, imgurl, type) {
  10335. let that = this;
  10336. let size = file.size / 1024 / 1024 < 5;
  10337. const isJPG =
  10338. file.raw.type === "image/jpeg" || file.raw.type === "image/png";
  10339. if (!size) {
  10340. this.$message.error("上传图片大小不能超过 5MB!");
  10341. this[imgurl] = [];
  10342. return false;
  10343. }
  10344. if (!isJPG) {
  10345. this.$message.error("上传图片只能是 JPG、PNG 格式!");
  10346. this[imgurl] = [];
  10347. return false;
  10348. }
  10349. this[imgurl].push(file);
  10350. var file = file.raw;
  10351. const params = new FormData(); // 声明formData数据类型
  10352. params.append("multipartFile", file);
  10353. params.append("type", "image");
  10354. this.$api.letter.uploadFile(params).then((res) => {
  10355. if (res.code == "200") {
  10356. if (this[imageIdList].some((v) => v.imageType == type)) {
  10357. this[imageIdList].map((val) => {
  10358. if (val.imageType == type) {
  10359. val.imageId = res.data.id;
  10360. }
  10361. });
  10362. } else {
  10363. this[imageIdList].push({
  10364. imageId: res.data.id,
  10365. imageType: type,
  10366. });
  10367. }
  10368. }
  10369. });
  10370. },
  10371. imageEcho(quotenos) {
  10372. //影像查询
  10373. this.$api.letter.findByQuoteNo(quotenos).then((res) => {
  10374. if (res.code == "200") {
  10375. this.imageList1 = [];
  10376. this.imageList2 = [];
  10377. this.imageList3 = [];
  10378. this.imageList4 = [];
  10379. this.imageList5 = [];
  10380. this.imageList6 = [];
  10381. this.imgList1 = [];
  10382. this.imgList2 = [];
  10383. this.imgList3 = [];
  10384. this.imgList4 = [];
  10385. this.imgList5 = [];
  10386. this.imgList6 = [];
  10387. this.imgList7 = [];
  10388. this.imgList8 = [];
  10389. this.imgList9 = [];
  10390. this.imgList10 = [];
  10391. this.imgList11 = [];
  10392. this.imgList12 = [];
  10393. this.imgList13 = [];
  10394. this.imgList14 = [];
  10395. this.imgList15 = [];
  10396. this.imgList16 = [];
  10397. this.imgList17 = [];
  10398. this.imgList18 = [];
  10399. this.imgList19 = [];
  10400. this.imgList20 = [];
  10401. this.imgList21 = [];
  10402. this.imgList22 = [];
  10403. this.imgList23 = [];
  10404. this.imgList24 = [];
  10405. this.imgList25 = [];
  10406. Object.keys(res.data).forEach((keys) => {
  10407. if (res.data[keys].url) {
  10408. res.data[keys].url = process.env.BASE_URL + res.data[keys].url;
  10409. switch (keys) {
  10410. case "C01":
  10411. this.imageList1.push({
  10412. imageId: res.data[keys].imageId,
  10413. imageType: res.data[keys].imageType,
  10414. });
  10415. this.imgList1.push(res.data[keys]);
  10416. break;
  10417. case "D01":
  10418. this.imageList1.push({
  10419. imageId: res.data[keys].imageId,
  10420. imageType: res.data[keys].imageType,
  10421. });
  10422. this.imgList2.push(res.data[keys]);
  10423. break;
  10424. case "C02":
  10425. this.imageList2.push({
  10426. imageId: res.data[keys].imageId,
  10427. imageType: res.data[keys].imageType,
  10428. });
  10429. this.imgList3.push(res.data[keys]);
  10430. break;
  10431. case "D02":
  10432. this.imageList2.push({
  10433. imageId: res.data[keys].imageId,
  10434. imageType: res.data[keys].imageType,
  10435. });
  10436. this.imgList4.push(res.data[keys]);
  10437. break;
  10438. case "C03":
  10439. this.imageList3.push({
  10440. imageId: res.data[keys].imageId,
  10441. imageType: res.data[keys].imageType,
  10442. });
  10443. this.imgList5.push(res.data[keys]);
  10444. break;
  10445. case "D03":
  10446. this.imageList3.push({
  10447. imageId: res.data[keys].imageId,
  10448. imageType: res.data[keys].imageType,
  10449. });
  10450. this.imgList6.push(res.data[keys]);
  10451. break;
  10452. case "C04":
  10453. this.imageList4.push({
  10454. imageId: res.data[keys].imageId,
  10455. imageType: res.data[keys].imageType,
  10456. });
  10457. this.imgList7.push(res.data[keys]);
  10458. break;
  10459. case "D04":
  10460. this.imageList4.push({
  10461. imageId: res.data[keys].imageId,
  10462. imageType: res.data[keys].imageType,
  10463. });
  10464. this.imgList8.push(res.data[keys]);
  10465. break;
  10466. case "XC00":
  10467. this.imageList5.push({
  10468. imageId: res.data[keys].imageId,
  10469. imageType: res.data[keys].imageType,
  10470. });
  10471. this.imgList9.push(res.data[keys]);
  10472. break;
  10473. case "GC00":
  10474. this.imageList5.push({
  10475. imageId: res.data[keys].imageId,
  10476. imageType: res.data[keys].imageType,
  10477. });
  10478. this.imgList10.push(res.data[keys]);
  10479. break;
  10480. case "GX00":
  10481. this.imageList5.push({
  10482. imageId: res.data[keys].imageId,
  10483. imageType: res.data[keys].imageType,
  10484. });
  10485. this.imgList11.push(res.data[keys]);
  10486. break;
  10487. case "TAR05":
  10488. this.imageList1.push({
  10489. imageId: res.data[keys].imageId,
  10490. imageType: res.data[keys].imageType,
  10491. });
  10492. this.imgList12.push(res.data[keys]);
  10493. break;
  10494. case "C0500":
  10495. this.imageList6.push({
  10496. imageId: res.data[keys].imageId,
  10497. imageType: res.data[keys].imageType,
  10498. });
  10499. this.imgList13.push(res.data[keys]);
  10500. break;
  10501. case "C0501":
  10502. this.imageList6.push({
  10503. imageId: res.data[keys].imageId,
  10504. imageType: res.data[keys].imageType,
  10505. });
  10506. this.imgList14.push(res.data[keys]);
  10507. break;
  10508. case "C0502":
  10509. this.imageList6.push({
  10510. imageId: res.data[keys].imageId,
  10511. imageType: res.data[keys].imageType,
  10512. });
  10513. this.imgList15.push(res.data[keys]);
  10514. break;
  10515. case "C0503":
  10516. this.imageList6.push({
  10517. imageId: res.data[keys].imageId,
  10518. imageType: res.data[keys].imageType,
  10519. });
  10520. this.imgList16.push(res.data[keys]);
  10521. break;
  10522. case "C0504":
  10523. this.imageList6.push({
  10524. imageId: res.data[keys].imageId,
  10525. imageType: res.data[keys].imageType,
  10526. });
  10527. this.imgList17.push(res.data[keys]);
  10528. break;
  10529. case "C0506":
  10530. this.imageList6.push({
  10531. imageId: res.data[keys].imageId,
  10532. imageType: res.data[keys].imageType,
  10533. });
  10534. this.imgList18.push(res.data[keys]);
  10535. break;
  10536. case "C0507":
  10537. this.imageList6.push({
  10538. imageId: res.data[keys].imageId,
  10539. imageType: res.data[keys].imageType,
  10540. });
  10541. this.imgList19.push(res.data[keys]);
  10542. break;
  10543. case "C0505":
  10544. this.imageList6.push({
  10545. imageId: res.data[keys].imageId,
  10546. imageType: res.data[keys].imageType,
  10547. });
  10548. this.imgList20.push(res.data[keys]);
  10549. break;
  10550. case "C0508":
  10551. this.imageList6.push({
  10552. imageId: res.data[keys].imageId,
  10553. imageType: res.data[keys].imageType,
  10554. });
  10555. this.imgList21.push(res.data[keys]);
  10556. break;
  10557. case "C0509":
  10558. this.imageList6.push({
  10559. imageId: res.data[keys].imageId,
  10560. imageType: res.data[keys].imageType,
  10561. });
  10562. this.imgList22.push(res.data[keys]);
  10563. break;
  10564. case "C0510":
  10565. this.imageList6.push({
  10566. imageId: res.data[keys].imageId,
  10567. imageType: res.data[keys].imageType,
  10568. });
  10569. this.imgList23.push(res.data[keys]);
  10570. break;
  10571. case "LAST_INSURANCE_POLICY":
  10572. this.imageList6.push({
  10573. imageId: res.data[keys].imageId,
  10574. imageType: res.data[keys].imageType,
  10575. });
  10576. this.imgList24.push(res.data[keys]);
  10577. break;
  10578. case "SQ00":
  10579. this.imageList6.push({
  10580. imageId: res.data[keys].imageId,
  10581. imageType: res.data[keys].imageType,
  10582. });
  10583. this.imgList25.push(res.data[keys]);
  10584. break;
  10585. default:
  10586. break;
  10587. }
  10588. }
  10589. });
  10590. } else {
  10591. this.$message({ message: res.msg, type: "info" });
  10592. }
  10593. });
  10594. },
  10595. policyUpload() {
  10596. this.policyNumberForm.jqPolicyList = !this.policyNumberForm.jqPolicyList
  10597. ? []
  10598. : this.policyNumberForm.jqPolicyList;
  10599. this.policyNumberForm.jqSignList = !this.policyNumberForm.jqSignList
  10600. ? []
  10601. : this.policyNumberForm.jqSignList;
  10602. this.policyNumberForm.syPolicyList = !this.policyNumberForm.syPolicyList
  10603. ? []
  10604. : this.policyNumberForm.syPolicyList;
  10605. this.policyNumberForm.noPolicyList = !this.policyNumberForm.noPolicyList
  10606. ? []
  10607. : this.policyNumberForm.noPolicyList;
  10608. this.policyUploaddialogVisible = true;
  10609. },
  10610. cancelorder(item) {
  10611. if (item.inscompany == '紫金财险') {
  10612. this.$api.letter.zijincancelorder({ companyId: item.id }).then((res) => {
  10613. if (res.code == 200) {
  10614. this.$message({
  10615. message: res.msg,
  10616. type: "success",
  10617. });
  10618. this.QuotationHistory();
  10619. }
  10620. });
  10621. } else if (item.inscompany == '诚泰财险') {
  10622. this.$api.letter.chengtaicancelorder({ companyId: item.id }).then((res) => {
  10623. if (res.code == 200) {
  10624. this.$message({
  10625. message: res.msg,
  10626. type: "success",
  10627. });
  10628. this.findPage();
  10629. }
  10630. });
  10631. } else if(item.inscompany == '阳光财险') {
  10632. this.$api.letter.yangGuangautoWriteOff({ companyId: item.id }).then((res) => {
  10633. if (res.code == 200) {
  10634. this.$message({
  10635. message: res.msg,
  10636. type: "success",
  10637. });
  10638. this.findPage();
  10639. }
  10640. });
  10641. }
  10642. },
  10643. hbsubmitdialog(data, index) {
  10644. this.typeDialogIndex = index // 当前的公司index
  10645. if (this.imageList1.length == 0 && this.imageList2.length == 0) {
  10646. this.$message({ message: "影像不全,先上传影像", type: "error" });
  10647. return;
  10648. }
  10649. this.companyId = data.result.companyId;
  10650. this.apiType = data.result.apiType;
  10651. this.hbsubmitdialogVisible = true;
  10652. this.contributingState = false;
  10653. if (data.namesimple == "紫金财险") {
  10654. // this.getClauseData(this.companyId, index)
  10655. this.$api.letter
  10656. .zijinqueryClauseData({ companyId: this.companyId })
  10657. .then((res) => {
  10658. this.zijinengageListData = res.data;
  10659. });
  10660. }
  10661. if (data.namesimple == "华泰财险") {
  10662. this.zijinengageList = [];
  10663. // this.getClauseData(this.companyId, index)
  10664. this.$api.letter
  10665. .huataiqueryClauseData({ companyId: this.companyId })
  10666. .then((res) => {
  10667. res.data.forEach((val) => {
  10668. val.clauseCode = val.engageCode;
  10669. val.clauseName = val.engageTitle;
  10670. val.clauseContent = val.engageDetail;
  10671. val.clauses = val.engageDetail;
  10672. });
  10673. this.zijinengageListData = res.data;
  10674. this.zijinengageListData.forEach((val) => {
  10675. this.$nextTick(() => {
  10676. if (val.optType == "2") {
  10677. this.zijinengageList.push(val);
  10678. this.$refs.expandTablePro.toggleRowSelection(val, true);
  10679. }
  10680. });
  10681. });
  10682. });
  10683. } else {
  10684. this.zijinengageListData = [];
  10685. }
  10686. // switch (data.namesimple) {
  10687. // case "紫金财险":
  10688. // this.$api.letter.zijinqueryClauseData({ companyId: this.companyId }).then(res => {
  10689. // this.zijinengageListData = res.data;
  10690. // });
  10691. // break;
  10692. // default:
  10693. // break;
  10694. // }
  10695. },
  10696. hbsubmit() {
  10697. this.hbsubmitdialogVisible = false;
  10698. this.contributingState = false;
  10699. this.$api.letter
  10700. .getByCompanyId({ companyId: this.companyId })
  10701. .then(async (res) => {
  10702. if (res.code == 200) {
  10703. var data = res.data;
  10704. this.queryOrders = data;
  10705. const loading = this.$loading({
  10706. lock: true,
  10707. text: "Loading",
  10708. spinner: "el-icon-loading",
  10709. background: "rgba(0, 0, 0, 0.7)",
  10710. });
  10711. switch (this.queryOrders.inscompany) {
  10712. case "永安财险":
  10713. let api = "";
  10714. api =
  10715. this.apiType == 2
  10716. ? "pythonsubmitImage"
  10717. : "insyongansubmitImage";
  10718. await this.$api.letter[api]({
  10719. companyId: this.companyId,
  10720. }).then((res) => {
  10721. if (res.code == "200") {
  10722. var _this = this;
  10723. let api1 = "";
  10724. api1 = this.apiType == 2 ? "pythonaudit" : "yonganaudit";
  10725. this.$api.letter[api1]({
  10726. companyId: this.companyId,
  10727. }).then((res) => {
  10728. var _this = this;
  10729. if (res.code == "200") {
  10730. loading.close();
  10731. this.$message({
  10732. message: "核保成功",
  10733. type: "success",
  10734. });
  10735. this.QuotationHistory();
  10736. _this.$api.letter
  10737. .getByCompanyId({ companyId: this.companyId })
  10738. .then((res) => {
  10739. _this.orderstatus = res.data.orderstatus; //订单状态
  10740. _this.underwritingdialogVisible = true;
  10741. let indexid = this.totalCompanyList.findIndex(
  10742. (item) =>
  10743. item.namesimple == this.queryOrders.inscompany
  10744. );
  10745. this.totalCompanyList[indexid].orderstatus =
  10746. res.data.orderstatus;
  10747. });
  10748. } else {
  10749. loading.close();
  10750. this.$message({
  10751. showClose: true,
  10752. message:
  10753. this.queryOrders.inscompany + "提核--:" + res.msg,
  10754. type: "error",
  10755. duration: 0,
  10756. });
  10757. }
  10758. });
  10759. } else {
  10760. this.$message({
  10761. message: this.queryOrders.inscompany + "影像:" + res.msg,
  10762. type: "error",
  10763. duration: 7000,
  10764. });
  10765. loading.close();
  10766. }
  10767. });
  10768. break;
  10769. case "中煤财险":
  10770. let ZMApiImage = "";
  10771. ZMApiImage =
  10772. this.apiType == 2
  10773. ? "pythonsubmitImage"
  10774. : "insZhongmeisubmitImage";
  10775. await this.$api.letter[ZMApiImage]({
  10776. [this.apiType == 2 ? "subOrderNo" : "companyId"]:
  10777. this.companyId,
  10778. }).then((res) => {
  10779. // await this.$api.letter
  10780. // .insZhongmeisubmitImage({
  10781. // companyId: this.companyId,
  10782. // })
  10783. // .then((res) => {
  10784. if (res.code == "200") {
  10785. var _this = this;
  10786. let ZMApiaudit = "";
  10787. ZMApiaudit =
  10788. this.apiType == 2 ? "pythonaudit" : "Zhongmeiaudit";
  10789. _this.$api.letter[ZMApiaudit]({
  10790. // _this.$api.letter
  10791. // .Zhongmeiaudit({
  10792. [this.apiType == 2 ? "subOrderNo" : "companyId"]: this.companyId,
  10793. // companyId: this.companyId,
  10794. jqappoint: "",
  10795. syappoint: "",
  10796. })
  10797. .then((res) => {
  10798. if (res.code == "200") {
  10799. loading.close();
  10800. _this.$message({
  10801. message: "核保成功",
  10802. type: "success",
  10803. });
  10804. this.QuotationHistory();
  10805. _this.$api.letter
  10806. .getByCompanyId({ companyId: this.companyId })
  10807. .then((res) => {
  10808. _this.orderstatus = res.data.orderstatus; //订单状态
  10809. _this.underwritingdialogVisible = true;
  10810. let indexid = this.totalCompanyList.findIndex(
  10811. (item) =>
  10812. item.namesimple ==
  10813. this.queryOrders.inscompany
  10814. );
  10815. this.totalCompanyList[indexid].orderstatus =
  10816. res.data.orderstatus;
  10817. });
  10818. } else {
  10819. loading.close();
  10820. _this.$message({
  10821. showClose: true,
  10822. message:
  10823. this.queryOrders.inscompany +
  10824. "提核--:" +
  10825. res.msg,
  10826. type: "error",
  10827. duration: 0,
  10828. });
  10829. _this.$api.letter
  10830. .getByCompanyId({ companyId: this.companyId })
  10831. .then((res) => {
  10832. _this.orderstatus = res.data.orderstatus; //订单状态
  10833. });
  10834. }
  10835. });
  10836. } else {
  10837. this.$message({
  10838. message:
  10839. this.queryOrders.inscompany + "影像--:" + res.msg,
  10840. type: "error",
  10841. duration: 7000,
  10842. });
  10843. loading.close();
  10844. }
  10845. });
  10846. break;
  10847. case "诚泰财险":
  10848. let CtApiImage = "";
  10849. CtApiImage =
  10850. this.apiType == 2
  10851. ? "pythonsubmitImage"
  10852. : "chengtaisubmitImage";
  10853. await this.$api.letter[CtApiImage]({
  10854. [this.apiType == 2 ? "subOrderNo" : "companyId"]:
  10855. this.companyId,
  10856. }).then((res) => {
  10857. if (res.code == "200") {
  10858. var _this = this;
  10859. let CtApiaudit = "";
  10860. CtApiaudit =
  10861. this.apiType == 2 ? "pythonaudit" : "chengtaiaudit";
  10862. let engageList = [];
  10863. this.zijinengageList.forEach((val) => {
  10864. engageList.push({
  10865. engageCode: val.clauseCode,
  10866. engageDetail: val.clauses,
  10867. engageTitle: val.clauseName,
  10868. riskCode: val.riskCode,
  10869. });
  10870. });
  10871. _this.$api.letter[CtApiaudit]({
  10872. [this.apiType == 2 ? "subOrderNo" : "companyId"]:
  10873. this.companyId,
  10874. engageList,
  10875. }).then((res) => {
  10876. if (res.code == "200") {
  10877. loading.close();
  10878. _this.$message({
  10879. message: "核保成功",
  10880. type: "success",
  10881. });
  10882. this.QuotationHistory();
  10883. _this.$api.letter
  10884. .getByCompanyId({ companyId: this.companyId })
  10885. .then((res) => {
  10886. _this.orderstatus = res.data.orderstatus; //订单状态
  10887. _this.underwritingdialogVisible = true;
  10888. let indexid = this.totalCompanyList.findIndex(
  10889. (item) =>
  10890. item.namesimple == this.queryOrders.inscompany
  10891. );
  10892. this.totalCompanyList[indexid].orderstatus =
  10893. res.data.orderstatus;
  10894. });
  10895. } else {
  10896. loading.close();
  10897. _this.$message({
  10898. showClose: true,
  10899. message:
  10900. this.queryOrders.inscompany + "提核--:" + res.msg,
  10901. type: "error",
  10902. duration: 0,
  10903. });
  10904. _this.$api.letter
  10905. .getByCompanyId({ companyId: this.companyId })
  10906. .then((res) => {
  10907. _this.orderstatus = res.data.orderstatus; //订单状态
  10908. });
  10909. }
  10910. });
  10911. } else {
  10912. this.$message({
  10913. message:
  10914. this.queryOrders.inscompany + "影像--:" + res.msg,
  10915. type: "error",
  10916. duration: 7000,
  10917. });
  10918. loading.close();
  10919. }
  10920. });
  10921. break;
  10922. case "华泰财险":
  10923. let HtApiImage = "";
  10924. HtApiImage =
  10925. this.apiType == 2
  10926. ? "pythonsubmitImage"
  10927. : "insHuataisubmitImage";
  10928. await this.$api.letter[HtApiImage]({
  10929. [this.apiType == 2 ? "subOrderNo" : "companyId"]:
  10930. this.companyId,
  10931. }).then((res) => {
  10932. if (res.code == "200") {
  10933. var _this = this;
  10934. let HtApiaudit = "";
  10935. HtApiaudit =
  10936. this.apiType == 2 ? "pythonaudit" : "huataiaudit";
  10937. let engageList = [];
  10938. this.zijinengageList.forEach((val) => {
  10939. engageList.push({
  10940. engageCode: val.clauseCode,
  10941. engageDetail: val.clauses,
  10942. engageTitle: val.clauseName,
  10943. riskCode: val.riskCode,
  10944. });
  10945. });
  10946. _this.$api.letter[HtApiaudit]({
  10947. [this.apiType == 2 ? "subOrderNo" : "companyId"]:
  10948. this.companyId,
  10949. engageList,
  10950. }).then((res) => {
  10951. if (res.code == "200") {
  10952. loading.close();
  10953. _this.$message({
  10954. message: "核保成功",
  10955. type: "success",
  10956. });
  10957. this.QuotationHistory();
  10958. _this.$api.letter
  10959. .getByCompanyId({ companyId: this.companyId })
  10960. .then((res) => {
  10961. _this.orderstatus = res.data.orderstatus; //订单状态
  10962. _this.underwritingdialogVisible = true;
  10963. let indexid = this.totalCompanyList.findIndex(
  10964. (item) =>
  10965. item.namesimple == this.queryOrders.inscompany
  10966. );
  10967. this.totalCompanyList[indexid].orderstatus =
  10968. res.data.orderstatus;
  10969. });
  10970. } else {
  10971. loading.close();
  10972. _this.$message({
  10973. showClose: true,
  10974. message:
  10975. this.queryOrders.inscompany + "提核--:" + res.msg,
  10976. type: "error",
  10977. duration: 0,
  10978. });
  10979. _this.$api.letter
  10980. .getByCompanyId({ companyId: this.companyId })
  10981. .then((res) => {
  10982. _this.orderstatus = res.data.orderstatus; //订单状态
  10983. });
  10984. }
  10985. });
  10986. } else {
  10987. this.$message({
  10988. message:
  10989. this.queryOrders.inscompany + "影像--:" + res.msg,
  10990. type: "error",
  10991. duration: 7000,
  10992. });
  10993. loading.close();
  10994. }
  10995. });
  10996. break;
  10997. case "紫金财险":
  10998. await this.$api.letter
  10999. .zijinsubmitImage({
  11000. companyId: this.companyId,
  11001. })
  11002. .then((res) => {
  11003. if (res.code == "200") {
  11004. var _this = this;
  11005. _this.$api.letter
  11006. .zijinaudit({
  11007. companyId: this.companyId,
  11008. engageList: this.zijinengageList,
  11009. })
  11010. .then((res) => {
  11011. if (res.code == "200") {
  11012. loading.close();
  11013. _this.$message({
  11014. message: "核保成功",
  11015. type: "success",
  11016. });
  11017. this.QuotationHistory();
  11018. _this.$api.letter
  11019. .getByCompanyId({ companyId: this.companyId })
  11020. .then((res) => {
  11021. _this.orderstatus = res.data.orderstatus; //订单状态
  11022. _this.underwritingdialogVisible = true;
  11023. let indexid = this.totalCompanyList.findIndex(
  11024. (item) =>
  11025. item.namesimple ==
  11026. this.queryOrders.inscompany
  11027. );
  11028. this.totalCompanyList[indexid].orderstatus =
  11029. res.data.orderstatus;
  11030. });
  11031. } else {
  11032. loading.close();
  11033. _this.$message({
  11034. showClose: true,
  11035. dangerouslyUseHTMLString: true,
  11036. message:
  11037. this.queryOrders.inscompany +
  11038. "提核--:" +
  11039. res.msg,
  11040. type: "error",
  11041. duration: 0,
  11042. });
  11043. _this.$api.letter
  11044. .getByCompanyId({ companyId: this.companyId })
  11045. .then((res) => {
  11046. _this.orderstatus = res.data.orderstatus; //订单状态
  11047. });
  11048. }
  11049. });
  11050. } else {
  11051. this.$message({
  11052. message:
  11053. this.queryOrders.inscompany + "影像--:" + res.msg,
  11054. type: "error",
  11055. duration: 7000,
  11056. });
  11057. loading.close();
  11058. }
  11059. });
  11060. break;
  11061. case "国任财险":
  11062. await this.$api.letter
  11063. .insguorensubmitImage({
  11064. companyId: this.companyId,
  11065. })
  11066. .then((res) => {
  11067. if (res.code == "200") {
  11068. var _this = this;
  11069. _this.$api.letter
  11070. .gunrenaudit({
  11071. companyId: this.companyId,
  11072. })
  11073. .then((res) => {
  11074. if (res.code == "200") {
  11075. loading.close();
  11076. _this.cqryCdeJq = "";
  11077. _this.cqryCdeSy = "";
  11078. _this.renewalCodeJq = "";
  11079. _this.renewalCodeSy = "";
  11080. this.$message({
  11081. message: "核保成功",
  11082. type: "success",
  11083. });
  11084. this.QuotationHistory();
  11085. _this.$api.letter
  11086. .getByCompanyId({ companyId: this.companyId })
  11087. .then((res) => {
  11088. _this.orderstatus = res.data.orderstatus; //订单状态
  11089. _this.underwritingdialogVisible = true;
  11090. let indexid = this.totalCompanyList.findIndex(
  11091. (item) =>
  11092. item.namesimple ==
  11093. this.queryOrders.inscompany
  11094. );
  11095. this.totalCompanyList[indexid].orderstatus =
  11096. res.data.orderstatus;
  11097. });
  11098. } else {
  11099. loading.close();
  11100. this.$message({
  11101. showClose: true,
  11102. message: res.msg,
  11103. type: "error",
  11104. duration: 0,
  11105. });
  11106. }
  11107. });
  11108. } else {
  11109. loading.close();
  11110. this.$message({
  11111. message: res.msg,
  11112. type: "error",
  11113. duration: 7000,
  11114. });
  11115. }
  11116. });
  11117. break;
  11118. case "渤海财险":
  11119. await this.$api.letter
  11120. .insbohaisubmitImage({
  11121. companyId: this.companyId,
  11122. })
  11123. .then((res) => {
  11124. if (res.code == "200") {
  11125. var _this = this;
  11126. _this.$api.letter
  11127. .bohaiaudit({
  11128. companyId: this.companyId,
  11129. })
  11130. .then((res) => {
  11131. if (res.code == "200") {
  11132. loading.close();
  11133. _this.cqryCdeJq = "";
  11134. _this.cqryCdeSy = "";
  11135. _this.renewalCodeJq = "";
  11136. _this.renewalCodeSy = "";
  11137. this.$message({
  11138. message: "核保成功",
  11139. type: "success",
  11140. });
  11141. this.QuotationHistory();
  11142. _this.$api.letter
  11143. .getByCompanyId({ companyId: this.companyId })
  11144. .then((res) => {
  11145. _this.orderstatus = res.data.orderstatus; //订单状态
  11146. _this.underwritingdialogVisible = true;
  11147. let indexid = this.totalCompanyList.findIndex(
  11148. (item) =>
  11149. item.namesimple ==
  11150. this.queryOrders.inscompany
  11151. );
  11152. this.totalCompanyList[indexid].orderstatus =
  11153. res.data.orderstatus;
  11154. });
  11155. } else {
  11156. loading.close();
  11157. this.$message({
  11158. showClose: true,
  11159. message: res.msg,
  11160. type: "error",
  11161. duration: 0,
  11162. });
  11163. }
  11164. });
  11165. } else {
  11166. loading.close();
  11167. this.$message({
  11168. message: res.msg,
  11169. type: "error",
  11170. duration: 7000,
  11171. });
  11172. }
  11173. });
  11174. break;
  11175. case "阳光财险":
  11176. await this.$api.letter
  11177. .yangGuangImage({
  11178. companyId: this.companyId,
  11179. })
  11180. .then((res) => {
  11181. if (res.code == "200") {
  11182. var _this = this;
  11183. _this.$api.letter
  11184. .yangGuangSubmit({
  11185. companyId: this.companyId,
  11186. })
  11187. .then((res) => {
  11188. if (res.code == "200") {
  11189. loading.close();
  11190. _this.cqryCdeJq = "";
  11191. _this.cqryCdeSy = "";
  11192. _this.renewalCodeJq = "";
  11193. _this.renewalCodeSy = "";
  11194. this.$message({
  11195. message: "核保成功",
  11196. type: "success",
  11197. });
  11198. this.QuotationHistory();
  11199. _this.$api.letter
  11200. .getByCompanyId({ companyId: this.companyId })
  11201. .then((res) => {
  11202. _this.orderstatus = res.data.orderstatus; //订单状态
  11203. _this.underwritingdialogVisible = true;
  11204. let indexid = this.totalCompanyList.findIndex(
  11205. (item) =>
  11206. item.namesimple ==
  11207. this.queryOrders.inscompany
  11208. );
  11209. this.totalCompanyList[indexid].orderstatus =
  11210. res.data.orderstatus;
  11211. });
  11212. } else {
  11213. loading.close();
  11214. this.$message({
  11215. showClose: true,
  11216. message: res.msg,
  11217. type: "error",
  11218. duration: 0,
  11219. });
  11220. }
  11221. });
  11222. } else {
  11223. loading.close();
  11224. this.$message({
  11225. message: res.msg,
  11226. type: "error",
  11227. duration: 7000,
  11228. });
  11229. }
  11230. });
  11231. break;
  11232. case "恒邦财险":
  11233. case "华农财险":
  11234. case "太平财险":
  11235. case "安盛天平":
  11236. case "众安财险":
  11237. case "中国人寿":
  11238. case "太平洋财险":
  11239. // case "诚泰财险":
  11240. case "泰康财险":
  11241. let hengbangapi = "";
  11242. hengbangapi =
  11243. this.apiType == 2
  11244. ? "pythonsubmitImage"
  11245. : "anshengsubmitImage";
  11246. await this.$api.letter[hengbangapi]({
  11247. subOrderNo: this.companyId,
  11248. }).then((res) => {
  11249. if (res.code == "200") {
  11250. var _this = this;
  11251. let hengbangapi1 = "";
  11252. hengbangapi1 =
  11253. this.apiType == 2 ? "pythonaudit" : "anshengaudit";
  11254. _this.$api.letter[hengbangapi1]({
  11255. subOrderNo: this.companyId,
  11256. }).then((res) => {
  11257. if (res.code == "200") {
  11258. loading.close();
  11259. this.$message({
  11260. message: "核保成功",
  11261. type: "success",
  11262. });
  11263. this.QuotationHistory();
  11264. _this.$api.letter
  11265. .getByCompanyId({ companyId: this.companyId })
  11266. .then((res) => {
  11267. _this.orderstatus = res.data.orderstatus; //订单状态
  11268. _this.underwritingdialogVisible = true;
  11269. let indexid = this.totalCompanyList.findIndex(
  11270. (item) =>
  11271. item.namesimple == this.queryOrders.inscompany
  11272. );
  11273. this.totalCompanyList[indexid].orderstatus =
  11274. res.data.orderstatus;
  11275. });
  11276. } else {
  11277. loading.close();
  11278. this.$message({
  11279. showClose: true,
  11280. dangerouslyUseHTMLString: true,
  11281. message:
  11282. this.queryOrders.inscompany +
  11283. "提核--:" +
  11284. res.msg.replace(/\n/g, "<br><br>"),
  11285. type: "error",
  11286. duration: 0,
  11287. });
  11288. }
  11289. });
  11290. } else {
  11291. loading.close();
  11292. this.$message({
  11293. message:
  11294. this.queryOrders.inscompany + "影像--:" + res.msg,
  11295. type: "error",
  11296. duration: 7000,
  11297. });
  11298. }
  11299. });
  11300. break;
  11301. case "永诚财险":
  11302. await this.$api.letter
  11303. .insyongchengsubmitImage({
  11304. companyId: this.companyId,
  11305. })
  11306. .then((res) => {
  11307. if (res.code == "200") {
  11308. var _this = this;
  11309. _this.$api.letter
  11310. .yongchengaudit({
  11311. companyId: this.companyId,
  11312. })
  11313. .then((res) => {
  11314. if (res.code == "200") {
  11315. loading.close();
  11316. _this.cqryCdeJq = "";
  11317. _this.cqryCdeSy = "";
  11318. _this.renewalCodeJq = "";
  11319. _this.renewalCodeSy = "";
  11320. this.$message({
  11321. message: "核保成功",
  11322. type: "success",
  11323. });
  11324. this.QuotationHistory();
  11325. _this.$api.letter
  11326. .getByCompanyId({ companyId: this.companyId })
  11327. .then((res) => {
  11328. _this.orderstatus = res.data.orderstatus; //订单状态
  11329. _this.underwritingdialogVisible = true;
  11330. let indexid = this.totalCompanyList.findIndex(
  11331. (item) =>
  11332. item.namesimple ==
  11333. this.queryOrders.inscompany
  11334. );
  11335. this.totalCompanyList[indexid].orderstatus =
  11336. res.data.orderstatus;
  11337. });
  11338. } else {
  11339. loading.close();
  11340. this.$message({
  11341. showClose: true,
  11342. message:
  11343. this.queryOrders.inscompany +
  11344. "提核--:" +
  11345. res.msg,
  11346. customClass: "customNotifyClass",
  11347. type: "error",
  11348. duration: 0,
  11349. });
  11350. }
  11351. });
  11352. } else {
  11353. loading.close();
  11354. this.$message({
  11355. message:
  11356. this.queryOrders.inscompany + "影像--:" + res.msg,
  11357. type: "error",
  11358. duration: 7000,
  11359. });
  11360. }
  11361. });
  11362. break;
  11363. case "大家财险":
  11364. let DJApiImage = "";
  11365. DJApiImage =
  11366. this.apiType == 2 ? "pythonsubmitImage" : "dajiasubmitImage";
  11367. await this.$api.letter[DJApiImage]({
  11368. [this.apiType == 2 ? "subOrderNo" : "companyId"]:
  11369. this.companyId,
  11370. }).then((res) => {
  11371. if (res.code == "200") {
  11372. var _this = this;
  11373. let DJApiaudit = "";
  11374. DJApiaudit =
  11375. this.apiType == 2 ? "pythonaudit" : "dajiaaudit";
  11376. _this.$api.letter[DJApiaudit]({
  11377. [this.apiType == 2 ? "subOrderNo" : "companyId"]:
  11378. this.companyId,
  11379. }).then((res) => {
  11380. if (res.code == "200") {
  11381. loading.close();
  11382. _this.cqryCdeJq = "";
  11383. _this.cqryCdeSy = "";
  11384. _this.renewalCodeJq = "";
  11385. _this.renewalCodeSy = "";
  11386. this.$message({
  11387. message: "核保成功",
  11388. type: "success",
  11389. });
  11390. this.QuotationHistory();
  11391. _this.$api.letter
  11392. .getByCompanyId({ companyId: this.companyId })
  11393. .then((res) => {
  11394. _this.orderstatus = res.data.orderstatus; //订单状态
  11395. _this.underwritingdialogVisible = true;
  11396. let indexid = this.totalCompanyList.findIndex(
  11397. (item) =>
  11398. item.namesimple == this.queryOrders.inscompany
  11399. );
  11400. this.totalCompanyList[indexid].orderstatus =
  11401. res.data.orderstatus;
  11402. });
  11403. } else {
  11404. loading.close();
  11405. this.$message({
  11406. showClose: true,
  11407. message:
  11408. this.queryOrders.inscompany + "提核--:" + res.msg,
  11409. customClass: "customNotifyClass",
  11410. type: "error",
  11411. duration: 0,
  11412. });
  11413. }
  11414. });
  11415. } else {
  11416. loading.close();
  11417. this.$message({
  11418. message:
  11419. this.queryOrders.inscompany + "影像--:" + res.msg,
  11420. type: "error",
  11421. duration: 7000,
  11422. });
  11423. }
  11424. });
  11425. break;
  11426. case "平安财险":
  11427. await this.$api.letter
  11428. .pingansubmitImage({
  11429. companyId: this.companyId,
  11430. })
  11431. .then((res) => {
  11432. if (res.code == "200") {
  11433. var _this = this;
  11434. _this.$api.letter
  11435. .pinganaudit({
  11436. companyId: this.companyId,
  11437. jqappoint: "",
  11438. syappoint: "",
  11439. })
  11440. .then((res) => {
  11441. if (res.code == "200") {
  11442. loading.close();
  11443. _this.$message({
  11444. message: "核保成功",
  11445. type: "success",
  11446. });
  11447. this.QuotationHistory();
  11448. _this.$api.letter
  11449. .getByCompanyId({ companyId: this.companyId })
  11450. .then((res) => {
  11451. _this.orderstatus = res.data.orderstatus; //订单状态
  11452. _this.underwritingdialogVisible = true;
  11453. let indexid = this.totalCompanyList.findIndex(
  11454. (item) =>
  11455. item.namesimple ==
  11456. this.queryOrders.inscompany
  11457. );
  11458. this.totalCompanyList[indexid].orderstatus =
  11459. res.data.orderstatus;
  11460. });
  11461. } else {
  11462. loading.close();
  11463. _this.$message({
  11464. showClose: true,
  11465. message:
  11466. this.queryOrders.inscompany +
  11467. "提核--:" +
  11468. res.msg,
  11469. type: "error",
  11470. duration: 0,
  11471. });
  11472. _this.$api.letter
  11473. .getByCompanyId({ companyId: this.companyId })
  11474. .then((res) => {
  11475. _this.orderstatus = res.data.orderstatus; //订单状态
  11476. });
  11477. }
  11478. });
  11479. } else {
  11480. this.$message({
  11481. message:
  11482. this.queryOrders.inscompany + "影像--:" + res.msg,
  11483. type: "error",
  11484. duration: 7000,
  11485. });
  11486. loading.close();
  11487. }
  11488. });
  11489. break;
  11490. }
  11491. }
  11492. });
  11493. },
  11494. //当前日期的次日
  11495. transformTime1() {
  11496. var date = new Date();
  11497. date.setFullYear(date.getFullYear());
  11498. date.setTime(date.getTime() + 24 * 60 * 60 * 1000);
  11499. var strYear = date.getFullYear();
  11500. var strDay = date.getDate();
  11501. var strMonth = date.getMonth() + 1;
  11502. var hh = date.getHours();
  11503. if (hh < 10) {
  11504. hh = "0" + hh;
  11505. }
  11506. if (strMonth < 10) {
  11507. strMonth = "0" + strMonth;
  11508. }
  11509. if (strDay < 10) {
  11510. strDay = "0" + strDay;
  11511. }
  11512. var datastr = strYear + "-" + strMonth + "-" + strDay + " " + "00:00:00";
  11513. return datastr;
  11514. },
  11515. //传入日期的次日
  11516. transformTime2(time) {
  11517. var date = new Date(time);
  11518. date.setFullYear(date.getFullYear());
  11519. date.setTime(date.getTime() + 24 * 60 * 60 * 1000); //一年后的前一天
  11520. var strYear = date.getFullYear();
  11521. var strDay = date.getDate();
  11522. var strMonth = date.getMonth() + 1;
  11523. var hh = date.getHours();
  11524. if (hh < 10) {
  11525. hh = "0" + hh;
  11526. }
  11527. if (strMonth < 10) {
  11528. strMonth = "0" + strMonth;
  11529. }
  11530. if (strDay < 10) {
  11531. strDay = "0" + strDay;
  11532. }
  11533. var datastr = strYear + "-" + strMonth + "-" + strDay + " " + "00:00:00";
  11534. return datastr;
  11535. },
  11536. isDateBeforeToday(date) {
  11537. const inputDate = new Date(date); // 将输入的日期转换为 Date 对象
  11538. const today = new Date(); // 获取当前日期
  11539. // 比较日期是否小于当前日期
  11540. if (inputDate < today) {
  11541. return true; // 输入日期小于当前日期
  11542. } else {
  11543. return false; // 输入日期大于等于当前日期
  11544. }
  11545. },
  11546. //时间转换
  11547. transformTime(date) {
  11548. var d = new Date(date);
  11549. var strYear = d.getFullYear();
  11550. var strMonth = d.getMonth() + 1;
  11551. var strDay = d.getDate();
  11552. var hh = d.getHours();
  11553. var minutes = d.getMinutes(); // 分
  11554. var Seconds = d.getSeconds();
  11555. if (hh < 10) {
  11556. hh = "0" + hh;
  11557. }
  11558. if (minutes < 10) {
  11559. minutes = "0" + minutes;
  11560. }
  11561. if (Seconds < 10) {
  11562. Seconds = "0" + Seconds;
  11563. }
  11564. if (strMonth < 10) {
  11565. strMonth = "0" + strMonth;
  11566. }
  11567. if (strDay < 10) {
  11568. strDay = "0" + strDay;
  11569. }
  11570. var datetime =
  11571. strYear +
  11572. "-" +
  11573. strMonth +
  11574. "-" +
  11575. strDay +
  11576. " " +
  11577. hh +
  11578. ":" +
  11579. minutes +
  11580. ":" +
  11581. Seconds;
  11582. return datetime;
  11583. },
  11584. timeformat(date) {
  11585. var d = new Date(date);
  11586. var strYear = d.getFullYear();
  11587. var strMonth = d.getMonth() + 1;
  11588. var strDay = d.getDate();
  11589. var hh = d.getHours();
  11590. if (hh < 10) {
  11591. hh = "0" + hh;
  11592. }
  11593. if (strMonth < 10) {
  11594. strMonth = "0" + strMonth;
  11595. }
  11596. if (strDay < 10) {
  11597. strDay = "0" + strDay;
  11598. }
  11599. var datetime = strYear + "-" + strMonth + "-" + strDay;
  11600. return datetime;
  11601. },
  11602. oneYearPast1(time) {
  11603. //明年减一秒
  11604. var date = new Date(time);
  11605. date.setSeconds(date.getSeconds() - 1);
  11606. date.setFullYear(date.getFullYear() + 1); //一年后
  11607. date.setTime(date.getTime()); //一年后的前一天
  11608. var strYear = date.getFullYear();
  11609. var strDay = date.getDate();
  11610. var strMonth = date.getMonth() + 1;
  11611. var hh = date.getHours();
  11612. var minutes = date.getMinutes(); // 分
  11613. var Seconds = date.getSeconds();
  11614. if (hh < 10) {
  11615. hh = "0" + hh;
  11616. }
  11617. if (minutes < 10) {
  11618. minutes = "0" + minutes;
  11619. }
  11620. if (Seconds < 10) {
  11621. Seconds = "0" + Seconds;
  11622. }
  11623. if (strMonth < 10) {
  11624. strMonth = "0" + strMonth;
  11625. }
  11626. if (strDay < 10) {
  11627. strDay = "0" + strDay;
  11628. }
  11629. var datastr =
  11630. strYear +
  11631. "-" +
  11632. strMonth +
  11633. "-" +
  11634. strDay +
  11635. " " +
  11636. hh +
  11637. ":" +
  11638. minutes +
  11639. ":" +
  11640. Seconds;
  11641. return datastr;
  11642. },
  11643. tbczcarShowChange() {
  11644. //投保人同车主
  11645. switch (this.tbczcarShow) {
  11646. case true:
  11647. this.policyHolderInfo = {...this.ownerInfo}
  11648. break;
  11649. default:
  11650. for (let key in this.policyHolderInfo) {
  11651. this.policyHolderInfo[key] = "";
  11652. this.policyHolderInfo.provinceData = [];
  11653. this.selectedOptions2 = [];
  11654. }
  11655. this.policyHolderInfo = {}
  11656. }
  11657. this.$forceUpdate()
  11658. },
  11659. bbczcarShowChange() {
  11660. if (this.bbczcarShow) {
  11661. this.bbtbcarShow = false
  11662. }
  11663. //被保人同车主
  11664. if (this.bbczcarShow && !this.bbtbcarShow) {
  11665. this.insuredPersonInfo = {...this.ownerInfo}
  11666. this.bbtbcarShow = false
  11667. }
  11668. // if (!this.bbczcarShow && !this.bbtbcarShow) {
  11669. // for (let key in this.insuredPersonInfo) {
  11670. // this.insuredPersonInfo[key] = "";
  11671. // this.insuredPersonInfo.provinceData = [];
  11672. // // this.selectedOptions3 = [];
  11673. // }
  11674. // this.insuredPersonInfo = {}
  11675. // }
  11676. // if (this.bbtbcarShow) {
  11677. // return
  11678. // }
  11679. // switch (this.bbczcarShow) {
  11680. // case true:
  11681. // this.insuredPersonInfo = JSON.parse(JSON.stringify(this.ownerInfo));
  11682. // this.bbtbcarShow = false;
  11683. // console.log( '车主信息111111', this.ownerInfo, '投保人信息', this.policyHolderInfo, '被保人信息', this.insuredPersonInfo, '被保人同车主', this.bbczcarShow)
  11684. // break;
  11685. // default:
  11686. // for (let key in this.insuredPersonInfo) {
  11687. // this.insuredPersonInfo[key] = "";
  11688. // this.insuredPersonInfo.provinceData = [];
  11689. // // this.selectedOptions3 = [];
  11690. // }
  11691. // }
  11692. this.$forceUpdate()
  11693. },
  11694. bbtbcarShowChange() {
  11695. if (this.bbtbcarShow) {
  11696. this.bbczcarShow = false
  11697. }
  11698. if (this.bbtbcarShow && !this.bbczcarShow) {
  11699. this.insuredPersonInfo = {...this.policyHolderInfo}
  11700. this.bbczcarShow = false
  11701. }
  11702. this.$forceUpdate()
  11703. },
  11704. // 清空被保人信息
  11705. clearBbxx() {
  11706. for (let key in this.insuredPersonInfo) {
  11707. this.insuredPersonInfo[key] = "";
  11708. this.insuredPersonInfo.provinceData = [];
  11709. }
  11710. },
  11711. // 查询车牌信息
  11712. toCheckLicenseNo(licenseNo) {
  11713. if (licenseNo) {
  11714. this.$api.letter.licenseSearch({
  11715. licenseNo: licenseNo
  11716. }).then((res) => {
  11717. if (res.code == 200) {{
  11718. this.carInfo.engineNo = res.data.engineNo
  11719. this.carInfo.vinNo = res.data.vinNo
  11720. this.carInfo.frameNo = res.data.vinNo
  11721. this.carInfo.registerDate = res.data.registerDate
  11722. this.$forceUpdate()
  11723. }}
  11724. })
  11725. }
  11726. },
  11727. //VIN查询
  11728. toChooseVin(cartype) {
  11729. if (cartype == "" || cartype == null) {
  11730. this.$message({
  11731. message: "请输入车架号",
  11732. type: "warning",
  11733. });
  11734. } else {
  11735. const loading = this.$loading({
  11736. lock: true,
  11737. text: "Loading",
  11738. spinner: "el-icon-loading",
  11739. background: "rgba(0, 0, 0, 0.7)",
  11740. });
  11741. this.$api.letter.insZhongmeiVIN(this.carInfo.frameNo).then((res) => {
  11742. if (res.code == "200") {
  11743. this.reslist = res.data;
  11744. loading.close();
  11745. this.sbdmdialogVisible = true;
  11746. } else {
  11747. loading.close();
  11748. this.$message.error(res.msg);
  11749. }
  11750. });
  11751. }
  11752. },
  11753. // 撤销二维码
  11754. revokeCode(id) {
  11755. this.$confirm('确定撤销二维码?', '提示', {
  11756. confirmButtonText: '确定',
  11757. cancelButtonText: '取消',
  11758. type: 'warning'
  11759. }).then(() => {
  11760. this.$api.letter.getRevokeQrCode(id).then((res) => {
  11761. if (res.code == 200) {
  11762. this.$message({
  11763. message: res.msg,
  11764. type: "success",
  11765. });
  11766. this.QuotationHistory();
  11767. }
  11768. });
  11769. }).catch(() => {
  11770. this.$message({
  11771. type: 'info',
  11772. message: '已取消撤销二维码'
  11773. });
  11774. });
  11775. },
  11776. //品牌型号查询
  11777. toChooseVehicleType(cartype) {
  11778. if (cartype == "" || cartype == null) {
  11779. this.$message({
  11780. message: "请输入车型名称",
  11781. type: "warning",
  11782. });
  11783. } else {
  11784. const loading = this.$loading({
  11785. lock: true,
  11786. text: "Loading",
  11787. spinner: "el-icon-loading",
  11788. background: "rgba(0, 0, 0, 0.7)",
  11789. });
  11790. let param = {
  11791. modelName: cartype.replace(/[^u4e00-u9fa5|,]+/gi, ""),
  11792. };
  11793. this.$api.letter.ModelsQuery(param).then((res) => {
  11794. if (res.code == "200") {
  11795. loading.close();
  11796. this.reslist = res.data;
  11797. this.chexingdialogVisible = true;
  11798. } else {
  11799. loading.close();
  11800. this.$message.error(res.msg);
  11801. }
  11802. });
  11803. }
  11804. },
  11805. //车型列表双击选中事件
  11806. reslistCurrentChange(row, column, event) {
  11807. this.carInfo.brandName = row.brandCN; //品牌型号
  11808. this.carInfo.modelcname = row.modelName; //品牌型号
  11809. this.carInfo.caryear = row.marketYear; //年款
  11810. this.carInfo.seatCount = row.ratedPassengerCapacity; //座位数
  11811. this.carInfo.purchasePrice = row.replacementValue; //购置价
  11812. this.carInfo.modelCode = row.modelCode; //型号代码
  11813. this.carInfo.familyName = row.series; //系列
  11814. this.carInfo.enginedesc = row.displacement; //排量
  11815. this.carInfo.energyType = row.energyTypes;
  11816. this.carInfo.powerScale = row.powerScale; //功率
  11817. this.chexingdialogVisible = false;
  11818. this.sbdmdialogVisible = false;
  11819. },
  11820. //是否过户事件
  11821. transferFlagChange(e) {
  11822. if (e) {
  11823. this.transferDateShow = true;
  11824. this.carInfo.transferDate = this.carInfo.issueDate;
  11825. } else {
  11826. this.transferDateShow = false;
  11827. this.carInfo.transferDate = "";
  11828. }
  11829. },
  11830. //影像上传
  11831. drivingupload(file, imageIdList, imgurl, type) {
  11832. let that = this;
  11833. let size = file.size / 1024 / 1024 < 5;
  11834. const isJPG =
  11835. file.raw.type === "image/jpeg" || file.raw.type === "image/png";
  11836. if (!size) {
  11837. this.$message.error("上传图片大小不能超过 5MB!");
  11838. this[imgurl] = [];
  11839. return false;
  11840. }
  11841. if (!isJPG) {
  11842. this.$message.error("上传图片只能是 JPG、PNG 格式!");
  11843. this[imgurl] = [];
  11844. return false;
  11845. }
  11846. this[imgurl].push(file);
  11847. var file = file.raw;
  11848. const params = new FormData(); // 声明formData数据类型
  11849. params.append("multipartFile", file);
  11850. params.append("type", "image");
  11851. this.$api.letter.uploadFile(params).then((res) => {
  11852. if (res.code == "200") {
  11853. if (this[imageIdList].some((v) => v.imageType == type)) {
  11854. this[imageIdList].map((val) => {
  11855. if (val.imageType == type) {
  11856. val.imageId = res.data.id;
  11857. }
  11858. });
  11859. } else {
  11860. this[imageIdList].push({
  11861. imageId: res.data.id,
  11862. imageType: type,
  11863. });
  11864. }
  11865. }
  11866. });
  11867. },
  11868. policydrivingupload(file, val) {
  11869. // this.policyNumberForm[val + 'List'] = []
  11870. switch (val) {
  11871. case "jqPolicy":
  11872. this.policyNumberForm.jqPolicyList = [];
  11873. break;
  11874. case "syPolicy":
  11875. this.policyNumberForm.syPolicyList = [];
  11876. break;
  11877. case "noPolicy":
  11878. this.policyNumberForm.noPolicyList = [];
  11879. break;
  11880. case "jqSign":
  11881. this.policyNumberForm.jqSignList = [];
  11882. break;
  11883. default:
  11884. break;
  11885. }
  11886. var file = file.raw;
  11887. const params = new FormData(); // 声明formData数据类型
  11888. params.append("multipartFile", file);
  11889. params.append("type", "file");
  11890. this.$api.letter.uploadFile(params).then((res) => {
  11891. if (res.code == "200") {
  11892. res.data.name = res.data.fileName;
  11893. this.policyNumberForm[val + "List"].push(res.data);
  11894. }
  11895. });
  11896. },
  11897. handleRemove1(file, imageIdList, imgList) {
  11898. this[imageIdList].map((ele, index) => {
  11899. if (file.imageId === ele.imageId) {
  11900. this[imageIdList].splice(index, 1);
  11901. }
  11902. return ele;
  11903. });
  11904. if (file.imageId) {
  11905. this[imgList].map((ele, index) => {
  11906. if (file.imageId === ele.imageId) {
  11907. this[imgList].splice(index, 1);
  11908. }
  11909. return ele;
  11910. });
  11911. } else {
  11912. this[imgList].map((ele, index) => {
  11913. if (file.uid === ele.uid) {
  11914. this[imgList].splice(index, 1);
  11915. }
  11916. return ele;
  11917. });
  11918. }
  11919. },
  11920. compress(img, width, height, ratio) {
  11921. var canvas, ctx, img64;
  11922. canvas = document.createElement("canvas");
  11923. canvas.width = width;
  11924. canvas.height = height;
  11925. ctx = canvas.getContext("2d");
  11926. ctx.drawImage(img, 0, 0, width, height);
  11927. img64 = canvas.toDataURL("image/jpeg", ratio);
  11928. return img64;
  11929. },
  11930. base64ToFile(base64, fileName) {
  11931. let data = base64.split(",");
  11932. let type = data[0].match(/:(.*?);/)[1]; // let suffix = type.split('/')[1];
  11933. const bstr = window.atob(data[1]);
  11934. let n = bstr.length;
  11935. const u8arr = new Uint8Array(n);
  11936. while (n--) {
  11937. u8arr[n] = bstr.charCodeAt(n);
  11938. } // const file =  new File([u8arr], `${fileName}.${suffix}`, {
  11939. const file = new File([u8arr], `${fileName}`, {
  11940. type: type,
  11941. });
  11942. return file;
  11943. },
  11944. carfrontChange(file) {
  11945. //选择行驶证正面
  11946. let that = this;
  11947. let size = file.size / 1024 / 1024 < 5;
  11948. const isJPG =
  11949. file.raw.type === "image/jpeg" || file.raw.type === "image/png";
  11950. if (!size) {
  11951. this.$message.error("上传图片大小不能超过 5MB!");
  11952. return false;
  11953. }
  11954. if (!isJPG) {
  11955. this.$message.error("上传图片只能是 JPG、PNG 格式!");
  11956. return false;
  11957. }
  11958. // let name=file.raw.name
  11959. //       var image = new Image();
  11960. //       image.src = window.URL.createObjectURL(file.raw);
  11961. //       that.carfrontImg =  image.src
  11962. //       image.onload = function(){
  11963. //         let aaa= that.base64ToFile(that.compress(image, 500, 400, 0.7),name)
  11964. // that.carfrontImg = image.src;
  11965. // const params = new FormData(); // 声明formData数据类型
  11966. // params.append("multipartFile", aaa);
  11967. // params.append("type", "image");
  11968. // that.$api.letter.uploadFile(params).then(res => {
  11969. // if (res.code == "200") {
  11970. // that.CarFrontFile = aaa;//文件流
  11971. // if (that.imageList1.some(v => v.imageType == 'C01')) {
  11972. // that.imageList1.map(val => {
  11973. // if (val.imageType == 'C01') {
  11974. // val.imageId = res.data.id;
  11975. // }
  11976. // })
  11977. // } else {
  11978. // that.imageList1.push({
  11979. // imageId: res.data.id,
  11980. // imageType: "C01",
  11981. // })
  11982. // }
  11983. // } else {
  11984. // that.$message({ message: res.msg, type: "warning" });
  11985. // }
  11986. // });
  11987. // }
  11988. var file = file.raw;
  11989. let files = window.URL.createObjectURL(file); //转临时路径
  11990. this.carfrontImg = files;
  11991. const params = new FormData(); // 声明formData数据类型
  11992. params.append("multipartFile", file);
  11993. params.append("type", "image");
  11994. this.$api.letter.uploadFile(params).then((res) => {
  11995. if (res.code == "200") {
  11996. this.CarFrontFile = file; //文件流
  11997. if (this.imageList1.some((v) => v.imageType == "C01")) {
  11998. this.imageList1.map((val) => {
  11999. if (val.imageType == "C01") {
  12000. val.imageId = res.data.id;
  12001. }
  12002. });
  12003. } else {
  12004. this.imageList1.push({
  12005. imageId: res.data.id,
  12006. imageType: "C01",
  12007. });
  12008. }
  12009. } else {
  12010. this.$message({ message: res.msg, type: "warning" });
  12011. }
  12012. });
  12013. },
  12014. carbackChange(file) {
  12015. let that = this;
  12016. let size = file.size / 1024 / 1024 < 2;
  12017. const isJPG =
  12018. file.raw.type === "image/jpeg" || file.raw.type === "image/png";
  12019. if (!size) {
  12020. this.$message.error("上传图片大小不能超过 5MB!");
  12021. return false;
  12022. }
  12023. if (!isJPG) {
  12024. this.$message.error("上传图片只能是 JPG、PNG 格式!");
  12025. return false;
  12026. }
  12027. // let name=file.raw.name
  12028. //       var image = new Image();
  12029. //       image.src = window.URL.createObjectURL(file.raw);
  12030. //       image.onload = function(){
  12031. //         let aaa= that.base64ToFile(that.compress(image, 500, 400, 0.7),name)
  12032. // that.carbackImg = image.src;
  12033. // const params = new FormData(); // 声明formData数据类型
  12034. // params.append("multipartFile", aaa);
  12035. // params.append("type", "image");
  12036. // that.$api.letter.uploadFile(params).then(res => {
  12037. // if (res.code == "200") {
  12038. // that.CarBackFile = aaa;//文件流
  12039. // if (that.imageList1.some(v => v.imageType == 'D01')) {
  12040. // that.imageList1.map(val => {
  12041. // if (val.imageType == 'D01') {
  12042. // val.imageId = res.data.id;
  12043. // }
  12044. // })
  12045. // } else {
  12046. // that.imageList1.push({
  12047. // imageId: res.data.id,
  12048. // imageType: "D01",
  12049. // })
  12050. // }
  12051. // } else {
  12052. // that.$message({ message: res.msg, type: "warning" });
  12053. // }
  12054. // });
  12055. // }
  12056. //选择行驶证反面
  12057. var file = file.raw;
  12058. let files = window.URL.createObjectURL(file); //转临时路径
  12059. this.carbackImg = files;
  12060. const params = new FormData(); // 声明formData数据类型
  12061. params.append("multipartFile", file);
  12062. params.append("type", "image");
  12063. this.$api.letter.uploadFile(params).then((res) => {
  12064. if (res.code == "200") {
  12065. this.CarBackFile = file;
  12066. if (this.imageList1.some((v) => v.imageType == "D01")) {
  12067. this.imageList1.map((val) => {
  12068. if (val.imageType == "D01") {
  12069. val.imageId = res.data.id;
  12070. }
  12071. });
  12072. } else {
  12073. this.imageList1.push({
  12074. imageId: res.data.id,
  12075. imageType: "D01",
  12076. });
  12077. }
  12078. } else {
  12079. this.$message({ message: res.msg, type: "warning" });
  12080. }
  12081. });
  12082. },
  12083. userfrontChange(file) {
  12084. let that = this;
  12085. let size = file.size / 1024 / 1024 < 5;
  12086. const isJPG =
  12087. file.raw.type === "image/jpeg" || file.raw.type === "image/png";
  12088. if (!size) {
  12089. this.$message.error("上传图片大小不能超过 5MB!");
  12090. return false;
  12091. }
  12092. if (!isJPG) {
  12093. this.$message.error("上传图片只能是 JPG、PNG 格式!");
  12094. return false;
  12095. }
  12096. // let name=file.raw.name
  12097. //       var image = new Image();
  12098. //       image.src = window.URL.createObjectURL(file.raw);
  12099. //       image.onload = function(){
  12100. //         let aaa= that.base64ToFile(that.compress(image, 500, 400, 0.7),name)
  12101. // that.userfrontImg = image.src;
  12102. // const params = new FormData(); // 声明formData数据类型
  12103. // params.append("multipartFile", aaa);
  12104. // params.append("type", "image");
  12105. // that.$api.letter.uploadFile(params).then(res => {
  12106. // if (res.code == "200") {
  12107. // let type = 'C0' + that.userIndex;
  12108. // if (that['imageList' + that.userIndex].some(v => v.imageType == type)) {
  12109. // that['imageList' + that.userIndex].map(val => {
  12110. // if (val.imageType == type) {
  12111. // val.imageId = res.data.id;
  12112. // }
  12113. // })
  12114. // } else {
  12115. // that['imageList' + that.userIndex].push({
  12116. // imageId: res.data.id,
  12117. // imageType: type,
  12118. // })
  12119. // }
  12120. // that[type + 'File'] = aaa;
  12121. // } else {
  12122. // that.$message({ message: res.msg, type: "warning" });
  12123. // }
  12124. // });
  12125. // }
  12126. //选择身份证正面
  12127. var file = file.raw;
  12128. let files = window.URL.createObjectURL(file); //转链接
  12129. this.userfrontImg = files;
  12130. const params = new FormData(); // 声明formData数据类型
  12131. params.append("multipartFile", file);
  12132. params.append("type", "image");
  12133. this.$api.letter.uploadFile(params).then((res) => {
  12134. if (res.code == "200") {
  12135. let type = "C0" + this.userIndex;
  12136. if (
  12137. this["imageList" + this.userIndex].some((v) => v.imageType == type)
  12138. ) {
  12139. this["imageList" + this.userIndex].map((val) => {
  12140. if (val.imageType == type) {
  12141. val.imageId = res.data.id;
  12142. }
  12143. });
  12144. } else {
  12145. this["imageList" + this.userIndex].push({
  12146. imageId: res.data.id,
  12147. imageType: type,
  12148. });
  12149. }
  12150. this[type + "File"] = file;
  12151. } else {
  12152. this.$message({ message: res.msg, type: "warning" });
  12153. }
  12154. });
  12155. },
  12156. userbackChange(file) {
  12157. let that = this;
  12158. let size = file.size / 1024 / 1024 < 5;
  12159. const isJPG =
  12160. file.raw.type === "image/jpeg" || file.raw.type === "image/png";
  12161. if (!size) {
  12162. this.$message.error("上传图片大小不能超过 5MB!");
  12163. return false;
  12164. }
  12165. if (!isJPG) {
  12166. this.$message.error("上传图片只能是 JPG、PNG 格式!");
  12167. return false;
  12168. }
  12169. // let name=file.raw.name
  12170. //       var image = new Image();
  12171. //       image.src = window.URL.createObjectURL(file.raw);
  12172. //       image.onload = function(){
  12173. //         let aaa= that.base64ToFile(that.compress(image, 500, 400, 0.7),name)
  12174. // that.userbackImg = image.src;
  12175. // const params = new FormData(); // 声明formData数据类型
  12176. // params.append("multipartFile", aaa);
  12177. // params.append("type", "image");
  12178. // that.$api.letter.uploadFile(params).then(res => {
  12179. // if (res.code == "200") {
  12180. // let type = 'D0' + that.userIndex;
  12181. // if (that['imageList' + that.userIndex].some(v => v.imageType == type)) {
  12182. // that['imageList' + that.userIndex].map(val => {
  12183. // if (val.imageType == type) {
  12184. // val.imageId = res.data.id;
  12185. // }
  12186. // })
  12187. // } else {
  12188. // that['imageList' + that.userIndex].push({
  12189. // imageId: res.data.id,
  12190. // imageType: type,
  12191. // })
  12192. // }
  12193. // that[type + 'File'] = aaa;
  12194. // } else {
  12195. // that.$message({ message: res.msg, type: "warning" });
  12196. // }
  12197. // });
  12198. // }
  12199. //选择身份证背面
  12200. var file = file.raw;
  12201. let files = window.URL.createObjectURL(file); //转链接
  12202. this.userbackImg = files;
  12203. const params = new FormData(); // 声明formData数据类型
  12204. params.append("multipartFile", file);
  12205. params.append("type", "image");
  12206. this.$api.letter.uploadFile(params).then((res) => {
  12207. if (res.code == "200") {
  12208. let type = "D0" + this.userIndex;
  12209. if (
  12210. this["imageList" + this.userIndex].some((v) => v.imageType == type)
  12211. ) {
  12212. this["imageList" + this.userIndex].map((val) => {
  12213. if (val.imageType == type) {
  12214. val.imageId = res.data.id;
  12215. }
  12216. });
  12217. } else {
  12218. this["imageList" + this.userIndex].push({
  12219. imageId: res.data.id,
  12220. imageType: type,
  12221. });
  12222. }
  12223. this[type + "File"] = file;
  12224. } else {
  12225. this.$message({ message: res.msg, type: "warning" });
  12226. }
  12227. });
  12228. },
  12229. CarOCRdiscern() {
  12230. // if (!this.CarFrontFile || !this.CarBackFile) {
  12231. // this.$message.warning('请上传行驶证主页和副页')
  12232. // return
  12233. // }
  12234. //car识别
  12235. const loading = this.$loading({
  12236. lock: true,
  12237. text: "Loading",
  12238. spinner: "el-icon-loading",
  12239. background: "rgba(0, 0, 0, 0.7)",
  12240. });
  12241. const params = new FormData(); // 声明formData数据类型
  12242. params.append("image1", this.CarFrontFile);
  12243. params.append("image2", this.CarBackFile);
  12244. this.$api.letter.drivingPermit(params).then((res) => {
  12245. loading.close();
  12246. if (res.msg == "201") {
  12247. this.$message({ message: "请正确选择驾驶证", type: "warning" });
  12248. }
  12249. var carInfo = res.data.carInfo;
  12250. if (carInfo.issueDate) {
  12251. carInfo.issueDate =
  12252. carInfo.issueDate.substring(0, 4) +
  12253. "-" +
  12254. carInfo.issueDate.substring(4, 6) +
  12255. "-" +
  12256. carInfo.issueDate.substring(6, 8);
  12257. }
  12258. if (carInfo.registerDate) {
  12259. carInfo.registerDate =
  12260. carInfo.registerDate.substring(0, 4) +
  12261. "-" +
  12262. carInfo.registerDate.substring(4, 6) +
  12263. "-" +
  12264. carInfo.registerDate.substring(6, 8);
  12265. }
  12266. this.carform.carOwner = carInfo.carOwner; //车主
  12267. this.carform.licenseNo = carInfo.plateNo; //车牌号
  12268. this.carform.modelcname = carInfo.backOcrID; //品牌型号
  12269. this.carform.frameNo = carInfo.vin; //车架号
  12270. this.carform.engineNo = carInfo.engine; //发动机号
  12271. this.carform.registerDate = carInfo.registerDate; //车牌号
  12272. this.carform.issueDate = carInfo.issueDate; //车牌号
  12273. this.carform.grossMass = carInfo.grossMass; //总质量
  12274. this.carform.unladenMass = carInfo.unladenMass; //整备质量
  12275. this.carform.limitLoad = carInfo.limitLoad; //核定载质量
  12276. this.carform.category = carInfo.category; //车辆类型
  12277. this.carform.carnature = carInfo.useNature; //使用性质
  12278. this.carform.vehicleUse = carInfo.vehicleUse; //车辆用途
  12279. this.carform.plateType = carInfo.plateType; //车辆种类
  12280. this.carform.approvedPassengersCapacity =
  12281. carInfo.approvedPassengersCapacity; //核定载客数
  12282. });
  12283. },
  12284. CarOCRconfirm() {
  12285. //传参 carnature
  12286. this.ownerInfo.name = this.carform.carOwner; //车主
  12287. this.carInfo.cartype = "K33";
  12288. this.carInfo.licenseNo = this.carform.licenseNo; //车牌号
  12289. this.carInfo.modelcname = this.carform.modelcname; //品牌型号
  12290. this.carInfo.vinNo = this.carform.frameNo; //车架号
  12291. this.carInfo.frameNo = this.carform.frameNo; //车架号
  12292. this.carInfo.engineNo = this.carform.engineNo; //发动机号
  12293. this.carInfo.seatCount = this.carform.approvedPassengersCapacity; //核定载客数
  12294. this.carInfo.vehicleweight = this.carform.grossMass; //总质量
  12295. this.carInfo.completeKerbMass = this.carform.unladenMass; //整备质量
  12296. this.carInfo.limitLoad = this.carform.limitLoad; //核定载质量
  12297. this.carInfo.cartype = this.carform.category; //车辆类型
  12298. this.carInfo.carnature = this.carform.carnature
  12299. ? this.carform.carnature
  12300. : "02"; //使用性质
  12301. this.carInfo.vehicleUse = this.carform.vehicleUse
  12302. ? this.carform.vehicleUse
  12303. : "05"; //车辆用途
  12304. this.carInfo.cimodelclass = this.carform.plateType; //车辆种类
  12305. if (this.timeformat(this.carform.registerDate) != "NaN-NaN-NaN") {
  12306. this.carInfo.registerDate = this.carform.registerDate; //车牌号
  12307. }
  12308. if (this.timeformat(this.carform.issueDate) != "NaN-NaN-NaN") {
  12309. this.carInfo.issueDate = this.carform.issueDate; //车牌号
  12310. }
  12311. if (this.carform.registerDate.length < 10) {
  12312. this.$message.warning('检查注册日期')
  12313. return
  12314. }
  12315. if (this.carform.issueDate.length < 10) {
  12316. this.$message.warning('检查发证日期')
  12317. return
  12318. }
  12319. this.uploadcardialogVisible = false;
  12320. },
  12321. handleRemove(e) {
  12322. //删除图片
  12323. this[e] = "";
  12324. switch (this.userIndex) {
  12325. case 0:
  12326. this.carfrontImg = "";
  12327. this.carbackImg = "";
  12328. this.CarFrontFile = ""; // 行驶证正面base64
  12329. this.CarBackFile = ""; // 行驶证背面base64
  12330. break;
  12331. case 2:
  12332. this.userfrontImg = "";
  12333. this.userbackImg = "";
  12334. this.C02File = ""; // 车主正面base64
  12335. this.D02File = ""; // 车主背面base64
  12336. break;
  12337. case 3:
  12338. this.userfrontImg = "";
  12339. this.userbackImg = "";
  12340. this.C03File = ""; // 投保人正面base64
  12341. this.D03File = ""; // 投保人背面base64
  12342. break;
  12343. case 4:
  12344. this.userfrontImg = "";
  12345. this.userbackImg = "";
  12346. this.C04File = ""; // 被保人正面base64
  12347. this.D04File = ""; // 被保人背面base64
  12348. break;
  12349. default:
  12350. }
  12351. },
  12352. //预览图片
  12353. handlePictureCardPreview(img) {
  12354. this.ProViewImg = img;
  12355. this.showViewer = true;
  12356. },
  12357. // 关闭查看器
  12358. closeViewer() {
  12359. this.showViewer = false;
  12360. },
  12361. uploaduser(index) {
  12362. this.userIndex = index;
  12363. this.uploaduserdialogVisible = true;
  12364. },
  12365. userOCRdiscern() {
  12366. //OCR识别
  12367. switch (this.userIndex) {
  12368. case 2:
  12369. // if (!this.C02File || !this.D02File) {
  12370. // this.$message.warning('请上传照片')
  12371. // return
  12372. // }
  12373. const params1 = new FormData(); // 声明formData数据类型
  12374. params1.append("image1", this.C02File);
  12375. params1.append("image2", this.D02File);
  12376. this.userOCRjoggle(params1);
  12377. break;
  12378. case 3:
  12379. // if (!this.C03File || !this.D03File) {
  12380. // this.$message.warning('请上传照片')
  12381. // return
  12382. // }
  12383. const params2 = new FormData(); // 声明formData数据类型
  12384. params2.append("image1", this.C03File);
  12385. params2.append("image2", this.D03File);
  12386. this.userOCRjoggle(params2);
  12387. break;
  12388. case 4:
  12389. // if (!this.C04File || !this.D04File) {
  12390. // this.$message.warning('请上传照片')
  12391. // return
  12392. // }
  12393. const params3 = new FormData(); // 声明formData数据类型
  12394. params3.append("image1", this.C04File);
  12395. params3.append("image2", this.D04File);
  12396. this.userOCRjoggle(params3);
  12397. break;
  12398. default:
  12399. }
  12400. },
  12401. userOCRjoggle(param) {
  12402. const loading = this.$loading({
  12403. lock: true,
  12404. text: "Loading",
  12405. spinner: "el-icon-loading",
  12406. background: "rgba(0, 0, 0, 0.7)",
  12407. });
  12408. this.$api.letter.idCard(param).then((res) => {
  12409. loading.close();
  12410. if (res.msg == "201") {
  12411. this.$message({ message: "请正确选择身份证", type: "warning" });
  12412. }
  12413. var customerInfo = res.data.customerInfo;
  12414. if (customerInfo) {
  12415. this.ownerInfoform.name = customerInfo.name;
  12416. if (customerInfo.identifyType == "01") {
  12417. this.ownerInfoform.identifyType = "身份证";
  12418. } else {
  12419. this.ownerInfoform.identifyType = "";
  12420. }
  12421. this.ownerInfoform.identifyNumber = customerInfo.identifyNumber;
  12422. this.ownerInfoform.gender = customerInfo.identifyIssuedCom;
  12423. this.ownerInfoform.addr = customerInfo.addr;
  12424. if (customerInfo.identifyNumber) {
  12425. this.ownerInfoform.age = getAgeByIdCard(
  12426. customerInfo.identifyNumber
  12427. );
  12428. }
  12429. if (
  12430. customerInfo.identifyValidDate ||
  12431. customerInfo.identifyValidEndDate
  12432. ) {
  12433. this.ownerInfoform.identifyValidDate =
  12434. customerInfo.identifyValidDate.substring(0, 4) +
  12435. "-" +
  12436. customerInfo.identifyValidDate.substring(4, 6) +
  12437. "-" +
  12438. customerInfo.identifyValidDate.substring(6, 8);
  12439. this.ownerInfoform.identifyValidEndDate =
  12440. customerInfo.identifyValidEndDate.substring(0, 4) +
  12441. "-" +
  12442. customerInfo.identifyValidEndDate.substring(4, 6) +
  12443. "-" +
  12444. customerInfo.identifyValidEndDate.substring(6, 8);
  12445. if (customerInfo.identifyValidEndDate == "长期") {
  12446. this.ownerInfoform.identifyValidEndDate = "9999-12-31";
  12447. }
  12448. }
  12449. // let values = addressCode(this.ownerInfoform.addr);
  12450. // this.ownerInfoform.province = codeToText[values[0]]
  12451. // this.ownerInfoform.city = codeToText[values[1]]
  12452. // this.ownerInfoform.county = codeToText[values[2]]
  12453. }
  12454. });
  12455. },
  12456. userOCRconfirm() {
  12457. //传参
  12458. switch (this.userIndex) {
  12459. case 2:
  12460. // this.selectedOptions1 = addressCode(this.ownerInfoform.addr);
  12461. this.ownerInfo = {...this.ownerInfoform}
  12462. break;
  12463. case 3:
  12464. // this.selectedOptions2 = addressCode(this.ownerInfoform.addr);
  12465. this.policyHolderInfo = {...this.ownerInfoform}
  12466. break;
  12467. case 4:
  12468. // this.selectedOptions3 = addressCode(this.ownerInfoform.addr);
  12469. this.insuredPersonInfo = {...this.ownerInfoform}
  12470. break;
  12471. }
  12472. this.uploaduserdialogVisible = false;
  12473. },
  12474. closeDialog(index) {
  12475. // 0:车辆 1:车主 2:投保人 3:被保人
  12476. switch (index) {
  12477. case 0:
  12478. this.carfrontImg = "";
  12479. this.carbackImg = "";
  12480. this.CarFrontFile = ""; // 行驶证正面base64
  12481. this.CarBackFile = ""; // 行驶证背面base64
  12482. Object.keys(this.carform).forEach((key) => {
  12483. this.carform[key] = "";
  12484. });
  12485. break;
  12486. case 2:
  12487. this.userfrontImg = "";
  12488. this.userbackImg = "";
  12489. this.C02File = ""; // 车主正面base64
  12490. this.D02File = ""; // 车主背面base64
  12491. Object.keys(this.ownerInfoform).forEach((key) => {
  12492. this.ownerInfoform[key] = "";
  12493. });
  12494. break;
  12495. case 3:
  12496. this.userfrontImg = "";
  12497. this.userbackImg = "";
  12498. this.C03File = ""; // 投保人正面base64
  12499. this.D03File = ""; // 投保人背面base64
  12500. Object.keys(this.ownerInfoform).forEach((key) => {
  12501. this.ownerInfoform[key] = "";
  12502. });
  12503. break;
  12504. case 4:
  12505. this.userfrontImg = "";
  12506. this.userbackImg = "";
  12507. this.C04File = ""; // 被保人正面base64
  12508. this.D04File = ""; // 被保人背面base64
  12509. Object.keys(this.ownerInfoform).forEach((key) => {
  12510. this.ownerInfoform[key] = "";
  12511. });
  12512. break;
  12513. case 5:
  12514. this.businessImg = "";
  12515. // this.C04File = ''; // 被保人正面base64
  12516. // this.D04File = ''; // 被保人背面base64
  12517. // Object.keys(this.ownerInfoform).forEach((key) => {
  12518. // this.ownerInfoform[key] = '';
  12519. // });
  12520. break;
  12521. default:
  12522. }
  12523. },
  12524. bjdpreview(id) {
  12525. let params = {
  12526. companyId: id,
  12527. };
  12528. this.$api.letter.getByCompanyId(params).then((res) => {
  12529. if (res.code == "200") {
  12530. var data = res.data;
  12531. if (data.kindinfo != null) {
  12532. data.kindinfo.map((ele, index) => {
  12533. switch (ele.kindCode) {
  12534. case "A":
  12535. if (ele.amount == 1) {
  12536. ele.amount = "投保";
  12537. } else {
  12538. ele.amount = ele.amount;
  12539. }
  12540. break;
  12541. case "D4":
  12542. case "SY_FJ_YBW2":
  12543. ele.unitAmount = this.toChinesNum(ele.unitAmount);
  12544. break;
  12545. case "MJ1":
  12546. case "MJ2":
  12547. case "MJ3":
  12548. case "MJ4":
  12549. ele.deductibleRate = ele.deductibleRate + "%";
  12550. break;
  12551. default:
  12552. ele.amount = this.toChinesNum(ele.amount);
  12553. }
  12554. return ele;
  12555. });
  12556. }
  12557. data.logoImg = this.iconfftter(res.data.inscompany);
  12558. this.queryOrders = data;
  12559. this.$api.letter.getThemeByUserId(this.userId).then((res) => {
  12560. if (res.code == 200) {
  12561. if (res.data[0] == "GD") {
  12562. this.$refs.quotationDialogPro.setBackupVisible(true);
  12563. } else {
  12564. this.$refs.quotationDialog.setBackupVisible(true);
  12565. }
  12566. }
  12567. });
  12568. // if (
  12569. // this.$store.state.user.roles.managementSource &&
  12570. // this.$store.state.user.roles.managementSource == "3"
  12571. // ) {
  12572. // this.$refs.quotationDialogPro.setBackupVisible(true);
  12573. // } else {
  12574. // this.$refs.quotationDialog.setBackupVisible(true);
  12575. // }
  12576. }
  12577. });
  12578. },
  12579. //返回上一步
  12580. Back() { },
  12581. carcode(id, item) {
  12582. this.$api.letter.getQrCode(id).then((res) => {
  12583. if (res.code == "200") {
  12584. this.inscompany = res.data.inscompany; //保险公司
  12585. this.sumpremium = res.data.sumpremium; //总价
  12586. this.licenseNo = res.data.cPlateNo; //车牌号
  12587. this.applyName = res.data.cApplyNme; //车主
  12588. this.jqpremium = res.data.jqpremium; //交强
  12589. this.sypremium = res.data.sypremium; //商业
  12590. this.taxamount = res.data.taxamount; //车船税
  12591. this.jypremium = res.data.jypremium; //驾意险
  12592. this.jqstartdate = res.data.jqStartDate; //交强起保日期
  12593. this.systartdate = res.data.syStartDate; //商业起保日期
  12594. // this.mobile = res.data.applyinfo.mobile;//投保人手机号
  12595. let qrCodeUrl = res.data.qrCodeUrl;
  12596. this.$api.letter.getThemeByUserId(this.userId).then((res) => {
  12597. if (res.code == 200) {
  12598. if (res.data[0] == "GD") {
  12599. this.codedialogVisiblePro = true;
  12600. this.qrcodeWidth = "154";
  12601. this.qrcodeHeight = "154";
  12602. } else {
  12603. this.codedialogVisible = true;
  12604. }
  12605. this.$nextTick(function () {
  12606. this.creatQrCode(qrCodeUrl);
  12607. });
  12608. }
  12609. });
  12610. } else {
  12611. this.$message({ message: res.msg, type: "warning" });
  12612. }
  12613. });
  12614. },
  12615. //同步
  12616. synchronization() {
  12617. this.systartDate = this.jqstartDate;
  12618. this.syendDate = this.jqendDate;
  12619. },
  12620. add() {
  12621. // this.obtainProtocol();
  12622. if (this.isLetter == "1") {
  12623. this.$router.push({ path: "/letter/letter" });
  12624. }
  12625. for (let key in this.ownerInfo) {
  12626. this.ownerInfo[key] = "";
  12627. }
  12628. for (let key in this.policyHolderInfo) {
  12629. this.policyHolderInfo[key] = "";
  12630. }
  12631. for (let key in this.insuredPersonInfo) {
  12632. this.insuredPersonInfo[key] = "";
  12633. }
  12634. this.vehicleAndVesselTaxForm = {
  12635. taxRelifFlag: "1",
  12636. taxpayerIdentifier: "01",
  12637. };
  12638. // 清空保险公司列表
  12639. this.totalCompanyList = []
  12640. this.ownerInfo.provinceData = [];
  12641. this.insuredPersonInfo.provinceData = [];
  12642. this.policyHolderInfo.provinceData = [];
  12643. this.carInfo = JSON.parse(localStorage.getItem("carInfo"));
  12644. this.insureList = JSON.parse(localStorage.getItem("insureList"));
  12645. this.sychecked = false;
  12646. this.yonganchecked = false;
  12647. this.zhongmeichecked = false;
  12648. this.transferDateShow = false;
  12649. this.tbczcarShow = true //投保人同车主
  12650. // this.bbczcarShow = false, //被保人同车主
  12651. this.bbtbcarShow = true //被保人同投保人
  12652. // this.$refs.imageDialog.emptyList()
  12653. this.imageList1 = [];
  12654. this.imageList2 = [];
  12655. this.imageList3 = [];
  12656. this.imageList4 = [];
  12657. this.imageList5 = [];
  12658. this.imageList6 = [];
  12659. this.imgList1 = [];
  12660. this.imgList2 = [];
  12661. this.imgList3 = [];
  12662. this.imgList4 = [];
  12663. this.imgList5 = [];
  12664. this.imgList6 = [];
  12665. this.imgList7 = [];
  12666. this.imgList8 = [];
  12667. this.imgList9 = [];
  12668. this.imgList10 = [];
  12669. this.imgList11 = [];
  12670. this.imgList12 = [];
  12671. this.imgList13 = [];
  12672. this.imgList14 = [];
  12673. this.imgList15 = [];
  12674. this.imgList16 = [];
  12675. this.imgList17 = [];
  12676. this.imgList18 = [];
  12677. this.imgList19 = [];
  12678. this.imgList20 = [];
  12679. this.imgList21 = [];
  12680. this.imgList22 = [];
  12681. this.imgList23 = [];
  12682. this.imgList24 = [];
  12683. this.imgList25 = [];
  12684. // 清空保险公司选中的意外险
  12685. this.zijintemplateSelection = "";
  12686. this.zhongantemplateSelection = "";
  12687. this.hengbangtemplateSelection = "";
  12688. this.taipingyangtemplateSelection = "";
  12689. this.taipingtemplateSelection = "";
  12690. this.insuranceHN = "";
  12691. this.renshoutemplateSelection = "";
  12692. this.dajiatemplateSelection = "";
  12693. this.accidentForm = {
  12694. fen: "1",
  12695. premium: 0,
  12696. };
  12697. this.accidentFormHN = {
  12698. allQuantity: "1",
  12699. quantity: "1",
  12700. };
  12701. this.productId = ''
  12702. this.hengbangaccidentalDrivingVo = {};
  12703. this.taipingyangaccidentalDrivingVo = {};
  12704. this.huanongaccidentalDrivingVo = {};
  12705. this.taipingaccidentalDrivingVo = {};
  12706. this.zhongmeiaccidentalDrivingVo = {};
  12707. this.accidentalDrivingVo = [];
  12708. this.zhonganaccidentalDrivingVo = {};
  12709. this.renshouaccidentalDrivingVo = {};
  12710. this.anshengaccidentalDrivingVo = {};
  12711. this.dajiaaccidentalDrivingVo = {};
  12712. // this.selectedOptions1 = [];
  12713. // this.selectedOptions2 = [];
  12714. // this.selectedOptions3 = [];
  12715. this.orderno = "";
  12716. this.quoteno = "";
  12717. this.lastCompanyId = "";
  12718. this.HistoryList = [];
  12719. this.jqstartDate = this.transformTime1();
  12720. this.jqendDate = this.oneYearPast1(this.jqstartDate);
  12721. this.systartDate = this.transformTime1();
  12722. this.syendDate = this.oneYearPast1(this.jqstartDate);
  12723. this.policyNumberForm = {
  12724. jqpolicyno: "",
  12725. sypolicyno: "",
  12726. jypolicyno: "",
  12727. jqpremium: "",
  12728. sypremium: "",
  12729. jypremium: "",
  12730. taxamount: "",
  12731. commissionFeevalue: "",
  12732. otherFeevalue: "",
  12733. jqSuperviseCostsProportion: "",
  12734. sySuperviseCostsProportion: "",
  12735. noSuperviseCostsProportion: "",
  12736. jqOtherCostsProportion: "",
  12737. syOtherCostsProportion: "",
  12738. noOtherCostsProportion: "",
  12739. jqReceivableProportion: "",
  12740. syReceivableProportion: "",
  12741. noReceivableProportion: "",
  12742. jqPolicyList: [],
  12743. syPolicyList: [],
  12744. jqSignList: [],
  12745. noPolicyList: [],
  12746. noCostsProportion: '',
  12747. jqCostsProportion: '',
  12748. syCostsProportion: '',
  12749. };
  12750. },
  12751. toChinesNum(num) {
  12752. if (num.toString().length == 4) {
  12753. let overQian = Math.floor(num / 1000);
  12754. let result = overQian + "千";
  12755. return result;
  12756. } else {
  12757. let overWan = Math.floor(num / 10000);
  12758. let result = overWan + "万";
  12759. return result;
  12760. }
  12761. },
  12762. reportDrop(event) {
  12763. event.preventDefault();
  12764. event.stopPropagation();
  12765. },
  12766. tabLiScroll(id, idx) {
  12767. this.tabLiIndex = idx;
  12768. document.getElementById(id).scrollIntoView({ behavior: "smooth" });
  12769. },
  12770. handleScroll(id) {
  12771. document.getElementById(id).scrollIntoView({ behavior: "smooth" });
  12772. },
  12773. },
  12774. };
  12775. </script>
  12776. <style>
  12777. /* .customNotifyClass {
  12778. word-break: break-all;
  12779. width: 600px;
  12780. } */
  12781. </style>
  12782. <style lang="scss" scoped>
  12783. .el-row{
  12784. display: flex;
  12785. flex-wrap: wrap;
  12786. align-content: flex-start;
  12787. }
  12788. // .marginL {
  12789. // margin-left: 10px;
  12790. // }
  12791. .el-notification {
  12792. width: 600px;
  12793. }
  12794. .styleB .el-upload--picture-card {
  12795. // display: none;
  12796. opacity: 0;
  12797. }
  12798. .ORcodebody {
  12799. height: auto;
  12800. background-color: #fff;
  12801. //background: url(../../../assets/image/group.png) #fff;
  12802. padding: 16px;
  12803. }
  12804. .csstool {
  12805. font-weight: 600;
  12806. color: #606266;
  12807. font-size: 14px;
  12808. margin: 0 20px;
  12809. span {
  12810. margin-right: 5px;
  12811. }
  12812. }
  12813. .ORcode {
  12814. width: 100%;
  12815. height: auto;
  12816. display: flex;
  12817. justify-content: center;
  12818. align-items: center;
  12819. padding: 30px;
  12820. box-sizing: border-box;
  12821. &>div {
  12822. width: 176px;
  12823. height: 176px;
  12824. border: 1px solid var(--themeColor);
  12825. border-radius: 5px;
  12826. }
  12827. }
  12828. .ORtitle {
  12829. width: 100%;
  12830. padding-bottom: 20px;
  12831. box-sizing: border-box;
  12832. &>div {
  12833. width: 100%;
  12834. margin: 10px 0;
  12835. font-size: 14px;
  12836. &>span {
  12837. &:nth-child(1) {
  12838. color: #868b98;
  12839. text-align: end;
  12840. width: 150px;
  12841. }
  12842. &:nth-child(2) {
  12843. color: #333333;
  12844. }
  12845. }
  12846. }
  12847. }
  12848. .Risk {
  12849. width: 100%;
  12850. height: auto;
  12851. display: flex;
  12852. flex-direction: column;
  12853. align-items: center;
  12854. font-size: 12px;
  12855. }
  12856. .dis {
  12857. display: flex;
  12858. }
  12859. .align {
  12860. align-items: center;
  12861. }
  12862. .jus {
  12863. justify-content: space-between;
  12864. }
  12865. .shangyexian {
  12866. padding-left: 100px;
  12867. }
  12868. .headertotal {
  12869. padding: 30px;
  12870. }
  12871. .my-label {
  12872. background: #e1f3d8;
  12873. }
  12874. .my-content {
  12875. background: #fde2e2;
  12876. color: aqua;
  12877. }
  12878. .el-button--mini {
  12879. padding: 5px;
  12880. }
  12881. #qqq {
  12882. background-color: #111;
  12883. width: 300px;
  12884. height: 300px;
  12885. margin: 0 auto;
  12886. position: relative;
  12887. }
  12888. #qrCode {
  12889. display: inline-block;
  12890. margin: 0 auto;
  12891. position: relative;
  12892. top: 15%;
  12893. img {
  12894. width: 200px;
  12895. height: 200px;
  12896. background-color: #fff;
  12897. padding: 6px;
  12898. }
  12899. }
  12900. .code {
  12901. box-sizing: border-box;
  12902. display: flex;
  12903. flex-direction: column;
  12904. justify-content: space-between;
  12905. align-items: center;
  12906. &>span {
  12907. margin-bottom: 10px;
  12908. }
  12909. }
  12910. .code_name {
  12911. width: 350px;
  12912. display: flex;
  12913. justify-content: space-between;
  12914. align-items: center;
  12915. font-weight: bold;
  12916. &>span {
  12917. &:nth-child(1) {
  12918. color: #979797;
  12919. width: 120px;
  12920. text-align: right;
  12921. }
  12922. &:nth-child(2) {
  12923. color: #2d2d2d;
  12924. width: 120px;
  12925. text-align: left;
  12926. }
  12927. }
  12928. }
  12929. .header {
  12930. font-size: 18px;
  12931. font-weight: bold;
  12932. }
  12933. .body {
  12934. border-top: none;
  12935. padding-bottom: 100px;
  12936. box-sizing: border-box;
  12937. }
  12938. .u-f-ac {
  12939. -webkit-box-align: center;
  12940. align-items: center;
  12941. padding: 10px;
  12942. }
  12943. .bodyTitle {
  12944. height: 45px;
  12945. background: #f3f3f3;
  12946. border: 1px solid #dddddd;
  12947. line-height: 45px;
  12948. padding: 0 20px;
  12949. box-sizing: border-box;
  12950. }
  12951. .start {
  12952. justify-content: flex-start;
  12953. }
  12954. .end {
  12955. justify-content: flex-end;
  12956. }
  12957. .descriptions {
  12958. padding: 20px;
  12959. box-sizing: border-box;
  12960. display: flex;
  12961. flex-direction: column;
  12962. }
  12963. .bodys {
  12964. display: flex;
  12965. justify-content: space-between;
  12966. align-items: center;
  12967. flex-wrap: wrap;
  12968. }
  12969. .bodys1 {
  12970. display: flex;
  12971. justify-content: center;
  12972. align-items: center;
  12973. flex-wrap: wrap;
  12974. }
  12975. .widths {
  12976. width: 230px;
  12977. }
  12978. .widths1 {
  12979. width: 300px;
  12980. }
  12981. .back {
  12982. color: #333333;
  12983. // font-weight: 700;
  12984. }
  12985. .home {
  12986. // padding-left: 10px;
  12987. box-sizing: border-box;
  12988. padding-bottom: 10px;
  12989. border-bottom: 1px solid #eef1f6;
  12990. &>span {
  12991. margin-right: 10px;
  12992. }
  12993. }
  12994. .border-red {
  12995. border: 1px solid #ff0606;
  12996. }
  12997. .border-blue {
  12998. border: 1px solid #0634ff;
  12999. }
  13000. .hovers {
  13001. margin: 20px 0;
  13002. cursor: pointer;
  13003. padding: 10px 0;
  13004. box-sizing: border-box;
  13005. box-shadow: 0 2px 8px 0 rgba(231, 163, 36, 0.205);
  13006. border-radius: 8px;
  13007. .offer-time {
  13008. margin: 20px 0 0px 100px;
  13009. padding: 10px;
  13010. background: rgba(45, 77, 137, 0.06);
  13011. &>span {
  13012. margin: 0 10px;
  13013. }
  13014. }
  13015. }
  13016. /* 内容待定 */
  13017. .coll {
  13018. font-size: 14px;
  13019. }
  13020. .display {
  13021. display: flex;
  13022. justify-content: center;
  13023. align-items: center;
  13024. box-sizing: border-box;
  13025. }
  13026. .black {
  13027. color: #000;
  13028. }
  13029. .gray {
  13030. color: #999;
  13031. }
  13032. .OCR {
  13033. font-weight: bold;
  13034. color: #333;
  13035. margin: 20px;
  13036. }
  13037. .slot {
  13038. position: absolute;
  13039. width: 100%;
  13040. height: 100%;
  13041. left: 0;
  13042. top: 0;
  13043. cursor: default;
  13044. text-align: center;
  13045. color: #fff;
  13046. opacity: 0;
  13047. font-size: 20px;
  13048. background-color: rgba(0, 0, 0, 0.5);
  13049. transition: opacity 0.3s;
  13050. display: flex;
  13051. justify-content: center;
  13052. align-items: center;
  13053. &>i {
  13054. margin: 10px;
  13055. color: #fff;
  13056. font-size: 30px;
  13057. font-weight: bold;
  13058. cursor: pointer;
  13059. }
  13060. &:hover {
  13061. opacity: 1;
  13062. }
  13063. }
  13064. .companyhead {
  13065. width: 100%;
  13066. margin: 0 auto;
  13067. padding: 15px 10px;
  13068. color: #333;
  13069. font-weight: bold;
  13070. font-size: 14px;
  13071. background-color: rgba(0, 89, 255, 0.1);
  13072. }
  13073. .position-left {
  13074. width: calc(100% - 220px);
  13075. }
  13076. .position-collapse-left {
  13077. width: calc(100% - 80px);
  13078. }
  13079. .footer {
  13080. position: fixed;
  13081. bottom: 0;
  13082. right: 0;
  13083. background-color: #fff;
  13084. z-index: 9;
  13085. padding: 20px;
  13086. box-sizing: border-box;
  13087. box-shadow: 0 0 1px 0 #ccc;
  13088. transition: all 0.1s, box-shadow 0.5s;
  13089. &.shadow {
  13090. box-shadow: 0 -10px 10px -10px #ccc;
  13091. }
  13092. }
  13093. .Enclosure {
  13094. width: 100%;
  13095. background-color: #fff;
  13096. padding: 20px;
  13097. box-sizing: border-box;
  13098. margin-bottom: 15px;
  13099. border-radius: 6px;
  13100. border: 1px solid #ebeef5;
  13101. transition: all 0.2s ease-in-out;
  13102. box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
  13103. }
  13104. .Enclosure:hover {
  13105. box-shadow: 0 0 10px 0 #d42427;
  13106. }
  13107. .icon-img {
  13108. display: block;
  13109. width: 30px;
  13110. height: 30px;
  13111. }
  13112. .Anchor-link {
  13113. width: 40px;
  13114. background-color: #fff;
  13115. box-shadow: #ccc 0 0px 3px 0;
  13116. border-radius: 6px;
  13117. position: fixed;
  13118. top: 50%;
  13119. right: 0;
  13120. z-index: 99;
  13121. div {
  13122. margin: 5px;
  13123. border-bottom: 1px solid #f2f2f2;
  13124. cursor: pointer;
  13125. display: block;
  13126. }
  13127. }
  13128. .color {
  13129. padding-top: 150px;
  13130. margin-top: -150px;
  13131. }
  13132. .more {
  13133. width: 100%;
  13134. padding: 20px;
  13135. box-sizing: border-box;
  13136. }
  13137. .more-title {
  13138. padding: 15px 10px;
  13139. background-color: #f7f7f9;
  13140. // border-bottom: 1px solid #e3e3e3;
  13141. font-size: 14px;
  13142. }
  13143. .more-data {
  13144. padding: 10px;
  13145. border-bottom: 1px solid #f2f2f2;
  13146. color: #333;
  13147. font-size: 14px;
  13148. }
  13149. .Driving-risk {
  13150. padding-left: 100px;
  13151. // padding-top:20px
  13152. }
  13153. .checkbox {
  13154. transform: scale(1.2);
  13155. margin-right: 20px;
  13156. line-height: 32px;
  13157. }
  13158. .insure-long-term {
  13159. display: inline-flex;
  13160. padding-left: 8px;
  13161. padding-right: 8px;
  13162. background: var(--themeColor);
  13163. color: #fff;
  13164. font-size: 12px;
  13165. margin-left: -5px;
  13166. border-radius: 0px 5px 5px 0px;
  13167. cursor: pointer;
  13168. }
  13169. .textareaSty {
  13170. width: 160px;
  13171. height: 210px;
  13172. border: 1px solid #d2d2d2;
  13173. border-radius: 4px;
  13174. img {
  13175. width: 50px;
  13176. height: 50px;
  13177. }
  13178. }
  13179. .image-title {
  13180. width: 100px;
  13181. height: 30px;
  13182. color: #fff;
  13183. text-align: center;
  13184. line-height: 30px;
  13185. font-weight: bold;
  13186. margin-bottom: 15px;
  13187. background: #fc4a1a;
  13188. background: #f2994a;
  13189. /* fallback for old browsers */
  13190. background: -webkit-linear-gradient(to left, #f2c94c, #f2994a);
  13191. /* Chrome 10-25, Safari 5.1-6 */
  13192. background: linear-gradient(to left, #f2c94c, #f2994a);
  13193. /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
  13194. }
  13195. .aaa {
  13196. /deep/ {
  13197. margin-bottom: 20px;
  13198. margin-right: 30px;
  13199. span {
  13200. display: inline-block;
  13201. margin-bottom: 10px;
  13202. }
  13203. .el-upload .el-upload-dragger {
  13204. width: 180px;
  13205. height: 120px;
  13206. border: 1px dashed #c0ccda;
  13207. padding: 0;
  13208. }
  13209. .el-upload-list--picture-card .el-upload-list__item {
  13210. width: 180px;
  13211. height: 120px;
  13212. }
  13213. .el-upload-list__item:first-child {
  13214. margin-top: 0;
  13215. }
  13216. .el-upload--picture-card {
  13217. width: 180px;
  13218. height: 120px;
  13219. }
  13220. .el-upload-list__item {
  13221. width: 180px;
  13222. height: 120px;
  13223. margin: 0 !important;
  13224. display: block !important;
  13225. }
  13226. .el-upload-list--picture-card .el-upload-list__item-thumbnail {
  13227. width: 180px;
  13228. height: 120px;
  13229. }
  13230. }
  13231. }
  13232. .jyxStyle>span {
  13233. display: inline-block;
  13234. text-align: center;
  13235. }
  13236. .tab-style {
  13237. width: 120px;
  13238. li {
  13239. text-align: right;
  13240. padding-right: 20px;
  13241. line-height: 40px;
  13242. cursor: pointer;
  13243. box-sizing: border-box;
  13244. border-right: 1px solid #e2e5eb;
  13245. }
  13246. li:focus {
  13247. background: rgba(212, 36, 38, 0.1);
  13248. border-right: 2px solid var(--themeColor);
  13249. color: var(--themeColor);
  13250. }
  13251. }
  13252. .tabLi-style {
  13253. background: rgba(212, 36, 38, 0.1);
  13254. border-right: 2px solid var(--themeColor);
  13255. color: var(--themeColor);
  13256. }
  13257. .scan-code {
  13258. div {
  13259. margin-top: 10px;
  13260. }
  13261. }
  13262. /* 清除图片上传动画bug */
  13263. /deep/ {
  13264. .proSaomazhifucodeClass .el-dialog__header {
  13265. background: rgba(45, 77, 137, 0.1);
  13266. font-weight: bold;
  13267. }
  13268. .proSaomazhifucodeClass .el-dialog__footer {
  13269. border-top: 1px solid #eef1f6;
  13270. }
  13271. .el-upload-list__item {
  13272. transition: none !important;
  13273. }
  13274. .el-checkbox__input {
  13275. &.is-checked {
  13276. .el-checkbox__inner {
  13277. background-color: #d42426;
  13278. border-color: #d42426;
  13279. }
  13280. }
  13281. }
  13282. .el-checkbox__inner {
  13283. border: 1px solid var(--themeColor);
  13284. &:hover {
  13285. border-color: var(--themeColorHover);
  13286. }
  13287. &:focus {
  13288. border-color: var(--themeColor);
  13289. }
  13290. }
  13291. .el-upload .el-upload-dragger {
  13292. height: 250px;
  13293. width: 400px;
  13294. border: 1px dashed #ced4da;
  13295. }
  13296. // .el-button--warning {
  13297. // color: #fff;
  13298. // background-color: #D42426;
  13299. // border-color: #D42426;
  13300. // &:hover {
  13301. // color: #fff;
  13302. // background-color: #ee6f00ce;
  13303. // border-color: #ee6f00ce;
  13304. // }
  13305. // }
  13306. .el-descriptions-item__label {
  13307. &:not(.is-bordered-label) {
  13308. color: #333;
  13309. }
  13310. }
  13311. // .el-radio__input.is-checked + .el-radio__label {
  13312. // color: #ff7000;
  13313. // }
  13314. // .el-radio__input.is-checked .el-radio__inner {
  13315. // border-color: #ff7000;
  13316. // background: #ff7000;
  13317. // }
  13318. // .el-radio__inner {
  13319. // &:hover {
  13320. // border-color: #ff7000;
  13321. // }
  13322. // }
  13323. // .el-input--small .el-icon-date {
  13324. // color: #ee6f00ce;
  13325. // }
  13326. .el-select {
  13327. width: 100%;
  13328. }
  13329. .el-date-editor.el-input {
  13330. width: 100%;
  13331. }
  13332. .el-cascader--small {
  13333. width: 100%;
  13334. }
  13335. .styleB {
  13336. height: 128px;
  13337. }
  13338. .styleB .el-upload--picture-card {
  13339. display: none;
  13340. }
  13341. .saomazhifucodeClass .el-dialog__body,
  13342. .saomazhifucodeClass .el-dialog__header,
  13343. .saomazhifucodeClass .el-dialog__footer {
  13344. padding: 0;
  13345. background: #f4e9e9;
  13346. }
  13347. .saomazhifucodeClass .el-dialog__body {
  13348. padding: 15px;
  13349. }
  13350. .saomazhifucodeClass .el-dialog__footer {
  13351. background: #f4e9e9;
  13352. padding-bottom: 15px;
  13353. }
  13354. .saomazhifucodeClass .el-dialog__headerbtn {
  13355. margin-top: 10px;
  13356. }
  13357. .zmDriving {
  13358. thead .el-table-column--selection .cell {
  13359. display: none !important;
  13360. }
  13361. }
  13362. .line_style {
  13363. margin-top: 20px;
  13364. }
  13365. .el-input-group__append {
  13366. vertical-align: baseline;
  13367. border-color: #D42426;
  13368. background: #D42426;
  13369. color: #FFF;
  13370. }
  13371. .pinganTable .el-table__header-wrapper .el-checkbox {
  13372. display: none;
  13373. }
  13374. }
  13375. </style>
  13376. <style lang="scss" scoped>
  13377. .company-checked {
  13378. background: rgba(45,77,137,0.15);
  13379. padding: 12px 20px;
  13380. box-sizing: border-box;
  13381. margin-top: 10px;
  13382. font-size: 13px;
  13383. color: #333;
  13384. line-height: 24px;
  13385. overflow-x: auto;
  13386. .width1280 {
  13387. min-width: 1576px;
  13388. }
  13389. .bg-white {
  13390. background: #FFF;
  13391. padding: 10px 12px;
  13392. border-radius: 4px;
  13393. width: 100%;
  13394. }
  13395. .flex-1 {
  13396. flex: 1;
  13397. }
  13398. .w-60 {
  13399. box-sizing: border-box;
  13400. width: 60px;
  13401. text-align: center;
  13402. border-left: 1px solid #FCE5BD;
  13403. }
  13404. .w-50 {
  13405. box-sizing: border-box;
  13406. width: 60px;
  13407. text-align: center;
  13408. border-left: 1px solid #FCE5BD;
  13409. }
  13410. .card-bg {
  13411. background: #FFF;
  13412. padding: 10px;
  13413. display: flex;
  13414. }
  13415. .card-xianzhong {
  13416. border: 1px solid #2AB79E;
  13417. flex: 1;
  13418. background: rgba(42, 183, 158, 0.15);
  13419. border-radius: 0;
  13420. text-align: center;
  13421. color: #2AB79E;
  13422. // border: 10px solid #FFF;
  13423. font-size: 15px;
  13424. padding: 0 18px;
  13425. display: flex;
  13426. flex-direction: column;
  13427. justify-content: center;
  13428. .card-btn {
  13429. margin-top: 20px;
  13430. border-radius: 2px;
  13431. border: 1px solid #2AB79E;
  13432. background: #FFF;
  13433. padding: 4px 8px;
  13434. font-size: 16px;
  13435. font-weight: 600;
  13436. }
  13437. }
  13438. .card-table {
  13439. display: flex;
  13440. margin-top: 12px;
  13441. .table-title {
  13442. color: #333;
  13443. width: 58px;
  13444. font-size: 14px;
  13445. }
  13446. .table-list {
  13447. flex: 1;
  13448. .table-list-title {
  13449. background: #FDEDC2;
  13450. border: 1px solid #FCE5BD;
  13451. color: #333;
  13452. line-height: 28px;
  13453. padding-left: 12px;
  13454. display: flex;
  13455. }
  13456. .table-list-content {
  13457. line-height: 28px;
  13458. padding-left: 12px;
  13459. display: flex;
  13460. align-items: center;
  13461. border: 1px solid #FDEDC2;
  13462. border-top: none;
  13463. background: #FFF;
  13464. img {
  13465. width: 14px;
  13466. height: 14px;
  13467. transform: translateY(2px);
  13468. }
  13469. span {
  13470. margin-left: 8px;
  13471. font-size: 14px;
  13472. }
  13473. }
  13474. }
  13475. }
  13476. .card-mingxi {
  13477. border: 1px solid #FD9A25;
  13478. flex: 1;
  13479. background: rgba(253, 154, 37, 0.15);
  13480. padding: 8px 12px;
  13481. font-size: 13px;
  13482. .card-mingxi-title {
  13483. color: #FD9A25;
  13484. font-size: 15px;
  13485. span {
  13486. color: #FFF;
  13487. background: linear-gradient( 90deg, #FF981F 0%, #FF5C00 100%);
  13488. padding: 4px 8px;
  13489. border-radius: 2px;
  13490. }
  13491. }
  13492. }
  13493. .fuwu {
  13494. background: #E9F1FF;
  13495. border: 1px solid #315BA9;
  13496. .card-mingxi-title {
  13497. color: #315BA9;
  13498. }
  13499. .table-list-title {
  13500. background: #C1DAFF !important;
  13501. border: 1px solid #C1DAFF !important;
  13502. }
  13503. .table-list-content {
  13504. border-color: #C1DAFF !important;
  13505. }
  13506. .w-50 {
  13507. border-color: #afccfa !important;
  13508. }
  13509. .flex-1 {
  13510. border-right: 1px solid #afccfa;
  13511. }
  13512. .w-55 {
  13513. border-left: none !important;
  13514. }
  13515. }
  13516. .baoxian {
  13517. padding: 10px;
  13518. border: 1px solid rgba(45,77,137,0.5);
  13519. // background: #F2F4F8;
  13520. background: #f3f3f3;
  13521. display: flex;
  13522. flex-direction: column;
  13523. .card-mingxi-title {
  13524. color: #333;
  13525. display: flex;
  13526. }
  13527. .table-list-title {
  13528. background: #DCDCE8 !important;
  13529. }
  13530. .table-list-title, .table-list-content {
  13531. padding-left: 0 !important;
  13532. text-align: center;
  13533. border-color: #DCDCE8 !important;
  13534. }
  13535. .table-list-title {
  13536. padding-left: 0 !important;
  13537. text-align: center;
  13538. border: 1px solid #DCDCE8 !important;
  13539. }
  13540. .flex-1 {
  13541. border-left: 1px solid #DCDCE8;
  13542. }
  13543. .w-40 {
  13544. box-sizing: border-box;
  13545. width: 50px;
  13546. text-align: center;
  13547. }
  13548. }
  13549. .youhui {
  13550. background: #FEEEEC;
  13551. border: 1px solid #ED5626;
  13552. .card-mingxi-title {
  13553. color: #ED5626;
  13554. }
  13555. .table-list-title {
  13556. background: #FFD2C8 !important;
  13557. border: 1px solid #FFD2C8 !important;
  13558. }
  13559. .table-list-content {
  13560. border-color: #FFD2C8 !important;
  13561. padding-left: 0 !important;
  13562. }
  13563. .table-list-line {
  13564. border-bottom: 1px solid #FFD2C8;
  13565. border-right: 1px solid #FFD2C8;
  13566. padding-left: 6px;
  13567. }
  13568. .table-list-line-last {
  13569. border-bottom: none !important;
  13570. }
  13571. .w-60 {
  13572. width: 70px !important;
  13573. border-color: #fabdae !important;
  13574. }
  13575. .w-66 {
  13576. border-left: none !important;
  13577. }
  13578. }
  13579. .el-popover {
  13580. margin-right: 20px;
  13581. padding: 0 !important;
  13582. }
  13583. .gray-style {
  13584. border: 1px solid #333333;
  13585. border-radius: 2px;
  13586. color: #333;
  13587. text-align: center;
  13588. line-height: 24px;
  13589. box-sizing: border-box;
  13590. padding: 4px 8px;
  13591. margin-right: 10px;
  13592. opacity: .65;
  13593. // transition: all ease .3s;
  13594. img {
  13595. margin-bottom: -4px;
  13596. }
  13597. &:hover {
  13598. opacity: 1;
  13599. }
  13600. }
  13601. .juse-style {
  13602. color: #FFF;
  13603. background: linear-gradient( 90deg, #FF981F 0%, #FF5C00 100%);
  13604. padding: 4px 8px;
  13605. border-radius: 2px;
  13606. }
  13607. .blue-style {
  13608. // background: #2D4D89;
  13609. background: linear-gradient( 270deg, #0052FF 0%, #6899FF 100%);
  13610. // border: 1px solid #2D4D89;
  13611. border: none;
  13612. color: #FFF;
  13613. border-radius: 2px;
  13614. padding: 4px 8px;
  13615. text-align: center;
  13616. line-height: 24px;
  13617. box-sizing: border-box;
  13618. opacity: 1;
  13619. position: relative;
  13620. // ::after {
  13621. // content: '✔';
  13622. // color: red;
  13623. // position: absolute;
  13624. // bottom: 0;
  13625. // right: 0;
  13626. // width: 4px;
  13627. // height: 4px;
  13628. // }
  13629. }
  13630. .blue-text {
  13631. color: #2D4D89;
  13632. }
  13633. .left-title {
  13634. font-size: 14px;
  13635. margin-bottom: 12px;
  13636. }
  13637. .blue-button {
  13638. background: #2D4D89;
  13639. color: #FFF;
  13640. padding: 4px 8px;
  13641. line-height: 24px;
  13642. border: 1px solid #2D4D89;
  13643. border-radius: 2px;
  13644. }
  13645. .company-checked-card {
  13646. background: #FFF;
  13647. padding: 12px;
  13648. margin-top: 12px;
  13649. > div {
  13650. display: flex;
  13651. margin: 10px;
  13652. }
  13653. .checked-card-title {
  13654. width: 60px;
  13655. }
  13656. span {
  13657. margin-right: 20px;
  13658. }
  13659. }
  13660. .company-checked-right {
  13661. padding: 0 12px;
  13662. color: #333;
  13663. line-height: 22px;
  13664. font-size: 14px;
  13665. position: relative;
  13666. .btn-list {
  13667. display: flex;
  13668. justify-content: right;
  13669. align-items: center;
  13670. span {
  13671. margin: 0 10px;
  13672. color: #2D4D89;
  13673. font-size: 12px;
  13674. }
  13675. }
  13676. }
  13677. }
  13678. .typedialog-style {
  13679. .typedialog-title {
  13680. font-size: 15px;
  13681. line-height: 30px;
  13682. font-weight: 700;
  13683. margin: 10px 0;
  13684. color: #000;
  13685. }
  13686. >>> .table-header {
  13687. background: #F7F7F9;
  13688. color: #333333;
  13689. }
  13690. .el-checkbox-group {
  13691. font-size: 16px;
  13692. color: #333;
  13693. margin-bottom: 20px;
  13694. }
  13695. .more-data-left {
  13696. border: 1px solid #F5F5F8;
  13697. line-height: 48px;
  13698. padding: 0 20px;
  13699. border-top: none;
  13700. position: relative;
  13701. .zhuxian {
  13702. position: absolute;
  13703. top: 0;
  13704. right: 0;
  13705. padding: 4px 12px;
  13706. color: #FFF;
  13707. background: #ED9E23;
  13708. font-size: 13px;
  13709. line-height: 12px;
  13710. }
  13711. }
  13712. .more-data-right {
  13713. border: 1px solid #F5F5F8;
  13714. line-height: 48px;
  13715. padding: 0 20px;
  13716. border-top: none;
  13717. border-left: none;
  13718. }
  13719. >>> .is-checked, >>> .is-indeterminate{
  13720. .el-checkbox__inner {
  13721. background: #2D4D89 !important;
  13722. border-color: #2D4D89 !important;
  13723. }
  13724. .el-checkbox__label {
  13725. color: #2D4D89;
  13726. }
  13727. }
  13728. .opacity1 {
  13729. opacity: 1;
  13730. }
  13731. .opacity0 {
  13732. opacity: .65;
  13733. }
  13734. .jiayi-style {
  13735. font-size: 13px;
  13736. text-align: center;
  13737. .el-col {
  13738. border: 1px solid #2D4D89;
  13739. margin: 0 1px;
  13740. background: rgba(45, 77, 137, 0.05);
  13741. }
  13742. .jiayi-style-title {
  13743. background: #2D4D89;
  13744. color: #FFF;
  13745. line-height: 40px;
  13746. }
  13747. .jiayi-style-line {
  13748. color: #333;
  13749. padding: 16px 20px;
  13750. }
  13751. }
  13752. }
  13753. .typedialog-style1 {
  13754. background: rgba(42,183,158,0.15);
  13755. padding: 20px;
  13756. margin-bottom: 20px;
  13757. border-radius: 10px;
  13758. }
  13759. .typedialog-style2 {
  13760. background: rgba(253,154,37,0.15);
  13761. padding: 20px;
  13762. margin-bottom: 20px;
  13763. border-radius: 10px;
  13764. }
  13765. .typedialog-style3 {
  13766. background: #E9F1FF;
  13767. padding: 20px;
  13768. border-radius: 10px;
  13769. }
  13770. .addyiwai {
  13771. >>> .el-input-group__append, >>> .el-input-group__prepend {
  13772. padding: 0 10px;
  13773. }
  13774. >>> .el-dialog__body {
  13775. padding: 24px;
  13776. background: #F2F2F2;
  13777. }
  13778. .addyiwai-title {
  13779. color: #262626;
  13780. font-size: 16px;
  13781. line-height: 24px;
  13782. margin-right: 10px;
  13783. }
  13784. .addyiwai-title-btn {
  13785. background: #EAEDF1;
  13786. box-shadow: 0px 2px 0px 0px rgba(0,0,0,0.02);
  13787. border-radius: 2px 2px 2px 2px;
  13788. border: 1px solid #D9D9D9;
  13789. font-size: 14px;
  13790. color: #2D4D89;
  13791. padding: 4px 10px;
  13792. cursor: pointer;
  13793. }
  13794. .el-select {
  13795. width: 200px;
  13796. }
  13797. }
  13798. .teYuedialog-style {
  13799. >>> .el-dialog__body {
  13800. padding: 10px 20px;
  13801. }
  13802. >>> .el-input__inner:focus {
  13803. border-color: #F96646;
  13804. }
  13805. >>> .el-input-group__append, .el-input-group__prepend, >>> .el-button--primary, .el-button--primary:focus {
  13806. border-color: #F96646;
  13807. background: linear-gradient( 90deg, #F6734A 0%, #F14B3A 100%);
  13808. color: #FFF;
  13809. }
  13810. >>> .is-checked, >>> .is-indeterminate{
  13811. .el-checkbox__inner {
  13812. background: #F96646 !important;
  13813. border-color: #F96646 !important;
  13814. }
  13815. .el-checkbox__label {
  13816. color: #F96646;
  13817. }
  13818. }
  13819. >>> .table-header {
  13820. background: #F7F7F9;
  13821. color: #333333;
  13822. }
  13823. .table-title {
  13824. font-size: 12px;
  13825. color: #333;
  13826. line-height: 20px;
  13827. padding: 2px 20px;
  13828. }
  13829. .dialog-footer {
  13830. display: flex;
  13831. align-items: center;
  13832. > span {
  13833. color: #333;
  13834. font-size: 13px;
  13835. }
  13836. }
  13837. }
  13838. .red-btn {
  13839. >>> .el-input-group__append {
  13840. border-color: #D42426;
  13841. background: #D42426;
  13842. }
  13843. >>> .el-input__prefix {
  13844. color: #D42426;
  13845. }
  13846. .insure-long-term {
  13847. position: relative;
  13848. top: 1px;
  13849. }
  13850. >>> .input {
  13851. border-radius: 4px 0 0 4px;
  13852. }
  13853. }
  13854. .synchronous {
  13855. width: 75px;
  13856. height: 45px;
  13857. line-height: 45px;
  13858. color: #fff;
  13859. position: relative;
  13860. img {
  13861. position: absolute;
  13862. top: 0;
  13863. left: 0;
  13864. width: 75px;
  13865. height: 45px;
  13866. z-index: 0;
  13867. }
  13868. > div {
  13869. width: 75px;
  13870. height: 45px;
  13871. line-height: 45px;
  13872. color: #fff;
  13873. cursor: pointer;
  13874. position: relative;
  13875. text-align: center;
  13876. font-size: 14px;
  13877. }
  13878. }
  13879. .bxgs-list {
  13880. position: relative;
  13881. .baofeijisuan {
  13882. position: absolute;
  13883. right: 8.333%;
  13884. top: 0;
  13885. background: linear-gradient( 270deg, #0052FF 0%, #6899FF 100%);
  13886. border-radius: 4px;
  13887. // border: 1px solid rgb(26, 77, 219);
  13888. // color: rgb(26, 77, 219);
  13889. color: #FFF;
  13890. font-size: 14px;
  13891. line-height: 20px;
  13892. padding: 4px 8px;
  13893. font-weight: 700;
  13894. }
  13895. }
  13896. .coefficient {
  13897. width: 100px;
  13898. >>> .el-input__inner {
  13899. border: none;
  13900. }
  13901. }
  13902. .loader {
  13903. /* Wave text loader made by: csozi | Website: english.csozi.hu*/
  13904. height: 30px;
  13905. .text {
  13906. margin: 0;
  13907. line-height: 24px;
  13908. color: red;
  13909. font-weight: bolder;
  13910. background: -webkit-linear-gradient(45deg, orange, orangered); /* Chrome, Safari */
  13911. background: linear-gradient(45deg, orange, orangered); /* Standard syntax */
  13912. -webkit-background-clip: text; /* Chrome, Safari */
  13913. background-clip: text;
  13914. -webkit-text-fill-color: transparent; /* Chrome, Safari */
  13915. color: transparent; /* Standard syntax (currently not supported by browsers) */
  13916. font-family: "'Gill Sans', 'Gill Sans MT', 'Calibri', 'Trebuchet MS', sans-serif'";
  13917. }
  13918. @keyframes letter {
  13919. 0% {
  13920. font-size: 14px;
  13921. }
  13922. 50% {
  13923. font-size: 15px;
  13924. }
  13925. 100% {
  13926. font-size: 14px;
  13927. }
  13928. }
  13929. .letter {
  13930. animation: letter 1s infinite;
  13931. }
  13932. .letter1 {
  13933. animation-delay: 0s;
  13934. }
  13935. .letter2 {
  13936. animation-delay: -0.9s;
  13937. }
  13938. .letter3 {
  13939. animation-delay: -0.8s;
  13940. }
  13941. .letter4 {
  13942. animation-delay: -0.7s;
  13943. }
  13944. .letter5 {
  13945. animation-delay: -0.6s;
  13946. }
  13947. .letter6 {
  13948. animation-delay: -0.5s;
  13949. }
  13950. .letter7 {
  13951. animation-delay: -0.4s;
  13952. }
  13953. .letter8 {
  13954. animation-delay: -0.3s;
  13955. }
  13956. .letter9 {
  13957. animation-delay: -0.2s;
  13958. }
  13959. .letter10 {
  13960. animation-delay: -0.1s;
  13961. }
  13962. }
  13963. .xianbie {
  13964. // border: 5px dashed #D42426;
  13965. background: #d4242734;
  13966. .home {
  13967. border-bottom: none !important;
  13968. }
  13969. }
  13970. .mini-input {
  13971. >>> .el-input__inner {
  13972. padding: 0 4px !important;
  13973. text-align: center;
  13974. }
  13975. }
  13976. .QRCode{
  13977. position: relative;
  13978. width: 200px;
  13979. height: 200px;
  13980. overflow: hidden;
  13981. margin: 0 auto;
  13982. }
  13983. </style>