index.vue 282 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672
  1. <template>
  2. <div class="addtional">
  3. <el-descriptions title="补录订单业务员信息" class="white-p24 border-6">
  4. <el-descriptions-item>
  5. <template #default>
  6. <el-form :model="form">
  7. <el-row :gutter="20">
  8. <el-col :span="8">
  9. <el-form-item label="业务员:">
  10. <el-input v-model="form.name" placeholder="输入业务员工姓名,手机号,工号查找" @click="handleFocus"></el-input>
  11. </el-form-item>
  12. </el-col>
  13. <el-col :span="8">
  14. <el-form-item label="工号类型:">
  15. <!-- <el-select v-model="form.type">
  16. <el-option label="业务员" value="A"></el-option>
  17. <el-option label="代理人" value="B"></el-option>
  18. </el-select>-->
  19. <el-input v-model="form.type" disabled></el-input>
  20. </el-form-item>
  21. </el-col>
  22. <el-col :span="8">
  23. <el-form-item label="归属:">
  24. <el-cascader
  25. clearable
  26. style="width: 100%"
  27. v-model="form.deptId"
  28. :options="institutionList"
  29. :props="tableProps"
  30. ></el-cascader>
  31. </el-form-item>
  32. </el-col>
  33. </el-row>
  34. </el-form>
  35. </template>
  36. </el-descriptions-item>
  37. </el-descriptions>
  38. <div class="tap">
  39. <a class="anchor-item" :class="{'active': tapIndex===index}" v-for="(item, index) in taps" :href="`#${item.href}`" @click.prevent="handleTap(item, index)">
  40. <img :src="tapIndex===index?item.active:item.img"/>
  41. {{ item.text }}
  42. </a>
  43. </div>
  44. <el-collapse v-model="activeName" class="content-box">
  45. <div id="car">
  46. <el-collapse-item name="car">
  47. <template #title>
  48. <span class="title">
  49. 车辆信息
  50. <span class="switch" @click.stop="handleSwitch('car')">
  51. <span :class="{'write':carSwitch,'identify':!carSwitch}">证件识别</span>
  52. <span :class="{'identify':carSwitch,'write':!carSwitch}">手动填写</span>
  53. </span>
  54. </span>
  55. </template>
  56. <el-form ref="carFormRefs" v-if="carSwitch" :model="carForm" :rules="carRules">
  57. <el-row :gutter="24">
  58. <el-col :span="5">
  59. <el-form-item label="行驶证主页" class="white-m-p24">
  60. <el-upload v-if="!xszFront" :auto-upload="false" :show-file-list="false" @change="uploadImage($event, 'xszf')">
  61. <div class="upload-box">
  62. <div class="icon-box">
  63. <el-icon style="font-size: 20px"><Camera /></el-icon>
  64. <p>传图识别</p>
  65. </div>
  66. </div>
  67. </el-upload>
  68. <el-upload v-else :auto-upload="false" :show-file-list="false" @change="uploadImage($event, 'xszf')">
  69. <div class="upload-box">
  70. <img class="upload-image" :src="xszFront"/>
  71. </div>
  72. </el-upload>
  73. </el-form-item>
  74. <el-form-item label="行驶证副页" class="white-m-p24">
  75. <el-upload v-if="!xszBack" :auto-upload="false" :show-file-list="false" @change="uploadImage($event, 'xszb')">
  76. <div class="upload-box">
  77. <div class="icon-box">
  78. <el-icon style="font-size: 20px"><Camera /></el-icon>
  79. <p>传图识别</p>
  80. </div>
  81. </div>
  82. </el-upload>
  83. <el-upload v-else :auto-upload="false" :show-file-list="false" @change="uploadImage($event, 'xszb')">
  84. <div class="upload-box">
  85. <img class="upload-image" :src="xszBack"/>
  86. </div>
  87. </el-upload>
  88. </el-form-item>
  89. </el-col>
  90. <el-divider direction="vertical"></el-divider>
  91. <el-col :span="18">
  92. <el-row :gutter="20">
  93. <el-col class="col-m-b-6" :span="8">
  94. <el-form-item label="车牌" prop="licenseNo">
  95. <el-input v-model="carForm.licenseNo" placeholder="输入车牌号"></el-input>
  96. </el-form-item>
  97. </el-col>
  98. <el-col class="col-m-b-6" :span="8">
  99. <el-form-item label="车牌识别代码" prop="vinNo">
  100. <el-input v-model="carForm.vinNo" placeholder="请输入车辆识别代码">
  101. <template #append>
  102. <el-button icon="Search" @click="handleCarType(1)" />
  103. </template>
  104. </el-input>
  105. </el-form-item>
  106. </el-col>
  107. <el-col class="col-m-b-6" :span="8">
  108. <el-form-item label="品牌型号" prop="brandName">
  109. <el-input v-model="carForm.brandName" placeholder="请输入品牌型号">
  110. <template #append>
  111. <el-button icon="Search" @click="handleCarType(2)" />
  112. </template>
  113. </el-input>
  114. </el-form-item>
  115. </el-col>
  116. <el-col class="col-m-b-6" :span="8">
  117. <el-form-item label="发动机" prop="engineNo">
  118. <el-input v-model="carForm.engineNo" placeholder="请输入发动机号"></el-input>
  119. </el-form-item>
  120. </el-col>
  121. <el-col class="col-m-b-6" :span="8">
  122. <el-form-item label="年款" prop="carYear">
  123. <el-input v-model="carForm.carYear" placeholder="请输入年款"></el-input>
  124. </el-form-item>
  125. </el-col>
  126. <el-col class="col-m-b-6" :span="8">
  127. <el-form-item label="座位数" prop="seatCount">
  128. <el-input v-model="carForm.seatCount" placeholder="请输入座位数">
  129. <template #append>
  130. <span>座</span>
  131. </template>
  132. </el-input>
  133. </el-form-item>
  134. </el-col>
  135. <el-col class="col-m-b-6" :span="8">
  136. <el-form-item label="整备质量" prop="completeKerbMass">
  137. <el-input v-model="carForm.completeKerbMass" placeholder="输入整备质量">
  138. <template #append>
  139. <span>千克(KG)</span>
  140. </template>
  141. </el-input>
  142. </el-form-item>
  143. </el-col>
  144. <el-col class="col-m-b-6" :span="8">
  145. <el-form-item label="核定载质量" prop="limitLoad">
  146. <el-input v-model="carForm.limitLoad" placeholder="请输入核定载质量">
  147. <template #append>
  148. <span>千克(KG)</span>
  149. </template>
  150. </el-input>
  151. </el-form-item>
  152. </el-col>
  153. <el-col class="col-m-b-6" :span="8">
  154. <el-form-item label="排量" prop="displacement">
  155. <el-input v-model="carForm.displacement" placeholder="请输入排量">
  156. <template #append>
  157. <span>升(L)</span>
  158. </template>
  159. </el-input>
  160. </el-form-item>
  161. </el-col>
  162. <el-col class="col-m-b-6" :span="8">
  163. <el-form-item label="功率" prop="powerScale">
  164. <el-input v-model="carForm.powerScale" placeholder="输入功率">
  165. <template #append>
  166. <span>千瓦(KW)</span>
  167. </template>
  168. </el-input>
  169. </el-form-item>
  170. </el-col>
  171. <el-col class="col-m-b-6" :span="8">
  172. <el-form-item label="新车购置价" prop="purchasePrice">
  173. <el-input v-model="carForm.purchasePrice" placeholder="请输入新车购置价">
  174. <template #append>
  175. <span>元</span>
  176. </template>
  177. </el-input>
  178. </el-form-item>
  179. </el-col>
  180. <el-col class="col-m-b-6" :span="8">
  181. <el-form-item label="使用性质" prop="carNatureCode">
  182. <el-select v-model="carForm.carNatureCode" placeholder="请选择">
  183. <el-option v-for="(item, index) in optionObj.car_nature_code" :label="item.label" :value="item.value" :key="item.value"></el-option>
  184. </el-select>
  185. </el-form-item>
  186. </el-col>
  187. <el-col class="col-m-b-6" :span="8">
  188. <el-form-item label="车辆用途" prop="vehicleUseCode">
  189. <el-select v-model="carForm.vehicleUseCode" placeholder="请选择">
  190. <el-option v-for="(item, index) in optionObj.vehicle_use_code" :label="item.label" :value="item.value" :key="item.value"></el-option>
  191. </el-select>
  192. </el-form-item>
  193. </el-col>
  194. <el-col class="col-m-b-6" :span="8">
  195. <el-form-item label="车辆类型" prop="carTypeCode">
  196. <el-select v-model="carForm.carTypeCode" placeholder="请选择">
  197. <el-option v-for="(item, index) in optionObj.car_type_code" :label="item.label" :value="item.value" :key="item.value"></el-option>
  198. </el-select>
  199. </el-form-item>
  200. </el-col>
  201. <el-col class="col-m-b-6" :span="8">
  202. <el-form-item label="能源种类" prop="energyTypeCode">
  203. <el-select v-model="carForm.energyTypeCode" placeholder="请选择">
  204. <el-option v-for="(item, index) in optionObj.energy_type_code" :label="item.label" :value="item.value" :key="item.value"></el-option>
  205. </el-select>
  206. </el-form-item>
  207. </el-col>
  208. <!-- <el-col class="col-m-b-6" :span="8">
  209. <el-form-item label="所属性质" prop="propertyCode">
  210. <el-select v-model="carForm.propertyCode" placeholder="请选择">
  211. <el-option label="性质1" value="1" key="1"></el-option>
  212. </el-select>
  213. </el-form-item>
  214. </el-col>-->
  215. <el-col class="col-m-b-6" :span="8">
  216. <el-form-item prop="registerDate" label="注册日期">
  217. <el-date-picker
  218. v-model="carForm.registerDate"
  219. type="date"
  220. placeholder="请选择"
  221. value-format="YYYY-MM-DD"
  222. style="width: 100%"
  223. />
  224. </el-form-item>
  225. </el-col>
  226. <el-col class="col-m-b-6" :span="8">
  227. <el-form-item prop="issueDate" label="发证日期">
  228. <el-date-picker
  229. v-model="carForm.issueDate"
  230. type="date"
  231. placeholder="请选择"
  232. value-format="YYYY-MM-DD"
  233. style="width: 100%"
  234. />
  235. </el-form-item>
  236. </el-col>
  237. </el-row>
  238. </el-col>
  239. </el-row>
  240. </el-form>
  241. <el-form ref="writeCarFormRefs" v-else :model="writeCarForm" :rules="writeCarRules">
  242. <el-row :gutter="20">
  243. <el-col class="col-m-b-6" :span="6">
  244. <el-form-item class="white-m-p24" label="车辆是否上牌?" prop="isRegistered">
  245. <el-radio-group v-model="writeCarForm.isRegistered">
  246. <el-radio value="1">是</el-radio>
  247. <el-radio value="2">否</el-radio>
  248. </el-radio-group>
  249. </el-form-item>
  250. </el-col>
  251. <el-col class="col-m-b-6" :span="6">
  252. <el-form-item :disabled="writeCarForm.isRegistered==1" label="车牌" prop="licenseNo">
  253. <el-input v-model="writeCarForm.licenseNo" minlength="7" maxlength="8" placeholder="输入车牌号"></el-input>
  254. </el-form-item>
  255. </el-col>
  256. <el-col class="col-m-b-6" :span="6">
  257. <el-form-item label="车牌识别代码" prop="vinNo">
  258. <el-input v-model="writeCarForm.vinNo" placeholder="请输入车辆识别代码">
  259. <template #append>
  260. <el-button icon="Search" @click="handleCarNumber" />
  261. </template>
  262. </el-input>
  263. </el-form-item>
  264. </el-col>
  265. <el-col class="col-m-b-6" :span="6">
  266. <el-form-item label="品牌型号" prop="brandName">
  267. <el-input v-model="writeCarForm.brandName" placeholder="请输入品牌型号">
  268. <template #append>
  269. <el-button icon="Search" @click="handleCarCode" />
  270. </template>
  271. </el-input>
  272. </el-form-item>
  273. </el-col>
  274. <el-col class="col-m-b-6" :span="6">
  275. <el-form-item class="white-m-p24" label="发动机号" prop="engineNo">
  276. <el-input v-model="writeCarForm.engineNo" placeholder="请输入发动机号"></el-input>
  277. </el-form-item>
  278. </el-col>
  279. <el-col class="col-m-b-6" :span="6">
  280. <el-form-item label="年款" prop="carYear">
  281. <el-input v-model="writeCarForm.carYear" placeholder="请输入年款"></el-input>
  282. </el-form-item>
  283. </el-col>
  284. <el-col class="col-m-b-6" :span="6">
  285. <el-form-item label="座位数" prop="seatCount">
  286. <el-input v-model="writeCarForm.seatCount" placeholder="请输入座位数">
  287. <template #append>
  288. <span>座</span>
  289. </template>
  290. </el-input>
  291. </el-form-item>
  292. </el-col>
  293. <el-col class="col-m-b-6" :span="6">
  294. <el-form-item label="整备质量" prop="completeKerbMass">
  295. <el-input v-model="writeCarForm.completeKerbMass" placeholder="输入整备质量">
  296. <template #append>
  297. <span>千克(KG)</span>
  298. </template>
  299. </el-input>
  300. </el-form-item>
  301. </el-col>
  302. <el-col class="col-m-b-6" :span="6">
  303. <el-form-item class="white-m-p24" label="核定载质量" prop="limitLoad">
  304. <el-input v-model="writeCarForm.limitLoad" placeholder="请输入核定载质量">
  305. <template #append>
  306. <span>千克(KG)</span>
  307. </template>
  308. </el-input>
  309. </el-form-item>
  310. </el-col>
  311. <el-col class="col-m-b-6" :span="6">
  312. <el-form-item label="排量" prop="displacement">
  313. <el-input v-model="writeCarForm.displacement" placeholder="请输入排量">
  314. <template #append>
  315. <span>升(L)</span>
  316. </template>
  317. </el-input>
  318. </el-form-item>
  319. </el-col>
  320. <el-col class="col-m-b-6" :span="6">
  321. <el-form-item label="功率" prop="powerScale">
  322. <el-input v-model="writeCarForm.powerScale" placeholder="输入功率">
  323. <template #append>
  324. <span>千瓦(KW)</span>
  325. </template>
  326. </el-input>
  327. </el-form-item>
  328. </el-col>
  329. <el-col class="col-m-b-6" :span="6">
  330. <el-form-item label="新车购置价" prop="purchasePrice">
  331. <el-input v-model="writeCarForm.purchasePrice" placeholder="请输入新车购置价">
  332. <template #append>
  333. <span>元</span>
  334. </template>
  335. </el-input>
  336. </el-form-item>
  337. </el-col>
  338. <el-col class="col-m-b-6" :span="6">
  339. <el-form-item class="white-m-p24" label="使用性质" prop="carNatureCode">
  340. <el-select v-model="writeCarForm.carNatureCode" placeholder="请选择">
  341. <el-option v-for="(item, index) in optionObj.car_nature_code" :label="item.lable" :value="item.value" :key="item.value"></el-option>
  342. </el-select>
  343. </el-form-item>
  344. </el-col>
  345. <el-col class="col-m-b-6" :span="6">
  346. <el-form-item label="车辆用途" prop="vehicleUseCode">
  347. <el-select v-model="writeCarForm.vehicleUseCode" placeholder="请选择">
  348. <el-option v-for="(item, index) in optionObj.vehicle_use_code" :label="item.label" :value="item.value" :key="item.value"></el-option>
  349. </el-select>
  350. </el-form-item>
  351. </el-col>
  352. <el-col class="col-m-b-6" :span="6">
  353. <el-form-item label="车辆类型" prop="carTypeCode">
  354. <el-select v-model="writeCarForm.carTypeCode" placeholder="请选择">
  355. <el-option v-for="(item, index) in optionObj.car_type_code" :label="item.label" :value="item.value" :key="item.value"></el-option>
  356. </el-select>
  357. </el-form-item>
  358. </el-col>
  359. <el-col class="col-m-b-6" :span="6">
  360. <el-form-item label="能源种类" prop="energyTypeCode">
  361. <el-select v-model="writeCarForm.energyTypeCode" placeholder="请选择">
  362. <el-option v-for="(item, index) in optionObj.energy_type_code" :label="item.label" :value="item.value" :key="item.value"></el-option>
  363. </el-select>
  364. </el-form-item>
  365. </el-col>
  366. <!-- <el-col class="col-m-b-6" :span="6">
  367. <el-form-item class="white-m-p24" label="所属性质" prop="propertyCode">
  368. <el-select v-model="writeCarForm.propertyCode" placeholder="请选择">
  369. <el-option label="性质1" value="1" key="1"></el-option>
  370. </el-select>
  371. </el-form-item>
  372. </el-col>-->
  373. <el-col class="col-m-b-6" :span="6">
  374. <el-form-item class="white-m-p24" label="注册日期" prop="registerDate">
  375. <el-date-picker
  376. v-model="writeCarForm.registerDate"
  377. type="date"
  378. placeholder="请选择"
  379. value-format="YYYY-MM-DD"
  380. style="width: 100%"
  381. />
  382. </el-form-item>
  383. </el-col>
  384. <el-col class="col-m-b-6" :span="6">
  385. <el-form-item label="发证日期" prop="issueDate">
  386. <el-date-picker
  387. v-model="writeCarForm.issueDate"
  388. type="date"
  389. placeholder="请选择"
  390. value-format="YYYY-MM-DD"
  391. style="width: 100%"
  392. />
  393. </el-form-item>
  394. </el-col>
  395. </el-row>
  396. </el-form>
  397. <template #icon="{ isActive }">
  398. <span class="icon">
  399. <span class="icon-ele">
  400. {{ isActive ? '收起' : '展开' }}
  401. </span>
  402. </span>
  403. </template>
  404. </el-collapse-item>
  405. </div>
  406. <div id="ower">
  407. <el-collapse-item name="ower">
  408. <template #title>
  409. <span class="title">
  410. 车主信息
  411. <span class="switch" @click.stop="handleSwitch('ower')">
  412. <span :class="{'write':owerSwitch,'identify':!owerSwitch}">证件识别</span>
  413. <span :class="{'identify':owerSwitch,'write':!owerSwitch}">手动填写</span>
  414. </span>
  415. </span>
  416. </template>
  417. <el-form ref="owerFormRefs" v-if="owerSwitch" :model="owerForm" :rules="owerRules">
  418. <el-row :gutter="24">
  419. <el-col :span="5">
  420. <el-form-item label="身份证正面页" class="white-m-p24">
  421. <el-upload v-if="!sfzFront" @change="uploadImage($event, 'sfzf')" :auto-upload="false" :show-file-list="false">
  422. <div class="upload-box">
  423. <div class="icon-box">
  424. <el-icon style="font-size: 20px"><Camera /></el-icon>
  425. <p>传人像面识别</p>
  426. </div>
  427. </div>
  428. </el-upload>
  429. <el-upload v-else :auto-upload="false" :show-file-list="false" @change="uploadImage($event, 'sfzf')">
  430. <div class="upload-box">
  431. <img class="upload-image" :src="sfzFront"/>
  432. </div>
  433. </el-upload>
  434. </el-form-item>
  435. <el-form-item label="身份证背面页" class="white-m-p24">
  436. <el-upload v-if="!sfzBack" @change="uploadImage($event, 'sfzb')" :auto-upload="false" :show-file-list="false">
  437. <div class="upload-box">
  438. <div class="icon-box">
  439. <el-icon style="font-size: 20px"><Camera /></el-icon>
  440. <p>传国徽面识别</p>
  441. </div>
  442. </div>
  443. </el-upload>
  444. <el-upload v-else :auto-upload="false" :show-file-list="false" @change="uploadImage($event, 'sfzb')">
  445. <div class="upload-box">
  446. <img class="upload-image" :src="sfzBack"/>
  447. </div>
  448. </el-upload>
  449. </el-form-item>
  450. </el-col>
  451. <el-divider direction="vertical"></el-divider>
  452. <el-col :span="18">
  453. <el-row :gutter="20">
  454. <el-col class="col-m-b-6" :span="8">
  455. <el-form-item label="车主类型" prop="personType">
  456. <el-select v-model="owerForm.personType" placeholder="请选择">
  457. <el-option label="个人" value="1" key="1"></el-option>
  458. <el-option label="法人" value="2" key="2"></el-option>
  459. </el-select>
  460. </el-form-item>
  461. </el-col>
  462. <el-col class="col-m-b-6" :span="8">
  463. <el-form-item label="车主姓名" prop="name">
  464. <el-input v-model="owerForm.name" placeholder="输入车主姓名"></el-input>
  465. </el-form-item>
  466. </el-col>
  467. <el-col class="col-m-b-6" :span="8">
  468. <el-form-item label="车主手机号" prop="mobile">
  469. <el-input v-model="owerForm.mobile" placeholder="请输入车主手机号"></el-input>
  470. </el-form-item>
  471. </el-col>
  472. <el-col class="col-m-b-6" :span="8">
  473. <el-form-item label="地址" prop="addr">
  474. <el-input v-model="owerForm.addr" placeholder="请输入地址"></el-input>
  475. </el-form-item>
  476. </el-col>
  477. <el-col v-if="owerForm.personType === '1'" class="col-m-b-6" :span="8">
  478. <el-form-item label="证件号码" prop="identifyNumber">
  479. <el-input v-model="owerForm.identifyNumber" placeholder="请输入证件号码" @change="getAgeByIdCard($event, owerForm)"></el-input>
  480. </el-form-item>
  481. </el-col>
  482. <el-col v-else class="col-m-b-6" :span="8">
  483. <el-form-item label="统一社会信用代码" prop="identifyNumber">
  484. <el-input v-model="owerForm.identifyNumber" placeholder="请输入证件号码"></el-input>
  485. </el-form-item>
  486. </el-col>
  487. <el-col class="col-m-b-6" :span="8">
  488. <el-form-item prop="identifyValidDate" label="有效期起期">
  489. <el-date-picker
  490. v-model="owerForm.identifyValidDate"
  491. type="date"
  492. placeholder="请选择"
  493. value-format="YYYY-MM-DD"
  494. style="width: 100%"
  495. />
  496. </el-form-item>
  497. </el-col>
  498. <el-col class="col-m-b-6" :span="8">
  499. <el-form-item prop="identifyValidEndDate" label="有效期止期">
  500. <el-date-picker
  501. v-model="owerForm.identifyValidEndDate"
  502. type="date"
  503. placeholder="请选择"
  504. value-format="YYYY-MM-DD"
  505. style="width: 100%"
  506. />
  507. </el-form-item>
  508. </el-col>
  509. <el-col class="col-m-b-6" :span="8">
  510. <el-form-item label="年龄" prop="age">
  511. <el-input v-model.number="owerForm.age" placeholder="请输入年龄"></el-input>
  512. </el-form-item>
  513. </el-col>
  514. <el-col class="col-m-b-6" :span="8">
  515. <el-form-item label="性别" prop="gender">
  516. <el-select v-model="owerForm.gender" placeholder="请选择">
  517. <el-option label="男" value="1" key="1"></el-option>
  518. <el-option label="女" value="2" key="2"></el-option>
  519. </el-select>
  520. </el-form-item>
  521. </el-col>
  522. <el-col class="col-m-b-6" :span="8">
  523. <el-form-item label="电子邮箱" prop="email">
  524. <el-input v-model="owerForm.email" placeholder="请输入电子邮箱"></el-input>
  525. </el-form-item>
  526. </el-col>
  527. </el-row>
  528. </el-col>
  529. </el-row>
  530. </el-form>
  531. <el-form ref="writeOwerFormRefs" v-else :model="writeOwerForm" :rules="writeOwerRules">
  532. <el-row :gutter="20">
  533. <el-col class="col-m-b-6" :span="6">
  534. <el-form-item class="white-m-p24" label="车主类型" prop="personType">
  535. <el-select v-model="writeOwerForm.personType" placeholder="请选择">
  536. <el-option label="个人" value="1" key="1"></el-option>
  537. <el-option label="法人" value="2" key="2"></el-option>
  538. </el-select>
  539. </el-form-item>
  540. </el-col>
  541. <el-col class="col-m-b-6" :span="6">
  542. <el-form-item label="车主姓名" prop="name">
  543. <el-input v-model="writeOwerForm.name" placeholder="输入车主姓名"></el-input>
  544. </el-form-item>
  545. </el-col>
  546. <el-col class="col-m-b-6" :span="6">
  547. <el-form-item label="车主手机号" prop="mobile">
  548. <el-input v-model="writeOwerForm.mobile" placeholder="请输入车主手机号">
  549. <template #append>
  550. <el-button icon="Search" />
  551. </template>
  552. </el-input>
  553. </el-form-item>
  554. </el-col>
  555. <el-col class="col-m-b-6" :span="6">
  556. <el-form-item label="地址" prop="addr">
  557. <el-input v-model="writeOwerForm.addr" placeholder="请输入地址"></el-input>
  558. </el-form-item>
  559. </el-col>
  560. <el-col v-if="writeOwerForm.personType === '1'" class="col-m-b-6" :span="6">
  561. <el-form-item class="white-m-p24" label="证件号码" prop="identifyNumber">
  562. <el-input v-model="writeOwerForm.identifyNumber" placeholder="请输入证件号码" @change="getAgeByIdCard($event, writeOwerForm)"></el-input>
  563. </el-form-item>
  564. </el-col>
  565. <el-col v-else class="col-m-b-6" :span="6">
  566. <el-form-item class="white-m-p24" label="统一社会信用代码" prop="identifyNumber">
  567. <el-input v-model="owerForm.identifyNumber" placeholder="请输入证件号码"></el-input>
  568. </el-form-item>
  569. </el-col>
  570. <el-col class="col-m-b-6" :span="6">
  571. <el-form-item prop="identifyValidDate" label="有效期起期">
  572. <el-date-picker
  573. v-model="writeOwerForm.identifyValidDate"
  574. type="date"
  575. placeholder="请选择"
  576. value-format="YYYY-MM-DD"
  577. style="width: 100%"
  578. />
  579. </el-form-item>
  580. </el-col>
  581. <el-col class="col-m-b-6" :span="6">
  582. <el-form-item prop="identifyValidEndDate" label="有效期止期">
  583. <el-date-picker
  584. v-model="writeOwerForm.identifyValidEndDate"
  585. type="date"
  586. placeholder="请选择"
  587. value-format="YYYY-MM-DD"
  588. style="width: 100%"
  589. />
  590. </el-form-item>
  591. </el-col>
  592. <el-col class="col-m-b-6" :span="6">
  593. <el-form-item label="年龄" prop="age">
  594. <el-input v-model.number="writeOwerForm.age" placeholder="请输入年龄"></el-input>
  595. </el-form-item>
  596. </el-col>
  597. <el-col class="col-m-b-6" :span="6">
  598. <el-form-item class="white-m-p24" label="性别" prop="gender">
  599. <el-select v-model="writeOwerForm.gender" placeholder="请选择">
  600. <el-option label="男" value="1" key="1"></el-option>
  601. <el-option label="女" value="2" key="2"></el-option>
  602. </el-select>
  603. </el-form-item>
  604. </el-col>
  605. <el-col class="col-m-b-6" :span="6">
  606. <el-form-item label="电子邮箱" prop="email">
  607. <el-input v-model="writeOwerForm.email" placeholder="请输入电子邮箱"></el-input>
  608. </el-form-item>
  609. </el-col>
  610. </el-row>
  611. </el-form>
  612. <template #icon="{ isActive }">
  613. <span class="icon">
  614. <span class="icon-ele">
  615. {{ isActive ? '收起' : '展开' }}
  616. </span>
  617. </span>
  618. </template>
  619. </el-collapse-item>
  620. <el-collapse-item name="ower1">
  621. <template #title>
  622. <span class="title">
  623. 投保人信息
  624. <span class="ordinary" :class="{'active': item.checked}" v-for="(item, index) in btns.ower1" :key="item" @click.stop="handleChange(item, 'ower1')">
  625. {{ item.text }}
  626. </span>
  627. <span class="switch" v-if="!btns.ower1Show" @click.stop="handleSwitch('ower1')">
  628. <span :class="{'write':ower1Switch,'identify':!ower1Switch}">证件识别</span>
  629. <span :class="{'identify':ower1Switch,'write':!ower1Switch}">手动填写</span>
  630. </span>
  631. </span>
  632. </template>
  633. <el-form ref="ower1FormRefs" v-if="ower1Switch&&!btns.ower1Show" :model="ower1Form" :rules="ower1Rules">
  634. <el-row :gutter="24">
  635. <el-col :span="5">
  636. <el-form-item label="身份证正面页" class="white-m-p24">
  637. <el-upload v-if="!sfz1Front" @change="uploadImage($event, 'sfzf1')" :auto-upload="false" :show-file-list="false">
  638. <div class="upload-box">
  639. <div class="icon-box">
  640. <el-icon style="font-size: 20px"><Camera /></el-icon>
  641. <p>传人像面识别</p>
  642. </div>
  643. </div>
  644. </el-upload>
  645. <el-upload v-else :auto-upload="false" :show-file-list="false" @change="uploadImage($event, 'sfzf1')">
  646. <div class="upload-box">
  647. <img class="upload-image" :src="sfz1Front"/>
  648. </div>
  649. </el-upload>
  650. </el-form-item>
  651. <el-form-item label="身份证背面页" class="white-m-p24">
  652. <el-upload v-if="!sfz1Back" @change="uploadImage($event, 'sfzb1')" :auto-upload="false" :show-file-list="false">
  653. <div class="upload-box">
  654. <div class="icon-box">
  655. <el-icon style="font-size: 20px"><Camera /></el-icon>
  656. <p>传国徽面识别</p>
  657. </div>
  658. </div>
  659. </el-upload>
  660. <el-upload v-else :auto-upload="false" :show-file-list="false" @change="uploadImage($event, 'sfzb1')">
  661. <div class="upload-box">
  662. <img class="upload-image" :src="sfz1Back"/>
  663. </div>
  664. </el-upload>
  665. </el-form-item>
  666. </el-col>
  667. <el-divider direction="vertical"></el-divider>
  668. <el-col :span="18">
  669. <el-row :gutter="20">
  670. <el-col class="col-m-b-6" :span="8">
  671. <el-form-item label="投保人类型" prop="personType">
  672. <el-select v-model="ower1Form.personType" placeholder="请选择">
  673. <el-option label="个人" value="1" key="1"></el-option>
  674. <el-option label="法人" value="2" key="2"></el-option>
  675. </el-select>
  676. </el-form-item>
  677. </el-col>
  678. <el-col class="col-m-b-6" :span="8">
  679. <el-form-item label="投保人姓名" prop="name">
  680. <el-input v-model="ower1Form.name" placeholder="输入车主姓名"></el-input>
  681. </el-form-item>
  682. </el-col>
  683. <!-- <el-col class="col-m-b-6" :span="8">
  684. <el-form-item label="投保人类型" prop="b">
  685. <el-select v-model="owerForm.b" placeholder="请选择">
  686. <el-option label="类型1" value="1" key="1"></el-option>
  687. </el-select>
  688. </el-form-item>
  689. </el-col>-->
  690. <el-col v-if="ower1Form.personType === '1'" class="col-m-b-6" :span="8">
  691. <el-form-item label="证件号码" prop="identifyNumber">
  692. <el-input v-model="ower1Form.identifyNumber" placeholder="请输入证件号码" @change="getAgeByIdCard($event, ower1Form)"></el-input>
  693. </el-form-item>
  694. </el-col>
  695. <el-col v-else class="col-m-b-6" :span="8">
  696. <el-form-item label="统一社会信用代码" prop="identifyNumber">
  697. <el-input v-model="ower1Form.identifyNumber" placeholder="请输入证件号码"></el-input>
  698. </el-form-item>
  699. </el-col>
  700. <el-col class="col-m-b-6" :span="8">
  701. <el-form-item label="年龄" prop="age">
  702. <el-input v-model.number="ower1Form.age" placeholder="请输入年龄"></el-input>
  703. </el-form-item>
  704. </el-col>
  705. <el-col class="col-m-b-6" :span="8">
  706. <el-form-item label="性别" prop="gender">
  707. <el-select v-model="ower1Form.gender" placeholder="请选择">
  708. <el-option label="男" value="1" key="1"></el-option>
  709. <el-option label="女" value="2" key="2"></el-option>
  710. </el-select>
  711. </el-form-item>
  712. </el-col>
  713. <el-col class="col-m-b-6" :span="8">
  714. <el-form-item label="车主手机号" prop="mobile">
  715. <el-input v-model="ower1Form.mobile" placeholder="请输入车主手机号"></el-input>
  716. </el-form-item>
  717. </el-col>
  718. <el-col class="col-m-b-6" :span="8">
  719. <el-form-item label="地址" prop="addr">
  720. <el-input v-model="ower1Form.addr" placeholder="请输入地址"></el-input>
  721. </el-form-item>
  722. </el-col>
  723. <el-col class="col-m-b-6" :span="8">
  724. <el-form-item label="电子邮箱" prop="email">
  725. <el-input v-model="ower1Form.email" placeholder="请输入电子邮箱"></el-input>
  726. </el-form-item>
  727. </el-col>
  728. <el-col class="col-m-b-6" :span="8">
  729. <el-form-item prop="identifyValidDate" label="有效期起期">
  730. <el-date-picker
  731. v-model="ower1Form.identifyValidDate"
  732. type="date"
  733. placeholder="请选择"
  734. value-format="YYYY-MM-DD"
  735. style="width: 100%"
  736. />
  737. </el-form-item>
  738. </el-col>
  739. <el-col class="col-m-b-6" :span="8">
  740. <el-form-item prop="identifyValidEndDate" label="有效期止期">
  741. <el-date-picker
  742. v-model="ower1Form.identifyValidEndDate"
  743. type="date"
  744. placeholder="请选择"
  745. value-format="YYYY-MM-DD"
  746. style="width: 100%"
  747. />
  748. </el-form-item>
  749. </el-col>
  750. </el-row>
  751. </el-col>
  752. </el-row>
  753. </el-form>
  754. <el-form ref="writeOwer1FormRefs" v-if="!ower1Switch&&!btns.ower1Show" :model="writeOwer1Form" :rules="writeOwer1Rules">
  755. <el-row :gutter="20">
  756. <el-col class="col-m-b-6" :span="6">
  757. <el-form-item class="white-m-p24" label="车主类型" prop="personType">
  758. <el-select v-model="writeOwer1Form.personType" placeholder="请选择">
  759. <el-option label="个人" value="1" key="1"></el-option>
  760. <el-option label="法人" value="2" key="2"></el-option>
  761. </el-select>
  762. </el-form-item>
  763. </el-col>
  764. <el-col class="col-m-b-6" :span="6">
  765. <el-form-item label="投保人姓名" prop="name">
  766. <el-input v-model="writeOwer1Form.name" placeholder="输入车主姓名"></el-input>
  767. </el-form-item>
  768. </el-col>
  769. <!-- <el-col class="col-m-b-6" :span="6">
  770. <el-form-item label="投保人类型" prop="b">
  771. <el-select v-model="writeOwer1Form.b" placeholder="请选择">
  772. <el-option label="类型1" value="1" key="1"></el-option>
  773. </el-select>
  774. </el-form-item>
  775. </el-col>-->
  776. <el-col v-if="writeOwer1Form.personType === '1'" class="col-m-b-6" :span="6">
  777. <el-form-item label="证件号码" prop="identifyNumber">
  778. <el-input v-model="writeOwer1Form.identifyNumber" placeholder="请输入证件号码" @change="getAgeByIdCard($event, writeOwer1Form)"></el-input>
  779. </el-form-item>
  780. </el-col>
  781. <el-col v-else class="col-m-b-6" :span="6">
  782. <el-form-item label="统一社会信用代码" prop="identifyNumber">
  783. <el-input v-model="writeOwer1Form.identifyNumber" placeholder="请输入证件号码"></el-input>
  784. </el-form-item>
  785. </el-col>
  786. <el-col class="col-m-b-6" :span="6">
  787. <el-form-item label="年龄" prop="age">
  788. <el-input v-model.number="writeOwer1Form.age" placeholder="请输入年龄"></el-input>
  789. </el-form-item>
  790. </el-col>
  791. <el-col class="col-m-b-6" :span="6">
  792. <el-form-item class="white-m-p24" label="性别" prop="gender">
  793. <el-select v-model="writeOwer1Form.gender" placeholder="请选择">
  794. <el-option label="男" value="1" key="1"></el-option>
  795. <el-option label="女" value="2" key="2"></el-option>
  796. </el-select>
  797. </el-form-item>
  798. </el-col>
  799. <el-col class="col-m-b-6" :span="6">
  800. <el-form-item label="车主手机号" prop="mobile">
  801. <el-input v-model="writeOwer1Form.mobile" placeholder="请输入车主手机号"></el-input>
  802. </el-form-item>
  803. </el-col>
  804. <el-col class="col-m-b-6" :span="6">
  805. <el-form-item label="地址" prop="addr">
  806. <el-input v-model="writeOwer1Form.addr" placeholder="请输入地址"></el-input>
  807. </el-form-item>
  808. </el-col>
  809. <el-col class="col-m-b-6" :span="6">
  810. <el-form-item label="电子邮箱" prop="email">
  811. <el-input v-model="writeOwer1Form.email" placeholder="请输入电子邮箱"></el-input>
  812. </el-form-item>
  813. </el-col>
  814. <el-col class="col-m-b-6" :span="6">
  815. <el-form-item class="white-m-p24" prop="identifyValidDate" label="有效期起期">
  816. <el-date-picker
  817. v-model="writeOwer1Form.identifyValidDate"
  818. type="date"
  819. placeholder="请选择"
  820. value-format="YYYY-MM-DD"
  821. style="width: 100%"
  822. />
  823. </el-form-item>
  824. </el-col>
  825. <el-col class="col-m-b-6" :span="6">
  826. <el-form-item prop="identifyValidEndDate" label="有效期止期">
  827. <el-date-picker
  828. v-model="writeOwer1Form.identifyValidEndDate"
  829. type="date"
  830. placeholder="请选择"
  831. value-format="YYYY-MM-DD"
  832. style="width: 100%"
  833. />
  834. </el-form-item>
  835. </el-col>
  836. </el-row>
  837. </el-form>
  838. <template #icon="{ isActive }">
  839. <span class="icon">
  840. <span class="icon-ele">
  841. {{ isActive ? '收起' : '展开' }}
  842. </span>
  843. </span>
  844. </template>
  845. </el-collapse-item>
  846. <el-collapse-item name="ower2">
  847. <template #title>
  848. <span class="title">
  849. 被投保人信息
  850. <span class="ordinary" :class="{'active': item.checked}" v-for="(item, index) in btns.ower2" :key="item" @click.stop="handleChange(item, 'ower2')">{{ item.text }}</span>
  851. <span class="switch" v-if="!btns.ower2show" @click.stop="handleSwitch('ower2')">
  852. <span :class="{'write':ower2Switch,'identify':!ower2Switch}">证件识别</span>
  853. <span :class="{'identify':ower2Switch,'write':!ower2Switch}">手动填写</span>
  854. </span>
  855. </span>
  856. </template>
  857. <el-form ref="ower2FormRefs" v-if="ower2Switch&&!btns.ower2show" :model="ower2Form" :rules="ower2Rules">
  858. <el-row :gutter="24">
  859. <el-col :span="5">
  860. <el-form-item label="身份证正面页" class="white-m-p24">
  861. <el-upload v-if="!sfz2Front" @change="uploadImage($event, 'sfzf2')" :auto-upload="false" :show-file-list="false">
  862. <div class="upload-box">
  863. <div class="icon-box">
  864. <el-icon style="font-size: 20px"><Camera /></el-icon>
  865. <p>传人像面识别</p>
  866. </div>
  867. </div>
  868. </el-upload>
  869. <el-upload v-else :auto-upload="false" :show-file-list="false" @change="uploadImage($event, 'sfzf2')">
  870. <div class="upload-box">
  871. <img class="upload-image" :src="sfz2Front"/>
  872. </div>
  873. </el-upload>
  874. </el-form-item>
  875. <el-form-item label="身份证背面页" class="white-m-p24">
  876. <el-upload v-if="!sfz2Back" @change="uploadImage($event, 'sfzb2')" :auto-upload="false" :show-file-list="false">
  877. <div class="upload-box">
  878. <div class="icon-box">
  879. <el-icon style="font-size: 20px"><Camera /></el-icon>
  880. <p>传国徽面识别</p>
  881. </div>
  882. </div>
  883. </el-upload>
  884. <el-upload v-else :auto-upload="false" :show-file-list="false" @change="uploadImage($event, 'sfzb2')">
  885. <div class="upload-box">
  886. <img class="upload-image" :src="sfz2Back"/>
  887. </div>
  888. </el-upload>
  889. </el-form-item>
  890. </el-col>
  891. <el-divider direction="vertical"></el-divider>
  892. <el-col :span="18">
  893. <el-row :gutter="20">
  894. <el-col class="col-m-b-6" :span="8">
  895. <el-form-item label="被投保人类型" prop="personType">
  896. <el-select v-model="ower2Form.personType" placeholder="请选择">
  897. <el-option label="个人" value="1" key="1"></el-option>
  898. <el-option label="法人" value="2" key="2"></el-option>
  899. </el-select>
  900. </el-form-item>
  901. </el-col>
  902. <el-col class="col-m-b-6" :span="8">
  903. <el-form-item label="投保人姓名" prop="name">
  904. <el-input v-model="ower2Form.name" placeholder="输入车主姓名"></el-input>
  905. </el-form-item>
  906. </el-col>
  907. <!-- <el-col class="col-m-b-6" :span="8">
  908. <el-form-item label="投保人类型" prop="b">
  909. <el-select v-model="ower2Form.b" placeholder="请选择">
  910. <el-option label="类型1" value="1" key="1"></el-option>
  911. </el-select>
  912. </el-form-item>
  913. </el-col>-->
  914. <el-col v-if="ower2Form.personType === '1'" class="col-m-b-6" :span="8">
  915. <el-form-item label="证件号码" prop="identifyNumber">
  916. <el-input v-model="ower2Form.identifyNumber" placeholder="请输入证件号码" @change="getAgeByIdCard($event, ower2Form)"></el-input>
  917. </el-form-item>
  918. </el-col>
  919. <el-col v-else class="col-m-b-6" :span="8">
  920. <el-form-item label="统一社会信用代码" prop="identifyNumber">
  921. <el-input v-model="ower2Form.identifyNumber" placeholder="请输入证件号码"></el-input>
  922. </el-form-item>
  923. </el-col>
  924. <el-col class="col-m-b-6" :span="8">
  925. <el-form-item label="年龄" prop="age">
  926. <el-input v-model.number="ower2Form.age" placeholder="请输入年龄"></el-input>
  927. </el-form-item>
  928. </el-col>
  929. <el-col class="col-m-b-6" :span="8">
  930. <el-form-item label="性别" prop="gender">
  931. <el-select v-model="ower2Form.gender" placeholder="请选择">
  932. <el-option label="男" value="1" key="1"></el-option>
  933. <el-option label="女" value="2" key="2"></el-option>
  934. </el-select>
  935. </el-form-item>
  936. </el-col>
  937. <el-col class="col-m-b-6" :span="8">
  938. <el-form-item label="车主手机号" prop="mobile">
  939. <el-input v-model="ower2Form.mobile" placeholder="请输入车主手机号"></el-input>
  940. </el-form-item>
  941. </el-col>
  942. <el-col class="col-m-b-6" :span="8">
  943. <el-form-item label="地址" prop="addr">
  944. <el-input v-model="ower2Form.addr" placeholder="请输入地址"></el-input>
  945. </el-form-item>
  946. </el-col>
  947. <el-col class="col-m-b-6" :span="8">
  948. <el-form-item label="电子邮箱" prop="email">
  949. <el-input v-model="ower2Form.email" placeholder="请输入电子邮箱"></el-input>
  950. </el-form-item>
  951. </el-col>
  952. <el-col class="col-m-b-6" :span="8">
  953. <el-form-item prop="identifyValidDate" label="有效期起期">
  954. <el-date-picker
  955. v-model="ower2Form.identifyValidDate"
  956. type="date"
  957. placeholder="请选择"
  958. value-format="YYYY-MM-DD"
  959. style="width: 100%"
  960. />
  961. </el-form-item>
  962. </el-col>
  963. <el-col class="col-m-b-6" :span="8">
  964. <el-form-item prop="identifyValidEndDate" label="有效期止期">
  965. <el-date-picker
  966. v-model="ower2Form.identifyValidEndDate"
  967. type="date"
  968. placeholder="请选择"
  969. value-format="YYYY-MM-DD"
  970. style="width: 100%"
  971. />
  972. </el-form-item>
  973. </el-col>
  974. </el-row>
  975. </el-col>
  976. </el-row>
  977. </el-form>
  978. <el-form ref="writeOwer2FormRefs" v-if="!ower2Switch&&!btns.ower2show" :model="writeOwer2Form" :rules="writeOwer2Rules">
  979. <el-row :gutter="20">
  980. <el-col class="col-m-b-6" :span="6">
  981. <el-form-item class="white-m-p24" label="被投保人类型" prop="personType">
  982. <el-select v-model="writeOwer2Form.personType" placeholder="请选择">
  983. <el-option label="个人" value="1" key="1"></el-option>
  984. <el-option label="法人" value="2" key="2"></el-option>
  985. </el-select>
  986. </el-form-item>
  987. </el-col>
  988. <el-col class="col-m-b-6" :span="6">
  989. <el-form-item label="投保人姓名" prop="name">
  990. <el-input v-model="writeOwer2Form.name" placeholder="输入车主姓名"></el-input>
  991. </el-form-item>
  992. </el-col>
  993. <!-- <el-col class="col-m-b-6" :span="6">
  994. <el-form-item label="投保人类型" prop="b">
  995. <el-select v-model="writeOwer2Form.b" placeholder="请选择">
  996. <el-option label="类型1" value="1" key="1"></el-option>
  997. </el-select>
  998. </el-form-item>
  999. </el-col>-->
  1000. <el-col v-if="writeOwer2Form.personType === '1'" class="col-m-b-6" :span="6">
  1001. <el-form-item label="证件号码" prop="identifyNumber">
  1002. <el-input v-model="writeOwer2Form.identifyNumber" placeholder="请输入证件号码" @change="getAgeByIdCard($event, writeOwer2Form)"></el-input>
  1003. </el-form-item>
  1004. </el-col>
  1005. <el-col v-else class="col-m-b-6" :span="6">
  1006. <el-form-item label="证件号码" prop="identifyNumber">
  1007. <el-input v-model="writeOwer2Form.identifyNumber" placeholder="请输入证件号码"></el-input>
  1008. </el-form-item>
  1009. </el-col>
  1010. <el-col class="col-m-b-6" :span="6">
  1011. <el-form-item label="年龄" prop="age">
  1012. <el-input v-model.number="writeOwer2Form.age" placeholder="请输入年龄"></el-input>
  1013. </el-form-item>
  1014. </el-col>
  1015. <el-col class="col-m-b-6" :span="6">
  1016. <el-form-item class="white-m-p24" label="性别" prop="gender">
  1017. <el-select v-model="writeOwer2Form.gender" placeholder="请选择">
  1018. <el-option label="男" value="1" key="1"></el-option>
  1019. <el-option label="女" value="2" key="2"></el-option>
  1020. </el-select>
  1021. </el-form-item>
  1022. </el-col>
  1023. <el-col class="col-m-b-6" :span="6">
  1024. <el-form-item label="车主手机号" prop="mobile">
  1025. <el-input v-model="writeOwer2Form.mobile" placeholder="请输入车主手机号"></el-input>
  1026. </el-form-item>
  1027. </el-col>
  1028. <el-col class="col-m-b-6" :span="6">
  1029. <el-form-item label="地址" prop="addr">
  1030. <el-input v-model="writeOwer2Form.addr" placeholder="请输入地址"></el-input>
  1031. </el-form-item>
  1032. </el-col>
  1033. <el-col class="col-m-b-6" :span="6">
  1034. <el-form-item label="电子邮箱" prop="email">
  1035. <el-input v-model="writeOwer2Form.email" placeholder="请输入电子邮箱"></el-input>
  1036. </el-form-item>
  1037. </el-col>
  1038. <el-col class="col-m-b-6" :span="6">
  1039. <el-form-item class="white-m-p24" prop="identifyValidDate" label="有效期起期">
  1040. <el-date-picker
  1041. v-model="writeOwer2Form.identifyValidDate"
  1042. type="date"
  1043. placeholder="请选择"
  1044. value-format="YYYY-MM-DD"
  1045. style="width: 100%"
  1046. />
  1047. </el-form-item>
  1048. </el-col>
  1049. <el-col class="col-m-b-6" :span="6">
  1050. <el-form-item prop="identifyValidEndDate" label="有效期止期">
  1051. <el-date-picker
  1052. v-model="writeOwer2Form.identifyValidEndDate"
  1053. type="date"
  1054. placeholder="请选择"
  1055. value-format="YYYY-MM-DD"
  1056. style="width: 100%"
  1057. />
  1058. </el-form-item>
  1059. </el-col>
  1060. </el-row>
  1061. </el-form>
  1062. <template #icon="{ isActive }">
  1063. <span class="icon">
  1064. <span class="icon-ele">
  1065. {{ isActive ? '收起' : '展开' }}
  1066. </span>
  1067. </span>
  1068. </template>
  1069. </el-collapse-item>
  1070. </div>
  1071. <div id="insurance">
  1072. <el-form :model="insuranceForm" :rules="insuranceRules">
  1073. <el-collapse-item name="insurance">
  1074. <template #title>
  1075. <span class="title">险种信息</span>
  1076. </template>
  1077. <div class="white-m-p24 insuranceInfo">
  1078. <span class="type-title">险种类型:</span>
  1079. <div style="width: calc(100% - 80px)">
  1080. <el-form-item label="" prop="productId">
  1081. <el-radio-group v-model="insuranceForm.productId">
  1082. <el-radio v-for="item in optionObj.insuranceType" :key="item.value" :value="item.value">{{ item.label }}</el-radio>
  1083. </el-radio-group>
  1084. </el-form-item>
  1085. <el-table
  1086. :data="insuranceData"
  1087. style="width: 1200px"
  1088. >
  1089. <el-table-column label="险种名称" prop="kindName"></el-table-column>
  1090. <el-table-column label="保额">
  1091. <template #default="scope">
  1092. <el-select v-model="scope.row.amount" style="width: 150px">
  1093. <el-option v-for="(item, index) in scope.row.options" :label="item.label" :value="item.id"></el-option>
  1094. </el-select>
  1095. </template>
  1096. </el-table-column>
  1097. <el-table-column label="操作">
  1098. <el-button link type="primary" icon="delete">删除</el-button>
  1099. </el-table-column>
  1100. </el-table>
  1101. <el-popover :visible="insuranceShow" placement="bottom-start" :width="400" trigger="click">
  1102. <template #reference>
  1103. <div class="addData" @click="handleInsurance">
  1104. <el-icon><Plus /></el-icon>添加险种
  1105. </div>
  1106. </template>
  1107. <insuranceSelect ref="InsuranceSelectRef" @close="handleInsuranceSelect"></insuranceSelect>
  1108. </el-popover>
  1109. </div>
  1110. </div>
  1111. <div class="white-m-p24 insuranceInfo">
  1112. <span class="type-title">车船税:</span>
  1113. <div style="width: calc(100% - 80px)">
  1114. <el-form-item label="" prop="taxRelifFlag">
  1115. <el-select v-model="insuranceForm.taxRelifFlag" style="width: 350px">
  1116. <el-option label="正常缴税" value="1" key="1"></el-option>
  1117. <el-option label="免税" value="2" key="2"></el-option>
  1118. <el-option label="减税" value="3" key="3"></el-option>
  1119. <el-option label="完税" value="4" key="4"></el-option>
  1120. </el-select>
  1121. </el-form-item>
  1122. <el-row :gutter="20">
  1123. <el-col v-if="insuranceForm.taxRelifFlag === '1'" :span="6">
  1124. <el-form-item v-if="owerForm.personType === '1'" label="纳税人识别号" prop="identifyNumber">
  1125. <el-input v-model="insuranceForm.identifyNumber" placeholder="请输入纳税人识别号"></el-input>
  1126. </el-form-item>
  1127. <el-form-item v-else label="纳税人识别号" prop="organizationCode">
  1128. <el-input v-model="insuranceForm.organizationCode" placeholder="请输入纳税人识别号"></el-input>
  1129. </el-form-item>
  1130. </el-col>
  1131. <el-col v-if="insuranceForm.taxRelifFlag === '1'" :span="6">
  1132. <el-form-item label="纳税人名称" prop="taxpayerName">
  1133. <el-input v-model="insuranceForm.taxpayerName" placeholder="请输入纳税人名称"></el-input>
  1134. </el-form-item>
  1135. </el-col>
  1136. <el-col v-if="insuranceForm.taxRelifFlag === '1'" :span="6">
  1137. <el-form-item label="证件类型" prop="taxpayerIdentifier">
  1138. <el-select v-model="insuranceForm.taxpayerIdentifier" placeholder="请选择">
  1139. <el-option v-for="(item, index) in optionObj.taxpayerIdentifier" :label="item.label" :value="item.value" :key="item.value"></el-option>
  1140. </el-select>
  1141. </el-form-item>
  1142. </el-col>
  1143. <el-col v-if="insuranceForm.taxRelifFlag === '2' || insuranceForm.taxRelifFlag === '3'" :span="6">
  1144. <el-form-item label="减免税凭证号" prop="extendChar2">
  1145. <el-input v-model="insuranceForm.extendChar2" placeholder="请输入减免税凭证号"></el-input>
  1146. </el-form-item>
  1147. </el-col>
  1148. <el-col v-if="insuranceForm.taxRelifFlag === '2' || insuranceForm.taxRelifFlag === '3'" :span="6">
  1149. <el-form-item label="减免税原因" prop="relifReason">
  1150. <el-select v-model="insuranceForm.relifReason" placeholder="请选择">
  1151. <el-option label="原因1" value="1" key="1"></el-option>
  1152. </el-select>
  1153. </el-form-item>
  1154. </el-col>
  1155. <el-col v-if="insuranceForm.taxRelifFlag === '4'" :span="6">
  1156. <el-form-item label="完税凭证号" prop="paidFreeCertificate">
  1157. <el-input v-model="insuranceForm.paidFreeCertificate" placeholder="请输入完税凭证号"></el-input>
  1158. </el-form-item>
  1159. </el-col>
  1160. <el-col v-if="insuranceForm.taxRelifFlag === '2' || insuranceForm.taxRelifFlag === '3' || insuranceForm.taxRelifFlag === '4'" :span="6">
  1161. <el-form-item label="税务机关代码" prop="taxComCode">
  1162. <el-input v-model="insuranceForm.taxComCode" placeholder="请输入税务机关代码"></el-input>
  1163. </el-form-item>
  1164. </el-col>
  1165. <el-col v-if="insuranceForm.taxRelifFlag === '2' || insuranceForm.taxRelifFlag === '3' || insuranceForm.taxRelifFlag === '4'" :span="6">
  1166. <el-form-item label="税务机关名称" prop="taxComName">
  1167. <el-input v-model="insuranceForm.taxComName" placeholder="请输入税务机关名称"></el-input>
  1168. </el-form-item>
  1169. </el-col>
  1170. <el-col v-if="insuranceForm.taxRelifFlag === '3'" :span="6">
  1171. <el-form-item label="减税比例" prop="taxRelief">
  1172. <el-input v-model="insuranceForm.taxRelief" placeholder="请输入减税比例"></el-input>
  1173. </el-form-item>
  1174. </el-col>
  1175. <el-col v-if="insuranceForm.taxRelifFlag === '4'" :span="6">
  1176. <el-form-item label="完税凭证填发日期" prop="taxDocumentDate">
  1177. <el-date-picker
  1178. v-model="insuranceForm.taxDocumentDate"
  1179. type="date"
  1180. placeholder="请选择"
  1181. format="YYYY-MM-DD"
  1182. value-format="YYYY-MM-DD"
  1183. style="width: 100%"
  1184. />
  1185. </el-form-item>
  1186. </el-col>
  1187. <el-col v-if="insuranceForm.taxRelifFlag === '4'" :span="6">
  1188. <el-form-item label="完税凭证地区" prop="taxPaidAreaCode">
  1189. <el-select v-model="insuranceForm.taxPaidAreaCode" placeholder="请选择">
  1190. <el-option label="类型1" value="1" key="1"></el-option>
  1191. </el-select>
  1192. </el-form-item>
  1193. </el-col>
  1194. </el-row>
  1195. </div>
  1196. </div>
  1197. <div class="white-m-p24 insuranceInfo">
  1198. <span class="type-title">起保时间:</span>
  1199. <div style="width: calc(100% - 80px)">
  1200. <div class="insurance-jq">
  1201. <span>交强险</span>
  1202. <span class="checkbox" :class="{'cehcked': item.checked}" v-for="item in jqWork" :key="item" @click="JQChange(item)">{{ item.text }}</span>
  1203. <div class="time">
  1204. <el-form-item prop="jqStart" label="">
  1205. <el-date-picker
  1206. v-model="insuranceForm.jqStart"
  1207. type="datetime"
  1208. placeholder="请选择"
  1209. value-format="YYYY-MM-DD HH:mm:ss"
  1210. style="width: 100%"
  1211. />
  1212. </el-form-item>
  1213. &nbsp;&nbsp;&nbsp;至&nbsp;&nbsp;&nbsp;
  1214. <el-form-item prop="jqEnd" label="">
  1215. <el-date-picker
  1216. v-model="insuranceForm.jqEnd"
  1217. type="datetime"
  1218. placeholder="请选择"
  1219. value-format="YYYY-MM-DD HH:mm:ss"
  1220. style="width: 100%"
  1221. />
  1222. </el-form-item>
  1223. </div>
  1224. </div>
  1225. <div class="insurance-jq">
  1226. <span>商业险</span>
  1227. <span class="checkbox" :class="{'cehcked': item.checked}" v-for="item in syWork" :key="item" @click="SYChange(item)">{{ item.text }}</span>
  1228. <div class="time">
  1229. <el-form-item prop="syStart" label="">
  1230. <el-date-picker
  1231. v-model="insuranceForm.syStart"
  1232. type="datetime"
  1233. placeholder="请选择"
  1234. value-format="YYYY-MM-DD HH:mm:ss"
  1235. style="width: 100%"
  1236. />
  1237. </el-form-item>
  1238. &nbsp;&nbsp;&nbsp;至&nbsp;&nbsp;&nbsp;
  1239. <el-form-item prop="syEnd" label="">
  1240. <el-date-picker
  1241. v-model="insuranceForm.syEnd"
  1242. type="datetime"
  1243. placeholder="请选择"
  1244. value-format="YYYY-MM-DD HH:mm:ss"
  1245. style="width: 100%"
  1246. />
  1247. </el-form-item>
  1248. </div>
  1249. </div>
  1250. </div>
  1251. </div>
  1252. <template #icon="{ isActive }">
  1253. <span class="icon">
  1254. <span class="icon-ele">
  1255. {{ isActive ? '收起' : '展开' }}
  1256. </span>
  1257. </span>
  1258. </template>
  1259. </el-collapse-item>
  1260. </el-form>
  1261. </div>
  1262. <div id="quote">
  1263. <el-collapse-item name="quote">
  1264. <template #title>
  1265. <span class="title">投保信息</span>
  1266. </template>
  1267. <el-form ref="quoteFormRefs" :model="quoteForm" :rules="quoteRules">
  1268. <el-row :gutter="20">
  1269. <el-col :span="24">
  1270. <el-form-item class="white-m-p24" label="车辆投保信息" prop="transfer">
  1271. <el-radio-group v-model="quoteForm.transfer">
  1272. <el-radio value="1">是否过户车</el-radio>
  1273. <el-radio value="2">商业险是否过户</el-radio>
  1274. <!-- <el-radio value="3">是否脱保</el-radio>
  1275. <el-radio value="4">是否二手车</el-radio>-->
  1276. </el-radio-group>
  1277. </el-form-item>
  1278. </el-col>
  1279. <el-col :span="6">
  1280. <el-form-item class="white-m-p24" label="保险公司" prop="companyId">
  1281. <el-select v-model="quoteForm.companyId" placeholder="请选择" filterable>
  1282. <el-option v-for="item in bankOption" :key="item.id" :value="item.id" :label="item.name"></el-option>
  1283. </el-select>
  1284. </el-form-item>
  1285. </el-col>
  1286. <el-col :span="6">
  1287. <el-form-item label="签单日期" prop="signingTime">
  1288. <el-date-picker
  1289. v-model="quoteForm.signingTime"
  1290. type="date"
  1291. placeholder="请选择"
  1292. value-format="YYYY-MM-DD"
  1293. style="width: 100%"
  1294. />
  1295. </el-form-item>
  1296. </el-col>
  1297. <el-col :span="6">
  1298. <el-form-item label="评分" prop="scope">
  1299. <el-input v-model="quoteForm.scope" placeholder="请输入评分"></el-input>
  1300. </el-form-item>
  1301. </el-col>
  1302. <el-col :span="6">
  1303. <el-form-item label="车船税" prop="taxPremium">
  1304. <el-input v-model="quoteForm.taxPremium" placeholder="请输入车船税">
  1305. <template #append>
  1306. <span>元</span>
  1307. </template>
  1308. </el-input>
  1309. </el-form-item>
  1310. </el-col>
  1311. <el-col :span="6">
  1312. <el-form-item class="white-m-p24" label="交强险保单号" prop="jqApplyNo">
  1313. <el-input v-model="quoteForm.jqApplyNo" placeholder="请输入交强险保单号"></el-input>
  1314. </el-form-item>
  1315. </el-col>
  1316. <el-col :span="6">
  1317. <el-form-item label="交强险续保" prop="jqRenewal">
  1318. <el-select v-model="quoteForm.jqRenewal" placeholder="请选择">
  1319. <el-option label="是" value="1" key="1"></el-option>
  1320. <el-option label="否" value="0" key="0"></el-option>
  1321. </el-select>
  1322. </el-form-item>
  1323. </el-col>
  1324. <el-col :span="6">
  1325. <el-form-item label="交强险保费" prop="jqPremium">
  1326. <el-input v-model="quoteForm.jqPremium" placeholder="请输入交强险保费">
  1327. <template #append>
  1328. <span>元</span>
  1329. </template>
  1330. </el-input>
  1331. </el-form-item>
  1332. </el-col>
  1333. <el-col :span="6">
  1334. <el-form-item label="驾意险保费" prop="jyPremium">
  1335. <el-input v-model="quoteForm.jyPremium" placeholder="请输入驾意险保费">
  1336. <template #append>
  1337. <span>元</span>
  1338. </template>
  1339. </el-input>
  1340. </el-form-item>
  1341. </el-col>
  1342. <el-col :span="6">
  1343. <el-form-item class="white-m-p24" label="商业险保单号" prop="syPolicyNo">
  1344. <el-input v-model="quoteForm.syPolicyNo" placeholder="请输入商业险保单号"></el-input>
  1345. </el-form-item>
  1346. </el-col>
  1347. <el-col :span="6">
  1348. <el-form-item label="商业险续保" prop="syRenewal">
  1349. <el-select v-model="quoteForm.syRenewal" placeholder="请选择">
  1350. <el-option label="是" value="1" key="1"></el-option>
  1351. <el-option label="否" value="0" key="0"></el-option>
  1352. </el-select>
  1353. </el-form-item>
  1354. </el-col>
  1355. <el-col :span="6">
  1356. <el-form-item label="商业险保费" prop="syPremium">
  1357. <el-input v-model="quoteForm.syPremium" placeholder="请输入商业险保费">
  1358. <template #append>
  1359. <span>元</span>
  1360. </template>
  1361. </el-input>
  1362. </el-form-item>
  1363. </el-col>
  1364. <el-col :span="6">
  1365. <el-form-item label="总保费" prop="sumPremium">
  1366. <el-input v-model="quoteForm.sumPremium" placeholder="请输入总保费">
  1367. <template #append>
  1368. <span>元</span>
  1369. </template>
  1370. </el-input>
  1371. </el-form-item>
  1372. </el-col>
  1373. </el-row>
  1374. </el-form>
  1375. <template #icon="{ isActive }">
  1376. <span class="icon">
  1377. <el-button link type="primary" icon="Camera" @click.stop="handleUpload">影像上传</el-button>&nbsp;
  1378. </span>
  1379. </template>
  1380. </el-collapse-item>
  1381. </div>
  1382. <div id="history">
  1383. <el-collapse-item name="history1">
  1384. <template #title>
  1385. <span class="title">费用信息</span>
  1386. </template>
  1387. <el-form :model="historyForm" :rules="historyRules">
  1388. <el-row :gutter="20">
  1389. <el-col :span="8">
  1390. <el-form-item class="white-m-p24" label="报价协议" prop="a">
  1391. <el-select v-model="historyForm.a">
  1392. <el-option label="协议1" value="1" key="1"></el-option>
  1393. </el-select>
  1394. </el-form-item>
  1395. </el-col>
  1396. <el-col :span="8">
  1397. <el-form-item label="是否现询" prop="costFlag">
  1398. <el-select v-model="historyForm.costFlag">
  1399. <el-option label="是" value="1" key="1"></el-option>
  1400. <el-option label="否" value="2" key="2"></el-option>
  1401. </el-select>
  1402. </el-form-item>
  1403. </el-col>
  1404. <el-col :span="8">
  1405. <el-form-item label="非现询费用" prop="c">
  1406. <el-input placeholder="请输入" v-model="historyForm.c"></el-input>
  1407. </el-form-item>
  1408. </el-col>
  1409. <el-col :span="8">
  1410. <el-form-item class="white-m-p24" label="交强险总比例" prop="jqOtherCostsProportion">
  1411. <el-input v-model="historyForm.jqOtherCostsProportion" >
  1412. <template #append>%</template>
  1413. </el-input>
  1414. </el-form-item>
  1415. </el-col>
  1416. <el-col :span="8">
  1417. <el-form-item label="商业险总比例" prop="syOtherCostsProportion">
  1418. <el-input v-model="historyForm.syOtherCostsProportion" >
  1419. <template #append>%</template>
  1420. </el-input>
  1421. </el-form-item>
  1422. </el-col>
  1423. <el-col :span="8">
  1424. <el-form-item label="驾意险总比例" prop="f">
  1425. <el-input v-model="historyForm.f" >
  1426. <template #append>%</template>
  1427. </el-input>
  1428. </el-form-item>
  1429. </el-col>
  1430. <el-col :span="8">
  1431. <el-form-item class="white-m-p24" label="交强险出口比例" prop="g">
  1432. <el-input v-model="historyForm.g" >
  1433. <template #append>%</template>
  1434. </el-input>
  1435. </el-form-item>
  1436. </el-col>
  1437. <el-col :span="8">
  1438. <el-form-item label="商业险出口比例" prop="h">
  1439. <el-input v-model="historyForm.h" >
  1440. <template #append>%</template>
  1441. </el-input>
  1442. </el-form-item>
  1443. </el-col>
  1444. <el-col :span="8">
  1445. <el-form-item label="驾意险出口比例" prop="i">
  1446. <el-input v-model="historyForm.i" >
  1447. <template #append>%</template>
  1448. </el-input>
  1449. </el-form-item>
  1450. </el-col>
  1451. </el-row>
  1452. </el-form>
  1453. <template #icon="{ isActive }">
  1454. <span class="icon">
  1455. <span class="icon-ele">
  1456. {{ isActive ? '收起' : '展开' }}
  1457. </span>
  1458. </span>
  1459. </template>
  1460. </el-collapse-item>
  1461. <el-collapse-item name="history2">
  1462. <template #title>
  1463. <span class="title">电子保单</span>
  1464. </template>
  1465. <el-form >
  1466. <el-form-item class="white-m-p24" label="交强保单">
  1467. <el-upload v-if="!jqPolicy" :auto-upload="false" :show-file-list="false" accept=".png, .jpg, .jpeg, .pdf, .doc, .docx" @change="uploadImage($event, 4)">
  1468. <el-button link type="primary" icon="Upload">上传</el-button>
  1469. </el-upload>
  1470. <div class="fileInfo" v-else>
  1471. <img style="width: 40px; height: 40px" :src="jqPolicyName.includes('.png') || jqPolicyName.includes('.jpg') || jqPolicyName.includes('.jpeg')?image:jqPolicyName.includes('.pdf')?pdf:jqPolicyName.includes('.doc') || jqPolicyName.includes('.docx')?word:''" />
  1472. <div class="fileName">{{ jqPolicyName }}</div>
  1473. <div class="fileBtn">
  1474. <el-upload :auto-upload="false" :show-file-list="false" accept=".png, .jpg, .jpeg, .pdf, .doc, .docx" @change="uploadImage($event, 4)" style="display: flex; align-items: center">
  1475. <el-icon class="btn-icon"><Upload /></el-icon>
  1476. </el-upload>
  1477. <el-icon class="btn-icon" @click="imageView(4)"><View /></el-icon>
  1478. <el-icon class="btn-icon" @click="downloadImage(4)"><Download /></el-icon>
  1479. <el-icon class="btn-icon" @click="deleteImage(4)"><Delete /></el-icon>
  1480. </div>
  1481. </div>
  1482. </el-form-item>
  1483. <el-form-item class="white-m-p24" label="商业保单">
  1484. <el-upload v-if="!syPolicy" :auto-upload="false" :show-file-list="false" accept=".png, .jpg, .jpeg, .pdf, .doc, .docx" @change="uploadImage($event, 5)">
  1485. <el-button link type="primary" icon="Upload">上传</el-button>
  1486. </el-upload>
  1487. <div class="fileInfo" v-else>
  1488. <img style="width: 40px; height: 40px" :src="syPolicyName.includes('.png') || syPolicyName.includes('.jpg') || syPolicyName.includes('.jpeg')?image:syPolicyName.includes('.pdf')?pdf:syPolicyName.includes('.doc') || syPolicyName.includes('.docx')?word:''" />
  1489. <div class="fileName">{{ syPolicyName }}</div>
  1490. <div class="fileBtn">
  1491. <el-upload :auto-upload="false" :show-file-list="false" accept=".png, .jpg, .jpeg, .pdf, .doc, .docx" @change="uploadImage($event, 5)" style="display: flex; align-items: center">
  1492. <el-icon class="btn-icon"><Upload /></el-icon>
  1493. </el-upload>
  1494. <el-icon class="btn-icon" @click="imageView(5)"><View /></el-icon>
  1495. <el-icon class="btn-icon" @click="downloadImage(5)"><Download /></el-icon>
  1496. <el-icon class="btn-icon" @click="deleteImage(5)"><Delete /></el-icon>
  1497. </div>
  1498. </div>
  1499. </el-form-item>
  1500. <el-form-item class="white-m-p24" label="非车保单">
  1501. <el-upload :auto-upload="false" v-if="!noPolicy" :show-file-list="false" accept=".png, .jpg, .jpeg, .pdf, .doc, .docx" @change="uploadImage($event, 6)">
  1502. <el-button link type="primary" icon="Upload">上传</el-button>
  1503. </el-upload>
  1504. <div class="fileInfo" v-else>
  1505. <img style="width: 40px; height: 40px" :src="noPolicyName.includes('.png') || noPolicyName.includes('.jpg') || noPolicyName.includes('.jpeg')?image:noPolicyName.includes('.pdf')?pdf:noPolicyName.includes('.doc') || noPolicyName.includes('.docx')?word:''" />
  1506. <div class="fileName">{{ noPolicyName }}</div>
  1507. <div class="fileBtn">
  1508. <el-upload :auto-upload="false" :show-file-list="false" accept=".png, .jpg, .jpeg, .pdf, .doc, .docx" @change="uploadImage($event, 6)" style="display: flex; align-items: center">
  1509. <el-icon class="btn-icon"><Upload /></el-icon>
  1510. </el-upload>
  1511. <el-icon class="btn-icon" @click="imageView(6)"><View /></el-icon>
  1512. <el-icon class="btn-icon" @click="downloadImage(6)"><Download /></el-icon>
  1513. <el-icon class="btn-icon" @click="deleteImage(6)"><Delete /></el-icon>
  1514. </div>
  1515. </div>
  1516. </el-form-item>
  1517. <el-form-item class="white-m-p24" label="交强电子标志">
  1518. <el-upload :auto-upload="false" v-if="!jqSign" :show-file-list="false" accept=".png, .jpg, .jpeg, .pdf, .doc, .docx" @change="uploadImage($event, 7)">
  1519. <el-button link type="primary" icon="Upload">上传</el-button>
  1520. </el-upload>
  1521. <div class="fileInfo" v-else>
  1522. <img style="width: 40px; height: 40px" :src="jqSignName.includes('.png') || jqSignName.includes('.jpg') || jqSignName.includes('.jpeg')?image:jqSignName.includes('.pdf')?pdf:jqSignName.includes('.doc') || jqSignName.includes('.docx')?word:''" />
  1523. <div class="fileName">{{ jqSignName }}</div>
  1524. <div class="fileBtn">
  1525. <el-upload :auto-upload="false" :show-file-list="false" accept=".png, .jpg, .jpeg, .pdf, .doc, .docx" @change="uploadImage($event, 7)" style="display: flex; align-items: center">
  1526. <el-icon class="btn-icon"><Upload /></el-icon>
  1527. </el-upload>
  1528. <el-icon class="btn-icon" @click="imageView(7)"><View /></el-icon>
  1529. <el-icon class="btn-icon" @click="downloadImage(7)"><Download /></el-icon>
  1530. <el-icon class="btn-icon" @click="deleteImage(7)"><Delete /></el-icon>
  1531. </div>
  1532. </div>
  1533. </el-form-item>
  1534. </el-form>
  1535. <template #icon="{ isActive }">
  1536. <span class="icon">
  1537. <span class="icon-ele">
  1538. {{ isActive ? '收起' : '展开' }}
  1539. </span>
  1540. </span>
  1541. </template>
  1542. </el-collapse-item>
  1543. </div>
  1544. </el-collapse>
  1545. <div class="footer">
  1546. <el-button plain type="primary" @click="handleSave">暂存</el-button>
  1547. <el-button type="primary" @click="handleSubmit">提交</el-button>
  1548. </div>
  1549. <el-dialog
  1550. title="图片预览"
  1551. v-model="imageShow"
  1552. >
  1553. <img class="image-view" :src="imageUrl" />
  1554. </el-dialog>
  1555. <el-dialog
  1556. title="文件预览"
  1557. v-model="fileShow"
  1558. >
  1559. <vue-office-docx
  1560. :src="fileUrl"
  1561. style="height: 600px; margin: 0; padding: 0"
  1562. ></vue-office-docx>
  1563. </el-dialog>
  1564. <el-dialog
  1565. title="选择业务员"
  1566. v-model="salesmanShow"
  1567. width="700"
  1568. >
  1569. <salesmanSelect ref="SalesmanSelectRef" @close="handleSalesmanSelect"></salesmanSelect>
  1570. </el-dialog>
  1571. <el-dialog
  1572. title="选择车型"
  1573. v-model="carTypeShow"
  1574. width="900"
  1575. >
  1576. <carTypeSelect ref="CarTypeSelectRef" @close="handleCarTypeSelect"></carTypeSelect>
  1577. </el-dialog>
  1578. <el-dialog
  1579. title="影像上传"
  1580. v-model="uploadShow"
  1581. width="700"
  1582. >
  1583. <imageData ref="ImageDataRef" @close="handleImageData"></imageData>
  1584. </el-dialog>
  1585. </div>
  1586. </template>
  1587. <script setup lang="ts">
  1588. import api from '@/api'
  1589. import car1 from '@/assets/images/additional/car1.png'
  1590. import car2 from '@/assets/images/additional/car2.png'
  1591. import ower1 from '@/assets/images/additional/ower1.png'
  1592. import ower2 from '@/assets/images/additional/ower2.png'
  1593. import quote1 from '@/assets/images/additional/quote1.png'
  1594. import quote2 from '@/assets/images/additional/quote2.png'
  1595. import insurance1 from '@/assets/images/additional/insurance1.png'
  1596. import insurance2 from '@/assets/images/additional/insurance2.png'
  1597. import history1 from '@/assets/images/additional/history1.png'
  1598. import history2 from '@/assets/images/additional/history2.png'
  1599. import image from "@/assets/images/image.png";
  1600. import pdf from "@/assets/images/pdf.png";
  1601. import word from "@/assets/images/word.png";
  1602. import { ElMessage } from 'element-plus'
  1603. import VueOfficeDocx from "@vue-office/docx";
  1604. import { useRouter, useRoute } from 'vue-router'
  1605. import salesmanSelect from './modules/salesmanSelect.vue'
  1606. import carTypeSelect from './modules/carTypeSelect.vue'
  1607. import insuranceSelect from './modules/insuranceSelect.vue'
  1608. import imageData from './modules/imageData.vue'
  1609. // import { Search } from '@element-plus/icons-vue'
  1610. const myRouter = useRouter()
  1611. const myRoute = useRoute()
  1612. const SalesmanSelectRef = ref()
  1613. const CarTypeSelectRef = ref()
  1614. const InsuranceSelectRef = ref()
  1615. const ImageDataRef = ref()
  1616. const carFormRefs = ref() // 车辆信息form
  1617. const writeCarFormRefs = ref() // 车辆信息手填form
  1618. const owerFormRefs = ref() // 车主信息form
  1619. const writeOwerFormRefs = ref() // 车主信息手填form
  1620. const ower1FormRefs = ref() // 投保人信息form
  1621. const writeOwer1FormRefs = ref() // 投保人信息手填form
  1622. const ower2FormRefs = ref() // 被投保人信息form
  1623. const writeOwer2FormRefs = ref() // 被投保人信息手填form
  1624. const quoteFormRefs = ref() // 投保信息
  1625. // 使用性质,车辆用途,车辆类型,能源种类,车辆种类
  1626. let optionObj = ref({
  1627. vehicle_use_code: [], // 车辆用途
  1628. car_nature_code: [], // 使用性质
  1629. energy_type_code: [], // 能源种类
  1630. car_type_code: [], // 车辆类型
  1631. car_kind_code: [], // 车辆种类
  1632. taxpayerIdentifier: [], // 证件类型
  1633. insuranceType: [], // 险种类型
  1634. })
  1635. const initOption = () => {
  1636. let list = ['vehicle_use_code', 'car_nature_code', 'energy_type_code', 'car_type_code', 'car_kind_code', 'taxpayerIdentifier']
  1637. list.forEach(item => {
  1638. api.additionalApi.dictDetails(item).then((res: any) => {
  1639. if(res.code == 200) {
  1640. if(res.data) {
  1641. optionObj.value[item] = res.data
  1642. }
  1643. }
  1644. })
  1645. })
  1646. api.commonApi.personInfo('insurance_type').then((res: any) => {
  1647. if(res.code == 200) {
  1648. optionObj.value.insuranceType = res.data
  1649. } else {
  1650. ElMessage({
  1651. message: res.msg,
  1652. type: 'warning'
  1653. })
  1654. }
  1655. })
  1656. }
  1657. // 保险公司列表
  1658. let bankOption = ref([])
  1659. const initCompany = () => {
  1660. api.insuranceApi.leftList('').then(res => {
  1661. if(res.code == 200) {
  1662. bankOption.value = res.data
  1663. } else {
  1664. ElMessage({
  1665. message: res.msg,
  1666. type: 'warning'
  1667. })
  1668. }
  1669. })
  1670. }
  1671. // 查询条件
  1672. let form = ref({})
  1673. // 归属机构
  1674. let institutionList = ref([])
  1675. const tableProps = ref({
  1676. value: "id",
  1677. label: "name",
  1678. children: "children",
  1679. checkStrictly: true,
  1680. })
  1681. // 页签
  1682. let tapIndex = ref(0)
  1683. const taps = ref([
  1684. {
  1685. text: '车辆信息',
  1686. href: 'car',
  1687. img: car1,
  1688. active: car2
  1689. },
  1690. {
  1691. text: '关系人信息',
  1692. href: 'ower',
  1693. img: ower1,
  1694. active: ower2
  1695. },
  1696. {
  1697. text: '选择险种',
  1698. href: 'insurance',
  1699. img: insurance1,
  1700. active: insurance2
  1701. },
  1702. {
  1703. text: '投保信息',
  1704. href: 'quote',
  1705. img: quote1,
  1706. active: quote2
  1707. },
  1708. {
  1709. text: '费用信息',
  1710. href: 'history',
  1711. img: history1,
  1712. active: history2
  1713. },
  1714. ])
  1715. const handleTap = (item, index) => {
  1716. tapIndex.value = index
  1717. const element = document.getElementById(`${item.href}`)
  1718. if(element) {
  1719. element.scrollIntoView({behavior: 'smooth'})
  1720. }
  1721. }
  1722. //折叠面板
  1723. let activeName = ref(['car','ower','ower1','ower2','insurance','quote','history1','history2'])
  1724. // const handleChange = (val) => {
  1725. //
  1726. // }
  1727. // 开关
  1728. let carSwitch = ref(true)
  1729. let owerSwitch = ref(true)
  1730. let ower1Switch = ref(true)
  1731. let ower2Switch = ref(true)
  1732. const handleSwitch = (type) => {
  1733. switch (type) {
  1734. case 'car':
  1735. carSwitch.value = !carSwitch.value
  1736. break;
  1737. case 'ower':
  1738. owerSwitch.value = !owerSwitch.value
  1739. break;
  1740. case 'ower1':
  1741. ower1Switch.value = !ower1Switch.value
  1742. break;
  1743. case 'ower2':
  1744. ower2Switch.value = !ower2Switch.value
  1745. break;
  1746. }
  1747. }
  1748. // 车辆信息
  1749. // 证件识别
  1750. let carForm = ref({
  1751. licenseNo: '', // 车牌
  1752. vinNo: '', // 车牌识别代码
  1753. brandName: '', // 品牌型号
  1754. engineNo: '', // 发动机号
  1755. carYear: '', // 年款
  1756. seatCount: '', // 座位数
  1757. completeKerbMass: '', // 整备质量
  1758. limitLoad: '', // 核定载质量
  1759. displacement: '', // 排量
  1760. powerScale: '', // 功率
  1761. purchasePrice: '', // 新车购置价
  1762. carNatureCode: '', // 使用性质
  1763. vehicleUseCode: '', // 车辆用途
  1764. carTypeCode: '', // 车辆类型
  1765. energyTypeCode: '', // 能源种类
  1766. // propertyCode: '', // 所属性质
  1767. registerDate: '', // 注册日期
  1768. issueDate: '', // 发证日期
  1769. })
  1770. let carRules = ref({
  1771. licenseNo:[
  1772. { required: true, message: "请输入车牌", trigger: "blur" },
  1773. { pattern: /[\u4e00-\u9fa5\u3400-\u4DBF\u20000-\u2A6DFa-zA-Z0-9]+/, message: '车牌只允许输入汉字、字母、数字组合', trigger: 'blur' }
  1774. ],
  1775. vinNo: [
  1776. { required: true, message: "请输入车牌识别代码", trigger: "blur" },
  1777. { pattern: /^[a-zA-Z0-9]{17}$/, min: 17, max: 17, message: '车辆识别代码长度为17位字母数字组合' }
  1778. ],
  1779. brandName: [
  1780. { required: true, message: "请输入品牌型号", trigger: "blur" }
  1781. ],
  1782. engineNo: [
  1783. { required: true, message: "请输入发动机号", trigger: "blur" }
  1784. ],
  1785. carYear: [
  1786. { required: true, message: "请输入年款", trigger: "blur" }
  1787. ],
  1788. seatCount: [
  1789. { required: true, message: "请输入座位数", trigger: "blur" }
  1790. ],
  1791. completeKerbMass: [
  1792. { required: true, message: "请输入整备质量", trigger: "blur" }
  1793. ],
  1794. limitLoad: [
  1795. { required: true, message: "请输入核定载质量", trigger: "blur" }
  1796. ],
  1797. displacement: [
  1798. { required: true, message: "请输入排量", trigger: "blur" }
  1799. ],
  1800. powerScale: [
  1801. { required: true, message: "请输入功率", trigger: "blur" }
  1802. ],
  1803. purchasePrice: [
  1804. { required: true, message: "请输入新车购置价", trigger: "blur" }
  1805. ],
  1806. carNatureCode: [
  1807. { required: true, message: "请选择使用性质", trigger: "change" }
  1808. ],
  1809. vehicleUseCode: [
  1810. { required: true, message: "请选择车辆用途", trigger: "change" }
  1811. ],
  1812. carTypeCode: [
  1813. { required: true, message: "请选择车辆类型", trigger: "change" }
  1814. ],
  1815. energyTypeCode: [
  1816. { required: true, message: "请选择能源种类", trigger: "change" }
  1817. ],
  1818. // propertyCode: [
  1819. // { required: true, message: "请选择所属性质", trigger: "change" }
  1820. // ],
  1821. registerDate: [
  1822. { required: true, message: "请选择注册日期", trigger: "change" }
  1823. ],
  1824. issueDate: [
  1825. { required: true, message: "请选择发证日期", trigger: "change" }
  1826. ],
  1827. })
  1828. // 手动填写
  1829. let writeCarForm = ref({
  1830. isRegistered: null, // 是否上牌
  1831. licenseNo: '', // 车牌
  1832. vinNo: '', // 车牌识别代码
  1833. brandName: '', // 品牌型号
  1834. engineNo: '', // 发动机号
  1835. carYear: '', // 年款
  1836. seatCount: '', // 座位数
  1837. completeKerbMass: '', // 整备质量
  1838. limitLoad: '', // 核定载质量
  1839. displacement: '', // 排量
  1840. powerScale: '', // 功率
  1841. purchasePrice: '', // 新车购置价
  1842. carNatureCode: '', // 使用性质
  1843. vehicleUseCode: '', // 车辆用途
  1844. carTypeCode: '', // 车辆类型
  1845. energyTypeCode: '', // 能源种类
  1846. // propertyCode: '', // 所属性质
  1847. registerDate: '', // 注册日期
  1848. issueDate: '', // 发证日期
  1849. })
  1850. let writeCarRules = ref({
  1851. isRegistered:[
  1852. { required: true, message: "请选择", trigger: "change" }
  1853. ],
  1854. licenseNo:[
  1855. { required: true, message: "请输入车牌", trigger: "blur" },
  1856. { pattern: /[\u4e00-\u9fa5\u3400-\u4DBF\u20000-\u2A6DFa-zA-Z0-9]+/, message: '车牌只允许输入汉字、字母、数字组合', trigger: 'blur' }
  1857. ],
  1858. vinNo: [
  1859. { required: true, message: "请输入车牌识别代码", trigger: "blur" },
  1860. { pattern: /^[a-zA-Z0-9]{17}$/, min: 17, max: 17, message: '车辆识别代码长度为17位字母数字组合' }
  1861. ],
  1862. brandName: [
  1863. { required: true, message: "请输入品牌型号", trigger: "blur" }
  1864. ],
  1865. engineNo: [
  1866. { required: true, message: "请输入发动机号", trigger: "blur" }
  1867. ],
  1868. carYear: [
  1869. { required: true, message: "请输入年款", trigger: "blur" }
  1870. ],
  1871. seatCount: [
  1872. { required: true, message: "请输入座位数", trigger: "blur" }
  1873. ],
  1874. completeKerbMass: [
  1875. { required: true, message: "请输入整备质量", trigger: "blur" }
  1876. ],
  1877. limitLoad: [
  1878. { required: true, message: "请输入核定载质量", trigger: "blur" }
  1879. ],
  1880. displacement: [
  1881. { required: true, message: "请输入排量", trigger: "blur" }
  1882. ],
  1883. powerScale: [
  1884. { required: true, message: "请输入功率", trigger: "blur" }
  1885. ],
  1886. purchasePrice: [
  1887. { required: true, message: "请输入新车购置价", trigger: "blur" }
  1888. ],
  1889. carNatureCode: [
  1890. { required: true, message: "请选择使用性质", trigger: "change" }
  1891. ],
  1892. vehicleUseCode: [
  1893. { required: true, message: "请选择车辆用途", trigger: "change" }
  1894. ],
  1895. carTypeCode: [
  1896. { required: true, message: "请选择车辆类型", trigger: "change" }
  1897. ],
  1898. energyTypeCode: [
  1899. { required: true, message: "请选择能源种类", trigger: "change" }
  1900. ],
  1901. // propertyCode: [
  1902. // { required: true, message: "请选择所属性质", trigger: "change" }
  1903. // ],
  1904. registerDate: [
  1905. { required: true, message: "请选择注册日期", trigger: "change" }
  1906. ],
  1907. issueDate: [
  1908. { required: true, message: "请选择发证日期", trigger: "change" }
  1909. ],
  1910. })
  1911. // 车牌识别
  1912. const handleCarNumber = () => {
  1913. api.additionalApi.vinSearch(carForm.value.licenseNo).then((res: any) => {
  1914. if(res.code == 200) {
  1915. } else {
  1916. ElMessage({
  1917. message: res.msg,
  1918. type: 'warning'
  1919. })
  1920. }
  1921. })
  1922. }
  1923. // 车架号识别
  1924. const handleCarCode = () => {
  1925. api.additionalApi.licenseSearch(carForm.value.vinNo).then((res: any) => {
  1926. if(res.code == 200) {
  1927. } else {
  1928. ElMessage({
  1929. message: res.msg,
  1930. type: 'warning'
  1931. })
  1932. }
  1933. })
  1934. }
  1935. // 车主信息
  1936. // 证件识别
  1937. let owerForm = ref({
  1938. personType: '1', // 1个人2法人
  1939. name: '',
  1940. mobile: '',
  1941. addr: '',
  1942. identifyNumber: '',
  1943. identifyValidDate: '',
  1944. identifyValidEndDate: '',
  1945. age: '',
  1946. gender: '',
  1947. email: ''
  1948. })
  1949. let owerRules = ref({
  1950. name:[
  1951. { required: true, message: "请输入车主姓名", trigger: "blur" }
  1952. ],
  1953. b: [
  1954. { required: true, message: "请选择车辆类型", trigger: "change" }
  1955. ],
  1956. mobile: [
  1957. { required: true, message: "请输入车主手机号", trigger: "blur" }
  1958. ],
  1959. addr: [
  1960. { required: true, message: "请输入地址", trigger: "blur" }
  1961. ],
  1962. personType: [
  1963. { required: true, message: "请选择类型", trigger: "change" }
  1964. ],
  1965. identifyNumber: [
  1966. { required: true, message: "请输入证件号码", trigger: "blur" }
  1967. ],
  1968. identifyValidDate: [
  1969. { required: true, message: "请选择有效期起期", trigger: "change" }
  1970. ],
  1971. identifyValidEndDate: [
  1972. { required: true, message: "请选择有效期止期", trigger: "change" }
  1973. ],
  1974. age: [
  1975. { required: true, message: "请输入年龄", trigger: "blur" },
  1976. { type: 'number', message: '年龄必须是数字' }
  1977. ],
  1978. gender: [
  1979. { required: true, message: "请选择性别", trigger: "change" }
  1980. ],
  1981. email: [
  1982. { required: true, message: "请输入电子邮箱", trigger: "blur" }
  1983. ],
  1984. })
  1985. // 手动填写
  1986. let writeOwerForm = ref({
  1987. personType: '1', // 1个人2法人
  1988. name: '',
  1989. mobile: '',
  1990. addr: '',
  1991. identifyNumber: '',
  1992. identifyValidDate: '',
  1993. identifyValidEndDate: '',
  1994. age: '',
  1995. gender: '',
  1996. email: ''
  1997. })
  1998. let writeOwerRules = ref({
  1999. name:[
  2000. { required: true, message: "请输入车主姓名", trigger: "blur" }
  2001. ],
  2002. personType: [
  2003. { required: true, message: "请选择车主类型", trigger: "change" }
  2004. ],
  2005. mobile: [
  2006. { required: true, message: "请输入车主手机号", trigger: "blur" }
  2007. ],
  2008. addr: [
  2009. { required: true, message: "请输入地址", trigger: "blur" }
  2010. ],
  2011. // e: [
  2012. // { required: true, message: "请选择证件类型", trigger: "change" }
  2013. // ],
  2014. identifyNumber: [
  2015. { required: true, message: "请输入证件号码", trigger: "blur" }
  2016. ],
  2017. identifyValidDate: [
  2018. { required: true, message: "请选择有效期起期", trigger: "change" }
  2019. ],
  2020. identifyValidEndDate: [
  2021. { required: true, message: "请选择有效期止期", trigger: "change" }
  2022. ],
  2023. age: [
  2024. { required: true, message: "请输入年龄", trigger: "blur" },
  2025. { type: 'number', message: '年龄必须是数字' }
  2026. ],
  2027. gender: [
  2028. { required: true, message: "请选择性别", trigger: "change" }
  2029. ],
  2030. email: [
  2031. { required: true, message: "请输入电子邮箱", trigger: "blur" }
  2032. ],
  2033. })
  2034. // 是否同车主/同投保人
  2035. let btns = ref({
  2036. ower1Show: false,
  2037. ower2show: false,
  2038. ower1: [{
  2039. text: '同车主',
  2040. checked: false
  2041. }],
  2042. ower2: [{
  2043. text: '同被保人',
  2044. checked: false
  2045. },{
  2046. text: '同车主',
  2047. checked: false
  2048. }]
  2049. })
  2050. const handleChange = (item, type) => {
  2051. switch (type) {
  2052. case 'ower1':
  2053. item.checked = !item.checked
  2054. btns.value.ower1Show = btns.value.ower1.some(a => a.checked)
  2055. if(btns.value.ower1Show) {
  2056. ower1Form.value = {
  2057. ...owerForm.value,
  2058. carOwner: 1
  2059. }
  2060. writeOwer1Form.value = writeOwerForm.value
  2061. } else {
  2062. ower1Form.value = {
  2063. personType: '1', // 1个人2法人
  2064. carOwner: 0,
  2065. name: '',
  2066. mobile: '',
  2067. addr: '',
  2068. identifyNumber: '',
  2069. identifyValidDate: '',
  2070. identifyValidEndDate: '',
  2071. age: '',
  2072. gender: '',
  2073. email: ''
  2074. }
  2075. writeOwer1Form.value = {
  2076. personType: '1', // 1个人2法人
  2077. name: '',
  2078. mobile: '',
  2079. addr: '',
  2080. identifyNumber: '',
  2081. identifyValidDate: '',
  2082. identifyValidEndDate: '',
  2083. age: '',
  2084. gender: '',
  2085. email: ''
  2086. }
  2087. }
  2088. break;
  2089. case 'ower2':
  2090. item.checked = !item.checked
  2091. let list = btns.value.ower2.filter(a => a.text != item.text)
  2092. list.forEach(a => a.checked = false)
  2093. btns.value.ower2show = btns.value.ower2.some(a => a.checked)
  2094. if(btns.value.ower2show) {
  2095. let obj = btns.value.ower2.find(a => a.checked)
  2096. if(obj.text === '同被保人') {
  2097. ower2Form.value = {
  2098. ...ower1Form.value,
  2099. carOwner: 2
  2100. }
  2101. writeOwer2Form.value = writeOwer1Form.value
  2102. } else {
  2103. ower2Form.value = {
  2104. ...owerForm.value,
  2105. carOwner: 1
  2106. }
  2107. writeOwer2Form.value = writeOwerForm.value
  2108. }
  2109. } else {
  2110. ower2Form.value = {
  2111. personType: '1', // 1个人2法人
  2112. carOwner: 0,
  2113. name: '',
  2114. mobile: '',
  2115. addr: '',
  2116. identifyNumber: '',
  2117. identifyValidDate: '',
  2118. identifyValidEndDate: '',
  2119. age: '',
  2120. gender: '',
  2121. email: ''
  2122. }
  2123. writeOwer2Form.value = {
  2124. personType: '1', // 1个人2法人
  2125. name: '',
  2126. mobile: '',
  2127. addr: '',
  2128. identifyNumber: '',
  2129. identifyValidDate: '',
  2130. identifyValidEndDate: '',
  2131. age: '',
  2132. gender: '',
  2133. email: ''
  2134. }
  2135. }
  2136. break;
  2137. }
  2138. }
  2139. // 投保人信息
  2140. let ower1Form = ref({
  2141. personType: '1', // 1个人2法人
  2142. carOwner: 0,
  2143. name: '',
  2144. mobile: '',
  2145. addr: '',
  2146. identifyNumber: '',
  2147. identifyValidDate: '',
  2148. identifyValidEndDate: '',
  2149. age: '',
  2150. gender: '',
  2151. email: ''
  2152. })
  2153. let ower1Rules = ref({
  2154. name:[
  2155. { required: true, message: "请输入投保人姓名", trigger: "blur" }
  2156. ],
  2157. personType: [
  2158. { required: true, message: "请选择投保人类型", trigger: "change" }
  2159. ],
  2160. // c: [
  2161. // { required: true, message: "请选择证件类型", trigger: "change" }
  2162. // ],
  2163. identifyNumber: [
  2164. { required: true, message: "请输入证件号码", trigger: "blur" }
  2165. ],
  2166. age: [
  2167. { required: true, message: "请输入年龄", trigger: "blur" },
  2168. { type: 'number', message: '年龄必须是数字' }
  2169. ],
  2170. gender: [
  2171. { required: true, message: "请选择性别", trigger: "change" }
  2172. ],
  2173. mobile: [
  2174. { required: true, message: "请输入车主手机号", trigger: "blur" }
  2175. ],
  2176. addr: [
  2177. { required: true, message: "请输入地址", trigger: "blur" }
  2178. ],
  2179. email: [
  2180. { required: true, message: "请输入电子邮箱", trigger: "blur" }
  2181. ],
  2182. identifyValidDate: [
  2183. { required: true, message: "请选择有效期起期", trigger: "change" }
  2184. ],
  2185. identifyValidEndDate: [
  2186. { required: true, message: "请选择有效期止期", trigger: "change" }
  2187. ],
  2188. })
  2189. let writeOwer1Form = ref({
  2190. personType: '1', // 1个人2法人
  2191. name: '',
  2192. mobile: '',
  2193. addr: '',
  2194. identifyNumber: '',
  2195. identifyValidDate: '',
  2196. identifyValidEndDate: '',
  2197. age: '',
  2198. gender: '',
  2199. email: ''
  2200. })
  2201. let writeOwer1Rules = ref({
  2202. name:[
  2203. { required: true, message: "请输入投保人姓名", trigger: "blur" }
  2204. ],
  2205. personType: [
  2206. { required: true, message: "请选择投保人类型", trigger: "change" }
  2207. ],
  2208. // c: [
  2209. // { required: true, message: "请选择证件类型", trigger: "change" }
  2210. // ],
  2211. identifyNumber: [
  2212. { required: true, message: "请输入证件号码", trigger: "blur" }
  2213. ],
  2214. age: [
  2215. { required: true, message: "请输入", trigger: "blur" },
  2216. { type: 'number', message: '年龄必须是数字' }
  2217. ],
  2218. gender: [
  2219. { required: true, message: "请选择性别", trigger: "change" }
  2220. ],
  2221. mobile: [
  2222. { required: true, message: "请输入车主手机号", trigger: "blur" }
  2223. ],
  2224. addr: [
  2225. { required: true, message: "请输入地址", trigger: "blur" }
  2226. ],
  2227. email: [
  2228. { required: true, message: "请输入电子邮箱", trigger: "blur" }
  2229. ],
  2230. identifyValidDate: [
  2231. { required: true, message: "请选择有效期起期", trigger: "change" }
  2232. ],
  2233. identifyValidEndDate: [
  2234. { required: true, message: "请选择有效期止期", trigger: "change" }
  2235. ],
  2236. })
  2237. // 被投保人信息
  2238. let ower2Form = ref({
  2239. personType: '1', // 1个人2法人
  2240. carOwner: 0,
  2241. name: '',
  2242. mobile: '',
  2243. addr: '',
  2244. identifyNumber: '',
  2245. identifyValidDate: '',
  2246. identifyValidEndDate: '',
  2247. age: '',
  2248. gender: '',
  2249. email: ''
  2250. })
  2251. let ower2Rules = ref({
  2252. name:[
  2253. { required: true, message: "请输入投保人姓名", trigger: "blur" }
  2254. ],
  2255. personType: [
  2256. { required: true, message: "请选择投保人类型", trigger: "change" }
  2257. ],
  2258. // c: [
  2259. // { required: true, message: "请选择证件类型", trigger: "change" }
  2260. // ],
  2261. identifyNumber: [
  2262. { required: true, message: "请输入证件号码", trigger: "blur" }
  2263. ],
  2264. age: [
  2265. { required: true, message: "请输入年龄", trigger: "blur" },
  2266. { type: 'number', message: '年龄必须是数字' }
  2267. ],
  2268. gender: [
  2269. { required: true, message: "请选择性别", trigger: "change" }
  2270. ],
  2271. mobile: [
  2272. { required: true, message: "请输入车主手机号", trigger: "blur" }
  2273. ],
  2274. addr: [
  2275. { required: true, message: "请输入地址", trigger: "blur" }
  2276. ],
  2277. email: [
  2278. { required: true, message: "请输入电子邮箱", trigger: "blur" }
  2279. ],
  2280. identifyValidDate: [
  2281. { required: true, message: "请选择有效期起期", trigger: "change" }
  2282. ],
  2283. identifyValidEndDate: [
  2284. { required: true, message: "请选择有效期止期", trigger: "change" }
  2285. ],
  2286. })
  2287. let writeOwer2Form = ref({
  2288. personType: '1', // 1个人2法人
  2289. name: '',
  2290. mobile: '',
  2291. addr: '',
  2292. identifyNumber: '',
  2293. identifyValidDate: '',
  2294. identifyValidEndDate: '',
  2295. age: '',
  2296. gender: '',
  2297. email: ''
  2298. })
  2299. let writeOwer2Rules = ref({
  2300. name:[
  2301. { required: true, message: "请输入投保人姓名", trigger: "blur" }
  2302. ],
  2303. personType: [
  2304. { required: true, message: "请选择投保人类型", trigger: "change" }
  2305. ],
  2306. // c: [
  2307. // { required: true, message: "请选择证件类型", trigger: "change" }
  2308. // ],
  2309. identifyNumber: [
  2310. { required: true, message: "请输入证件号码", trigger: "blur" }
  2311. ],
  2312. age: [
  2313. { required: true, message: "请输入年龄", trigger: "blur" },
  2314. { type: 'number', message: '年龄必须是数字' }
  2315. ],
  2316. gender: [
  2317. { required: true, message: "请选择性别", trigger: "change" }
  2318. ],
  2319. mobile: [
  2320. { required: true, message: "请输入车主手机号", trigger: "blur" }
  2321. ],
  2322. addr: [
  2323. { required: true, message: "请输入地址", trigger: "blur" }
  2324. ],
  2325. email: [
  2326. { required: true, message: "请输入电子邮箱", trigger: "blur" }
  2327. ],
  2328. identifyValidDate: [
  2329. { required: true, message: "请选择有效期起期", trigger: "change" }
  2330. ],
  2331. identifyValidEndDate: [
  2332. { required: true, message: "请选择有效期止期", trigger: "change" }
  2333. ],
  2334. })
  2335. // 险种
  2336. let insuranceForm = ref({
  2337. productId: null,
  2338. taxRelifFlag: '1', // 纳税类型
  2339. identifyNumber: '', // 纳税人识别号
  2340. organizationCode: '', // 企业纳税人识别号
  2341. taxpayerName: '', // 纳税人名称
  2342. taxpayerIdentifier: '', // 证件类型
  2343. extendChar2: '', // 减免税凭证号
  2344. relifReason: '', // 减免税原因
  2345. paidFreeCertificate: '', // 完税凭证号
  2346. taxComCode: '', // 税务机关代码
  2347. taxComName: '', // 税务机关名称
  2348. taxRelief: '', // 减税比例
  2349. taxDocumentDate: '', // 完税凭证填发日期
  2350. taxPaidAreaCode: '', // 完税凭证地区
  2351. jqStart: '', // 交强起保时间起期
  2352. jqEnd: '', // 交强起保时间止期
  2353. syStart: '', // 商业起保时间起期
  2354. syEnd: '', // 商业起保时间止期
  2355. })
  2356. let insuranceRules = ref({
  2357. taxRelifFlag: [
  2358. { required: true, message: "请选择纳税类型", trigger: "change" }
  2359. ],
  2360. identifyNumber: [
  2361. { required: true, message: "请输入纳税人识别号", trigger: "blur" }
  2362. ],
  2363. organizationCode: [
  2364. { required: true, message: "请输入纳税人识别号", trigger: "blur" }
  2365. ],
  2366. taxpayerName: [
  2367. { required: true, message: "请输入纳税人名称", trigger: "blur" }
  2368. ],
  2369. taxpayerIdentifier: [
  2370. { required: true, message: "请选择证件类型", trigger: "change" }
  2371. ],
  2372. extendChar2: [
  2373. { required: true, message: "请输入减免税凭证号", trigger: "blur" }
  2374. ],
  2375. relifReason: [
  2376. { required: true, message: "请输入减免税原因", trigger: "blur" }
  2377. ],
  2378. paidFreeCertificate: [
  2379. { required: true, message: "请输入完税凭证号", trigger: "blur" }
  2380. ],
  2381. taxComCode:[
  2382. { required: true, message: "请输入税务机关代码", trigger: "blur" }
  2383. ],
  2384. taxComName: [
  2385. { required: true, message: "请输入税务机关名称", trigger: "blur" }
  2386. ],
  2387. taxRelief: [
  2388. { required: true, message: "请输入减税比例", trigger: "blur" }
  2389. ],
  2390. taxDocumentDate: [
  2391. { required: true, message: "请选择完税凭证填发日期", trigger: "change" }
  2392. ],
  2393. taxPaidAreaCode: [
  2394. { required: true, message: "请选择完税凭证地区", trigger: "change" }
  2395. ],
  2396. })
  2397. // 列表
  2398. let insuranceData = ref([])
  2399. // 交强即时生效
  2400. let jqWork = ref([
  2401. { text: '即时生效', checked: false }
  2402. ])
  2403. // 根据身份证号换算年龄
  2404. const getAgeByIdCard = (idCard: any, type?: any) => {
  2405. //获取用户身份证号码
  2406. const userCard = idCard
  2407. //如果用户身份证号码为undefined则返回空
  2408. if (!userCard) {
  2409. return ''
  2410. }
  2411. // 获取出生日期
  2412. const yearBirth = userCard.substring(6, 10)
  2413. const monthBirth = userCard.substring(10, 12)
  2414. const dayBirth = userCard.substring(12, 14)
  2415. // 获取当前年月日并计算年龄
  2416. const myDate = new Date()
  2417. const monthNow = myDate.getMonth() + 1
  2418. const dayNow = myDate.getDate()
  2419. let age = myDate.getFullYear() - yearBirth
  2420. if (monthNow > monthBirth || (monthNow == monthBirth && dayNow > dayBirth)) {
  2421. age++
  2422. }
  2423. type.age = age
  2424. return age
  2425. }
  2426. const noeYearPast = (time) => {
  2427. let strYear: any = time.getFullYear();
  2428. let strDay: any = time.getDate();
  2429. let strMonth: any = time.getMonth() + 1;
  2430. let hh: any = time.getHours();
  2431. let minutes: any = time.getMinutes(); // 分
  2432. let Seconds: any = time.getSeconds();
  2433. if (hh < 10) {
  2434. hh = "0" + hh;
  2435. }
  2436. if (minutes < 10) {
  2437. minutes = "0" + minutes;
  2438. }
  2439. if (Seconds < 10) {
  2440. Seconds = "0" + Seconds;
  2441. }
  2442. if (strMonth < 10) {
  2443. strMonth = "0" + strMonth;
  2444. }
  2445. if (strDay < 10) {
  2446. strDay = "0" + strDay;
  2447. }
  2448. let datastr =
  2449. strYear +
  2450. "-" +
  2451. strMonth +
  2452. "-" +
  2453. strDay +
  2454. " " +
  2455. hh +
  2456. ":" +
  2457. minutes +
  2458. ":" +
  2459. Seconds;
  2460. return datastr;
  2461. }
  2462. const oneYearPast1 = (time) => {
  2463. //明年减一秒
  2464. let date = new Date(time);
  2465. date.setSeconds(date.getSeconds() - 1);
  2466. date.setFullYear(date.getFullYear() + 1); //一年后
  2467. date.setTime(date.getTime()); //一年后的前一天
  2468. let strYear: any = date.getFullYear();
  2469. let strDay: any = date.getDate();
  2470. let strMonth: any = date.getMonth() + 1;
  2471. let hh: any = date.getHours();
  2472. let minutes: any = date.getMinutes(); // 分
  2473. let Seconds: any = date.getSeconds();
  2474. if (hh < 10) {
  2475. hh = "0" + hh;
  2476. }
  2477. if (minutes < 10) {
  2478. minutes = "0" + minutes;
  2479. }
  2480. if (Seconds < 10) {
  2481. Seconds = "0" + Seconds;
  2482. }
  2483. if (strMonth < 10) {
  2484. strMonth = "0" + strMonth;
  2485. }
  2486. if (strDay < 10) {
  2487. strDay = "0" + strDay;
  2488. }
  2489. let datastr =
  2490. strYear +
  2491. "-" +
  2492. strMonth +
  2493. "-" +
  2494. strDay +
  2495. " " +
  2496. hh +
  2497. ":" +
  2498. minutes +
  2499. ":" +
  2500. Seconds;
  2501. return datastr;
  2502. }
  2503. //当前日期的次日
  2504. const transformTime1 = () => {
  2505. let date = new Date();
  2506. date.setFullYear(date.getFullYear());
  2507. date.setTime(date.getTime() + 24 * 60 * 60 * 1000);
  2508. let strYear: any = date.getFullYear();
  2509. let strDay: any = date.getDate();
  2510. let strMonth: any = date.getMonth() + 1;
  2511. let hh: any = date.getHours();
  2512. if (hh < 10) {
  2513. hh = "0" + hh;
  2514. }
  2515. if (strMonth < 10) {
  2516. strMonth = "0" + strMonth;
  2517. }
  2518. if (strDay < 10) {
  2519. strDay = "0" + strDay;
  2520. }
  2521. let datastr = strYear + "-" + strMonth + "-" + strDay + " " + "00:00:00";
  2522. return datastr;
  2523. }
  2524. const JQChange = (item) => {
  2525. item.checked = !item.checked
  2526. if(jqWork.value.some( a => a.checked )) {
  2527. let date: any = new Date();
  2528. date.setHours(date.getHours() + 2);
  2529. date.setMinutes(0);
  2530. date.setSeconds(0);
  2531. insuranceForm.value.jqStart = noeYearPast(date)
  2532. insuranceForm.value.jqEnd = oneYearPast1(date)
  2533. } else {
  2534. insuranceForm.value.jqStart = transformTime1()
  2535. insuranceForm.value.jqEnd = oneYearPast1(insuranceForm.value.jqStart)
  2536. }
  2537. }
  2538. // 商业即时生效
  2539. let syWork = ref([
  2540. { text: '即时生效', checked: false }
  2541. ])
  2542. const SYChange = (item) => {
  2543. item.checked = !item.checked
  2544. if(syWork.value.some( a => a.checked )) {
  2545. let date: any = new Date();
  2546. date.setHours(date.getHours() + 2);
  2547. date.setMinutes(0);
  2548. date.setSeconds(0);
  2549. insuranceForm.value.syStart = noeYearPast(date)
  2550. insuranceForm.value.syEnd = oneYearPast1(date)
  2551. } else {
  2552. insuranceForm.value.syStart = transformTime1()
  2553. insuranceForm.value.syEnd = oneYearPast1(insuranceForm.value.syStart)
  2554. }
  2555. }
  2556. //车辆投保信息
  2557. let quoteForm = ref({
  2558. transfer: null,
  2559. companyId: '',
  2560. signingTime: '',
  2561. scope: '',
  2562. taxPremium: '',
  2563. jqApplyNo: '',
  2564. jqRenewal: '',
  2565. jqPremium: '',
  2566. jyPremium: '',
  2567. syPolicyNo: '',
  2568. syRenewal: '',
  2569. syPremium: '',
  2570. sumPremium: ''
  2571. })
  2572. let quoteRules = ref({
  2573. companyId: [
  2574. { required: true, message: "请选择保险公司", trigger: "change" }
  2575. ],
  2576. signingTime: [
  2577. { required: true, message: "请选择签单日期", trigger: "change" }
  2578. ]
  2579. })
  2580. // 影像上传
  2581. let uploadShow = ref(false)
  2582. let fileList = ref([])
  2583. const handleUpload = () => {
  2584. uploadShow.value = true
  2585. if(fileList.value) {
  2586. nextTick(() => {
  2587. ImageDataRef.value.initData(fileList.value, 'edit')
  2588. })
  2589. } else {
  2590. let obj = {
  2591. xszFrontResult: xszFrontResult.value,
  2592. xszBackResult: xszBackResult.value,
  2593. sfzFrontResult: sfzFrontResult.value,
  2594. sfzBackResult: sfzBackResult.value,
  2595. sfz1FrontResult: sfz1FrontResult.value,
  2596. sfz1BackResult: sfz1BackResult.value,
  2597. sfz2FrontResult: sfz2FrontResult.value,
  2598. sfz2BackResult: sfz2BackResult.value
  2599. }
  2600. nextTick(() => {
  2601. ImageDataRef.value.initData(obj)
  2602. })
  2603. }
  2604. }
  2605. const handleImageData = (data) => {
  2606. if(data&&data.length>0) {
  2607. fileList.value = [...data]
  2608. }
  2609. uploadShow.value = false
  2610. }
  2611. // 识别上传
  2612. // 行驶证
  2613. let xszFront = ref('')
  2614. let xszBack = ref('')
  2615. let sfzFront = ref('')
  2616. let sfzBack = ref('')
  2617. let sfz1Front = ref('')
  2618. let sfz1Back = ref('')
  2619. let sfz2Front = ref('')
  2620. let sfz2Back = ref('')
  2621. let xszFrontFile = ref(null)
  2622. let xszBackFile = ref(null)
  2623. let sfzFrontFile = ref(null)
  2624. let sfzBackFile = ref(null)
  2625. let sfz1FrontFile = ref(null)
  2626. let sfz1BackFile = ref(null)
  2627. let sfz2FrontFile = ref(null)
  2628. let sfz2BackFile = ref(null)
  2629. let xszFrontResult = ref(null)
  2630. let xszBackResult = ref(null)
  2631. let sfzFrontResult = ref(null)
  2632. let sfzBackResult = ref(null)
  2633. let sfz1FrontResult = ref(null)
  2634. let sfz1BackResult = ref(null)
  2635. let sfz2FrontResult = ref(null)
  2636. let sfz2BackResult = ref(null)
  2637. // 保费信息
  2638. let historyForm = ref({
  2639. costFlag: null,
  2640. jqOtherCostsProportion: '',
  2641. syOtherCostsProportion: '',
  2642. })
  2643. let historyRules = ref({
  2644. a:[
  2645. { required: true, message: "请选择报价协议", trigger: "change" }
  2646. ],
  2647. b:[
  2648. { required: true, message: "请选择是否现询", trigger: "change" }
  2649. ],
  2650. c:[
  2651. { required: true, message: "请选择非现询费用", trigger: "change" }
  2652. ],
  2653. })
  2654. // 交强保单
  2655. let jqPolicyName = ref('')
  2656. let jqPolicyId = ref('')
  2657. let jqPolicy = ref('')
  2658. // 商业保单
  2659. let syPolicyName = ref('')
  2660. let syPolicyId = ref('')
  2661. let syPolicy = ref('')
  2662. // 非车保单
  2663. let noPolicyName = ref('')
  2664. let noPolicyId = ref('')
  2665. let noPolicy = ref('')
  2666. // 交强电子标志
  2667. let jqSignName = ref('')
  2668. let jqSignId = ref('')
  2669. let jqSign = ref('')
  2670. // 图片预览地址
  2671. let imageShow = ref(false)
  2672. let imageUrl = ref('')
  2673. // word
  2674. let fileShow = ref(false)
  2675. let fileUrl = ref('')
  2676. // 上传图片
  2677. const uploadImage = async (file, type) => {
  2678. let files = file.raw
  2679. const params = new FormData(); // 声明formData数据类型
  2680. params.append("file", files);
  2681. params.append("type", "image");
  2682. const { code, data, msg } = await api.commonApi.fileUpload(params)
  2683. if(code == 200) {
  2684. let result: any = {...data}
  2685. switch (type) {
  2686. case 'xszf':
  2687. xszFront.value = result.downloadUrl
  2688. xszFrontFile.value = files
  2689. xszFrontResult.value = result
  2690. if(xszFront.value&&xszBack.value) {
  2691. const fileParams = new FormData()
  2692. fileParams.append('image1', xszFrontFile.value)
  2693. fileParams.append('image2', xszBackFile.value)
  2694. api.additionalApi.drivingPermit(fileParams).then((res: any) => {
  2695. if(res.code == 200) {
  2696. let data = res.data.carInfo
  2697. carForm.value.licenseNo = data.plateNo // 车牌号
  2698. carForm.value.vinNo = data.vin // 车架号
  2699. carForm.value.brandName = data.backOcrID // 品牌型号
  2700. carForm.value.engineNo = data.engine // 发动机
  2701. // carForm.value.carYear = data.carYear // 年款
  2702. carForm.value.seatCount = data.approvedPassengersCapacity // 座位数
  2703. carForm.value.completeKerbMass = data.unladenMass // 整备质量
  2704. carForm.value.limitLoad = data.limitLoad // 核定载质量
  2705. // carForm.value.displacement = data.displacement // 排量
  2706. carForm.value.powerScale = data.powerScale // 功率
  2707. // carForm.value.purchasePrice = data.purchasePrice // 新车购置价
  2708. carForm.value.carNatureCode = data.useNature // 使用性质
  2709. carForm.value.vehicleUseCode = data.vehicleUse // 车辆用途
  2710. carForm.value.carTypeCode = data.category // 车辆类型
  2711. carForm.value.energyTypeCode = carForm.value.licenseNo && carForm.value.length == 7?data.plateType: '0' // 能源种类
  2712. carForm.value.registerDate = data.registerDate // 注册日期
  2713. carForm.value.issueDate = data.issueDate // 发证日期
  2714. } else {
  2715. ElMessage({
  2716. message: res.msg,
  2717. type: 'warning'
  2718. })
  2719. }
  2720. })
  2721. }
  2722. break;
  2723. case 'xszb':
  2724. xszBack.value = result.downloadUrl
  2725. xszBackFile.value = files
  2726. xszBackResult.value = result
  2727. if(xszFront.value&&xszBack.value) {
  2728. const fileParams = new FormData()
  2729. fileParams.append('image1', xszFrontFile.value)
  2730. fileParams.append('image2', xszBackFile.value)
  2731. api.additionalApi.drivingPermit(fileParams).then((res: any) => {
  2732. let data = res.data.carInfo
  2733. carForm.value.licenseNo = data.plateNo
  2734. carForm.value.vinNo = data.vin
  2735. carForm.value.brandName = data.backOcrID
  2736. carForm.value.engineNo = data.engine
  2737. // carForm.value.carYear = data.backOcrID
  2738. carForm.value.seatCount = data.approvedPassengersCapacity
  2739. carForm.value.completeKerbMass = data.unladenMass
  2740. carForm.value.limitLoad = data.limitLoad
  2741. // carForm.value.displacement = data.backOcrID
  2742. // carForm.value.powerScale = data.backOcrID
  2743. // carForm.value.purchasePrice = data.backOcrID
  2744. carForm.value.carNatureCode = data.useNature
  2745. carForm.value.vehicleUseCode = data.vehicleUse
  2746. carForm.value.carTypeCode = data.category
  2747. carForm.value.energyTypeCode = data.plateType
  2748. carForm.value.registerDate =
  2749. data.registerDate.substring(0, 4) +
  2750. "-" +
  2751. data.registerDate.substring(4, 6) +
  2752. "-" +
  2753. data.registerDate.substring(6, 8);
  2754. carForm.value.issueDate =
  2755. data.issueDate.substring(0, 4) +
  2756. "-" +
  2757. data.issueDate.substring(4, 6) +
  2758. "-" +
  2759. data.issueDate.substring(6, 8);
  2760. api.additionalApi.vinSearch(data.vin).then((sub: any) => {
  2761. if(res.code == 200) {
  2762. } else {
  2763. ElMessage({
  2764. message: res.msg,
  2765. type: 'warning'
  2766. })
  2767. }
  2768. })
  2769. })
  2770. }
  2771. break;
  2772. case 'sfzf':
  2773. sfzFront.value = result.downloadUrl
  2774. sfzFrontFile.value = files
  2775. sfzFrontResult.value = result
  2776. if(sfzFrontFile.value&&sfzBackFile.value) {
  2777. const fileParams = new FormData()
  2778. fileParams.append('image1', sfzFrontFile.value)
  2779. fileParams.append('image2', sfzBackFile.value)
  2780. api.additionalApi.idCard(fileParams).then((res: any) => {
  2781. if(res.code == 200) {
  2782. const data = res.data.customerInfo
  2783. owerForm.value.name = data.name
  2784. owerForm.value.mobile = data.mobile
  2785. owerForm.value.addr = data.addr
  2786. owerForm.value.identifyNumber = data.identifyNumber
  2787. owerForm.value.identifyValidDate =
  2788. data.identifyValidDate.substring(0, 4) +
  2789. "-" +
  2790. data.identifyValidDate.substring(4, 6) +
  2791. "-" +
  2792. data.identifyValidDate.substring(6, 8);
  2793. owerForm.value.identifyValidEndDate = data.identifyValidEndDate?data.identifyValidEndDate==='长期'?'9999-12-31':
  2794. data.identifyValidEndDate.substring(0, 4) +
  2795. "-" +
  2796. data.identifyValidEndDate.substring(4, 6) +
  2797. "-" +
  2798. data.identifyValidEndDate.substring(6, 8):''
  2799. owerForm.value.age = getAgeByIdCard(data.identifyNumber)
  2800. owerForm.value.gender = data.identifyIssuedCom
  2801. owerForm.value.email = data.email
  2802. } else {
  2803. ElMessage({
  2804. message: res.msg,
  2805. type: 'warning'
  2806. })
  2807. }
  2808. })
  2809. }
  2810. break;
  2811. case 'sfzb':
  2812. sfzBack.value = result.downloadUrl
  2813. sfzBackFile.value = files
  2814. sfzBackResult.value = result
  2815. if(sfzFrontFile.value&&sfzBackFile.value) {
  2816. const fileParams = new FormData()
  2817. fileParams.append('image1', sfzFrontFile.value)
  2818. fileParams.append('image2', sfzBackFile.value)
  2819. api.additionalApi.idCard(fileParams).then((res: any) => {
  2820. if(res.code == 200) {
  2821. const data = res.data.customerInfo
  2822. owerForm.value.name = data.name
  2823. owerForm.value.mobile = data.mobile
  2824. owerForm.value.addr = data.addr
  2825. owerForm.value.identifyNumber = data.identifyNumber
  2826. owerForm.value.identifyValidDate =
  2827. data.identifyValidDate.substring(0, 4) +
  2828. "-" +
  2829. data.identifyValidDate.substring(4, 6) +
  2830. "-" +
  2831. data.identifyValidDate.substring(6, 8);
  2832. owerForm.value.identifyValidEndDate = data.identifyValidEndDate?data.identifyValidEndDate==='长期'?'9999-12-31':
  2833. data.identifyValidEndDate.substring(0, 4) +
  2834. "-" +
  2835. data.identifyValidEndDate.substring(4, 6) +
  2836. "-" +
  2837. data.identifyValidEndDate.substring(6, 8): ''
  2838. owerForm.value.age = getAgeByIdCard(data.identifyNumber)
  2839. owerForm.value.gender = data.identifyIssuedCom
  2840. owerForm.value.email = data.email
  2841. } else {
  2842. ElMessage({
  2843. message: res.msg,
  2844. type: 'warning'
  2845. })
  2846. }
  2847. })
  2848. }
  2849. break;
  2850. case 'sfzf1':
  2851. sfz1Front.value = result.downloadUrl
  2852. sfz1FrontFile.value = files
  2853. sfz1FrontResult.value = result
  2854. if(sfz1FrontFile.value&&sfz1BackFile.value) {
  2855. const fileParams = new FormData()
  2856. fileParams.append('image1', sfz1FrontFile.value)
  2857. fileParams.append('image2', sfz1BackFile.value)
  2858. api.additionalApi.idCard(fileParams).then((res: any) => {
  2859. if(res.code == 200) {
  2860. const data = res.data.customerInfo
  2861. ower1Form.value.name = data.name
  2862. ower1Form.value.mobile = data.mobile
  2863. ower1Form.value.addr = data.addr
  2864. ower1Form.value.identifyNumber = data.identifyNumber
  2865. ower1Form.value.identifyValidDate =
  2866. data.identifyValidDate.substring(0, 4) +
  2867. "-" +
  2868. data.identifyValidDate.substring(4, 6) +
  2869. "-" +
  2870. data.identifyValidDate.substring(6, 8);
  2871. ower1Form.value.identifyValidEndDate = data.identifyValidEndDate?data.identifyValidEndDate==='长期'?'9999-12-31':
  2872. data.identifyValidEndDate.substring(0, 4) +
  2873. "-" +
  2874. data.identifyValidEndDate.substring(4, 6) +
  2875. "-" +
  2876. data.identifyValidEndDate.substring(6, 8): ''
  2877. ower1Form.value.age = getAgeByIdCard(data.identifyNumber)
  2878. ower1Form.value.gender = data.identifyIssuedCom
  2879. ower1Form.value.email = data.email
  2880. } else {
  2881. ElMessage({
  2882. message: res.msg,
  2883. type: 'warning'
  2884. })
  2885. }
  2886. })
  2887. }
  2888. break;
  2889. case 'sfzb1':
  2890. sfz1Back.value = result.downloadUrl
  2891. sfz1BackFile.value = files
  2892. sfz1BackResult.value = result
  2893. if(sfz1FrontFile.value&&sfz1BackFile.value) {
  2894. const fileParams = new FormData()
  2895. fileParams.append('image1', sfz1FrontFile.value)
  2896. fileParams.append('image2', sfz1BackFile.value)
  2897. api.additionalApi.idCard(fileParams).then((res: any) => {
  2898. if(res.code == 200) {
  2899. const data = res.data.customerInfo
  2900. ower1Form.value.name = data.name
  2901. ower1Form.value.mobile = data.mobile
  2902. ower1Form.value.addr = data.addr
  2903. ower1Form.value.identifyNumber = data.identifyNumber
  2904. ower1Form.value.identifyValidDate =
  2905. data.identifyValidDate.substring(0, 4) +
  2906. "-" +
  2907. data.identifyValidDate.substring(4, 6) +
  2908. "-" +
  2909. data.identifyValidDate.substring(6, 8);
  2910. ower1Form.value.identifyValidEndDate = data.identifyValidEndDate?data.identifyValidEndDate==='长期'?'9999-12-31':
  2911. data.identifyValidEndDate.substring(0, 4) +
  2912. "-" +
  2913. data.identifyValidEndDate.substring(4, 6) +
  2914. "-" +
  2915. data.identifyValidEndDate.substring(6, 8):''
  2916. ower1Form.value.age = getAgeByIdCard(data.identifyNumber)
  2917. ower1Form.value.gender = data.identifyIssuedCom
  2918. ower1Form.value.email = data.email
  2919. } else {
  2920. ElMessage({
  2921. message: res.msg,
  2922. type: 'warning'
  2923. })
  2924. }
  2925. })
  2926. }
  2927. break;
  2928. case 'sfzf2':
  2929. sfz2Front.value = result.downloadUrl
  2930. sfz2FrontFile.value = files
  2931. sfz2FrontResult.value = result
  2932. if(sfz2FrontFile.value&&sfz2BackFile.value) {
  2933. const fileParams = new FormData()
  2934. fileParams.append('image1', sfz2FrontFile.value)
  2935. fileParams.append('image2', sfz2BackFile.value)
  2936. api.additionalApi.idCard(fileParams).then((res: any) => {
  2937. if(res.code == 200) {
  2938. const data = res.data.customerInfo
  2939. ower2Form.value.name = data.name
  2940. ower2Form.value.mobile = data.mobile
  2941. ower2Form.value.addr = data.addr
  2942. ower2Form.value.identifyNumber = data.identifyNumber
  2943. ower2Form.value.identifyValidDate =
  2944. data.identifyValidDate.substring(0, 4) +
  2945. "-" +
  2946. data.identifyValidDate.substring(4, 6) +
  2947. "-" +
  2948. data.identifyValidDate.substring(6, 8);
  2949. ower2Form.value.identifyValidEndDate = data.identifyValidEndDate?data.identifyValidEndDate==='长期'?'9999-12-31':
  2950. data.identifyValidEndDate.substring(0, 4) +
  2951. "-" +
  2952. data.identifyValidEndDate.substring(4, 6) +
  2953. "-" +
  2954. data.identifyValidEndDate.substring(6, 8):''
  2955. ower2Form.value.age = getAgeByIdCard(data.identifyNumber)
  2956. ower2Form.value.gender = data.identifyIssuedCom
  2957. ower2Form.value.email = data.email
  2958. } else {
  2959. ElMessage({
  2960. message: res.msg,
  2961. type: 'warning'
  2962. })
  2963. }
  2964. })
  2965. }
  2966. break;
  2967. case 'sfzb2':
  2968. sfz2Back.value = result.downloadUrl
  2969. sfz2BackFile.value = files
  2970. sfz2BackResult.value = result
  2971. if(sfz2FrontFile.value&&sfz2BackFile.value) {
  2972. const fileParams = new FormData()
  2973. fileParams.append('image1', sfz2FrontFile.value)
  2974. fileParams.append('image2', sfz2BackFile.value)
  2975. api.additionalApi.idCard(fileParams).then((res: any) => {
  2976. if(res.code == 200) {
  2977. const data = res.data.customerInfo
  2978. ower2Form.value.name = data.name
  2979. ower2Form.value.mobile = data.mobile
  2980. ower2Form.value.addr = data.addr
  2981. ower2Form.value.identifyNumber = data.identifyNumber
  2982. ower2Form.value.identifyValidDate =
  2983. data.identifyValidDate.substring(0, 4) +
  2984. "-" +
  2985. data.identifyValidDate.substring(4, 6) +
  2986. "-" +
  2987. data.identifyValidDate.substring(6, 8);
  2988. ower2Form.value.identifyValidEndDate = data.identifyValidEndDate?data.identifyValidEndDate==='长期'?'9999-12-31':
  2989. data.identifyValidEndDate.substring(0, 4) +
  2990. "-" +
  2991. data.identifyValidEndDate.substring(4, 6) +
  2992. "-" +
  2993. data.identifyValidEndDate.substring(6, 8): ''
  2994. ower2Form.value.age = getAgeByIdCard(data.identifyNumber)
  2995. ower2Form.value.gender = data.identifyIssuedCom
  2996. ower2Form.value.email = data.email
  2997. } else {
  2998. ElMessage({
  2999. message: res.msg,
  3000. type: 'warning'
  3001. })
  3002. }
  3003. })
  3004. }
  3005. break;
  3006. case 4:
  3007. jqPolicyName.value = result.fileName
  3008. jqPolicy.value = result.downloadUrl
  3009. jqPolicyId.value = result.id
  3010. break;
  3011. case 5:
  3012. syPolicyName.value = result.fileName
  3013. syPolicy.value = result.downloadUrl
  3014. syPolicyId.value = result.id
  3015. break;
  3016. case 6:
  3017. noPolicyName.value = result.fileName
  3018. noPolicy.value = result.downloadUrl
  3019. noPolicyId.value = result.id
  3020. break;
  3021. case 7:
  3022. jqSignName.value = result.fileName
  3023. jqSign.value = result.downloadUrl
  3024. jqSignId.value = result.id
  3025. break;
  3026. }
  3027. } else {
  3028. ElMessage({
  3029. message: msg,
  3030. type: 'error'
  3031. })
  3032. }
  3033. }
  3034. // word预览
  3035. const filePreview = (file) => {
  3036. nextTick(() => {
  3037. fileUrl.value = file
  3038. })
  3039. }
  3040. // 图片预览
  3041. const imageView = (type) => {
  3042. switch (type) {
  3043. case 4:
  3044. imageUrl.value = jqPolicy.value
  3045. nextTick(() => {
  3046. // loadPdf(jqPolicy.value)
  3047. if(jqPolicy.value.includes('.pdf')) {
  3048. window.open(jqPolicy.value, '_blank')
  3049. } else if(jqPolicy.value.includes('.doc') || jqPolicy.value.includes('.docx')) {
  3050. fileShow.value = true
  3051. nextTick(() => {
  3052. filePreview(jqPolicy.value)
  3053. })
  3054. } else if(jqPolicy.value.includes('.jpg') || jqPolicy.value.includes('.jpeg') || jqPolicy.value.includes('.png')) {
  3055. imageShow.value = true
  3056. }
  3057. })
  3058. break;
  3059. case 5:
  3060. imageUrl.value = syPolicy.value
  3061. nextTick(() => {
  3062. // loadPdf(syPolicy.value)
  3063. if(syPolicy.value.includes('.pdf')) {
  3064. window.open(syPolicy.value, '_blank')
  3065. } else if(syPolicy.value.includes('.doc') || syPolicy.value.includes('.docx')) {
  3066. fileShow.value = true
  3067. filePreview(syPolicy.value)
  3068. } else if(syPolicy.value.includes('.jpg') || syPolicy.value.includes('.jpeg') || syPolicy.value.includes('.png')) {
  3069. imageShow.value = true
  3070. }
  3071. })
  3072. break;
  3073. case 6:
  3074. imageUrl.value = noPolicy.value
  3075. nextTick(() => {
  3076. // loadPdf(noPolicy.value)
  3077. if(noPolicy.value.includes('.pdf')) {
  3078. window.open(noPolicy.value, '_blank')
  3079. } else if(noPolicy.value.includes('.doc') || noPolicy.value.includes('.docx')) {
  3080. fileShow.value = true
  3081. filePreview(noPolicy.value)
  3082. } else if(noPolicy.value.includes('.jpg') || noPolicy.value.includes('.jpeg') || noPolicy.value.includes('.png')) {
  3083. imageShow.value = true
  3084. }
  3085. })
  3086. break;
  3087. case 7:
  3088. imageUrl.value = jqSign.value
  3089. nextTick(() => {
  3090. // loadPdf(jqSign.value)
  3091. if(jqSign.value.includes('.pdf')) {
  3092. window.open(jqSign.value, '_blank')
  3093. } else if(jqSign.value.includes('.doc') || jqSign.value.includes('.docx')) {
  3094. fileShow.value = true
  3095. filePreview(jqSign.value)
  3096. } else if(jqSign.value.includes('.jpg') || jqSign.value.includes('.jpeg') || jqSign.value.includes('.png')) {
  3097. imageShow.value = true
  3098. }
  3099. })
  3100. break;
  3101. }
  3102. }
  3103. // 图片下载
  3104. const download = (url, name) => {
  3105. let image = new Image();
  3106. // 解决跨域 Canvas 污染问题
  3107. image.setAttribute("crossOrigin", "anonymous");
  3108. image.onload = function () {
  3109. let canvas = document.createElement("canvas");
  3110. canvas.width = image.width;
  3111. canvas.height = image.height;
  3112. let context = canvas.getContext("2d");
  3113. context.drawImage(image, 0, 0, image.width, image.height);
  3114. let url = canvas.toDataURL("image/png"); //得到图片的base64编码数据
  3115. let a = document.createElement("a"); // 生成一个a元素
  3116. let event = new MouseEvent("click"); // 创建一个单击事件
  3117. a.download = name; // 设置图片名称
  3118. a.href = url; // 将生成的URL设置为a.href属性
  3119. a.dispatchEvent(event); // 触发a的单击事件
  3120. }
  3121. image.src = url
  3122. }
  3123. const downloadImage = (type) => {
  3124. switch (type) {
  3125. case 4:
  3126. download(jqPolicy.value,jqPolicyName.value)
  3127. break;
  3128. case 5:
  3129. download(syPolicy.value,syPolicyName.value)
  3130. break;
  3131. case 6:
  3132. download(noPolicy.value,noPolicyName.value)
  3133. break;
  3134. case 7:
  3135. download(jqSign.value,jqSignName.value)
  3136. break;
  3137. }
  3138. }
  3139. // 图片删除
  3140. const deleteImage = (type) => {
  3141. switch (type) {
  3142. case 4:
  3143. jqPolicy.value = ''
  3144. jqPolicyName.value = ''
  3145. break;
  3146. case 5:
  3147. syPolicy.value = ''
  3148. syPolicyName.value = ''
  3149. break;
  3150. case 6:
  3151. noPolicy.value = ''
  3152. noPolicyName.value = ''
  3153. break;
  3154. case 7:
  3155. jqSign.value = ''
  3156. jqSignName.value = ''
  3157. break;
  3158. }
  3159. }
  3160. // 选择业务员
  3161. let salesmanShow = ref(false)
  3162. const handleFocus = () => {
  3163. salesmanShow.value = true
  3164. nextTick(() => {
  3165. SalesmanSelectRef.value.initEditData()
  3166. })
  3167. }
  3168. const handleSalesmanSelect = (data) => {
  3169. salesmanShow.value = false
  3170. if(data) {
  3171. form.value.name = data.name
  3172. form.value.type = '代理人'
  3173. initDept()
  3174. }
  3175. }
  3176. // 归属
  3177. const initDept = () => {
  3178. api.insuranceApi.getDeptTree({ sysCode: localStorage.getItem('sysCode')}).then((res: any) => {
  3179. if(res.code == 200) {
  3180. institutionList.value = res.data
  3181. } else {
  3182. ElMessage({
  3183. message: res.msg,
  3184. type: 'warning'
  3185. })
  3186. }
  3187. })
  3188. }
  3189. // 选择车型
  3190. let carTypeShow = ref(false)
  3191. const handleCarType = (type) => {
  3192. carTypeShow.value = true
  3193. nextTick(() => {
  3194. CarTypeSelectRef.value.initData(type === 1?carForm.value.vinNo:carForm.value.brandName, type)
  3195. })
  3196. }
  3197. const handleCarTypeSelect = (data) => {
  3198. carTypeShow.value = false
  3199. carForm.value.carYear = data.marketYear
  3200. carForm.value.completeKerbMass = data.wholeWeight
  3201. carForm.value.displacement = data.displacement
  3202. carForm.value.purchasePrice = data.replacementValue
  3203. carForm.value.energyTypeCode = carForm.value.licenseNo && carForm.value.length == 7?data.energyTypes: '0'
  3204. writeCarForm.value.energyTypeCode = writeCarForm.value.licenseNo && writeCarForm.value.length == 7?data.energyTypes: '0'
  3205. }
  3206. // 选择险种
  3207. let insuranceShow = ref(false)
  3208. const handleInsurance = () => {
  3209. insuranceShow.value = true
  3210. nextTick(() => {
  3211. InsuranceSelectRef.value.initEditData()
  3212. })
  3213. }
  3214. const handleInsuranceSelect = (data) => {
  3215. insuranceShow.value = false
  3216. let list = [...data.list]
  3217. if(list && list.length > 0) {
  3218. list.forEach(a => {
  3219. let obj = a.options.find(b => b.checked)
  3220. a.amount = obj.value
  3221. })
  3222. insuranceData.value = list
  3223. }
  3224. }
  3225. // 暂存
  3226. const handleSave = () => {
  3227. let obj:{
  3228. carInfoVo: any,
  3229. ownersInfo: any, // 车主信息
  3230. policyHolderInfo: any, // 投保人信息
  3231. insuredPersonInfo: any, // 被投保人信息
  3232. kindInfoVo: [], // 险种
  3233. insOrders: {
  3234. productId: string
  3235. }, // 保险订单
  3236. vehicleAndVesselTax: any, // 车船税
  3237. ciRiskInfoVo: any, // 起保时间-交强险
  3238. biRiskInfoVo: any, // 起保时间-商业险
  3239. insOrdersOtherInfo: any, // 投保信息
  3240. imagesAdds: {
  3241. images: any[]
  3242. }, // 影像资料
  3243. insOrdersExternalPolicy: any, // 电子保单
  3244. isTemporarily: number | undefined, // 0暂存1提交
  3245. } = {
  3246. carInfoVo: null,
  3247. ownersInfo: null,
  3248. policyHolderInfo: null,
  3249. insuredPersonInfo: null,
  3250. kindInfoVo: [],
  3251. insOrders: {
  3252. productId: insuranceForm.value.productId
  3253. },
  3254. vehicleAndVesselTax: null,
  3255. ciRiskInfoVo: null,
  3256. biRiskInfoVo: null,
  3257. insOrdersOtherInfo: null,
  3258. imagesAdds: {
  3259. images: []
  3260. },
  3261. insOrdersExternalPolicy: null,
  3262. isTemporarily: 1
  3263. }
  3264. if(detailData.value) {
  3265. obj.insOrders = detailData.value.insOrders
  3266. }
  3267. if(carSwitch.value) {
  3268. obj.carInfoVo = carForm.value
  3269. } else {
  3270. obj.carInfoVo = writeCarForm.value
  3271. }
  3272. if(owerSwitch.value) {
  3273. obj.ownersInfo = owerForm.value
  3274. } else {
  3275. obj.ownersInfo = writeOwerForm.value
  3276. }
  3277. if(ower1Switch.value) {
  3278. if(btns.value.ower1Show) {
  3279. obj.policyHolderInfo = {
  3280. ...obj.ownersInfo,
  3281. carOwner: 1
  3282. }
  3283. } else {
  3284. obj.policyHolderInfo = ower1Form.value
  3285. }
  3286. } else {
  3287. obj.policyHolderInfo = writeOwer1Form.value
  3288. }
  3289. if(ower2Switch.value) {
  3290. if(btns.value.ower2show) {
  3291. let object = btns.value.ower2.find(a => a.checked)
  3292. if(object.text === '同被保人') {
  3293. obj.insuredPersonInfo = {
  3294. ...obj.policyHolderInfo,
  3295. carOwner: 2
  3296. }
  3297. } else {
  3298. obj.insuredPersonInfo = {
  3299. ...obj.ownersInfo,
  3300. carOwner: 1
  3301. }
  3302. }
  3303. } else {
  3304. obj.insuredPersonInfo = ower2Form.value
  3305. }
  3306. } else {
  3307. obj.insuredPersonInfo = writeOwer2Form.value
  3308. }
  3309. obj.vehicleAndVesselTax = {
  3310. taxRelifFlag: insuranceForm.value.taxRelifFlag,
  3311. identifyNumber: insuranceForm.value.identifyNumber,
  3312. organizationCode: insuranceForm.value.organizationCode,
  3313. taxpayerName: insuranceForm.value.taxpayerName,
  3314. taxpayerIdentifier: insuranceForm.value.taxpayerIdentifier,
  3315. extendChar2: insuranceForm.value.extendChar2,
  3316. relifReason: insuranceForm.value.relifReason,
  3317. paidFreeCertificate: insuranceForm.value.paidFreeCertificate,
  3318. taxComCode: insuranceForm.value.taxComCode,
  3319. taxComName: insuranceForm.value.taxComName,
  3320. taxRelief: insuranceForm.value.taxRelief,
  3321. taxDocumentDate: insuranceForm.value.taxDocumentDate,
  3322. taxPaidAreaCode: insuranceForm.value.taxPaidAreaCode
  3323. }
  3324. obj.ciRiskInfoVo = {
  3325. instantFlag: jqWork.value.some(a => a.checked)?true : false,
  3326. startDate: insuranceForm.value.jqStart,
  3327. endDate: insuranceForm.value.jqEnd,
  3328. riskCode: '0507'
  3329. }
  3330. obj.biRiskInfoVo = {
  3331. instantFlag: syWork.value.some(a => a.checked)?true : false,
  3332. startDate: insuranceForm.value.syStart,
  3333. endDate: insuranceForm.value.syEnd,
  3334. riskCode: '0510'
  3335. }
  3336. if(fileList.value.length>0) {
  3337. obj.imagesAdds.images = fileList.value
  3338. } else {
  3339. obj.imagesAdds.images = [
  3340. {
  3341. imageType: 'C01',
  3342. imageId: xszFrontResult.value?.id
  3343. },
  3344. {
  3345. imageType: 'D01',
  3346. imageId: xszBackResult.value?.id
  3347. },
  3348. {
  3349. imageType: 'C02',
  3350. imageId: sfzFrontResult.value?.id
  3351. },
  3352. {
  3353. imageType: 'D02',
  3354. imageId: sfzBackResult.value?.id
  3355. },
  3356. {
  3357. imageType: 'C03',
  3358. imageId: sfz1FrontResult.value?.id
  3359. },
  3360. {
  3361. imageType: 'D03',
  3362. imageId: sfz1BackResult.value?.id
  3363. },
  3364. {
  3365. imageType: 'C04',
  3366. imageId: sfz2FrontResult.value?.id
  3367. },
  3368. {
  3369. imageType: 'D04',
  3370. imageId: sfz2BackResult.value?.id
  3371. }
  3372. ]
  3373. }
  3374. obj.insOrdersOtherInfo = quoteForm.value
  3375. obj.insOrdersExternalPolicy = {
  3376. jqPolicy: jqPolicyId.value,
  3377. syPolicy: syPolicyId.value,
  3378. noPolicy: noPolicyId.value,
  3379. jqSign: jqSignId.value
  3380. }
  3381. obj.kindInfoVo = insuranceData.value
  3382. if(myRoute.query.id) {
  3383. api.additionalApi.updateOrders(obj).then((res: any) => {
  3384. if(res.code == 200) {
  3385. myRouter.push({
  3386. path: '/additionalOrder/temporarily'
  3387. })
  3388. ElMessage({
  3389. message: res.msg,
  3390. type: 'success'
  3391. })
  3392. } else {
  3393. ElMessage({
  3394. message: res.msg,
  3395. type: 'warning'
  3396. })
  3397. }
  3398. })
  3399. } else {
  3400. api.additionalApi.saveOrders(obj).then((res: any) => {
  3401. if(res.code == 200) {
  3402. myRouter.push({
  3403. path: '/additionalOrder/temporarily'
  3404. })
  3405. ElMessage({
  3406. message: res.msg,
  3407. type: 'success'
  3408. })
  3409. } else {
  3410. ElMessage({
  3411. message: res.msg,
  3412. type: 'warning'
  3413. })
  3414. }
  3415. })
  3416. }
  3417. }
  3418. // 提交
  3419. const handleSubmit = () => {
  3420. let obj:{
  3421. carInfoVo: any,
  3422. ownersInfo: any, // 车主信息
  3423. policyHolderInfo: any, // 投保人信息
  3424. insuredPersonInfo: any, // 被投保人信息
  3425. kindInfoVo: [], // 险种
  3426. insOrders: {
  3427. productId: string
  3428. }, // 保险订单
  3429. vehicleAndVesselTax: any, // 车船税
  3430. ciRiskInfoVo: any, // 起保时间-交强险
  3431. biRiskInfoVo: any, // 起保时间-商业险
  3432. insOrdersOtherInfo: any, // 投保信息
  3433. imagesAdds: {
  3434. images: any[]
  3435. }, // 影像资料
  3436. insOrdersExternalPolicy: any, // 电子保单
  3437. isTemporarily: number | undefined, // 0暂存1提交
  3438. } = {
  3439. carInfoVo: null,
  3440. ownersInfo: null,
  3441. policyHolderInfo: null,
  3442. insuredPersonInfo: null,
  3443. kindInfoVo: [],
  3444. insOrders: {
  3445. productId: insuranceForm.value.productId
  3446. },
  3447. vehicleAndVesselTax: null,
  3448. ciRiskInfoVo: null,
  3449. biRiskInfoVo: null,
  3450. insOrdersOtherInfo: null,
  3451. imagesAdds: {
  3452. images: []
  3453. },
  3454. insOrdersExternalPolicy: null,
  3455. isTemporarily: 0
  3456. }
  3457. if(detailData.value) {
  3458. obj.insOrders = detailData.value.insOrders
  3459. }
  3460. obj.vehicleAndVesselTax = {
  3461. taxRelifFlag: insuranceForm.value.taxRelifFlag,
  3462. identifyNumber: insuranceForm.value.identifyNumber,
  3463. organizationCode: insuranceForm.value.organizationCode,
  3464. taxpayerName: insuranceForm.value.taxpayerName,
  3465. taxpayerIdentifier: insuranceForm.value.taxpayerIdentifier,
  3466. extendChar2: insuranceForm.value.extendChar2,
  3467. relifReason: insuranceForm.value.relifReason,
  3468. paidFreeCertificate: insuranceForm.value.paidFreeCertificate,
  3469. taxComCode: insuranceForm.value.taxComCode,
  3470. taxComName: insuranceForm.value.taxComName,
  3471. taxRelief: insuranceForm.value.taxRelief,
  3472. taxDocumentDate: insuranceForm.value.taxDocumentDate,
  3473. taxPaidAreaCode: insuranceForm.value.taxPaidAreaCode
  3474. }
  3475. obj.ciRiskInfoVo = {
  3476. instantFlag: jqWork.value.some(a => a.checked)?true : false,
  3477. startDate: insuranceForm.value.jqStart,
  3478. endDate: insuranceForm.value.jqEnd,
  3479. riskCode: '0507'
  3480. }
  3481. obj.biRiskInfoVo = {
  3482. instantFlag: syWork.value.some(a => a.checked)?true : false,
  3483. startDate: insuranceForm.value.syStart,
  3484. endDate: insuranceForm.value.syEnd,
  3485. riskCode: '0510'
  3486. }
  3487. if(fileList.value.length>0) {
  3488. obj.imagesAdds.images = fileList.value
  3489. } else {
  3490. obj.imagesAdds.images = [
  3491. {
  3492. imageType: 'C01',
  3493. imageId: xszFrontResult.value?.id
  3494. },
  3495. {
  3496. imageType: 'D01',
  3497. imageId: xszBackResult.value?.id
  3498. },
  3499. {
  3500. imageType: 'C02',
  3501. imageId: sfzFrontResult.value?.id
  3502. },
  3503. {
  3504. imageType: 'D02',
  3505. imageId: sfzBackResult.value?.id
  3506. },
  3507. {
  3508. imageType: 'C03',
  3509. imageId: sfz1FrontResult.value?.id
  3510. },
  3511. {
  3512. imageType: 'D03',
  3513. imageId: sfz1BackResult.value?.id
  3514. },
  3515. {
  3516. imageType: 'C04',
  3517. imageId: sfz2FrontResult.value?.id
  3518. },
  3519. {
  3520. imageType: 'D04',
  3521. imageId: sfz2BackResult.value?.id
  3522. }
  3523. ]
  3524. }
  3525. obj.insOrdersExternalPolicy = {
  3526. jqPolicy: jqPolicyId.value,
  3527. syPolicy: syPolicyId.value,
  3528. noPolicy: noPolicyId.value,
  3529. jqSign: jqSignId.value
  3530. }
  3531. obj.kindInfoVo = insuranceData.value
  3532. if(carSwitch.value) {
  3533. // 车辆信息识别
  3534. carFormRefs.value?.validate((valid) => {
  3535. if(valid) {
  3536. obj.carInfoVo = carForm.value
  3537. if(owerSwitch.value) {
  3538. // 车主信息识别
  3539. owerFormRefs.value?.validate((valid) => {
  3540. if(valid) {
  3541. obj.ownersInfo = owerForm.value
  3542. if(ower1Switch.value) {
  3543. // 投保人信息识别
  3544. ower1FormRefs.value?.validate((valid) => {
  3545. if(valid) {
  3546. obj.policyHolderInfo = ower1Form.value
  3547. if(ower2Switch.value) {
  3548. // 被投保人信息识别
  3549. ower2FormRefs.value?.validate((valid) => {
  3550. if(valid) {
  3551. obj.insuredPersonInfo = ower2Form.value
  3552. quoteFormRefs.value?.validate((valid) => {
  3553. if(valid) {
  3554. obj.insOrdersOtherInfo = quoteForm.value
  3555. if(myRoute.query.id) {
  3556. api.additionalApi.updateOrders(obj).then((res: any) => {
  3557. if(res.code == 200) {
  3558. myRouter.push({
  3559. path: '/additionalOrder/order'
  3560. })
  3561. ElMessage({
  3562. message: res.msg,
  3563. type: 'success'
  3564. })
  3565. } else {
  3566. ElMessage({
  3567. message: res.msg,
  3568. type: 'warning'
  3569. })
  3570. }
  3571. })
  3572. } else {
  3573. api.additionalApi.saveOrders(obj).then((res: any) => {
  3574. if(res.code == 200) {
  3575. myRouter.push({
  3576. path: '/additionalOrder/order'
  3577. })
  3578. ElMessage({
  3579. message: res.msg,
  3580. type: 'success'
  3581. })
  3582. } else {
  3583. ElMessage({
  3584. message: res.msg,
  3585. type: 'warning'
  3586. })
  3587. }
  3588. })
  3589. }
  3590. }
  3591. })
  3592. }
  3593. })
  3594. if(btns.value.ower2show) {
  3595. let object = btns.value.ower2.find(a => a.checked)
  3596. if(object.text === '同被保人') {
  3597. obj.insuredPersonInfo = obj.policyHolderInfo
  3598. quoteFormRefs.value?.validate((valid) => {
  3599. if(valid) {
  3600. obj.insOrdersOtherInfo = quoteForm.value
  3601. if(myRoute.query.id) {
  3602. api.additionalApi.updateOrders(obj).then((res: any) => {
  3603. if(res.code == 200) {
  3604. myRouter.push({
  3605. path: '/additionalOrder/order'
  3606. })
  3607. ElMessage({
  3608. message: res.msg,
  3609. type: 'success'
  3610. })
  3611. } else {
  3612. ElMessage({
  3613. message: res.msg,
  3614. type: 'warning'
  3615. })
  3616. }
  3617. })
  3618. } else {
  3619. api.additionalApi.saveOrders(obj).then((res: any) => {
  3620. if(res.code == 200) {
  3621. myRouter.push({
  3622. path: '/additionalOrder/order'
  3623. })
  3624. ElMessage({
  3625. message: res.msg,
  3626. type: 'success'
  3627. })
  3628. } else {
  3629. ElMessage({
  3630. message: res.msg,
  3631. type: 'warning'
  3632. })
  3633. }
  3634. })
  3635. }
  3636. }
  3637. })
  3638. } else {
  3639. obj.insuredPersonInfo = obj.ownersInfo
  3640. quoteFormRefs.value?.validate((valid) => {
  3641. if(valid) {
  3642. obj.insOrdersOtherInfo = quoteForm.value
  3643. if(myRoute.query.id) {
  3644. api.additionalApi.updateOrders(obj).then((res: any) => {
  3645. if(res.code == 200) {
  3646. myRouter.push({
  3647. path: '/additionalOrder/order'
  3648. })
  3649. ElMessage({
  3650. message: res.msg,
  3651. type: 'success'
  3652. })
  3653. } else {
  3654. ElMessage({
  3655. message: res.msg,
  3656. type: 'warning'
  3657. })
  3658. }
  3659. })
  3660. } else {
  3661. api.additionalApi.saveOrders(obj).then((res: any) => {
  3662. if(res.code == 200) {
  3663. myRouter.push({
  3664. path: '/additionalOrder/order'
  3665. })
  3666. ElMessage({
  3667. message: res.msg,
  3668. type: 'success'
  3669. })
  3670. } else {
  3671. ElMessage({
  3672. message: res.msg,
  3673. type: 'warning'
  3674. })
  3675. }
  3676. })
  3677. }
  3678. }
  3679. })
  3680. }
  3681. }
  3682. } else {
  3683. // 被投保人信息手填
  3684. writeOwer2FormRefs.value?.validate((valid) => {
  3685. if(valid) {
  3686. obj.insuredPersonInfo = writeOwer2Form.value
  3687. quoteFormRefs.value?.validate((valid) => {
  3688. if(valid) {
  3689. obj.insOrdersOtherInfo = quoteForm.value
  3690. if(myRoute.query.id) {
  3691. api.additionalApi.updateOrders(obj).then((res: any) => {
  3692. if(res.code == 200) {
  3693. myRouter.push({
  3694. path: '/additionalOrder/order'
  3695. })
  3696. ElMessage({
  3697. message: res.msg,
  3698. type: 'success'
  3699. })
  3700. } else {
  3701. ElMessage({
  3702. message: res.msg,
  3703. type: 'warning'
  3704. })
  3705. }
  3706. })
  3707. } else {
  3708. api.additionalApi.saveOrders(obj).then((res: any) => {
  3709. if(res.code == 200) {
  3710. myRouter.push({
  3711. path: '/additionalOrder/order'
  3712. })
  3713. ElMessage({
  3714. message: res.msg,
  3715. type: 'success'
  3716. })
  3717. } else {
  3718. ElMessage({
  3719. message: res.msg,
  3720. type: 'warning'
  3721. })
  3722. }
  3723. })
  3724. }
  3725. }
  3726. })
  3727. }
  3728. })
  3729. }
  3730. }
  3731. })
  3732. if(btns.value.ower1Show) {
  3733. obj.policyHolderInfo = obj.ownersInfo
  3734. if(ower2Switch.value) {
  3735. ower2FormRefs.value?.validate((valid) => {
  3736. if(valid) {
  3737. obj.insuredPersonInfo = ower2Form.value
  3738. obj.vehicleAndVesselTax = {
  3739. taxRelifFlag: insuranceForm.value.taxRelifFlag,
  3740. identifyNumber: insuranceForm.value.identifyNumber,
  3741. organizationCode: insuranceForm.value.organizationCode,
  3742. taxpayerName: insuranceForm.value.taxpayerName,
  3743. taxpayerIdentifier: insuranceForm.value.taxpayerIdentifier,
  3744. extendChar2: insuranceForm.value.extendChar2,
  3745. relifReason: insuranceForm.value.relifReason,
  3746. paidFreeCertificate: insuranceForm.value.paidFreeCertificate,
  3747. taxComCode: insuranceForm.value.taxComCode,
  3748. taxComName: insuranceForm.value.taxComName,
  3749. taxRelief: insuranceForm.value.taxRelief,
  3750. taxDocumentDate: insuranceForm.value.taxDocumentDate,
  3751. taxPaidAreaCode: insuranceForm.value.taxPaidAreaCode
  3752. }
  3753. obj.ciRiskInfoVo = {
  3754. instantFlag: jqWork.value.some(a => a.checked)?true : false,
  3755. startDate: insuranceForm.value.jqStart,
  3756. endDate: insuranceForm.value.jqEnd
  3757. }
  3758. obj.biRiskInfoVo = {
  3759. instantFlag: syWork.value.some(a => a.checked)?true : false,
  3760. startDate: insuranceForm.value.syStart,
  3761. endDate: insuranceForm.value.syEnd
  3762. }
  3763. quoteFormRefs.value?.validate((valid) => {
  3764. if(valid) {
  3765. obj.insOrdersOtherInfo = quoteForm.value
  3766. if(myRoute.query.id) {
  3767. api.additionalApi.updateOrders(obj).then((res: any) => {
  3768. if(res.code == 200) {
  3769. myRouter.push({
  3770. path: '/additionalOrder/order'
  3771. })
  3772. ElMessage({
  3773. message: res.msg,
  3774. type: 'success'
  3775. })
  3776. } else {
  3777. ElMessage({
  3778. message: res.msg,
  3779. type: 'warning'
  3780. })
  3781. }
  3782. })
  3783. } else {
  3784. api.additionalApi.saveOrders(obj).then((res: any) => {
  3785. if(res.code == 200) {
  3786. myRouter.push({
  3787. path: '/additionalOrder/order'
  3788. })
  3789. ElMessage({
  3790. message: res.msg,
  3791. type: 'success'
  3792. })
  3793. } else {
  3794. ElMessage({
  3795. message: res.msg,
  3796. type: 'warning'
  3797. })
  3798. }
  3799. })
  3800. }
  3801. }
  3802. })
  3803. }
  3804. })
  3805. if(btns.value.ower2show) {
  3806. let object = btns.value.ower2.find(a => a.checked)
  3807. if(object.text === '同被保人') {
  3808. obj.insuredPersonInfo = obj.policyHolderInfo
  3809. obj.vehicleAndVesselTax = {
  3810. taxRelifFlag: insuranceForm.value.taxRelifFlag,
  3811. identifyNumber: insuranceForm.value.identifyNumber,
  3812. organizationCode: insuranceForm.value.organizationCode,
  3813. taxpayerName: insuranceForm.value.taxpayerName,
  3814. taxpayerIdentifier: insuranceForm.value.taxpayerIdentifier,
  3815. extendChar2: insuranceForm.value.extendChar2,
  3816. relifReason: insuranceForm.value.relifReason,
  3817. paidFreeCertificate: insuranceForm.value.paidFreeCertificate,
  3818. taxComCode: insuranceForm.value.taxComCode,
  3819. taxComName: insuranceForm.value.taxComName,
  3820. taxRelief: insuranceForm.value.taxRelief,
  3821. taxDocumentDate: insuranceForm.value.taxDocumentDate,
  3822. taxPaidAreaCode: insuranceForm.value.taxPaidAreaCode
  3823. }
  3824. obj.ciRiskInfoVo = {
  3825. instantFlag: jqWork.value.some(a => a.checked)?true : false,
  3826. startDate: insuranceForm.value.jqStart,
  3827. endDate: insuranceForm.value.jqEnd
  3828. }
  3829. obj.biRiskInfoVo = {
  3830. instantFlag: syWork.value.some(a => a.checked)?true : false,
  3831. startDate: insuranceForm.value.syStart,
  3832. endDate: insuranceForm.value.syEnd
  3833. }
  3834. quoteFormRefs.value?.validate((valid) => {
  3835. if(valid) {
  3836. obj.insOrdersOtherInfo = quoteForm.value
  3837. if(myRoute.query.id) {
  3838. api.additionalApi.updateOrders(obj).then((res: any) => {
  3839. if(res.code == 200) {
  3840. myRouter.push({
  3841. path: '/additionalOrder/order'
  3842. })
  3843. ElMessage({
  3844. message: res.msg,
  3845. type: 'success'
  3846. })
  3847. } else {
  3848. ElMessage({
  3849. message: res.msg,
  3850. type: 'warning'
  3851. })
  3852. }
  3853. })
  3854. } else {
  3855. api.additionalApi.saveOrders(obj).then((res: any) => {
  3856. if(res.code == 200) {
  3857. myRouter.push({
  3858. path: '/additionalOrder/order'
  3859. })
  3860. ElMessage({
  3861. message: res.msg,
  3862. type: 'success'
  3863. })
  3864. } else {
  3865. ElMessage({
  3866. message: res.msg,
  3867. type: 'warning'
  3868. })
  3869. }
  3870. })
  3871. }
  3872. }
  3873. })
  3874. } else {
  3875. obj.insuredPersonInfo = obj.ownersInfo
  3876. obj.vehicleAndVesselTax = {
  3877. taxRelifFlag: insuranceForm.value.taxRelifFlag,
  3878. identifyNumber: insuranceForm.value.identifyNumber,
  3879. organizationCode: insuranceForm.value.organizationCode,
  3880. taxpayerName: insuranceForm.value.taxpayerName,
  3881. taxpayerIdentifier: insuranceForm.value.taxpayerIdentifier,
  3882. extendChar2: insuranceForm.value.extendChar2,
  3883. relifReason: insuranceForm.value.relifReason,
  3884. paidFreeCertificate: insuranceForm.value.paidFreeCertificate,
  3885. taxComCode: insuranceForm.value.taxComCode,
  3886. taxComName: insuranceForm.value.taxComName,
  3887. taxRelief: insuranceForm.value.taxRelief,
  3888. taxDocumentDate: insuranceForm.value.taxDocumentDate,
  3889. taxPaidAreaCode: insuranceForm.value.taxPaidAreaCode
  3890. }
  3891. obj.ciRiskInfoVo = {
  3892. instantFlag: jqWork.value.some(a => a.checked)?true : false,
  3893. startDate: insuranceForm.value.jqStart,
  3894. endDate: insuranceForm.value.jqEnd
  3895. }
  3896. obj.biRiskInfoVo = {
  3897. instantFlag: syWork.value.some(a => a.checked)?true : false,
  3898. startDate: insuranceForm.value.syStart,
  3899. endDate: insuranceForm.value.syEnd
  3900. }
  3901. quoteFormRefs.value?.validate((valid) => {
  3902. if(valid) {
  3903. obj.insOrdersOtherInfo = quoteForm.value
  3904. if(myRoute.query.id) {
  3905. api.additionalApi.updateOrders(obj).then((res: any) => {
  3906. if(res.code == 200) {
  3907. myRouter.push({
  3908. path: '/additionalOrder/order'
  3909. })
  3910. ElMessage({
  3911. message: res.msg,
  3912. type: 'success'
  3913. })
  3914. } else {
  3915. ElMessage({
  3916. message: res.msg,
  3917. type: 'warning'
  3918. })
  3919. }
  3920. })
  3921. } else {
  3922. api.additionalApi.saveOrders(obj).then((res: any) => {
  3923. if(res.code == 200) {
  3924. myRouter.push({
  3925. path: '/additionalOrder/order'
  3926. })
  3927. ElMessage({
  3928. message: res.msg,
  3929. type: 'success'
  3930. })
  3931. } else {
  3932. ElMessage({
  3933. message: res.msg,
  3934. type: 'warning'
  3935. })
  3936. }
  3937. })
  3938. }
  3939. }
  3940. })
  3941. }
  3942. }
  3943. } else {
  3944. writeOwer2FormRefs.value?.validate((valid) => {
  3945. if(valid) {
  3946. obj.insuredPersonInfo = writeOwer2Form.value
  3947. obj.vehicleAndVesselTax = {
  3948. taxRelifFlag: insuranceForm.value.taxRelifFlag,
  3949. identifyNumber: insuranceForm.value.identifyNumber,
  3950. organizationCode: insuranceForm.value.organizationCode,
  3951. taxpayerName: insuranceForm.value.taxpayerName,
  3952. taxpayerIdentifier: insuranceForm.value.taxpayerIdentifier,
  3953. extendChar2: insuranceForm.value.extendChar2,
  3954. relifReason: insuranceForm.value.relifReason,
  3955. paidFreeCertificate: insuranceForm.value.paidFreeCertificate,
  3956. taxComCode: insuranceForm.value.taxComCode,
  3957. taxComName: insuranceForm.value.taxComName,
  3958. taxRelief: insuranceForm.value.taxRelief,
  3959. taxDocumentDate: insuranceForm.value.taxDocumentDate,
  3960. taxPaidAreaCode: insuranceForm.value.taxPaidAreaCode
  3961. }
  3962. obj.ciRiskInfoVo = {
  3963. instantFlag: jqWork.value.some(a => a.checked)?true : false,
  3964. startDate: insuranceForm.value.jqStart,
  3965. endDate: insuranceForm.value.jqEnd
  3966. }
  3967. obj.biRiskInfoVo = {
  3968. instantFlag: syWork.value.some(a => a.checked)?true : false,
  3969. startDate: insuranceForm.value.syStart,
  3970. endDate: insuranceForm.value.syEnd
  3971. }
  3972. quoteFormRefs.value?.validate((valid) => {
  3973. if(valid) {
  3974. obj.insOrdersOtherInfo = quoteForm.value
  3975. if(myRoute.query.id) {
  3976. api.additionalApi.updateOrders(obj).then((res: any) => {
  3977. if(res.code == 200) {
  3978. myRouter.push({
  3979. path: '/additionalOrder/order'
  3980. })
  3981. ElMessage({
  3982. message: res.msg,
  3983. type: 'success'
  3984. })
  3985. } else {
  3986. ElMessage({
  3987. message: res.msg,
  3988. type: 'warning'
  3989. })
  3990. }
  3991. })
  3992. } else {
  3993. api.additionalApi.saveOrders(obj).then((res: any) => {
  3994. if(res.code == 200) {
  3995. myRouter.push({
  3996. path: '/additionalOrder/order'
  3997. })
  3998. ElMessage({
  3999. message: res.msg,
  4000. type: 'success'
  4001. })
  4002. } else {
  4003. ElMessage({
  4004. message: res.msg,
  4005. type: 'warning'
  4006. })
  4007. }
  4008. })
  4009. }
  4010. }
  4011. })
  4012. }
  4013. })
  4014. }
  4015. }
  4016. } else {
  4017. // 投保人信息手填
  4018. writeOwer1FormRefs.value?.validate((valid) => {
  4019. if(valid) {
  4020. obj.policyHolderInfo = writeOwer1Form.value
  4021. if(ower2Switch.value) {
  4022. ower2FormRefs.value?.validate((valid) => {
  4023. if(valid) {
  4024. obj.insuredPersonInfo = ower2Form.value
  4025. quoteFormRefs.value?.validate((valid) => {
  4026. if(valid) {
  4027. obj.insOrdersOtherInfo = quoteForm.value
  4028. if(myRoute.query.id) {
  4029. api.additionalApi.updateOrders(obj).then((res: any) => {
  4030. if(res.code == 200) {
  4031. myRouter.push({
  4032. path: '/additionalOrder/order'
  4033. })
  4034. ElMessage({
  4035. message: res.msg,
  4036. type: 'success'
  4037. })
  4038. } else {
  4039. ElMessage({
  4040. message: res.msg,
  4041. type: 'warning'
  4042. })
  4043. }
  4044. })
  4045. } else {
  4046. api.additionalApi.saveOrders(obj).then((res: any) => {
  4047. if(res.code == 200) {
  4048. myRouter.push({
  4049. path: '/additionalOrder/order'
  4050. })
  4051. ElMessage({
  4052. message: res.msg,
  4053. type: 'success'
  4054. })
  4055. } else {
  4056. ElMessage({
  4057. message: res.msg,
  4058. type: 'warning'
  4059. })
  4060. }
  4061. })
  4062. }
  4063. }
  4064. })
  4065. }
  4066. })
  4067. if(btns.value.ower2show) {
  4068. let object = btns.value.ower2.find(a => a.checked)
  4069. if(object.text === '同被保人') {
  4070. obj.insuredPersonInfo = obj.policyHolderInfo
  4071. quoteFormRefs.value?.validate((valid) => {
  4072. if(valid) {
  4073. obj.insOrdersOtherInfo = quoteForm.value
  4074. if(myRoute.query.id) {
  4075. api.additionalApi.updateOrders(obj).then((res: any) => {
  4076. if(res.code == 200) {
  4077. myRouter.push({
  4078. path: '/additionalOrder/order'
  4079. })
  4080. ElMessage({
  4081. message: res.msg,
  4082. type: 'success'
  4083. })
  4084. } else {
  4085. ElMessage({
  4086. message: res.msg,
  4087. type: 'warning'
  4088. })
  4089. }
  4090. })
  4091. } else {
  4092. api.additionalApi.saveOrders(obj).then((res: any) => {
  4093. if(res.code == 200) {
  4094. myRouter.push({
  4095. path: '/additionalOrder/order'
  4096. })
  4097. ElMessage({
  4098. message: res.msg,
  4099. type: 'success'
  4100. })
  4101. } else {
  4102. ElMessage({
  4103. message: res.msg,
  4104. type: 'warning'
  4105. })
  4106. }
  4107. })
  4108. }
  4109. }
  4110. })
  4111. } else {
  4112. obj.insuredPersonInfo = obj.ownersInfo
  4113. quoteFormRefs.value?.validate((valid) => {
  4114. if(valid) {
  4115. obj.insOrdersOtherInfo = quoteForm.value
  4116. if(myRoute.query.id) {
  4117. api.additionalApi.updateOrders(obj).then((res: any) => {
  4118. if(res.code == 200) {
  4119. myRouter.push({
  4120. path: '/additionalOrder/order'
  4121. })
  4122. ElMessage({
  4123. message: res.msg,
  4124. type: 'success'
  4125. })
  4126. } else {
  4127. ElMessage({
  4128. message: res.msg,
  4129. type: 'warning'
  4130. })
  4131. }
  4132. })
  4133. } else {
  4134. api.additionalApi.saveOrders(obj).then((res: any) => {
  4135. if(res.code == 200) {
  4136. myRouter.push({
  4137. path: '/additionalOrder/order'
  4138. })
  4139. ElMessage({
  4140. message: res.msg,
  4141. type: 'success'
  4142. })
  4143. } else {
  4144. ElMessage({
  4145. message: res.msg,
  4146. type: 'warning'
  4147. })
  4148. }
  4149. })
  4150. }
  4151. }
  4152. })
  4153. }
  4154. }
  4155. } else {
  4156. writeOwer2FormRefs.value?.validate((valid) => {
  4157. if(valid) {
  4158. obj.insuredPersonInfo = writeOwer2Form.value
  4159. quoteFormRefs.value?.validate((valid) => {
  4160. if(valid) {
  4161. obj.insOrdersOtherInfo = quoteForm.value
  4162. if(myRoute.query.id) {
  4163. api.additionalApi.updateOrders(obj).then((res: any) => {
  4164. if(res.code == 200) {
  4165. myRouter.push({
  4166. path: '/additionalOrder/order'
  4167. })
  4168. ElMessage({
  4169. message: res.msg,
  4170. type: 'success'
  4171. })
  4172. } else {
  4173. ElMessage({
  4174. message: res.msg,
  4175. type: 'warning'
  4176. })
  4177. }
  4178. })
  4179. } else {
  4180. api.additionalApi.saveOrders(obj).then((res: any) => {
  4181. if(res.code == 200) {
  4182. myRouter.push({
  4183. path: '/additionalOrder/order'
  4184. })
  4185. ElMessage({
  4186. message: res.msg,
  4187. type: 'success'
  4188. })
  4189. } else {
  4190. ElMessage({
  4191. message: res.msg,
  4192. type: 'warning'
  4193. })
  4194. }
  4195. })
  4196. }
  4197. }
  4198. })
  4199. }
  4200. })
  4201. }
  4202. }
  4203. })
  4204. }
  4205. }
  4206. })
  4207. obj.ownersInfo = owerForm.value
  4208. } else {
  4209. // 车主信息手填
  4210. writeOwerFormRefs.value?.validate((valid) => {
  4211. if(valid) {
  4212. obj.ownersInfo = writeOwerForm.value
  4213. if(ower1Switch.value) {
  4214. // 投保人信息识别
  4215. ower1FormRefs.value?.validate((valid) => {
  4216. if(valid) {
  4217. obj.policyHolderInfo = ower1Form.value
  4218. if(ower2Switch.value) {
  4219. ower2FormRefs.value?.validate((valid) => {
  4220. if(valid) {
  4221. obj.insuredPersonInfo = ower2Form.value
  4222. quoteFormRefs.value?.validate((valid) => {
  4223. if(valid) {
  4224. obj.insOrdersOtherInfo = quoteForm.value
  4225. if(myRoute.query.id) {
  4226. api.additionalApi.updateOrders(obj).then((res: any) => {
  4227. if(res.code == 200) {
  4228. myRouter.push({
  4229. path: '/additionalOrder/order'
  4230. })
  4231. ElMessage({
  4232. message: res.msg,
  4233. type: 'success'
  4234. })
  4235. } else {
  4236. ElMessage({
  4237. message: res.msg,
  4238. type: 'warning'
  4239. })
  4240. }
  4241. })
  4242. } else {
  4243. api.additionalApi.saveOrders(obj).then((res: any) => {
  4244. if(res.code == 200) {
  4245. myRouter.push({
  4246. path: '/additionalOrder/order'
  4247. })
  4248. ElMessage({
  4249. message: res.msg,
  4250. type: 'success'
  4251. })
  4252. } else {
  4253. ElMessage({
  4254. message: res.msg,
  4255. type: 'warning'
  4256. })
  4257. }
  4258. })
  4259. }
  4260. }
  4261. })
  4262. }
  4263. })
  4264. if(btns.value.ower2show) {
  4265. let object = btns.value.ower2.find(a => a.checked)
  4266. if(object.text === '同被保人') {
  4267. obj.insuredPersonInfo = obj.policyHolderInfo
  4268. quoteFormRefs.value?.validate((valid) => {
  4269. if(valid) {
  4270. obj.insOrdersOtherInfo = quoteForm.value
  4271. if(myRoute.query.id) {
  4272. api.additionalApi.updateOrders(obj).then((res: any) => {
  4273. if(res.code == 200) {
  4274. myRouter.push({
  4275. path: '/additionalOrder/order'
  4276. })
  4277. ElMessage({
  4278. message: res.msg,
  4279. type: 'success'
  4280. })
  4281. } else {
  4282. ElMessage({
  4283. message: res.msg,
  4284. type: 'warning'
  4285. })
  4286. }
  4287. })
  4288. } else {
  4289. api.additionalApi.saveOrders(obj).then((res: any) => {
  4290. if(res.code == 200) {
  4291. myRouter.push({
  4292. path: '/additionalOrder/order'
  4293. })
  4294. ElMessage({
  4295. message: res.msg,
  4296. type: 'success'
  4297. })
  4298. } else {
  4299. ElMessage({
  4300. message: res.msg,
  4301. type: 'warning'
  4302. })
  4303. }
  4304. })
  4305. }
  4306. }
  4307. })
  4308. } else {
  4309. obj.insuredPersonInfo = obj.ownersInfo
  4310. quoteFormRefs.value?.validate((valid) => {
  4311. if(valid) {
  4312. obj.insOrdersOtherInfo = quoteForm.value
  4313. if(myRoute.query.id) {
  4314. api.additionalApi.updateOrders(obj).then((res: any) => {
  4315. if(res.code == 200) {
  4316. myRouter.push({
  4317. path: '/additionalOrder/order'
  4318. })
  4319. ElMessage({
  4320. message: res.msg,
  4321. type: 'success'
  4322. })
  4323. } else {
  4324. ElMessage({
  4325. message: res.msg,
  4326. type: 'warning'
  4327. })
  4328. }
  4329. })
  4330. } else {
  4331. api.additionalApi.saveOrders(obj).then((res: any) => {
  4332. if(res.code == 200) {
  4333. myRouter.push({
  4334. path: '/additionalOrder/order'
  4335. })
  4336. ElMessage({
  4337. message: res.msg,
  4338. type: 'success'
  4339. })
  4340. } else {
  4341. ElMessage({
  4342. message: res.msg,
  4343. type: 'warning'
  4344. })
  4345. }
  4346. })
  4347. }
  4348. }
  4349. })
  4350. }
  4351. }
  4352. } else {
  4353. writeOwer2FormRefs.value?.validate((valid) => {
  4354. if(valid) {
  4355. obj.insuredPersonInfo = writeOwer2Form.value
  4356. quoteFormRefs.value?.validate((valid) => {
  4357. if(valid) {
  4358. obj.insOrdersOtherInfo = quoteForm.value
  4359. if(myRoute.query.id) {
  4360. api.additionalApi.updateOrders(obj).then((res: any) => {
  4361. if(res.code == 200) {
  4362. myRouter.push({
  4363. path: '/additionalOrder/order'
  4364. })
  4365. ElMessage({
  4366. message: res.msg,
  4367. type: 'success'
  4368. })
  4369. } else {
  4370. ElMessage({
  4371. message: res.msg,
  4372. type: 'warning'
  4373. })
  4374. }
  4375. })
  4376. } else {
  4377. api.additionalApi.saveOrders(obj).then((res: any) => {
  4378. if(res.code == 200) {
  4379. myRouter.push({
  4380. path: '/additionalOrder/order'
  4381. })
  4382. ElMessage({
  4383. message: res.msg,
  4384. type: 'success'
  4385. })
  4386. } else {
  4387. ElMessage({
  4388. message: res.msg,
  4389. type: 'warning'
  4390. })
  4391. }
  4392. })
  4393. }
  4394. }
  4395. })
  4396. }
  4397. })
  4398. }
  4399. }
  4400. })
  4401. if(btns.value.ower1Show) {
  4402. obj.policyHolderInfo = obj.ownersInfo
  4403. if(ower2Switch.value) {
  4404. ower2FormRefs.value?.validate((valid) => {
  4405. if(valid) {
  4406. obj.insuredPersonInfo = ower2Form.value
  4407. obj.vehicleAndVesselTax = {
  4408. taxRelifFlag: insuranceForm.value.taxRelifFlag,
  4409. identifyNumber: insuranceForm.value.identifyNumber,
  4410. organizationCode: insuranceForm.value.organizationCode,
  4411. taxpayerName: insuranceForm.value.taxpayerName,
  4412. taxpayerIdentifier: insuranceForm.value.taxpayerIdentifier,
  4413. extendChar2: insuranceForm.value.extendChar2,
  4414. relifReason: insuranceForm.value.relifReason,
  4415. paidFreeCertificate: insuranceForm.value.paidFreeCertificate,
  4416. taxComCode: insuranceForm.value.taxComCode,
  4417. taxComName: insuranceForm.value.taxComName,
  4418. taxRelief: insuranceForm.value.taxRelief,
  4419. taxDocumentDate: insuranceForm.value.taxDocumentDate,
  4420. taxPaidAreaCode: insuranceForm.value.taxPaidAreaCode
  4421. }
  4422. obj.ciRiskInfoVo = {
  4423. instantFlag: jqWork.value.some(a => a.checked)?true : false,
  4424. startDate: insuranceForm.value.jqStart,
  4425. endDate: insuranceForm.value.jqEnd
  4426. }
  4427. obj.biRiskInfoVo = {
  4428. instantFlag: syWork.value.some(a => a.checked)?true : false,
  4429. startDate: insuranceForm.value.syStart,
  4430. endDate: insuranceForm.value.syEnd
  4431. }
  4432. quoteFormRefs.value?.validate((valid) => {
  4433. if(valid) {
  4434. obj.insOrdersOtherInfo = quoteForm.value
  4435. if(myRoute.query.id) {
  4436. api.additionalApi.updateOrders(obj).then((res: any) => {
  4437. if(res.code == 200) {
  4438. myRouter.push({
  4439. path: '/additionalOrder/order'
  4440. })
  4441. ElMessage({
  4442. message: res.msg,
  4443. type: 'success'
  4444. })
  4445. } else {
  4446. ElMessage({
  4447. message: res.msg,
  4448. type: 'warning'
  4449. })
  4450. }
  4451. })
  4452. } else {
  4453. api.additionalApi.saveOrders(obj).then((res: any) => {
  4454. if(res.code == 200) {
  4455. myRouter.push({
  4456. path: '/additionalOrder/order'
  4457. })
  4458. ElMessage({
  4459. message: res.msg,
  4460. type: 'success'
  4461. })
  4462. } else {
  4463. ElMessage({
  4464. message: res.msg,
  4465. type: 'warning'
  4466. })
  4467. }
  4468. })
  4469. }
  4470. }
  4471. })
  4472. }
  4473. })
  4474. if(btns.value.ower2show) {
  4475. let object = btns.value.ower2.find(a => a.checked)
  4476. if(object.text === '同被保人') {
  4477. obj.insuredPersonInfo = obj.policyHolderInfo
  4478. obj.vehicleAndVesselTax = {
  4479. taxRelifFlag: insuranceForm.value.taxRelifFlag,
  4480. identifyNumber: insuranceForm.value.identifyNumber,
  4481. organizationCode: insuranceForm.value.organizationCode,
  4482. taxpayerName: insuranceForm.value.taxpayerName,
  4483. taxpayerIdentifier: insuranceForm.value.taxpayerIdentifier,
  4484. extendChar2: insuranceForm.value.extendChar2,
  4485. relifReason: insuranceForm.value.relifReason,
  4486. paidFreeCertificate: insuranceForm.value.paidFreeCertificate,
  4487. taxComCode: insuranceForm.value.taxComCode,
  4488. taxComName: insuranceForm.value.taxComName,
  4489. taxRelief: insuranceForm.value.taxRelief,
  4490. taxDocumentDate: insuranceForm.value.taxDocumentDate,
  4491. taxPaidAreaCode: insuranceForm.value.taxPaidAreaCode
  4492. }
  4493. obj.ciRiskInfoVo = {
  4494. instantFlag: jqWork.value.some(a => a.checked)?true : false,
  4495. startDate: insuranceForm.value.jqStart,
  4496. endDate: insuranceForm.value.jqEnd
  4497. }
  4498. obj.biRiskInfoVo = {
  4499. instantFlag: syWork.value.some(a => a.checked)?true : false,
  4500. startDate: insuranceForm.value.syStart,
  4501. endDate: insuranceForm.value.syEnd
  4502. }
  4503. quoteFormRefs.value?.validate((valid) => {
  4504. if(valid) {
  4505. obj.insOrdersOtherInfo = quoteForm.value
  4506. if(myRoute.query.id) {
  4507. api.additionalApi.updateOrders(obj).then((res: any) => {
  4508. if(res.code == 200) {
  4509. myRouter.push({
  4510. path: '/additionalOrder/order'
  4511. })
  4512. ElMessage({
  4513. message: res.msg,
  4514. type: 'success'
  4515. })
  4516. } else {
  4517. ElMessage({
  4518. message: res.msg,
  4519. type: 'warning'
  4520. })
  4521. }
  4522. })
  4523. } else {
  4524. api.additionalApi.saveOrders(obj).then((res: any) => {
  4525. if(res.code == 200) {
  4526. myRouter.push({
  4527. path: '/additionalOrder/order'
  4528. })
  4529. ElMessage({
  4530. message: res.msg,
  4531. type: 'success'
  4532. })
  4533. } else {
  4534. ElMessage({
  4535. message: res.msg,
  4536. type: 'warning'
  4537. })
  4538. }
  4539. })
  4540. }
  4541. }
  4542. })
  4543. } else {
  4544. obj.insuredPersonInfo = obj.ownersInfo
  4545. obj.vehicleAndVesselTax = {
  4546. taxRelifFlag: insuranceForm.value.taxRelifFlag,
  4547. identifyNumber: insuranceForm.value.identifyNumber,
  4548. organizationCode: insuranceForm.value.organizationCode,
  4549. taxpayerName: insuranceForm.value.taxpayerName,
  4550. taxpayerIdentifier: insuranceForm.value.taxpayerIdentifier,
  4551. extendChar2: insuranceForm.value.extendChar2,
  4552. relifReason: insuranceForm.value.relifReason,
  4553. paidFreeCertificate: insuranceForm.value.paidFreeCertificate,
  4554. taxComCode: insuranceForm.value.taxComCode,
  4555. taxComName: insuranceForm.value.taxComName,
  4556. taxRelief: insuranceForm.value.taxRelief,
  4557. taxDocumentDate: insuranceForm.value.taxDocumentDate,
  4558. taxPaidAreaCode: insuranceForm.value.taxPaidAreaCode
  4559. }
  4560. obj.ciRiskInfoVo = {
  4561. instantFlag: jqWork.value.some(a => a.checked)?true : false,
  4562. startDate: insuranceForm.value.jqStart,
  4563. endDate: insuranceForm.value.jqEnd
  4564. }
  4565. obj.biRiskInfoVo = {
  4566. instantFlag: syWork.value.some(a => a.checked)?true : false,
  4567. startDate: insuranceForm.value.syStart,
  4568. endDate: insuranceForm.value.syEnd
  4569. }
  4570. quoteFormRefs.value?.validate((valid) => {
  4571. if(valid) {
  4572. obj.insOrdersOtherInfo = quoteForm.value
  4573. if(myRoute.query.id) {
  4574. api.additionalApi.updateOrders(obj).then((res: any) => {
  4575. if(res.code == 200) {
  4576. myRouter.push({
  4577. path: '/additionalOrder/order'
  4578. })
  4579. ElMessage({
  4580. message: res.msg,
  4581. type: 'success'
  4582. })
  4583. } else {
  4584. ElMessage({
  4585. message: res.msg,
  4586. type: 'warning'
  4587. })
  4588. }
  4589. })
  4590. } else {
  4591. api.additionalApi.saveOrders(obj).then((res: any) => {
  4592. if(res.code == 200) {
  4593. myRouter.push({
  4594. path: '/additionalOrder/order'
  4595. })
  4596. ElMessage({
  4597. message: res.msg,
  4598. type: 'success'
  4599. })
  4600. } else {
  4601. ElMessage({
  4602. message: res.msg,
  4603. type: 'warning'
  4604. })
  4605. }
  4606. })
  4607. }
  4608. }
  4609. })
  4610. }
  4611. }
  4612. } else {
  4613. writeOwer2FormRefs.value?.validate((valid) => {
  4614. if(valid) {
  4615. obj.insuredPersonInfo = writeOwer2Form.value
  4616. obj.vehicleAndVesselTax = {
  4617. taxRelifFlag: insuranceForm.value.taxRelifFlag,
  4618. identifyNumber: insuranceForm.value.identifyNumber,
  4619. organizationCode: insuranceForm.value.organizationCode,
  4620. taxpayerName: insuranceForm.value.taxpayerName,
  4621. taxpayerIdentifier: insuranceForm.value.taxpayerIdentifier,
  4622. extendChar2: insuranceForm.value.extendChar2,
  4623. relifReason: insuranceForm.value.relifReason,
  4624. paidFreeCertificate: insuranceForm.value.paidFreeCertificate,
  4625. taxComCode: insuranceForm.value.taxComCode,
  4626. taxComName: insuranceForm.value.taxComName,
  4627. taxRelief: insuranceForm.value.taxRelief,
  4628. taxDocumentDate: insuranceForm.value.taxDocumentDate,
  4629. taxPaidAreaCode: insuranceForm.value.taxPaidAreaCode
  4630. }
  4631. obj.ciRiskInfoVo = {
  4632. instantFlag: jqWork.value.some(a => a.checked)?true : false,
  4633. startDate: insuranceForm.value.jqStart,
  4634. endDate: insuranceForm.value.jqEnd
  4635. }
  4636. obj.biRiskInfoVo = {
  4637. instantFlag: syWork.value.some(a => a.checked)?true : false,
  4638. startDate: insuranceForm.value.syStart,
  4639. endDate: insuranceForm.value.syEnd
  4640. }
  4641. quoteFormRefs.value?.validate((valid) => {
  4642. if(valid) {
  4643. obj.insOrdersOtherInfo = quoteForm.value
  4644. if(myRoute.query.id) {
  4645. api.additionalApi.updateOrders(obj).then((res: any) => {
  4646. if(res.code == 200) {
  4647. myRouter.push({
  4648. path: '/additionalOrder/order'
  4649. })
  4650. ElMessage({
  4651. message: res.msg,
  4652. type: 'success'
  4653. })
  4654. } else {
  4655. ElMessage({
  4656. message: res.msg,
  4657. type: 'warning'
  4658. })
  4659. }
  4660. })
  4661. } else {
  4662. api.additionalApi.saveOrders(obj).then((res: any) => {
  4663. if(res.code == 200) {
  4664. myRouter.push({
  4665. path: '/additionalOrder/order'
  4666. })
  4667. ElMessage({
  4668. message: res.msg,
  4669. type: 'success'
  4670. })
  4671. } else {
  4672. ElMessage({
  4673. message: res.msg,
  4674. type: 'warning'
  4675. })
  4676. }
  4677. })
  4678. }
  4679. }
  4680. })
  4681. }
  4682. })
  4683. }
  4684. }
  4685. } else {
  4686. writeOwer1FormRefs.value?.validate((valid) => {
  4687. if(valid) {
  4688. obj.policyHolderInfo = writeOwer1Form.value
  4689. if(ower2Switch.value) {
  4690. ower2FormRefs.value?.validate((valid) => {
  4691. if(valid) {
  4692. obj.insuredPersonInfo = ower2Form.value
  4693. quoteFormRefs.value?.validate((valid) => {
  4694. if(valid) {
  4695. obj.insOrdersOtherInfo = quoteForm.value
  4696. if(myRoute.query.id) {
  4697. api.additionalApi.updateOrders(obj).then((res: any) => {
  4698. if(res.code == 200) {
  4699. myRouter.push({
  4700. path: '/additionalOrder/order'
  4701. })
  4702. ElMessage({
  4703. message: res.msg,
  4704. type: 'success'
  4705. })
  4706. } else {
  4707. ElMessage({
  4708. message: res.msg,
  4709. type: 'warning'
  4710. })
  4711. }
  4712. })
  4713. } else {
  4714. api.additionalApi.saveOrders(obj).then((res: any) => {
  4715. if(res.code == 200) {
  4716. myRouter.push({
  4717. path: '/additionalOrder/order'
  4718. })
  4719. ElMessage({
  4720. message: res.msg,
  4721. type: 'success'
  4722. })
  4723. } else {
  4724. ElMessage({
  4725. message: res.msg,
  4726. type: 'warning'
  4727. })
  4728. }
  4729. })
  4730. }
  4731. }
  4732. })
  4733. }
  4734. })
  4735. if(btns.value.ower2show) {
  4736. let object = btns.value.ower2.find(a => a.checked)
  4737. if(object.text === '同被保人') {
  4738. obj.insuredPersonInfo = obj.policyHolderInfo
  4739. quoteFormRefs.value?.validate((valid) => {
  4740. if(valid) {
  4741. obj.insOrdersOtherInfo = quoteForm.value
  4742. if(myRoute.query.id) {
  4743. api.additionalApi.updateOrders(obj).then((res: any) => {
  4744. if(res.code == 200) {
  4745. myRouter.push({
  4746. path: '/additionalOrder/order'
  4747. })
  4748. ElMessage({
  4749. message: res.msg,
  4750. type: 'success'
  4751. })
  4752. } else {
  4753. ElMessage({
  4754. message: res.msg,
  4755. type: 'warning'
  4756. })
  4757. }
  4758. })
  4759. } else {
  4760. api.additionalApi.saveOrders(obj).then((res: any) => {
  4761. if(res.code == 200) {
  4762. myRouter.push({
  4763. path: '/additionalOrder/order'
  4764. })
  4765. ElMessage({
  4766. message: res.msg,
  4767. type: 'success'
  4768. })
  4769. } else {
  4770. ElMessage({
  4771. message: res.msg,
  4772. type: 'warning'
  4773. })
  4774. }
  4775. })
  4776. }
  4777. }
  4778. })
  4779. } else {
  4780. obj.insuredPersonInfo = obj.ownersInfo
  4781. quoteFormRefs.value?.validate((valid) => {
  4782. if(valid) {
  4783. obj.insOrdersOtherInfo = quoteForm.value
  4784. if(myRoute.query.id) {
  4785. api.additionalApi.updateOrders(obj).then((res: any) => {
  4786. if(res.code == 200) {
  4787. myRouter.push({
  4788. path: '/additionalOrder/order'
  4789. })
  4790. ElMessage({
  4791. message: res.msg,
  4792. type: 'success'
  4793. })
  4794. } else {
  4795. ElMessage({
  4796. message: res.msg,
  4797. type: 'warning'
  4798. })
  4799. }
  4800. })
  4801. } else {
  4802. api.additionalApi.saveOrders(obj).then((res: any) => {
  4803. if(res.code == 200) {
  4804. myRouter.push({
  4805. path: '/additionalOrder/order'
  4806. })
  4807. ElMessage({
  4808. message: res.msg,
  4809. type: 'success'
  4810. })
  4811. } else {
  4812. ElMessage({
  4813. message: res.msg,
  4814. type: 'warning'
  4815. })
  4816. }
  4817. })
  4818. }
  4819. }
  4820. })
  4821. }
  4822. }
  4823. } else {
  4824. writeOwer2FormRefs.value?.validate((valid) => {
  4825. if(valid) {
  4826. obj.insuredPersonInfo = writeOwer2Form.value
  4827. quoteFormRefs.value?.validate((valid) => {
  4828. if(valid) {
  4829. obj.insOrdersOtherInfo = quoteForm.value
  4830. if(myRoute.query.id) {
  4831. api.additionalApi.updateOrders(obj).then((res: any) => {
  4832. if(res.code == 200) {
  4833. myRouter.push({
  4834. path: '/additionalOrder/order'
  4835. })
  4836. ElMessage({
  4837. message: res.msg,
  4838. type: 'success'
  4839. })
  4840. } else {
  4841. ElMessage({
  4842. message: res.msg,
  4843. type: 'warning'
  4844. })
  4845. }
  4846. })
  4847. } else {
  4848. api.additionalApi.saveOrders(obj).then((res: any) => {
  4849. if(res.code == 200) {
  4850. myRouter.push({
  4851. path: '/additionalOrder/order'
  4852. })
  4853. ElMessage({
  4854. message: res.msg,
  4855. type: 'success'
  4856. })
  4857. } else {
  4858. ElMessage({
  4859. message: res.msg,
  4860. type: 'warning'
  4861. })
  4862. }
  4863. })
  4864. }
  4865. }
  4866. })
  4867. }
  4868. })
  4869. }
  4870. }
  4871. })
  4872. }
  4873. }
  4874. })
  4875. }
  4876. }
  4877. })
  4878. } else {
  4879. // 车辆信息手填
  4880. writeCarFormRefs.value?.validate((valid) => {
  4881. if(valid) {
  4882. obj.carInfoVo = writeCarForm.value
  4883. if(owerSwitch.value) {
  4884. owerFormRefs.value?.validate((valid) => {
  4885. if(valid) {
  4886. obj.ownersInfo = owerForm.value
  4887. if(ower1Switch.value) {
  4888. ower1FormRefs.value?.validate((valid) => {
  4889. if(valid) {
  4890. obj.policyHolderInfo = ower1Form.value
  4891. if(ower2Switch.value) {
  4892. ower2FormRefs.value?.validate((valid) => {
  4893. if(valid) {
  4894. obj.insuredPersonInfo = ower2Form.value
  4895. quoteFormRefs.value?.validate((valid) => {
  4896. if(valid) {
  4897. obj.insOrdersOtherInfo = quoteForm.value
  4898. if(myRoute.query.id) {
  4899. api.additionalApi.updateOrders(obj).then((res: any) => {
  4900. if(res.code == 200) {
  4901. myRouter.push({
  4902. path: '/additionalOrder/order'
  4903. })
  4904. ElMessage({
  4905. message: res.msg,
  4906. type: 'success'
  4907. })
  4908. } else {
  4909. ElMessage({
  4910. message: res.msg,
  4911. type: 'warning'
  4912. })
  4913. }
  4914. })
  4915. } else {
  4916. api.additionalApi.saveOrders(obj).then((res: any) => {
  4917. if(res.code == 200) {
  4918. myRouter.push({
  4919. path: '/additionalOrder/order'
  4920. })
  4921. ElMessage({
  4922. message: res.msg,
  4923. type: 'success'
  4924. })
  4925. } else {
  4926. ElMessage({
  4927. message: res.msg,
  4928. type: 'warning'
  4929. })
  4930. }
  4931. })
  4932. }
  4933. }
  4934. })
  4935. }
  4936. })
  4937. if(btns.value.ower2show) {
  4938. let object = btns.value.ower2.find(a => a.checked)
  4939. if(object.text === '同被保人') {
  4940. obj.insuredPersonInfo = obj.policyHolderInfo
  4941. quoteFormRefs.value?.validate((valid) => {
  4942. if(valid) {
  4943. obj.insOrdersOtherInfo = quoteForm.value
  4944. if(myRoute.query.id) {
  4945. api.additionalApi.updateOrders(obj).then((res: any) => {
  4946. if(res.code == 200) {
  4947. myRouter.push({
  4948. path: '/additionalOrder/order'
  4949. })
  4950. ElMessage({
  4951. message: res.msg,
  4952. type: 'success'
  4953. })
  4954. } else {
  4955. ElMessage({
  4956. message: res.msg,
  4957. type: 'warning'
  4958. })
  4959. }
  4960. })
  4961. } else {
  4962. api.additionalApi.saveOrders(obj).then((res: any) => {
  4963. if(res.code == 200) {
  4964. myRouter.push({
  4965. path: '/additionalOrder/order'
  4966. })
  4967. ElMessage({
  4968. message: res.msg,
  4969. type: 'success'
  4970. })
  4971. } else {
  4972. ElMessage({
  4973. message: res.msg,
  4974. type: 'warning'
  4975. })
  4976. }
  4977. })
  4978. }
  4979. }
  4980. })
  4981. } else {
  4982. obj.insuredPersonInfo = obj.ownersInfo
  4983. quoteFormRefs.value?.validate((valid) => {
  4984. if(valid) {
  4985. obj.insOrdersOtherInfo = quoteForm.value
  4986. if(myRoute.query.id) {
  4987. api.additionalApi.updateOrders(obj).then((res: any) => {
  4988. if(res.code == 200) {
  4989. myRouter.push({
  4990. path: '/additionalOrder/order'
  4991. })
  4992. ElMessage({
  4993. message: res.msg,
  4994. type: 'success'
  4995. })
  4996. } else {
  4997. ElMessage({
  4998. message: res.msg,
  4999. type: 'warning'
  5000. })
  5001. }
  5002. })
  5003. } else {
  5004. api.additionalApi.saveOrders(obj).then((res: any) => {
  5005. if(res.code == 200) {
  5006. myRouter.push({
  5007. path: '/additionalOrder/order'
  5008. })
  5009. ElMessage({
  5010. message: res.msg,
  5011. type: 'success'
  5012. })
  5013. } else {
  5014. ElMessage({
  5015. message: res.msg,
  5016. type: 'warning'
  5017. })
  5018. }
  5019. })
  5020. }
  5021. }
  5022. })
  5023. }
  5024. }
  5025. } else {
  5026. writeOwer2FormRefs.value?.validate((valid) => {
  5027. if(valid) {
  5028. obj.insuredPersonInfo = writeOwer2Form.value
  5029. quoteFormRefs.value?.validate((valid) => {
  5030. if(valid) {
  5031. obj.insOrdersOtherInfo = quoteForm.value
  5032. if(myRoute.query.id) {
  5033. api.additionalApi.updateOrders(obj).then((res: any) => {
  5034. if(res.code == 200) {
  5035. myRouter.push({
  5036. path: '/additionalOrder/order'
  5037. })
  5038. ElMessage({
  5039. message: res.msg,
  5040. type: 'success'
  5041. })
  5042. } else {
  5043. ElMessage({
  5044. message: res.msg,
  5045. type: 'warning'
  5046. })
  5047. }
  5048. })
  5049. } else {
  5050. api.additionalApi.saveOrders(obj).then((res: any) => {
  5051. if(res.code == 200) {
  5052. myRouter.push({
  5053. path: '/additionalOrder/order'
  5054. })
  5055. ElMessage({
  5056. message: res.msg,
  5057. type: 'success'
  5058. })
  5059. } else {
  5060. ElMessage({
  5061. message: res.msg,
  5062. type: 'warning'
  5063. })
  5064. }
  5065. })
  5066. }
  5067. }
  5068. })
  5069. }
  5070. })
  5071. }
  5072. }
  5073. })
  5074. if(btns.value.ower1Show) {
  5075. obj.policyHolderInfo = obj.ownersInfo
  5076. if(ower2Switch.value) {
  5077. ower2FormRefs.value?.validate((valid) => {
  5078. if(valid) {
  5079. obj.insuredPersonInfo = ower2Form.value
  5080. obj.vehicleAndVesselTax = {
  5081. taxRelifFlag: insuranceForm.value.taxRelifFlag,
  5082. identifyNumber: insuranceForm.value.identifyNumber,
  5083. organizationCode: insuranceForm.value.organizationCode,
  5084. taxpayerName: insuranceForm.value.taxpayerName,
  5085. taxpayerIdentifier: insuranceForm.value.taxpayerIdentifier,
  5086. extendChar2: insuranceForm.value.extendChar2,
  5087. relifReason: insuranceForm.value.relifReason,
  5088. paidFreeCertificate: insuranceForm.value.paidFreeCertificate,
  5089. taxComCode: insuranceForm.value.taxComCode,
  5090. taxComName: insuranceForm.value.taxComName,
  5091. taxRelief: insuranceForm.value.taxRelief,
  5092. taxDocumentDate: insuranceForm.value.taxDocumentDate,
  5093. taxPaidAreaCode: insuranceForm.value.taxPaidAreaCode
  5094. }
  5095. obj.ciRiskInfoVo = {
  5096. instantFlag: jqWork.value.some(a => a.checked)?true : false,
  5097. startDate: insuranceForm.value.jqStart,
  5098. endDate: insuranceForm.value.jqEnd
  5099. }
  5100. obj.biRiskInfoVo = {
  5101. instantFlag: syWork.value.some(a => a.checked)?true : false,
  5102. startDate: insuranceForm.value.syStart,
  5103. endDate: insuranceForm.value.syEnd
  5104. }
  5105. quoteFormRefs.value?.validate((valid) => {
  5106. if(valid) {
  5107. obj.insOrdersOtherInfo = quoteForm.value
  5108. if(myRoute.query.id) {
  5109. api.additionalApi.updateOrders(obj).then((res: any) => {
  5110. if(res.code == 200) {
  5111. myRouter.push({
  5112. path: '/additionalOrder/order'
  5113. })
  5114. ElMessage({
  5115. message: res.msg,
  5116. type: 'success'
  5117. })
  5118. } else {
  5119. ElMessage({
  5120. message: res.msg,
  5121. type: 'warning'
  5122. })
  5123. }
  5124. })
  5125. } else {
  5126. api.additionalApi.saveOrders(obj).then((res: any) => {
  5127. if(res.code == 200) {
  5128. myRouter.push({
  5129. path: '/additionalOrder/order'
  5130. })
  5131. ElMessage({
  5132. message: res.msg,
  5133. type: 'success'
  5134. })
  5135. } else {
  5136. ElMessage({
  5137. message: res.msg,
  5138. type: 'warning'
  5139. })
  5140. }
  5141. })
  5142. }
  5143. }
  5144. })
  5145. }
  5146. })
  5147. if(btns.value.ower2show) {
  5148. let object = btns.value.ower2.find(a => a.checked)
  5149. if(object.text === '同被保人') {
  5150. obj.insuredPersonInfo = obj.policyHolderInfo
  5151. obj.vehicleAndVesselTax = {
  5152. taxRelifFlag: insuranceForm.value.taxRelifFlag,
  5153. identifyNumber: insuranceForm.value.identifyNumber,
  5154. organizationCode: insuranceForm.value.organizationCode,
  5155. taxpayerName: insuranceForm.value.taxpayerName,
  5156. taxpayerIdentifier: insuranceForm.value.taxpayerIdentifier,
  5157. extendChar2: insuranceForm.value.extendChar2,
  5158. relifReason: insuranceForm.value.relifReason,
  5159. paidFreeCertificate: insuranceForm.value.paidFreeCertificate,
  5160. taxComCode: insuranceForm.value.taxComCode,
  5161. taxComName: insuranceForm.value.taxComName,
  5162. taxRelief: insuranceForm.value.taxRelief,
  5163. taxDocumentDate: insuranceForm.value.taxDocumentDate,
  5164. taxPaidAreaCode: insuranceForm.value.taxPaidAreaCode
  5165. }
  5166. obj.ciRiskInfoVo = {
  5167. instantFlag: jqWork.value.some(a => a.checked)?true : false,
  5168. startDate: insuranceForm.value.jqStart,
  5169. endDate: insuranceForm.value.jqEnd
  5170. }
  5171. obj.biRiskInfoVo = {
  5172. instantFlag: syWork.value.some(a => a.checked)?true : false,
  5173. startDate: insuranceForm.value.syStart,
  5174. endDate: insuranceForm.value.syEnd
  5175. }
  5176. quoteFormRefs.value?.validate((valid) => {
  5177. if(valid) {
  5178. obj.insOrdersOtherInfo = quoteForm.value
  5179. if(myRoute.query.id) {
  5180. api.additionalApi.updateOrders(obj).then((res: any) => {
  5181. if(res.code == 200) {
  5182. myRouter.push({
  5183. path: '/additionalOrder/order'
  5184. })
  5185. ElMessage({
  5186. message: res.msg,
  5187. type: 'success'
  5188. })
  5189. } else {
  5190. ElMessage({
  5191. message: res.msg,
  5192. type: 'warning'
  5193. })
  5194. }
  5195. })
  5196. } else {
  5197. api.additionalApi.saveOrders(obj).then((res: any) => {
  5198. if(res.code == 200) {
  5199. myRouter.push({
  5200. path: '/additionalOrder/order'
  5201. })
  5202. ElMessage({
  5203. message: res.msg,
  5204. type: 'success'
  5205. })
  5206. } else {
  5207. ElMessage({
  5208. message: res.msg,
  5209. type: 'warning'
  5210. })
  5211. }
  5212. })
  5213. }
  5214. }
  5215. })
  5216. } else {
  5217. obj.insuredPersonInfo = obj.ownersInfo
  5218. obj.vehicleAndVesselTax = {
  5219. taxRelifFlag: insuranceForm.value.taxRelifFlag,
  5220. identifyNumber: insuranceForm.value.identifyNumber,
  5221. organizationCode: insuranceForm.value.organizationCode,
  5222. taxpayerName: insuranceForm.value.taxpayerName,
  5223. taxpayerIdentifier: insuranceForm.value.taxpayerIdentifier,
  5224. extendChar2: insuranceForm.value.extendChar2,
  5225. relifReason: insuranceForm.value.relifReason,
  5226. paidFreeCertificate: insuranceForm.value.paidFreeCertificate,
  5227. taxComCode: insuranceForm.value.taxComCode,
  5228. taxComName: insuranceForm.value.taxComName,
  5229. taxRelief: insuranceForm.value.taxRelief,
  5230. taxDocumentDate: insuranceForm.value.taxDocumentDate,
  5231. taxPaidAreaCode: insuranceForm.value.taxPaidAreaCode
  5232. }
  5233. obj.ciRiskInfoVo = {
  5234. instantFlag: jqWork.value.some(a => a.checked)?true : false,
  5235. startDate: insuranceForm.value.jqStart,
  5236. endDate: insuranceForm.value.jqEnd
  5237. }
  5238. obj.biRiskInfoVo = {
  5239. instantFlag: syWork.value.some(a => a.checked)?true : false,
  5240. startDate: insuranceForm.value.syStart,
  5241. endDate: insuranceForm.value.syEnd
  5242. }
  5243. quoteFormRefs.value?.validate((valid) => {
  5244. if(valid) {
  5245. obj.insOrdersOtherInfo = quoteForm.value
  5246. if(myRoute.query.id) {
  5247. api.additionalApi.updateOrders(obj).then((res: any) => {
  5248. if(res.code == 200) {
  5249. myRouter.push({
  5250. path: '/additionalOrder/order'
  5251. })
  5252. ElMessage({
  5253. message: res.msg,
  5254. type: 'success'
  5255. })
  5256. } else {
  5257. ElMessage({
  5258. message: res.msg,
  5259. type: 'warning'
  5260. })
  5261. }
  5262. })
  5263. } else {
  5264. api.additionalApi.saveOrders(obj).then((res: any) => {
  5265. if(res.code == 200) {
  5266. myRouter.push({
  5267. path: '/additionalOrder/order'
  5268. })
  5269. ElMessage({
  5270. message: res.msg,
  5271. type: 'success'
  5272. })
  5273. } else {
  5274. ElMessage({
  5275. message: res.msg,
  5276. type: 'warning'
  5277. })
  5278. }
  5279. })
  5280. }
  5281. }
  5282. })
  5283. }
  5284. }
  5285. } else {
  5286. writeOwer2FormRefs.value?.validate((valid) => {
  5287. if(valid) {
  5288. obj.insuredPersonInfo = writeOwer2Form.value
  5289. obj.vehicleAndVesselTax = {
  5290. taxRelifFlag: insuranceForm.value.taxRelifFlag,
  5291. identifyNumber: insuranceForm.value.identifyNumber,
  5292. organizationCode: insuranceForm.value.organizationCode,
  5293. taxpayerName: insuranceForm.value.taxpayerName,
  5294. taxpayerIdentifier: insuranceForm.value.taxpayerIdentifier,
  5295. extendChar2: insuranceForm.value.extendChar2,
  5296. relifReason: insuranceForm.value.relifReason,
  5297. paidFreeCertificate: insuranceForm.value.paidFreeCertificate,
  5298. taxComCode: insuranceForm.value.taxComCode,
  5299. taxComName: insuranceForm.value.taxComName,
  5300. taxRelief: insuranceForm.value.taxRelief,
  5301. taxDocumentDate: insuranceForm.value.taxDocumentDate,
  5302. taxPaidAreaCode: insuranceForm.value.taxPaidAreaCode
  5303. }
  5304. obj.ciRiskInfoVo = {
  5305. instantFlag: jqWork.value.some(a => a.checked)?true : false,
  5306. startDate: insuranceForm.value.jqStart,
  5307. endDate: insuranceForm.value.jqEnd
  5308. }
  5309. obj.biRiskInfoVo = {
  5310. instantFlag: syWork.value.some(a => a.checked)?true : false,
  5311. startDate: insuranceForm.value.syStart,
  5312. endDate: insuranceForm.value.syEnd
  5313. }
  5314. quoteFormRefs.value?.validate((valid) => {
  5315. if(valid) {
  5316. obj.insOrdersOtherInfo = quoteForm.value
  5317. if(myRoute.query.id) {
  5318. api.additionalApi.updateOrders(obj).then((res: any) => {
  5319. if(res.code == 200) {
  5320. myRouter.push({
  5321. path: '/additionalOrder/order'
  5322. })
  5323. ElMessage({
  5324. message: res.msg,
  5325. type: 'success'
  5326. })
  5327. } else {
  5328. ElMessage({
  5329. message: res.msg,
  5330. type: 'warning'
  5331. })
  5332. }
  5333. })
  5334. } else {
  5335. api.additionalApi.saveOrders(obj).then((res: any) => {
  5336. if(res.code == 200) {
  5337. myRouter.push({
  5338. path: '/additionalOrder/order'
  5339. })
  5340. ElMessage({
  5341. message: res.msg,
  5342. type: 'success'
  5343. })
  5344. } else {
  5345. ElMessage({
  5346. message: res.msg,
  5347. type: 'warning'
  5348. })
  5349. }
  5350. })
  5351. }
  5352. }
  5353. })
  5354. }
  5355. })
  5356. }
  5357. }
  5358. } else {
  5359. writeOwer1FormRefs.value?.validate((valid) => {
  5360. if(valid) {
  5361. obj.policyHolderInfo = writeOwer1Form.value
  5362. if(ower2Switch.value) {
  5363. ower2FormRefs.value?.validate((valid) => {
  5364. if(valid) {
  5365. obj.insuredPersonInfo = ower2Form.value
  5366. quoteFormRefs.value?.validate((valid) => {
  5367. if(valid) {
  5368. obj.insOrdersOtherInfo = quoteForm.value
  5369. if(myRoute.query.id) {
  5370. api.additionalApi.updateOrders(obj).then((res: any) => {
  5371. if(res.code == 200) {
  5372. myRouter.push({
  5373. path: '/additionalOrder/order'
  5374. })
  5375. ElMessage({
  5376. message: res.msg,
  5377. type: 'success'
  5378. })
  5379. } else {
  5380. ElMessage({
  5381. message: res.msg,
  5382. type: 'warning'
  5383. })
  5384. }
  5385. })
  5386. } else {
  5387. api.additionalApi.saveOrders(obj).then((res: any) => {
  5388. if(res.code == 200) {
  5389. myRouter.push({
  5390. path: '/additionalOrder/order'
  5391. })
  5392. ElMessage({
  5393. message: res.msg,
  5394. type: 'success'
  5395. })
  5396. } else {
  5397. ElMessage({
  5398. message: res.msg,
  5399. type: 'warning'
  5400. })
  5401. }
  5402. })
  5403. }
  5404. }
  5405. })
  5406. }
  5407. })
  5408. if(btns.value.ower2show) {
  5409. let object = btns.value.ower2.find(a => a.checked)
  5410. if(object.text === '同被保人') {
  5411. obj.insuredPersonInfo = obj.policyHolderInfo
  5412. quoteFormRefs.value?.validate((valid) => {
  5413. if(valid) {
  5414. obj.insOrdersOtherInfo = quoteForm.value
  5415. if(myRoute.query.id) {
  5416. api.additionalApi.updateOrders(obj).then((res: any) => {
  5417. if(res.code == 200) {
  5418. myRouter.push({
  5419. path: '/additionalOrder/order'
  5420. })
  5421. ElMessage({
  5422. message: res.msg,
  5423. type: 'success'
  5424. })
  5425. } else {
  5426. ElMessage({
  5427. message: res.msg,
  5428. type: 'warning'
  5429. })
  5430. }
  5431. })
  5432. } else {
  5433. api.additionalApi.saveOrders(obj).then((res: any) => {
  5434. if(res.code == 200) {
  5435. myRouter.push({
  5436. path: '/additionalOrder/order'
  5437. })
  5438. ElMessage({
  5439. message: res.msg,
  5440. type: 'success'
  5441. })
  5442. } else {
  5443. ElMessage({
  5444. message: res.msg,
  5445. type: 'warning'
  5446. })
  5447. }
  5448. })
  5449. }
  5450. }
  5451. })
  5452. } else {
  5453. obj.insuredPersonInfo = obj.ownersInfo
  5454. quoteFormRefs.value?.validate((valid) => {
  5455. if(valid) {
  5456. obj.insOrdersOtherInfo = quoteForm.value
  5457. if(myRoute.query.id) {
  5458. api.additionalApi.updateOrders(obj).then((res: any) => {
  5459. if(res.code == 200) {
  5460. myRouter.push({
  5461. path: '/additionalOrder/order'
  5462. })
  5463. ElMessage({
  5464. message: res.msg,
  5465. type: 'success'
  5466. })
  5467. } else {
  5468. ElMessage({
  5469. message: res.msg,
  5470. type: 'warning'
  5471. })
  5472. }
  5473. })
  5474. } else {
  5475. api.additionalApi.saveOrders(obj).then((res: any) => {
  5476. if(res.code == 200) {
  5477. myRouter.push({
  5478. path: '/additionalOrder/order'
  5479. })
  5480. ElMessage({
  5481. message: res.msg,
  5482. type: 'success'
  5483. })
  5484. } else {
  5485. ElMessage({
  5486. message: res.msg,
  5487. type: 'warning'
  5488. })
  5489. }
  5490. })
  5491. }
  5492. }
  5493. })
  5494. }
  5495. }
  5496. } else {
  5497. writeOwer2FormRefs.value?.validate((valid) => {
  5498. if(valid) {
  5499. obj.insuredPersonInfo = writeOwer2Form.value
  5500. quoteFormRefs.value?.validate((valid) => {
  5501. if(valid) {
  5502. obj.insOrdersOtherInfo = quoteForm.value
  5503. if(myRoute.query.id) {
  5504. api.additionalApi.updateOrders(obj).then((res: any) => {
  5505. if(res.code == 200) {
  5506. myRouter.push({
  5507. path: '/additionalOrder/order'
  5508. })
  5509. ElMessage({
  5510. message: res.msg,
  5511. type: 'success'
  5512. })
  5513. } else {
  5514. ElMessage({
  5515. message: res.msg,
  5516. type: 'warning'
  5517. })
  5518. }
  5519. })
  5520. } else {
  5521. api.additionalApi.saveOrders(obj).then((res: any) => {
  5522. if(res.code == 200) {
  5523. myRouter.push({
  5524. path: '/additionalOrder/order'
  5525. })
  5526. ElMessage({
  5527. message: res.msg,
  5528. type: 'success'
  5529. })
  5530. } else {
  5531. ElMessage({
  5532. message: res.msg,
  5533. type: 'warning'
  5534. })
  5535. }
  5536. })
  5537. }
  5538. }
  5539. })
  5540. }
  5541. })
  5542. }
  5543. }
  5544. })
  5545. }
  5546. }
  5547. })
  5548. obj.ownersInfo = owerForm.value
  5549. } else {
  5550. writeOwerFormRefs.value?.validate((valid) => {
  5551. if(valid) {
  5552. obj.ownersInfo = writeOwerForm.value
  5553. if(ower1Switch.value) {
  5554. ower1FormRefs.value?.validate((valid) => {
  5555. if(valid) {
  5556. obj.policyHolderInfo = ower1Form.value
  5557. if(ower2Switch.value) {
  5558. ower2FormRefs.value?.validate((valid) => {
  5559. if(valid) {
  5560. obj.insuredPersonInfo = ower2Form.value
  5561. quoteFormRefs.value?.validate((valid) => {
  5562. if(valid) {
  5563. obj.insOrdersOtherInfo = quoteForm.value
  5564. if(myRoute.query.id) {
  5565. api.additionalApi.updateOrders(obj).then((res: any) => {
  5566. if(res.code == 200) {
  5567. myRouter.push({
  5568. path: '/additionalOrder/order'
  5569. })
  5570. ElMessage({
  5571. message: res.msg,
  5572. type: 'success'
  5573. })
  5574. } else {
  5575. ElMessage({
  5576. message: res.msg,
  5577. type: 'warning'
  5578. })
  5579. }
  5580. })
  5581. } else {
  5582. api.additionalApi.saveOrders(obj).then((res: any) => {
  5583. if(res.code == 200) {
  5584. myRouter.push({
  5585. path: '/additionalOrder/order'
  5586. })
  5587. ElMessage({
  5588. message: res.msg,
  5589. type: 'success'
  5590. })
  5591. } else {
  5592. ElMessage({
  5593. message: res.msg,
  5594. type: 'warning'
  5595. })
  5596. }
  5597. })
  5598. }
  5599. }
  5600. })
  5601. }
  5602. })
  5603. if(btns.value.ower2show) {
  5604. let object = btns.value.ower2.find(a => a.checked)
  5605. if(object.text === '同被保人') {
  5606. obj.insuredPersonInfo = obj.policyHolderInfo
  5607. quoteFormRefs.value?.validate((valid) => {
  5608. if(valid) {
  5609. obj.insOrdersOtherInfo = quoteForm.value
  5610. if(myRoute.query.id) {
  5611. api.additionalApi.updateOrders(obj).then((res: any) => {
  5612. if(res.code == 200) {
  5613. myRouter.push({
  5614. path: '/additionalOrder/order'
  5615. })
  5616. ElMessage({
  5617. message: res.msg,
  5618. type: 'success'
  5619. })
  5620. } else {
  5621. ElMessage({
  5622. message: res.msg,
  5623. type: 'warning'
  5624. })
  5625. }
  5626. })
  5627. } else {
  5628. api.additionalApi.saveOrders(obj).then((res: any) => {
  5629. if(res.code == 200) {
  5630. myRouter.push({
  5631. path: '/additionalOrder/order'
  5632. })
  5633. ElMessage({
  5634. message: res.msg,
  5635. type: 'success'
  5636. })
  5637. } else {
  5638. ElMessage({
  5639. message: res.msg,
  5640. type: 'warning'
  5641. })
  5642. }
  5643. })
  5644. }
  5645. }
  5646. })
  5647. } else {
  5648. obj.insuredPersonInfo = obj.ownersInfo
  5649. quoteFormRefs.value?.validate((valid) => {
  5650. if(valid) {
  5651. obj.insOrdersOtherInfo = quoteForm.value
  5652. if(myRoute.query.id) {
  5653. api.additionalApi.updateOrders(obj).then((res: any) => {
  5654. if(res.code == 200) {
  5655. myRouter.push({
  5656. path: '/additionalOrder/order'
  5657. })
  5658. ElMessage({
  5659. message: res.msg,
  5660. type: 'success'
  5661. })
  5662. } else {
  5663. ElMessage({
  5664. message: res.msg,
  5665. type: 'warning'
  5666. })
  5667. }
  5668. })
  5669. } else {
  5670. api.additionalApi.saveOrders(obj).then((res: any) => {
  5671. if(res.code == 200) {
  5672. myRouter.push({
  5673. path: '/additionalOrder/order'
  5674. })
  5675. ElMessage({
  5676. message: res.msg,
  5677. type: 'success'
  5678. })
  5679. } else {
  5680. ElMessage({
  5681. message: res.msg,
  5682. type: 'warning'
  5683. })
  5684. }
  5685. })
  5686. }
  5687. }
  5688. })
  5689. }
  5690. }
  5691. } else {
  5692. writeOwer2FormRefs.value?.validate((valid) => {
  5693. if(valid) {
  5694. obj.insuredPersonInfo = writeOwer2Form.value
  5695. quoteFormRefs.value?.validate((valid) => {
  5696. if(valid) {
  5697. obj.insOrdersOtherInfo = quoteForm.value
  5698. if(myRoute.query.id) {
  5699. api.additionalApi.updateOrders(obj).then((res: any) => {
  5700. if(res.code == 200) {
  5701. myRouter.push({
  5702. path: '/additionalOrder/order'
  5703. })
  5704. ElMessage({
  5705. message: res.msg,
  5706. type: 'success'
  5707. })
  5708. } else {
  5709. ElMessage({
  5710. message: res.msg,
  5711. type: 'warning'
  5712. })
  5713. }
  5714. })
  5715. } else {
  5716. api.additionalApi.saveOrders(obj).then((res: any) => {
  5717. if(res.code == 200) {
  5718. myRouter.push({
  5719. path: '/additionalOrder/order'
  5720. })
  5721. ElMessage({
  5722. message: res.msg,
  5723. type: 'success'
  5724. })
  5725. } else {
  5726. ElMessage({
  5727. message: res.msg,
  5728. type: 'warning'
  5729. })
  5730. }
  5731. })
  5732. }
  5733. }
  5734. })
  5735. }
  5736. })
  5737. }
  5738. }
  5739. })
  5740. if(btns.value.ower1Show) {
  5741. obj.policyHolderInfo = obj.ownersInfo
  5742. if(ower2Switch.value) {
  5743. ower2FormRefs.value?.validate((valid) => {
  5744. if(valid) {
  5745. obj.insuredPersonInfo = ower2Form.value
  5746. obj.vehicleAndVesselTax = {
  5747. taxRelifFlag: insuranceForm.value.taxRelifFlag,
  5748. identifyNumber: insuranceForm.value.identifyNumber,
  5749. organizationCode: insuranceForm.value.organizationCode,
  5750. taxpayerName: insuranceForm.value.taxpayerName,
  5751. taxpayerIdentifier: insuranceForm.value.taxpayerIdentifier,
  5752. extendChar2: insuranceForm.value.extendChar2,
  5753. relifReason: insuranceForm.value.relifReason,
  5754. paidFreeCertificate: insuranceForm.value.paidFreeCertificate,
  5755. taxComCode: insuranceForm.value.taxComCode,
  5756. taxComName: insuranceForm.value.taxComName,
  5757. taxRelief: insuranceForm.value.taxRelief,
  5758. taxDocumentDate: insuranceForm.value.taxDocumentDate,
  5759. taxPaidAreaCode: insuranceForm.value.taxPaidAreaCode
  5760. }
  5761. obj.ciRiskInfoVo = {
  5762. instantFlag: jqWork.value.some(a => a.checked)?true : false,
  5763. startDate: insuranceForm.value.jqStart,
  5764. endDate: insuranceForm.value.jqEnd
  5765. }
  5766. obj.biRiskInfoVo = {
  5767. instantFlag: syWork.value.some(a => a.checked)?true : false,
  5768. startDate: insuranceForm.value.syStart,
  5769. endDate: insuranceForm.value.syEnd
  5770. }
  5771. quoteFormRefs.value?.validate((valid) => {
  5772. if(valid) {
  5773. obj.insOrdersOtherInfo = quoteForm.value
  5774. if(myRoute.query.id) {
  5775. api.additionalApi.updateOrders(obj).then((res: any) => {
  5776. if(res.code == 200) {
  5777. myRouter.push({
  5778. path: '/additionalOrder/order'
  5779. })
  5780. ElMessage({
  5781. message: res.msg,
  5782. type: 'success'
  5783. })
  5784. } else {
  5785. ElMessage({
  5786. message: res.msg,
  5787. type: 'warning'
  5788. })
  5789. }
  5790. })
  5791. } else {
  5792. api.additionalApi.saveOrders(obj).then((res: any) => {
  5793. if(res.code == 200) {
  5794. myRouter.push({
  5795. path: '/additionalOrder/order'
  5796. })
  5797. ElMessage({
  5798. message: res.msg,
  5799. type: 'success'
  5800. })
  5801. } else {
  5802. ElMessage({
  5803. message: res.msg,
  5804. type: 'warning'
  5805. })
  5806. }
  5807. })
  5808. }
  5809. }
  5810. })
  5811. }
  5812. })
  5813. if(btns.value.ower2show) {
  5814. let object = btns.value.ower2.find(a => a.checked)
  5815. if(object.text === '同被保人') {
  5816. obj.insuredPersonInfo = obj.policyHolderInfo
  5817. obj.vehicleAndVesselTax = {
  5818. taxRelifFlag: insuranceForm.value.taxRelifFlag,
  5819. identifyNumber: insuranceForm.value.identifyNumber,
  5820. organizationCode: insuranceForm.value.organizationCode,
  5821. taxpayerName: insuranceForm.value.taxpayerName,
  5822. taxpayerIdentifier: insuranceForm.value.taxpayerIdentifier,
  5823. extendChar2: insuranceForm.value.extendChar2,
  5824. relifReason: insuranceForm.value.relifReason,
  5825. paidFreeCertificate: insuranceForm.value.paidFreeCertificate,
  5826. taxComCode: insuranceForm.value.taxComCode,
  5827. taxComName: insuranceForm.value.taxComName,
  5828. taxRelief: insuranceForm.value.taxRelief,
  5829. taxDocumentDate: insuranceForm.value.taxDocumentDate,
  5830. taxPaidAreaCode: insuranceForm.value.taxPaidAreaCode
  5831. }
  5832. obj.ciRiskInfoVo = {
  5833. instantFlag: jqWork.value.some(a => a.checked)?true : false,
  5834. startDate: insuranceForm.value.jqStart,
  5835. endDate: insuranceForm.value.jqEnd
  5836. }
  5837. obj.biRiskInfoVo = {
  5838. instantFlag: syWork.value.some(a => a.checked)?true : false,
  5839. startDate: insuranceForm.value.syStart,
  5840. endDate: insuranceForm.value.syEnd
  5841. }
  5842. quoteFormRefs.value?.validate((valid) => {
  5843. if(valid) {
  5844. obj.insOrdersOtherInfo = quoteForm.value
  5845. if(myRoute.query.id) {
  5846. api.additionalApi.updateOrders(obj).then((res: any) => {
  5847. if(res.code == 200) {
  5848. myRouter.push({
  5849. path: '/additionalOrder/order'
  5850. })
  5851. ElMessage({
  5852. message: res.msg,
  5853. type: 'success'
  5854. })
  5855. } else {
  5856. ElMessage({
  5857. message: res.msg,
  5858. type: 'warning'
  5859. })
  5860. }
  5861. })
  5862. } else {
  5863. api.additionalApi.saveOrders(obj).then((res: any) => {
  5864. if(res.code == 200) {
  5865. myRouter.push({
  5866. path: '/additionalOrder/order'
  5867. })
  5868. ElMessage({
  5869. message: res.msg,
  5870. type: 'success'
  5871. })
  5872. } else {
  5873. ElMessage({
  5874. message: res.msg,
  5875. type: 'warning'
  5876. })
  5877. }
  5878. })
  5879. }
  5880. }
  5881. })
  5882. } else {
  5883. obj.insuredPersonInfo = obj.ownersInfo
  5884. obj.vehicleAndVesselTax = {
  5885. taxRelifFlag: insuranceForm.value.taxRelifFlag,
  5886. identifyNumber: insuranceForm.value.identifyNumber,
  5887. organizationCode: insuranceForm.value.organizationCode,
  5888. taxpayerName: insuranceForm.value.taxpayerName,
  5889. taxpayerIdentifier: insuranceForm.value.taxpayerIdentifier,
  5890. extendChar2: insuranceForm.value.extendChar2,
  5891. relifReason: insuranceForm.value.relifReason,
  5892. paidFreeCertificate: insuranceForm.value.paidFreeCertificate,
  5893. taxComCode: insuranceForm.value.taxComCode,
  5894. taxComName: insuranceForm.value.taxComName,
  5895. taxRelief: insuranceForm.value.taxRelief,
  5896. taxDocumentDate: insuranceForm.value.taxDocumentDate,
  5897. taxPaidAreaCode: insuranceForm.value.taxPaidAreaCode
  5898. }
  5899. obj.ciRiskInfoVo = {
  5900. instantFlag: jqWork.value.some(a => a.checked)?true : false,
  5901. startDate: insuranceForm.value.jqStart,
  5902. endDate: insuranceForm.value.jqEnd
  5903. }
  5904. obj.biRiskInfoVo = {
  5905. instantFlag: syWork.value.some(a => a.checked)?true : false,
  5906. startDate: insuranceForm.value.syStart,
  5907. endDate: insuranceForm.value.syEnd
  5908. }
  5909. quoteFormRefs.value?.validate((valid) => {
  5910. if(valid) {
  5911. obj.insOrdersOtherInfo = quoteForm.value
  5912. if(myRoute.query.id) {
  5913. api.additionalApi.updateOrders(obj).then((res: any) => {
  5914. if(res.code == 200) {
  5915. myRouter.push({
  5916. path: '/additionalOrder/order'
  5917. })
  5918. ElMessage({
  5919. message: res.msg,
  5920. type: 'success'
  5921. })
  5922. } else {
  5923. ElMessage({
  5924. message: res.msg,
  5925. type: 'warning'
  5926. })
  5927. }
  5928. })
  5929. } else {
  5930. api.additionalApi.saveOrders(obj).then((res: any) => {
  5931. if(res.code == 200) {
  5932. myRouter.push({
  5933. path: '/additionalOrder/order'
  5934. })
  5935. ElMessage({
  5936. message: res.msg,
  5937. type: 'success'
  5938. })
  5939. } else {
  5940. ElMessage({
  5941. message: res.msg,
  5942. type: 'warning'
  5943. })
  5944. }
  5945. })
  5946. }
  5947. }
  5948. })
  5949. }
  5950. }
  5951. } else {
  5952. writeOwer2FormRefs.value?.validate((valid) => {
  5953. if(valid) {
  5954. obj.insuredPersonInfo = writeOwer2Form.value
  5955. obj.vehicleAndVesselTax = {
  5956. taxRelifFlag: insuranceForm.value.taxRelifFlag,
  5957. identifyNumber: insuranceForm.value.identifyNumber,
  5958. organizationCode: insuranceForm.value.organizationCode,
  5959. taxpayerName: insuranceForm.value.taxpayerName,
  5960. taxpayerIdentifier: insuranceForm.value.taxpayerIdentifier,
  5961. extendChar2: insuranceForm.value.extendChar2,
  5962. relifReason: insuranceForm.value.relifReason,
  5963. paidFreeCertificate: insuranceForm.value.paidFreeCertificate,
  5964. taxComCode: insuranceForm.value.taxComCode,
  5965. taxComName: insuranceForm.value.taxComName,
  5966. taxRelief: insuranceForm.value.taxRelief,
  5967. taxDocumentDate: insuranceForm.value.taxDocumentDate,
  5968. taxPaidAreaCode: insuranceForm.value.taxPaidAreaCode
  5969. }
  5970. obj.ciRiskInfoVo = {
  5971. instantFlag: jqWork.value.some(a => a.checked)?true : false,
  5972. startDate: insuranceForm.value.jqStart,
  5973. endDate: insuranceForm.value.jqEnd
  5974. }
  5975. obj.biRiskInfoVo = {
  5976. instantFlag: syWork.value.some(a => a.checked)?true : false,
  5977. startDate: insuranceForm.value.syStart,
  5978. endDate: insuranceForm.value.syEnd
  5979. }
  5980. quoteFormRefs.value?.validate((valid) => {
  5981. if(valid) {
  5982. obj.insOrdersOtherInfo = quoteForm.value
  5983. if(myRoute.query.id) {
  5984. api.additionalApi.updateOrders(obj).then((res: any) => {
  5985. if(res.code == 200) {
  5986. myRouter.push({
  5987. path: '/additionalOrder/order'
  5988. })
  5989. ElMessage({
  5990. message: res.msg,
  5991. type: 'success'
  5992. })
  5993. } else {
  5994. ElMessage({
  5995. message: res.msg,
  5996. type: 'warning'
  5997. })
  5998. }
  5999. })
  6000. } else {
  6001. api.additionalApi.saveOrders(obj).then((res: any) => {
  6002. if(res.code == 200) {
  6003. myRouter.push({
  6004. path: '/additionalOrder/order'
  6005. })
  6006. ElMessage({
  6007. message: res.msg,
  6008. type: 'success'
  6009. })
  6010. } else {
  6011. ElMessage({
  6012. message: res.msg,
  6013. type: 'warning'
  6014. })
  6015. }
  6016. })
  6017. }
  6018. }
  6019. })
  6020. }
  6021. })
  6022. }
  6023. }
  6024. } else {
  6025. writeOwer1FormRefs.value?.validate((valid) => {
  6026. if(valid) {
  6027. obj.policyHolderInfo = writeOwer1Form.value
  6028. if(ower2Switch.value) {
  6029. ower2FormRefs.value?.validate((valid) => {
  6030. if(valid) {
  6031. obj.insuredPersonInfo = ower2Form.value
  6032. quoteFormRefs.value?.validate((valid) => {
  6033. if(valid) {
  6034. obj.insOrdersOtherInfo = quoteForm.value
  6035. if(myRoute.query.id) {
  6036. api.additionalApi.updateOrders(obj).then((res: any) => {
  6037. if(res.code == 200) {
  6038. myRouter.push({
  6039. path: '/additionalOrder/order'
  6040. })
  6041. ElMessage({
  6042. message: res.msg,
  6043. type: 'success'
  6044. })
  6045. } else {
  6046. ElMessage({
  6047. message: res.msg,
  6048. type: 'warning'
  6049. })
  6050. }
  6051. })
  6052. } else {
  6053. api.additionalApi.saveOrders(obj).then((res: any) => {
  6054. if(res.code == 200) {
  6055. myRouter.push({
  6056. path: '/additionalOrder/order'
  6057. })
  6058. ElMessage({
  6059. message: res.msg,
  6060. type: 'success'
  6061. })
  6062. } else {
  6063. ElMessage({
  6064. message: res.msg,
  6065. type: 'warning'
  6066. })
  6067. }
  6068. })
  6069. }
  6070. }
  6071. })
  6072. }
  6073. })
  6074. if(btns.value.ower2show) {
  6075. let object = btns.value.ower2.find(a => a.checked)
  6076. if(object.text === '同被保人') {
  6077. obj.insuredPersonInfo = obj.policyHolderInfo
  6078. quoteFormRefs.value?.validate((valid) => {
  6079. if(valid) {
  6080. obj.insOrdersOtherInfo = quoteForm.value
  6081. if(myRoute.query.id) {
  6082. api.additionalApi.updateOrders(obj).then((res: any) => {
  6083. if(res.code == 200) {
  6084. myRouter.push({
  6085. path: '/additionalOrder/order'
  6086. })
  6087. ElMessage({
  6088. message: res.msg,
  6089. type: 'success'
  6090. })
  6091. } else {
  6092. ElMessage({
  6093. message: res.msg,
  6094. type: 'warning'
  6095. })
  6096. }
  6097. })
  6098. } else {
  6099. api.additionalApi.saveOrders(obj).then((res: any) => {
  6100. if(res.code == 200) {
  6101. myRouter.push({
  6102. path: '/additionalOrder/order'
  6103. })
  6104. ElMessage({
  6105. message: res.msg,
  6106. type: 'success'
  6107. })
  6108. } else {
  6109. ElMessage({
  6110. message: res.msg,
  6111. type: 'warning'
  6112. })
  6113. }
  6114. })
  6115. }
  6116. }
  6117. })
  6118. } else {
  6119. obj.insuredPersonInfo = obj.ownersInfo
  6120. quoteFormRefs.value?.validate((valid) => {
  6121. if(valid) {
  6122. obj.insOrdersOtherInfo = quoteForm.value
  6123. if(myRoute.query.id) {
  6124. api.additionalApi.updateOrders(obj).then((res: any) => {
  6125. if(res.code == 200) {
  6126. myRouter.push({
  6127. path: '/additionalOrder/order'
  6128. })
  6129. ElMessage({
  6130. message: res.msg,
  6131. type: 'success'
  6132. })
  6133. } else {
  6134. ElMessage({
  6135. message: res.msg,
  6136. type: 'warning'
  6137. })
  6138. }
  6139. })
  6140. } else {
  6141. api.additionalApi.saveOrders(obj).then((res: any) => {
  6142. if(res.code == 200) {
  6143. myRouter.push({
  6144. path: '/additionalOrder/order'
  6145. })
  6146. ElMessage({
  6147. message: res.msg,
  6148. type: 'success'
  6149. })
  6150. } else {
  6151. ElMessage({
  6152. message: res.msg,
  6153. type: 'warning'
  6154. })
  6155. }
  6156. })
  6157. }
  6158. }
  6159. })
  6160. }
  6161. }
  6162. } else {
  6163. writeOwer2FormRefs.value?.validate((valid) => {
  6164. if(valid) {
  6165. obj.insuredPersonInfo = writeOwer2Form.value
  6166. quoteFormRefs.value?.validate((valid) => {
  6167. if(valid) {
  6168. obj.insOrdersOtherInfo = quoteForm.value
  6169. if(myRoute.query.id) {
  6170. api.additionalApi.updateOrders(obj).then((res: any) => {
  6171. if(res.code == 200) {
  6172. myRouter.push({
  6173. path: '/additionalOrder/order'
  6174. })
  6175. ElMessage({
  6176. message: res.msg,
  6177. type: 'success'
  6178. })
  6179. } else {
  6180. ElMessage({
  6181. message: res.msg,
  6182. type: 'warning'
  6183. })
  6184. }
  6185. })
  6186. } else {
  6187. api.additionalApi.saveOrders(obj).then((res: any) => {
  6188. if(res.code == 200) {
  6189. myRouter.push({
  6190. path: '/additionalOrder/order'
  6191. })
  6192. ElMessage({
  6193. message: res.msg,
  6194. type: 'success'
  6195. })
  6196. } else {
  6197. ElMessage({
  6198. message: res.msg,
  6199. type: 'warning'
  6200. })
  6201. }
  6202. })
  6203. }
  6204. }
  6205. })
  6206. }
  6207. })
  6208. }
  6209. }
  6210. })
  6211. }
  6212. }
  6213. })
  6214. }
  6215. }
  6216. })
  6217. }
  6218. }
  6219. // 编辑
  6220. let detailData = ref(null)
  6221. const initEditData = () => {
  6222. if(myRoute.query.id) {
  6223. api.additionalApi.selectById(myRoute.query.id).then((res: any) => {
  6224. if(res.code == 200) {
  6225. let obj = {...res.data}
  6226. detailData.value = {...res.data}
  6227. insuranceForm.value = obj.vehicleAndVesselTax
  6228. insuranceForm.value.productId = obj.insOrders.productId
  6229. insuranceForm.value.jqStart = obj.ciRiskInfoVo?.startDate
  6230. insuranceForm.value.jqEnd = obj.ciRiskInfoVo?.endDate
  6231. insuranceForm.value.syStart = obj.biRiskInfoVo?.startDate
  6232. insuranceForm.value.syEnd = obj.biRiskInfoVo?.endDate
  6233. fileList.value = obj.imagesAdds?.images
  6234. // 有对应图片说明是通过识别拿到的信息
  6235. if(fileList.value&&fileList.value.length>0) {
  6236. carSwitch.value = fileList.value.filter(a => a.imageType === 'C01' || a.imageType === 'D01')?true: false
  6237. carSwitch.value?carForm.value = obj.carInfoVo:writeCarForm.value = obj.carInfoVo
  6238. } else {
  6239. carSwitch.value = false
  6240. writeCarForm.value = obj.carInfoVo
  6241. }
  6242. if(fileList.value&&fileList.value.length>0) {
  6243. owerSwitch.value = fileList.value.filter(a => a.imageType === 'C02' || a.imageType === 'D02')?true: false
  6244. owerSwitch.value?owerForm.value = obj.ownersInfo:writeOwerForm.value = obj.ownersInfo
  6245. } else {
  6246. owerSwitch.value = false
  6247. writeOwerForm.value = obj.ownersInfo
  6248. }
  6249. if(fileList.value&&fileList.value.length>0) {
  6250. ower1Switch.value = fileList.value.filter(a => a.imageType === 'C03' || a.imageType === 'D03')?true: false
  6251. ower1Switch.value?ower1Form.value = obj.policyHolderInfo:writeOwer1Form.value = obj.policyHolderInfo
  6252. obj.policyHolderInfo.carOwner ? btns.value.ower1[0].checked = true:btns.value.ower1[0].checked = false
  6253. btns.value.ower1Show = obj.policyHolderInfo.carOwner
  6254. } else {
  6255. ower1Switch.value = false
  6256. writeOwer1Form.value = obj.policyHolderInfo
  6257. }
  6258. if(fileList.value&&fileList.value.length>0) {
  6259. ower2Switch.value = fileList.value.filter(a => a.imageType === 'C04' || a.imageType === 'D04')?true: false
  6260. ower2Switch.value?ower2Form.value = obj.insuredPersonInfo:writeOwer2Form.value = obj.insuredPersonInfo
  6261. obj.policyHolderInfo.carOwner ===1 ? btns.value.ower2[1].checked = true:obj.policyHolderInfo.carOwner ===2 ? btns.value.ower2[0].checked = true:btns.value.ower2[0].checked = false
  6262. btns.value.ower2show = obj.policyHolderInfo.carOwner ===1 || obj.policyHolderInfo.carOwner ===2
  6263. } else {
  6264. ower2Switch.value = false
  6265. writeOwer2Form.value = obj.insuredPersonInfo
  6266. }
  6267. quoteForm.value = obj.insOrdersOtherInfo
  6268. jqPolicyId.value = obj.insOrdersExternalPolicy?.jqPolicy
  6269. syPolicyId.value = obj.insOrdersExternalPolicy?.syPolicy
  6270. noPolicyId.value = obj.insOrdersExternalPolicy?.noPolicy
  6271. jqSignId.value = obj.insOrdersExternalPolicy?.jqSign
  6272. if(obj.insOrdersExternalPolicy?.uploadFiles) {
  6273. let list = obj.insOrdersExternalPolicy?.uploadFiles
  6274. if(list.find(a => a.id === jqPolicyId.value)) {
  6275. let obj = list.find(a => a.id === jqPolicyId.value)
  6276. jqPolicyName.value = obj.fileName
  6277. jqPolicy.value = obj.downloadUrl
  6278. }
  6279. if(list.find(a => a.id === syPolicyId.value)) {
  6280. let obj = list.find(a => a.id === syPolicyId.value)
  6281. syPolicyName.value = obj.fileName
  6282. syPolicy.value = obj.downloadUrl
  6283. }
  6284. if(list.find(a => a.id === noPolicyId.value)) {
  6285. let obj = list.find(a => a.id === noPolicyId.value)
  6286. noPolicyName.value = obj.fileName
  6287. noPolicy.value = obj.downloadUrl
  6288. }
  6289. if(list.find(a => a.id === jqSignId.value)) {
  6290. let obj = list.find(a => a.id === jqSignId.value)
  6291. jqSignName.value = obj.fileName
  6292. jqSign.value = obj.downloadUrl
  6293. }
  6294. }
  6295. insuranceData.value = obj.kindInfoVo
  6296. } else {
  6297. ElMessage({
  6298. message: res.msg,
  6299. type: 'warning'
  6300. })
  6301. }
  6302. })
  6303. }
  6304. }
  6305. onMounted(() => {
  6306. initOption()
  6307. initEditData()
  6308. initCompany()
  6309. })
  6310. </script>
  6311. <style scoped lang="scss">
  6312. @use "@/assets/styles/common/style";
  6313. .addtional{
  6314. width: calc(100% - 20px);
  6315. height: calc(100vh - 140px);
  6316. overflow: hidden;
  6317. margin: 10px;
  6318. .tap{
  6319. width: 100%;
  6320. display: flex;
  6321. align-items: center;
  6322. justify-content: space-between;
  6323. margin: 10px 0 16px;
  6324. .anchor-item{
  6325. width: 19%;
  6326. height: 44px;
  6327. text-decoration: none;
  6328. color: #333333;
  6329. display: flex;
  6330. align-items: center;
  6331. justify-content: center;
  6332. background: #FFFFFF;
  6333. border-radius: 4px;
  6334. font-size: 18px;
  6335. img{
  6336. width: 30px;
  6337. height: 30px;
  6338. margin-right: 5px;
  6339. }
  6340. }
  6341. .active{
  6342. color: #FFFFFF;
  6343. background: linear-gradient( 91deg, #4FCAFF 0%, #2B62FF 100%);
  6344. }
  6345. }
  6346. .content-box{
  6347. height: calc(100% - 298px);
  6348. width: 100%;
  6349. overflow-y: auto;
  6350. .title{
  6351. height: 18px;
  6352. border-left: 4px solid #00a0f4;
  6353. display: flex;
  6354. align-items: center;
  6355. justify-content: flex-start;
  6356. padding-left: 12px;
  6357. margin-left: 24px;
  6358. color: #333333;
  6359. font-size: 15px;
  6360. .switch{
  6361. height: 24px;
  6362. background: #E5F3FF;
  6363. border-radius: 12px;
  6364. font-size: 12px;
  6365. padding: 0 4px;
  6366. color: #0083FF;
  6367. display: flex;
  6368. align-items: center;
  6369. justify-content: space-between;
  6370. margin-left: 5px;
  6371. .write{
  6372. height: 20px;
  6373. border-radius: 10px;
  6374. padding: 0 4px;
  6375. background: #FFFFFF;
  6376. display: flex;
  6377. align-items: center;
  6378. justify-content: center;
  6379. margin: 0 2px;
  6380. }
  6381. .identify{
  6382. padding: 0 4px;
  6383. margin: 0 2px;
  6384. }
  6385. }
  6386. .ordinary{
  6387. height: 22px;
  6388. line-height: 22px;
  6389. padding: 0 10px;
  6390. border: 1px solid #EEEEEE;
  6391. border-radius: 2px;
  6392. color: #666666;
  6393. display: flex;
  6394. font-size: 12px;
  6395. margin: 0 5px;
  6396. }
  6397. .active{
  6398. border: 1px solid #0083FF;
  6399. color: #0083FF;
  6400. background: url("@/assets/images/additional/right.png") no-repeat right bottom;
  6401. background-size: 12px 12px;
  6402. }
  6403. }
  6404. .upload-box{
  6405. width: 300px;
  6406. height: 180px;
  6407. background: #EEEEEE;
  6408. border: 1px solid #EEEEEE;
  6409. border-radius: 4px;
  6410. display: flex;
  6411. align-items: center;
  6412. justify-content: center;
  6413. .icon-box{
  6414. text-align: center;
  6415. color: #999999;
  6416. p{
  6417. margin: -16px 0 0;
  6418. font-size: 14px;
  6419. }
  6420. }
  6421. .upload-image{
  6422. width: 100%;
  6423. height: 100%;
  6424. }
  6425. }
  6426. .icon{
  6427. padding-right: 24px;
  6428. display: flex;
  6429. align-items: center;
  6430. }
  6431. .insuranceInfo{
  6432. width: 100%;
  6433. display: flex;
  6434. justify-content: flex-start;
  6435. margin-bottom: 10px;
  6436. .type-title{
  6437. width: 80px;
  6438. text-align: right;
  6439. font-size: 16px;
  6440. }
  6441. .addData{
  6442. line-height: 32px;
  6443. width: 1200px;
  6444. border: 1px dotted #cccccc;
  6445. display: flex;
  6446. align-items: center;
  6447. justify-content: center;
  6448. font-size: 14px;
  6449. color: #cccccc;
  6450. margin: 16px 0 16px;
  6451. border-radius: 4px;
  6452. cursor: pointer;
  6453. }
  6454. .insurance-jq{
  6455. display: flex;
  6456. align-items: center;
  6457. justify-content: flex-start;
  6458. margin-bottom: 24px;
  6459. .checkbox{
  6460. margin: 0 24px;
  6461. height: 22px;
  6462. line-height: 22px;
  6463. padding: 0 10px;
  6464. border: 1px solid #EEEEEE;
  6465. border-radius: 2px;
  6466. color: #666666;
  6467. display: flex;
  6468. font-size: 12px;
  6469. cursor: pointer;
  6470. }
  6471. .cehcked{
  6472. border: 1px solid #0083FF;
  6473. color: #0083FF;
  6474. background: url("@/assets/images/additional/right.png") no-repeat right bottom;
  6475. background-size: 12px 12px;
  6476. }
  6477. .time{
  6478. display: flex;
  6479. align-items: center;
  6480. justify-content: flex-start;
  6481. }
  6482. }
  6483. }
  6484. }
  6485. .fileInfo{
  6486. display: flex;
  6487. align-items: center;
  6488. justify-content: flex-start;
  6489. //padding: 2px 20px;
  6490. border-radius: 5px;
  6491. margin: 0 10px;
  6492. //&:hover{
  6493. // background: #ccc;
  6494. //}
  6495. .fileName{
  6496. width: 200px;
  6497. overflow: hidden;
  6498. text-overflow: ellipsis;
  6499. white-space: nowrap;
  6500. }
  6501. .fileBtn{
  6502. display: flex;
  6503. align-items: center;
  6504. .btn-icon{
  6505. margin: 0 10px;
  6506. font-size: 16px;
  6507. cursor: pointer;
  6508. &:hover{
  6509. color: #00a0f4;
  6510. }
  6511. }
  6512. }
  6513. .file-box{
  6514. position: relative;
  6515. .btn-top{
  6516. width: 100%;
  6517. display: flex;
  6518. align-items: center;
  6519. justify-content: flex-end;
  6520. position: absolute;
  6521. top: 0;
  6522. left: 0;
  6523. .image-close{
  6524. display: block;
  6525. width: 12px;
  6526. height: 12px;
  6527. }
  6528. }
  6529. .file-img{
  6530. display: block;
  6531. width: 208px;
  6532. height: 130px;
  6533. border-radius: 5px;
  6534. }
  6535. .btn-bottom{
  6536. position: absolute;
  6537. left: 0;
  6538. bottom: 0;
  6539. z-index: 1000;
  6540. display: flex;
  6541. align-items: center;
  6542. height: 24px;
  6543. width: 100%;
  6544. background: url("@/assets/images/btn-bg.png") no-repeat;
  6545. background-size: 100% 100%;
  6546. .width-50{
  6547. width: 50%;
  6548. }
  6549. }
  6550. }
  6551. }
  6552. .footer{
  6553. height: 60px;
  6554. width: 100%;
  6555. background: #FFFFFF;
  6556. display: flex;
  6557. align-items: center;
  6558. justify-content: center;
  6559. }
  6560. :deep(.el-divider--vertical) {
  6561. height: auto;
  6562. }
  6563. :deep(.el-collapse-item__header) {
  6564. display: flex;
  6565. align-items: center;
  6566. justify-content: space-between;
  6567. }
  6568. :deep(.el-form-item) {
  6569. margin-bottom: 0;
  6570. }
  6571. :deep(.el-form-item) {
  6572. display: block;
  6573. }
  6574. }
  6575. </style>