1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877 |
- <template>
- <div class="cost-all" v-loading.fullscreen.lock="costloading">
- <div class="cost-box">
- <el-dialog width="85%" title="地接历史费用" :visible.sync="historyCarDialog" @close="dialogClose">
- <div style="display: flex;">
- <div style="width: 30%;">
- <el-input v-model="historyCarInput" placeholder="请输入城市名称"></el-input>
- </div>
- <div style="width: 2%;"></div>
- <div><el-button type="primary" @click="historyCarSearch">搜索</el-button></div>
- </div>
- <br />
- <!-- @current-change="" -->
- <el-table @current-change="historyCarChange" highlight-current-row border
- :data="historyCarData.slice((currentPage - 1) * pageSize, currentPage * pageSize)">
- <template slot-scope="scope">
- <el-table-column v-for="(item, index) in historyCarCloumns" :property="item.value"
- :label="item.label" :key="item.value"></el-table-column>
- </template>
- </el-table>
- <div class="btn-dialog-cost">
- <el-button size="small" @click="historyCarYes" type="primary">采用历史的行程数据</el-button>
-
- <el-button @click="historyCarDialog = false; historyCarSelectObject = {}"
- size="small">采用现有的自定义数据</el-button>
- </div>
- <div class="block">
- <el-pagination align='center' @current-change="handleCurrentChange" :current-page="currentPage"
- :page-sizes="[5, 7, 10, 20]" :page-size="pageSize" layout="total, sizes, prev, pager, next"
- @size-change="handleSizeChange" :total="historyCarData.length">
- </el-pagination>
- </div>
- </el-dialog>
- <el-dialog width="500" title="机票行程数据" :visible.sync="dialogTableVisible">
- <el-table border :data="gridData">
- <el-table-column property="day" label="DAY" width="150"></el-table-column>
- <el-table-column property="date" label="DATE" width="200"></el-table-column>
- <el-table-column property="itin" label="ITIN"></el-table-column>
- </el-table>
- <div class="btn-dialog-cost">
- <el-button @click="confirmationTP" size="small" type="primary">采用机票同事的行程数据</el-button>
-
- <el-button @click="dialogTableVisible = false" size="small">采用现有的自定义数据</el-button>
- </div>
- </el-dialog>
- <el-dialog width="80%" title="酒店询价数据" :visible.sync="dialogTableVisibleXJ">
- <el-table :data="tableDatas" border>
- <el-table-column type="index" label="选中" width="55">
- <template slot-scope="scope">
- <el-checkbox :value='checkboxsXJ.includes(scope.row.id)'
- @change='CheckboxChangeXJ(scope.row.id)'></el-checkbox>
- </template>
- </el-table-column>
- <el-table-column prop="city" label="城市" width="120">
- </el-table-column>
- <el-table-column prop="name" label="酒店名称">
- </el-table-column>
- <el-table-column prop="checkInDate" label="入住日期" width="100">
- <template slot-scope="scope">
- {{ scope.row.checkInDate | filter_time }}
- </template>
- </el-table-column>
- <el-table-column prop="checkOutDate" label="退房日期" width="100">
- <template slot-scope="scope">
- {{ scope.row.checkOutDate | filter_time }}
- </template>
- </el-table-column>
- <el-table-column prop="selectDt" label="查询时间" width="150">
- </el-table-column>
- <el-table-column prop="createTime" label="SGR(价格/币种/数量)" width="120">
- <template slot-scope="scope">
- {{ scope.row.singlePrice | townum }} / {{ scope.row.singleCurrency }} / {{
- scope.row.singleQuantity }}
- </template>
- </el-table-column>
- <el-table-column prop="createTime" label="TBR(价格/币种/数量)" width="120">
- <template slot-scope="scope">
- {{ scope.row.doublePrice | townum }} / {{ scope.row.doubleCurrency }} / {{
- scope.row.doubleQuantity }}
- </template>
- </el-table-column>
- <el-table-column prop="createTime" label="JS/ES(价格/币种/数量)" width="120">
- <template slot-scope="scope">
- {{ scope.row.suitePrice | townum }} / {{ scope.row.suiteCurrency }} / {{
- scope.row.suiteQuantity }}
- </template>
- </el-table-column>
- <el-table-column prop="createTime" label="SUITE(价格/币种/数量)" width="120">
- <template slot-scope="scope">
- {{ scope.row.otherPrice | townum }} / {{ scope.row.otherCurrency }} / {{
- scope.row.otherQuantity }}
- </template>
- </el-table-column>
- <el-table-column prop="createUserName" label="查询人" width="80">
- </el-table-column>
- <!-- <el-table-column prop="remark" label="备注">
- </el-table-column> -->
- <!-- <el-table-column prop="name" label="操 作" width="140">
- <template slot-scope="scope">
- @click="PostHotelReservationsDetails(scope.$index, scope.row)"
- <el-button @click="PostHotelInquiryInfo(scope.row)" type="primary" size="mini" icon="el-icon-edit"></el-button>
- <el-button @click="PostHotelInquiryDel(scope.row)" type="danger" size="mini" icon="el-icon-delete"></el-button>
- </template>
- </el-table-column> -->
- </el-table>
- <div class="btn-dialog-cost">
- <el-button size="small" type="primary" @click='adoptHotelData'>采用酒店同事的询价数据</el-button>
-
- <el-button @click="dialogTableVisibleXJ = false" size="small">采用现有的自定义数据</el-button>
- </div>
- </el-dialog>
- <div class="cost-haed">
- <div class="ser-btn">
- <div class="ser-btn-li Cost_topFlex" style="display: flex;">
- <el-select size="small" v-model="diid" filterable placeholder="请选择" @change="groupChange">
- <el-option v-for="item in options" :key="item.id" :label="item.groupName" :value="item.id">
- <span v-if="item.isTrue == 'True'" style="color:#409EFF">{{ item.groupName }}</span>
- <span v-else style="color:gray">{{ item.groupName }}</span>
- </el-option>
- </el-select>
- <div
- style="line-height: 28px;font-size: 14px;width: 90px;color: #555;text-align: right;padding-right: 12px;">
- 分段类型:
- </div>
- <el-select style="width:200px" size="small" v-model="costTypevalue" placeholder="请选择"
- @change="costTypeSelect">
- <el-option v-for="item in costType" :key="item.value" :label="item.label" :value="item.value">
- </el-option>
- </el-select>
- </div>
- <div class="ser-btn-li">
- <el-button size="small" :type="blackCodeIsTrue ? 'primary' : 'danger'"
- @click="importBlackCode">导入机票行程数据</el-button>
- <el-button size="small" :type="hotelIsTrue ? 'primary' : 'danger'"
- @click="PostHotelInquiryPageItem">查看酒店询价价格</el-button>
- <!-- <el-button size="small" type="primary">导入收款账单</el-button> -->
- <el-button size="small" type="primary" @click="GetPriceCheckWord">生成报价单</el-button>
- <el-button size="small" type="primary" @click="GetClientWord">导出客户报表</el-button>
- <el-button size="small" type="primary" @click="GetGroupCostExcel">导出成本</el-button>
- <!-- <el-button type="primary">一键复制</el-button> -->
- <el-button v-if="isShare == 1" size="small" type="info" @click="GroupIsShare">取消成本通知</el-button>
- <el-button v-if="isShare == 0" size="small" type="primary" @click="GroupIsShare">成本通知</el-button>
- <el-button size="small" type="primary" @click="save">保存设置</el-button>
- </div>
- </div>
- <div class="cost-input">
- <el-form :inline="true" class="demo-form-inline" :model='AGroupCostParameter' ref="inputs"
- :rules="rules">
- <el-form-item label="税率:" prop="tax">
- <el-input size="small" v-model="AGroupCostParameter.tax" placeholder="税率"></el-input>
- </el-form-item>
- <el-form-item label="货币:">
- <el-select size="small" v-model="AGroupCostParameter.currency" @change="changeCurrency"
- placeholder="请选择">
- <el-option v-for="item in currencyOption" :key="item.currencyId" :label="item.currencyCode"
- :value="item.currencyId">
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="汇率:" prop="rate">
- <el-input size="small" v-model="AGroupCostParameter.rate" placeholder="汇率"></el-input>
- </el-form-item>
- </el-form>
- <div v-show="costTypevalue == 'A'">
- <el-form :inline="true" class="demo-form-inline" :rules="HotelRules" ref="DHotel"
- :model="costTypeHotelNumbers.filter(item => item.type == 'Default')[0]">
- <el-form-item label="TBR:" prop="tbr">
- <el-input size="small" @blur='inSelectChangeCheck'
- v-model.number="costTypeHotelNumbers.filter(item => item.type == 'Default')[0].tbr"
- placeholder="TBR"><i slot="suffix"
- style="font-style:normal;margin-right: 10px;">间</i></el-input>
- </el-form-item>
- <el-form-item label="SGR:" prop="sgr">
- <el-input size="small" @blur='inSelectChangeCheck'
- v-model.number="costTypeHotelNumbers.filter(item => item.type == 'Default')[0].sgr"
- placeholder="SGR"><i slot="suffix"
- style="font-style:normal;margin-right: 10px;">间</i></el-input>
- </el-form-item>
- <el-form-item label="JS/ES:" prop="jses">
- <el-input size="small" @blur='inSelectChangeCheck'
- v-model.number="costTypeHotelNumbers.filter(item => item.type == 'Default')[0].jses"
- placeholder="JS/ES"><i slot="suffix"
- style="font-style:normal;margin-right: 10px;">间</i></el-input>
- </el-form-item>
- <el-form-item label="SUITE:" prop="suite">
- <el-input size="small" @blur='inSelectChangeCheck'
- v-model.number="costTypeHotelNumbers.filter(item => item.type == 'Default')[0].suite"
- placeholder="SUITE"><i slot="suffix"
- style="font-style:normal;margin-right: 10px;">间</i></el-input>
- </el-form-item>
- </el-form>
- </div>
- <div v-show="costTypevalue == 'B'" class="CostBShow">
- <el-row>
- <el-form ref="Asection" :inline="true" class="demo-form-inline" :rules="CostTimeRules"
- :model="AGroupCostParameter">
- <el-col :span="5">
- <div> <el-form-item label="第一段开始:" prop="costTypeStartTime">
- <el-date-picker size="small" v-model="AGroupCostParameter.costTypeStartTime"
- type="date" placeholder="第一段开始" format="yyyy-MM-dd"
- value-format="yyyy-MM-dd">
- </el-date-picker>
- </el-form-item>
- </div>
- </el-col>
- <el-col :span="4">
- <div> <el-form-item label="结束:" prop="costTypeendTime"><el-date-picker size="small"
- v-model="AGroupCostParameter.costTypeendTime" type="date" placeholder="结束"
- format="yyyy-MM-dd" value-format="yyyy-MM-dd">
- </el-date-picker>
- </el-form-item>
- </div>
- </el-col>
- <el-col :span="3">
- <div>
- <el-form-item label="人数:" prop="costTypenumber"><el-input size="small"
- placeholder="人数" v-model.number="AGroupCostParameter.costTypenumber"
- clearable>
- </el-input>
- </el-form-item>
- </div>
- </el-col>
- </el-form>
- <el-form ref="AHotel" :inline="true" class="demo-form-inline" :rules="HotelRules"
- :model="costTypeHotelNumbers.filter(item => item.type == 'A')[0]">
- <el-col :span="3">
- <div><el-form-item label="TBR:" prop="tbr">
- <el-input size="small" @blur='inSelectChangeCheck'
- v-model.number="costTypeHotelNumbers.filter(item => item.type == 'A')[0].tbr"
- placeholder="TBR"><i slot="suffix"
- style="font-style:normal;margin-right: 10px;">间</i></el-input>
- </el-form-item></div>
- </el-col>
- <el-col :span="3">
- <div> <el-form-item label="SGR:" prop="sgr">
- <el-input size="small" @blur='inSelectChangeCheck'
- v-model.number="costTypeHotelNumbers.filter(item => item.type == 'A')[0].sgr"
- placeholder="SGR"><i slot="suffix"
- style="font-style:normal;margin-right: 10px;">间</i></el-input>
- </el-form-item></div>
- </el-col>
- <el-col :span="3">
- <div><el-form-item label="JS/ES:" prop="jses">
- <el-input size="small" @blur='inSelectChangeCheck'
- v-model.number="costTypeHotelNumbers.filter(item => item.type == 'A')[0].jses"
- placeholder="JS/ES"><i slot="suffix"
- style="font-style:normal;margin-right: 10px;">间</i></el-input>
- </el-form-item></div>
- </el-col>
- <el-col :span="3">
- <div><el-form-item label="SUITE:" prop="suite">
- <el-input size="small" @blur='inSelectChangeCheck'
- v-model.number="costTypeHotelNumbers.filter(item => item.type == 'A')[0].suite"
- placeholder="SUITE"><i slot="suffix"
- style="font-style:normal;margin-right: 10px;">间</i></el-input>
- </el-form-item></div>
- </el-col>
- </el-form>
- </el-row>
- <el-row>
- <el-form ref="Bsection" :inline="true" class="demo-form-inline" :rules="CostTimeRules"
- :model="BGroupCostParameter">
- <el-col :span="5">
- <div> <el-form-item label="第二段开始:" prop="costTypeStartTime">
- <el-date-picker size="small" v-model="BGroupCostParameter.costTypeStartTime"
- type="date" placeholder="第二段开始" format="yyyy-MM-dd"
- value-format="yyyy-MM-dd">
- </el-date-picker>
- </el-form-item>
- </div>
- </el-col>
- <el-col :span="4">
- <div> <el-form-item label="结束:" prop="costTypeendTime"><el-date-picker size="small"
- v-model="BGroupCostParameter.costTypeendTime" type="date" placeholder="结束"
- format="yyyy-MM-dd" value-format="yyyy-MM-dd">
- </el-date-picker>
- </el-form-item>
- </div>
- </el-col>
- <el-col :span="3">
- <div>
- <el-form-item label="人数:" prop="costTypenumber"><el-input size="small"
- placeholder="人数" v-model.number="BGroupCostParameter.costTypenumber"
- clearable>
- </el-input>
- </el-form-item>
- </div>
- </el-col>
- </el-form>
- <el-form ref="BHotel" :inline="true" class="demo-form-inline" :rules="HotelRules"
- :model="costTypeHotelNumbers.filter(item => item.type == 'B')[0]">
- <el-col :span="3">
- <div>
- <el-form-item label="TBR:" prop="tbr">
- <el-input size="small" @blur='inSelectChangeCheck'
- v-model.number="costTypeHotelNumbers.filter(item => item.type == 'B')[0].tbr"
- placeholder="TBR"><i slot="suffix"
- style="font-style:normal;margin-right: 10px;">间</i></el-input>
- </el-form-item>
- </div>
- </el-col>
- <el-col :span="3">
- <div> <el-form-item label="SGR:" prop="sgr">
- <el-input size="small" @blur='inSelectChangeCheck'
- v-model.number="costTypeHotelNumbers.filter(item => item.type == 'B')[0].sgr"
- placeholder="SGR"><i slot="suffix"
- style="font-style:normal;margin-right: 10px;">间</i></el-input>
- </el-form-item></div>
- </el-col>
- <el-col :span="3">
- <div><el-form-item label="JS/ES:" prop="jses">
- <el-input size="small" @blur='inSelectChangeCheck'
- v-model.number="costTypeHotelNumbers.filter(item => item.type == 'B')[0].jses"
- placeholder="JS/ES"><i slot="suffix"
- style="font-style:normal;margin-right: 10px;">间</i></el-input>
- </el-form-item></div>
- </el-col>
- <el-col :span="3">
- <div><el-form-item label="SUITE:" prop="suite">
- <el-input size="small" @blur='inSelectChangeCheck'
- v-model.number="costTypeHotelNumbers.filter(item => item.type == 'B')[0].suite"
- placeholder="SUITE"><i slot="suffix"
- style="font-style:normal;margin-right: 10px;">间</i></el-input>
- </el-form-item></div>
- </el-col>
- </el-form>
- </el-row>
- </div>
- </div>
- <div class="cost-info">
- <div class="cost-info-li">
- <label>团 号:</label>
- <span>{{ grouptitleinfo.tourCode }}</span>
- </div>
- <div class="cost-info-li">
- <label>客 户:</label>
- <span>{{ grouptitleinfo.clientName }}</span>
- </div>
- <div class="cost-info-li">
- <label>出访国家:</label>
- <span>{{ grouptitleinfo.visitCountry }}</span>
- </div>
- <div class="cost-info-li">
- <label>起止日期:</label>
- <span>{{ grouptitleinfo.visitStartDate }} -
- {{ grouptitleinfo.visitEndDate
- }}</span>
- </div>
- <div class="cost-info-li">
- <label>天数/人数:</label>
- <span>{{ grouptitleinfo.visitDays }}天/{{ grouptitleinfo.visitPNumber }}人</span>
- </div>
- <div class="cost-info-li">
- <!-- 客户名单 -->
- <el-popover class="clientinfo" placement="bottom" width="952" trigger="hover">
- <el-table :cell-style="{ 'text-align': 'center' }"
- :header-cell-style="{ 'text-align': 'center' }" max-height="600" border :data="rollcallarr">
- <el-table-column width="100" property="date" label="姓名" align="center">
- <template slot-scope="scope">
- {{ scope.row.lastName }}{{ scope.row.firstName }}
- </template>
- </el-table-column>
- <el-table-column width="200" property="lastName" label="拼音" align="center">
- <template slot-scope="scope">
- {{ pinyingxing(scope.row.lastName) }}/{{ pinyingxing(scope.row.firstName) }}
- </template>
- </el-table-column>
- <el-table-column width="50" property="sex" label="性别" align="center">
- <template slot-scope="scope">
- {{ scope.row.sex == 0 ? '男' : '女' }}
- </template>
- </el-table-column>
- <el-table-column width="200" property="companyFullName" label="单位" align="center">
- <template slot-scope="scope">
- {{ scope.row.companyFullName }}
- </template>
- </el-table-column>
- <el-table-column width="200" property="job" label="职位" align="center">
- <template slot-scope="scope">
- {{ scope.row.job }}
- </template>
- </el-table-column>
- <el-table-column width="200" property="idCardNo" label="身份证号码" align="center">
- <template slot-scope="scope">
- {{ scope.row.idCardNo }}
- </template>
- </el-table-column>
- <!-- <el-table-column width="110" property="birthDay" label="生日">
- <template slot-scope="scope">
- {{ fgarr(scope.row.birthDay) }}
- </template>
- </el-table-column> -->
- </el-table>
- <span slot="reference"
- style="cursor: pointer;margin-left: 20px;color:red;font-size:14px">"移上查看客户名单"</span>
- </el-popover>
- </div>
- </div>
- </div>
- <div style="color: #606266;font-size: 15px;font-weight: 600;">请选择要显示的项:</div>
- <el-checkbox-group class="form-ss" v-model="CheckBoxListSelect.filter(item => item.cbType == 'Top')[0].cbValues"
- @change="TopChange">
- <el-checkbox v-for="( item, index ) in checkOptions " :key="index" :title="item.tips"
- :label="item.label" @change="(val) => { topcheckboxChange(val, item.label) }"></el-checkbox>
- </el-checkbox-group>
- <el-table :stripe='true' class="tables" style="font-size:10px" :summary-method="getSummaries" show-summary
- show-overflow-tooltip :data="tableData" :border="true" size="small" row-class-name="row"
- cell-class-name="column" :highlight-current-row="true" :fit="true">
- <!-- :height="centerheight" -->
- <template v-for="( item, index ) in tableLabel">
- <el-table-column :key="index" :prop="item.prop" :width="item.width != '100' ? columnWidth : item.width"
- :label="item.label"
- v-if="CheckBoxListSelect.filter(item => item.cbType == 'Top')[0].cbValues.includes(item.label)">
- <!-- eslint-disable-next-line -->
- <template slot="header" slot-scope="scope">
- <el-tooltip effect="dark" :content="item.describe" placement="top">
- <div>
- <span class="rapAddress">{{ item.label }}</span>
- <span v-show="item.describe.indexOf('个人成本') != -1" style=" color:red">*</span>
- </div>
- </el-tooltip>
- </template>
- <template slot-scope="scope">
- <div v-if="item.prop === 'sales'">
- <el-input size="mini" :ref="'el-input-' + index" v-model="scope.row[item.prop]"
- show-word-limit />
- </div>
- <div v-else-if="item.prop === 'day'">
- <el-input size="mini" :ref="'el-input-' + index" v-model="scope.row[item.prop]"
- type="number" controls-position="right" min="0"
- @change="NumberSetTime(scope.row[item.prop], scope.$index)">
- <div style="display: flex;flex-direction: column;height: 28px;justify-content: center;margin-right: -5px;font-size: 14px;"
- slot="suffix" class="number-input-icon">
- <i class="el-icon-caret-top btntop" @click="increase(scope.$index)"></i>
- <i class="el-icon-caret-bottom btnbottom" @click="decrease(scope.$index)"></i>
- </div>
- </el-input>
- </div>
- <div v-else-if="item.prop === 'date'">
- <span :title="scope.row[item.prop]">
- <!-- <el-input placeholder="请输入日期"
- v-model="scope.row[item.prop]"
- @change="dateChange(scope.row[item.prop], scope.$index)">
- </el-input> -->
- <el-date-picker @change="TimeUpdateAnewOrderby(scope.$index)" :clearable="false"
- size="mini" v-model="scope.row[item.prop]" type="date" value-format="yyyy-MM-dd"
- placeholder="选择日期">
- </el-date-picker>
- </span>
- <div style="position: absolute;left: 36%;">
- {{ GetWeek(scope.row[item.prop]) }}
- </div>
- </div>
- <div v-else-if="item.prop === 'sale'">
- <el-row class="figures-btn">
- <el-button @click="handleEdit(scope.$index, scope.row, 1)" size="mini"
- type="primary">司兼导</el-button>
- <el-button @click="handleEdit(scope.$index, scope.row, 2)" size="mini" type="primary">导
- 游</el-button>
- <el-button @click="handleEdit(scope.$index, scope.row, 3)" size="mini"
- type="primary">车数据</el-button>
- <el-button @click="handleEdit(scope.$index, scope.row, 4)" size="mini" type="primary">景
- 点</el-button>
- <el-button style='display:flex' class="history-btn"
- @click="GetHistoryCarData(scope.$index)" size="mini" type="primary">历史数据
- </el-button>
- </el-row>
- </div>
- <div v-else-if="item.width == 100">
- <div v-if="item.label == 'ITIN'">
- <el-input type="textarea" @input="capslk(scope.row[item.prop], scope.$index)" :rows="6"
- placeholder="请输入内容" v-model="scope.row[item.prop]"></el-input>
- </div>
- <div class="accon-box" v-else-if="item.label == 'ACCO N'">
- <el-input @focus="acconinput(scope.row[item.prop], scope.$index)"
- @blur="acconblur(scope.$index)"
- @input="acconinput(scope.row[item.prop], scope.$index)" style="position: relative;"
- type="textarea" :rows="6" placeholder="请输入内容"
- v-model="scope.row[item.prop]"></el-input>
- <div class="accon-ul">
- <div @click="acconclick(item, scope.$index)" v-for="(item, index) in acconarrs"
- :key="index" class="accon-li">{{ item }}</div>
- </div>
- </div>
- <div v-else>
- <el-input type="textarea" :rows="6" placeholder="请输入内容"
- v-model="scope.row[item.prop]"></el-input>
- </div>
- </div>
- <div v-else-if="item.prop == 'b' || item.prop == 'l' || item.prop == 'd'">
- <el-popover placement="top-start" title="餐食报批费用:" trigger="hover">
- <div>
- <span style="color:red;">*具体价格以当前货币汇率为准!</span><br />
- <div v-if="ShowMeals.length == 0">
- <br />
- <span style="color:red">暂无数据!</span>
- </div>
- <div v-else>
- <div v-for="( item, index ) in ShowMeals" :key="index">
- {{ item.countryOrCity }} <span style="color:green;">{{
- item.price }}</span>元/人
- <span v-if="item.currPrice">(<span style="color:green;">{{
- item.currPrice }}</span> </span>
- <span v-if="item.currStr">{{
- item.currStr }})</span>
- <br>
- </div>
- </div>
- </div>
- <el-input size="mini" slot="reference" v-model="scope.row[item.prop]">
- </el-input>
- </el-popover>
- </div>
- <div
- v-else-if="item.prop == 'suite' || item.prop == 'jS_ES' || item.prop == 'sgr' || item.prop == 'tbr'">
- <el-popover placement="top-start" title="酒店报批费用:" trigger="hover">
- <div>
- <span style="color:red;">*具体价格以当前货币汇率为准!</span><br />
- <div v-if="ShowHotel.length == 0">
- <br />
- <span style="color:red">暂无数据!</span>
- </div>
- <div v-else>
- <div v-for="( item, index ) in ShowHotel" :key="index">
- {{ item.countryOrCity }} <span style="color:green;">{{
- item.price }}</span>元/人
- <span v-if="item.currPrice">(<span style="color:green;">{{
- item.currPrice }}</span> </span>
- <span v-if="item.currStr">{{
- item.currStr }})</span>
- <br>
- </div>
- </div>
- </div>
- <el-input size="mini" slot="reference" v-model="scope.row[item.prop]">
- </el-input>
- </el-popover>
- </div>
- <span v-else :title="scope.row[item.prop]">
- <el-input size="mini" v-model="scope.row[item.prop]">
- </el-input></span>
- </template>
- </el-table-column>
- </template>
- <el-table-column class="czbtn" label="操作">
- <!-- eslint-disable-next-line -->
- <template slot-scope="scope">
- <el-button class="czbtn" size="mini" @click="insertRow(scope.$index, scope.row, 'UP')"
- type="primary">
- 插入行↑
- </el-button>
- <br />
- <el-button class="czbtn" style="margin: 10px 0;" size="mini"
- @click="handleDelete(scope.$index, scope.row, tableData)" type="danger">
- 删除<i class="el-icon-delete"></i>
- </el-button>
- <br />
- <el-button class="czbtn" size="mini" @click="insertRow(scope.$index, scope.row, 'DOWN')"
- type="primary">插入行↓
- </el-button>
- </template>
- </el-table-column>
- </el-table>
- <div style="text-align: center;padding: 10px 0;"><el-button @click="addStrip" type="primary">添 加 <i
- class="el-icon-plus"></i></el-button></div>
- <div>
- <el-table :data="[{ a: 1 }]" border style="width: 100%;font-size:12px">
- <el-table-column v-for="item in columnTotalData" :key="item.label"
- :width="item.width != '100' ? columnWidth : item.width"
- :label="item.tips ? item.tips + getCurr : ''"
- v-if="CheckBoxListSelect.filter(item => item.cbType == 'Top')[0].cbValues.includes(item.label)">
- {{ item.totalPrice }}
- </el-table-column>
- <el-table-column class="czbtn">
- </el-table-column>
- </el-table>
- </div>
- <div>
- <el-table :data="[{ a: 1 }]" border style="width: 100%;font-size:12px">
- <el-table-column v-for="item in columnTotalData" :key="item.label"
- :width="item.width != '100' ? columnWidth : item.width"
- :label="item.singleTips ? item.singleTips + getCurr : ''"
- v-if="CheckBoxListSelect.filter(item => item.cbType == 'Top')[0].cbValues.includes(item.label)">
- {{ item.singlePrice }}
- <!-- <template slot="header">
- <div>{{item.singleTips ? item.singleTips:''}}</div>
- <div v-bind="getCurr">{{getCurr().toString}}</div>
- </template> -->
- </el-table-column>
- <el-table-column class="czbtn">
- </el-table-column>
- </el-table>
- </div>
- <div class="sheet-box">
- <div class="sheet-li">
- <div style="color: #606266;font-size: 15px;font-weight: 600;">请选择要显示的项:</div>
- <el-checkbox-group v-model="CheckBoxListSelect.filter(item => item.cbType == 'Left')[0].cbValues">
- <el-checkbox v-for="( item, index ) in sheetoneOptions " :key="index"
- :label="item"></el-checkbox>
- </el-checkbox-group>
- <div style="display: flex;font-size: 12px">
- <div :style="{ 'width': costTypevalue == 'A' ? '100%' : '49%' }">
- <div style="width: 200px;margin-bottom:0px;margin-top: 20px;"
- v-if="CheckBoxListSelect.filter(item => item.cbType == 'Left')[0].cbValues.includes('签证') && visaCountryInfoArr.length > 0">
- <el-table :data="visaCountryInfoArr" border style="width: 100%">
- <el-table-column prop="visaCountry" label="签证国家">
- </el-table-column>
- <el-table-column prop="visaPrice" label="签证费用">
- </el-table-column>
- </el-table>
- </div>
- <div v-for="(sheetitem, index) in sheetDatal" :key="index">
- <div class="biaoge" :class="{ 'biaogeKz': costTypevalue == 'B' }"
- v-if="CheckBoxListSelect.filter(item => item.cbType == 'Left')[0].cbValues.includes(sheetitem.label)">
- <el-table :data="[{ a: 1 }]" border style="width: 100%">
- <el-table-column
- v-for="( itemsheetone, index ) in sheetitem.childList "
- :key="index" :prop="itemsheetone.prop" :label="itemsheetone.childLabel">
- <!-- eslint-disable-next-line -->
- <template slot-scope="scope">
- <div v-if="itemsheetone.prop.indexOf(sheetitem.EnLabel) != -1">
- <div v-if="itemsheetone.isBind">
- <span>{{ AGroupCostParameter[itemsheetone.prop] }}</span>
- </div>
- <div v-else>
- <!-- <el-input v-model="AGroupCostParameter[itemsheetone.prop]"
- show-word-limit /> -->
- <!-- <el-input-number
- v-model="AGroupCostParameter[itemsheetone.prop]"
- @change="handleChange" :min="0" size="small"
- :controls="false"></el-input-number> -->
- <div v-if="itemsheetone.tips">
- <el-popover placement="top-start" :title="itemsheetone.title"
- width="200" trigger="hover">
- <!-- :content="itemsheetone.tips" -->
- <div v-if="itemsheetone.tips != '暂无!'">
- <span style="color:green">{{ itemsheetone.tips
- }}</span>
- 元/人
- </div>
- <div v-else>
- <span style="color:red">{{ itemsheetone.tips
- }}</span>
- </div>
- <el-input-number slot="reference"
- v-model="AGroupCostParameter[itemsheetone.prop]"
- @change="handleChange" :min="0" size="small"
- :controls="false"></el-input-number>
- </el-popover>
- </div>
- <div
- v-else-if="(typeof itemsheetone.title).toString() != 'undefined'">
- <el-popover placement="top-start" :title="itemsheetone.title"
- width="200" trigger="hover">
- <span style="color:red">暂无数据!</span>
- <el-input-number slot="reference"
- v-model="AGroupCostParameter[itemsheetone.prop]"
- @change="handleChange" :min="0" size="small"
- :controls="false"></el-input-number>
- </el-popover>
- </div>
- <div v-else>
- <el-input-number
- v-model="AGroupCostParameter[itemsheetone.prop]"
- @change="handleChange" :min="0" size="small"
- :controls="false"></el-input-number>
- </div>
- </div>
- </div>
- <div v-else-if="itemsheetone.prop === 'ZCB'">
- {{ calculateZCB(sheetitem.EnLabel) }}
- </div>
- <div v-else-if="itemsheetone.prop === 'DRBJ'">
- {{ calculateDRBJ(sheetitem.EnLabel) }}
- </div>
- <div v-else-if="itemsheetone.prop === 'ZBJ'">
- {{ calculateZBJ(sheetitem.EnLabel) }}
- </div>
- <div v-else-if="itemsheetone.prop === 'DRLR'">
- {{ calculateDRLR(sheetitem.EnLabel) }}
- </div>
- <div v-else-if="itemsheetone.prop === 'ZLR'">
- {{ calculateZLR(sheetitem.EnLabel) }}
- </div>
- <!-- 绑定对象属性的值 -->
- </template>
- </el-table-column>
- </el-table>
- </div>
- </div>
- </div>
- <div style="width: 2%;" v-show="costTypevalue != 'A'"></div>
- <div style="width: 49%;" v-show="costTypevalue != 'A'">
- <div class="" style="width: 200px;margin-bottom:0px;margin-top: 20px;visibility: hidden;"
- v-if="CheckBoxListSelect.filter(item => item.cbType == 'Left')[0].cbValues.includes('签证') && visaCountryInfoArr.length > 0">
- <el-table :data="visaCountryInfoArr" border style="width: 100%">
- <el-table-column prop="visaCountry" label="签证国家">
- </el-table-column>
- <el-table-column prop="visaPrice" label="签证费用">
- </el-table-column>
- </el-table>
- </div>
- <div v-for="( sheetitem, index ) in sheetDatal " :key="index">
- <div class="biaogeB"
- v-if="CheckBoxListSelect.filter(item => item.cbType == 'Left')[0].cbValues.includes(sheetitem.label)">
- <el-table :data="[{ a: 1 }]" border style="width: 100%"
- :class="{ 'hiddenElement': (sheetitem.EnLabel == 'visa' || sheetitem.EnLabel == 'bx') ? true : false }">
- <el-table-column v-for="(itemsheetone, index) in sheetitem.childList" :key="index"
- :prop="itemsheetone.prop" :label="itemsheetone.childLabel">
- <!-- eslint-disable-next-line -->
- <template slot-scope="scope">
- <div v-if="itemsheetone.prop.indexOf(sheetitem.EnLabel) != -1">
- <div v-if="itemsheetone.isBind">
- <span>{{ BGroupCostParameter[itemsheetone.prop] }}</span>
- </div>
- <div v-else>
- <!-- <el-input v-model="BGroupCostParameter[itemsheetone.prop]"
- show-word-limit /> -->
- <el-input-number v-model="BGroupCostParameter[itemsheetone.prop]"
- @change="handleChange" :min="0" size="small"
- :controls="false"></el-input-number>
- </div>
- </div>
- <div v-else-if="itemsheetone.prop === 'ZCB'">
- {{ BcalculateZCB(sheetitem.EnLabel) }}
- </div>
- <div v-else-if="itemsheetone.prop === 'DRBJ'">
- {{ BcalculateDRBJ(sheetitem.EnLabel) }}
- </div>
- <div v-else-if="itemsheetone.prop === 'ZBJ'">
- {{ BcalculateZBJ(sheetitem.EnLabel) }}
- </div>
- <div v-else-if="itemsheetone.prop === 'DRLR'">
- {{ BcalculateDRLR(sheetitem.EnLabel) }}
- </div>
- <div v-else-if="itemsheetone.prop === 'ZLR'">
- {{ BcalculateZLR(sheetitem.EnLabel) }}
- </div>
- <!-- 绑定对象属性的值 -->
- </template>
- </el-table-column>
- </el-table>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- <div class="cabin-box">
- <div class="cabin-li">
- <div style="color: #606266;font-size: 15px;font-weight: 600;">请选择要显示的项:</div>
- <el-checkbox-group v-model="CheckBoxListSelect.filter(item => item.cbType == 'Right')[0].cbValues">
- <el-checkbox v-for="( item, index ) in cabinoneOptions " :key="index"
- :label="item"></el-checkbox>
- </el-checkbox-group>
- <div style="display: flex;">
- <div :style="{ 'width': costTypevalue == 'A' ? '100%' : '49%' }">
- <div v-for="( cabinitem, index ) in cabinDatal " :key="index">
- <div class="biaoge"
- v-if="CheckBoxListSelect.filter(item => item.cbType == 'Right')[0].cbValues.includes(cabinitem.label)">
- <div style=" color: rgb(96, 98, 102);font-size: 15px;font-weight: 600;">{{
- cabinitem.label }}
- </div>
- <el-table :data="cabinitem.sheetInfo" border style="width: 100%">
- <el-table-column
- v-for="( itemcabinone, index ) in cabinitem.childList "
- :key="index" :prop="itemcabinone.prop" :label="itemcabinone.childLabel">
- <template slot-scope="scope">
- <div v-if="itemcabinone.prop === 'toll'">
- <el-input size="small" :ref="'el-input-' + index"
- v-model="scope.row[itemcabinone.prop]" show-word-limit disabled />
- </div>
- <span
- v-else-if="itemcabinone.prop === 'costPerson' || itemcabinone.prop === 'singleQuote'"
- :title="scope.row[itemcabinone.prop]">
- <span v-if="itemcabinone.prop === 'singleQuote'">
- <span v-if="itemcabinone.tips">
- <el-popover placement="top-start" :title="itemcabinone.title"
- width="200" trigger="hover">
- <span v-if="itemcabinone.tips != '暂无!'"
- style="color:green">{{ itemcabinone.tips
- }}元/人</span>
- <span v-else style="color: red">暂无!</span>
- <span slot="reference">{{ scope.row[itemcabinone.prop]
- }}</span>
- </el-popover>
- </span>
- <span v-else>
- <el-popover placement="top-start" :title="itemcabinone.title"
- width="200" trigger="hover">
- <span style="color: red">暂无!</span>
- <span slot="reference">{{ scope.row[itemcabinone.prop]
- }}</span>
- </el-popover>
- </span>
- </span>
- <span v-else>{{ scope.row[itemcabinone.prop] }}</span>
- </span>
- <span v-else-if="itemcabinone.prop === 'totalCost'"
- :title="scope.row[itemcabinone.prop]">{{
- (scope.row['toll'] * scope.row['costPerson']).toFixed(2)
- }}</span>
- <span v-else-if="itemcabinone.prop === 'totalQuote'"
- :title="scope.row[itemcabinone.prop]">{{
- (scope.row['toll'] * scope.row['singleQuote']).toFixed(2)
- }}</span>
- <span v-else-if="itemcabinone.prop === 'singleProfit'"
- :title="scope.row[itemcabinone.prop]">{{
- ((scope.row['singleQuote'] - scope.row['costPerson'])).toFixed(2)
- }}</span>
- <span v-else-if="itemcabinone.prop === 'totalProfit'"
- :title="scope.row[itemcabinone.prop]">{{
- ((scope.row['singleQuote'] - scope.row['costPerson']) *
- scope.row['toll']).toFixed(2)
- }}</span>
- <span v-else :title="scope.row[itemcabinone.prop]">{{
- scope.row[itemcabinone.prop]
- }}</span>
- </template>
- </el-table-column>
- </el-table>
- </div>
- </div>
- </div>
- <div style="width: 2%;" v-show="costTypevalue != 'A'"></div>
- <div style="width: 49%;" v-show="costTypevalue != 'A'">
- <div v-for="( cabinitem, index ) in BcabinDatal " :key="index">
- <div class="biaogeB"
- v-if="CheckBoxListSelect.filter(item => item.cbType == 'Right')[0].cbValues.includes(cabinitem.label)">
- <div style="color: rgb(96, 98, 102);font-size: 15px;font-weight: 600;">{{
- cabinitem.label }}
- </div>
- <el-table :data="cabinitem.sheetInfo" border style="width: 100%">
- <el-table-column
- v-for="( itemcabinone, index ) in cabinitem.childList "
- :key="index" :prop="itemcabinone.prop" :label="itemcabinone.childLabel">
- <template slot-scope="scope">
- <div v-if="itemcabinone.prop === 'toll'">
- <el-input size="small" :ref="'el-input-' + index"
- v-model="scope.row[itemcabinone.prop]" show-word-limit disabled />
- </div>
- <span
- v-else-if="itemcabinone.prop === 'costPerson' || itemcabinone.prop === 'singleQuote'"
- :title="scope.row[itemcabinone.prop]">{{
- scope.row[itemcabinone.prop]
- }}</span>
- <span v-else-if="itemcabinone.prop === 'totalCost'"
- :title="scope.row[itemcabinone.prop]">{{
- (scope.row['toll'] * scope.row['costPerson']).toFixed(2)
- }}</span>
- <span v-else-if="itemcabinone.prop === 'totalQuote'"
- :title="scope.row[itemcabinone.prop]">{{
- (scope.row['toll'] * scope.row['singleQuote']).toFixed(2)
- }}</span>
- <span v-else-if="itemcabinone.prop === 'singleProfit'"
- :title="scope.row[itemcabinone.prop]">{{
- (scope.row['singleQuote'] - scope.row['costPerson']).toFixed(2)
- }}</span>
- <span v-else-if="itemcabinone.prop === 'totalProfit'"
- :title="scope.row[itemcabinone.prop]">{{
- ((scope.row['singleQuote'] - scope.row['costPerson']) *
- scope.row['toll']).toFixed(2)
- }}</span>
- <span v-else :title="scope.row[itemcabinone.prop]">{{
- scope.row[itemcabinone.prop]
- }}</span>
- </template>
- </el-table-column>
- </el-table>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- <el-dialog :title="DialogTitle" :visible.sync="outerVisible" :width="'60%'" :close-on-click-modal="false"
- @close="dialogClose">
- <div>
- <div style="display: flex;">
- <div style="width: 30%;">
- <el-input v-model="dialogSearchInput" placeholder="请输入城市名称"></el-input>
- </div>
- <div style="width: 2%;"></div>
- <!-- <div><el-button type="primary" @click="dialogSearchMethon">搜索</el-button></div> -->
- </div>
- <br />
- <el-table ref="singleTable" border @current-change="SelChange"
- :data="filterdialogSearchInput.slice((currentPage - 1) * pageSize, currentPage * pageSize)"
- highlight-current-row style="width: 100%">
- <el-table-column v-for=" item, index in SeldialogColumn " :key="index"
- :prop="item.prop" :label="item.title">
- <template slot-scope="scope">
- <div>
- {{ scope.row[item.prop] }}
- </div>
- </template>
- </el-table-column>
- </el-table>
- <div class="block">
- <el-pagination align='center' @current-change="handleCurrentChange" :current-page="currentPage"
- :page-sizes="[5, 10]" :page-size="pageSize" layout="total, sizes, prev, pager, next"
- @size-change="handleSizeChange" :total="filterdialogSearchInput.length">
- </el-pagination>
- </div>
- </div>
- <!-- <el-dialog width="30%" title="内层 Dialog" :visible.sync="innerVisible" append-to-body>
- </el-dialog> -->
- <!-- <div slot="footer" class="dialog-footer">
- <el-button @click="outerVisible = false">取 消</el-button>
- <el-button type="primary" @click="innerVisible = true">打开内层 Dialog</el-button>
- </div> -->
- <div slot="footer" class="dialog-footer">
- <el-button @click="outerVisible = false; dialogSelectObject = {}">取 消</el-button>
- <el-button type="primary" @click="confirm">确定</el-button>
- </div>
- </el-dialog>
- </div>
- </template>
- <script>
- import { pinyin } from 'pinyin-pro';
- export default {
- data() {
- return {
- costloading: true,
- outerVisible: false,
- innerVisible: false,
- //checkList: ['DAY', 'ITIN', 'VA', 'VF', 'VRD', 'T/G S', 'DATE'], //列表默认选中
- checkOptions: [
- { label: 'DAY', tips: '时间(DATE)' },
- { label: 'DATE', tips: '行程描述(ITINERARY)' },
- { label: 'ITIN', tips: '行程描述(ITINERARY)' },
- { label: 'VA', tips: '车服务区域(Vehicle Area)' },
- { label: 'VT', tips: '车型(VEHICLE TYPE)' },
- { label: 'VF', tips: '车费用(VEHICLE FEES)' },
- { label: 'VN', tips: '车数量(VEHICLE Number)' },
- { label: 'VRD', tips: '用车时间(VEHICLE RENTAL DURATION)' },
- { label: 'T/G S', tips: '导游工资(TOUR GUIDE SALARY)' },
- { label: 'T/G N', tips: '导游数量(TOUR GUIDE Number)' },
- { label: 'T/G WH', tips: '导游工作时间(导游工作时间)' },
- { label: 'T/G OF', tips: '导游超时费用(TOUR GUIDE OVERTIME FEES)' },
- { label: 'T/G M', tips: '导游餐补(TOUR GUIDE MEALS)' },
- { label: 'T/G A', tips: '导游房补(TOUR GUIDE ACCOMMODATION)' },
- { label: 'T/G TF', tips: '导游交通费(TOUR GUIDE TRANSPORATION FEES)' },
- { label: 'T/G EF', tips: '导游景点费(TOUR GUIDE ENTRANCE FEES)' },
- { label: 'C/F M', tips: '司机餐补(CHAUFFEUR MEALS)' },
- { label: 'C/F OF', tips: '司机超时费用(CHAUFFEUR OVERTIME FEES)' },
- { label: 'B', tips: '早餐(BREAKFAST) #个人成本' },
- { label: 'L', tips: '午餐(LUNCH) #个人成本' },
- { label: 'D', tips: '晚餐(DINNER) #个人成本' },
- { label: 'TBR', tips: '双人间(TWIN BED ROOM) #个人成本' },
- { label: 'SGR', tips: '单间(SINGLE ROOM) #个人成本' },
- { label: 'JS/ES', tips: '小套房/豪华套房(JUNIOR SUITE/EXECUTIVE SUITE) #个人成本' },
- { label: 'SUITE', tips: '套房(SUITE) #个人成本' },
- { label: 'ACCO N', tips: '住宿地名称(ACCOMMODATION NAME)' },
- //--------------------------------------------------
- { label: 'TV/N', tips: '公务场次' },
- { label: 'IF/N', tips: '翻译场次' },
- //-----------------------------------------------------
- { label: 'T/V', tips: '公务活动费用(T/V)' },
- { label: '1/L', tips: '公务活动费用(1/L)' },
- { label: 'I/F', tips: '公务翻译费用(INTERPRETER FEES)' },
- { label: 'EF', tips: '景点门票(ENTRANCE FEE) #个人成本' },
- { label: 'B/R/F', tips: '饮料零食水果(BEVERAGE/RRESHMENT/FRUIT)' },
- { label: 'TE', tips: '出行物资(TRAVELLLING ESSENTIALS) #个人成本' },
- { label: 'T/G T', tips: '导游小费(T/G TIPS) #个人成本' },
- { label: 'DRV T', tips: '司机小费(DRIVER TIPS #个人成本)' },
- { label: 'P/C', tips: '零用金(PETTY CASH) #个人成本' },
- { label: 'T/L F', tips: '领队费(TOUR LEADER FEES)' },
- { label: 'E/C T', tips: '会务费(EXPO/CONFERENCE TICKET)' }
- ],
- tableLabel: [
- { label: 'DAY', width: '50', prop: 'day', describe: '天数(DAY)' },
- { label: 'DATE', width: '100', prop: 'date', describe: '时间(DATE)' },
- { label: 'ITIN', width: '100', prop: 'itin', describe: '行程描述(ITINERARY)' },
- { label: 'VA', width: '100', prop: 'sale', describe: '车服务区域(Vehicle Area)' }, // ??????????????
- { label: 'VT', width: '100', prop: 'carType', describe: '车型(VEHICLE TYPE)' },
- { label: 'VF', width: '60', prop: 'carCost', describe: '车费用(VEHICLE FEES)' },
- { label: 'VN', width: '60', prop: 'carNumber', describe: '车数量(VEHICLE Number)' },
- { label: 'VRD', width: '60', prop: 'carTiming', describe: '用车时间(VEHICLE RENTAL DURATION)' },
- { label: 'T/G S', width: '60', prop: 'tgs', describe: '导游工资(TOUR GUIDE SALARY)' },
- { label: 'T/G N', width: '60', prop: 'tgn', describe: '导游数量(TOUR GUIDE Number' },
- { label: 'T/G WH', width: '60', prop: 'tgwh', describe: '导游工作时间(导游工作时间)' },
- { label: 'T/G OF', width: '60', prop: 'tgof', describe: '导游超时费用(TOUR GUIDE OVERTIME FEES)' },
- { label: 'T/G M', width: '60', prop: 'tgm', describe: '导游餐补(TOUR GUIDE MEALS)' },
- { label: 'T/G A', width: '60', prop: 'tga', describe: '导游房补(TOUR GUIDE ACCOMMODATION)' },
- { label: 'T/G TF', width: '60', prop: 'tgtf', describe: '导游交通费(TOUR GUIDE TRANSPORATION FEES)' },
- { label: 'T/G EF', width: '60', prop: 'tgef', describe: '导游景点费(TOUR GUIDE ENTRANCE FEES)' },
- { label: 'C/F M', width: '60', prop: 'cfm', describe: '司机餐补(CHAUFFEUR MEALS)' },
- { label: 'C/F OF', width: '60', prop: 'cfof', describe: '司机超时费用(CHAUFFEUR OVERTIME FEES)' },
- { label: 'B', width: '60', prop: 'b', describe: '早餐(BREAKFAST) #个人成本' },
- { label: 'L', width: '60', prop: 'l', describe: '午餐(LUNCH) #个人成本' },
- { label: 'D', width: '60', prop: 'd', describe: '晚餐(DINNER) #个人成本' },
- { label: 'TBR', width: '60', prop: 'tbr', describe: '双人间(TWIN BED ROOM) #个人成本' },
- { label: 'SGR', width: '60', prop: 'sgr', describe: '单间(SINGLE ROOM) #个人成本' },
- { label: 'JS/ES', width: '60', prop: 'jS_ES', describe: '小套房/豪华套房(JUNIOR SUITE/EXECUTIVE SUITE) #个人成本' },
- { label: 'SUITE', width: '60', prop: 'suite', describe: '套房(SUITE) #个人成本' },
- { label: 'ACCO N', width: '100', prop: 'accon', describe: '住宿地名称(ACCOMMODATION NAME)' },
- //--------------------------------------------------
- { label: 'TV/N', width: '60', prop: 'gwCount', describe: '公务场次' },
- { label: 'IF/N', width: '60', prop: 'fyCount', describe: '翻译场次' },
- //-----------------------------------------------------
- { label: 'T/V', width: '60', prop: 'tv', describe: '公务活动费用(T/V)' },
- { label: '1/L', width: '60', prop: 'iL', describe: '邀请函相关费用(1/L)' },
- { label: 'I/F', width: '60', prop: 'if', describe: '公务翻译费用(INTERPRETER FEES)' },
- { label: 'EF', width: '60', prop: 'ef', describe: '景点门票(ENTRANCE FEE) #个人成本' },
- //--------------------------------------------------
- { label: 'EFR', width: '100', prop: 'efr', describe: '景点门票详细信息 (ENTRANCE FEE REMARK)' },
- //-----------------------------------------------------
- { label: 'B/R/F', width: '60', prop: 'b_R_F', describe: '饮料零食水果(BEVERAGE/RRESHMENT/FRUIT)' },
- { label: 'TE', width: '60', prop: 'te', describe: '出行物资(TRAVELLLING ESSENTIALS) #个人成本' },
- { label: 'T/G T', width: '60', prop: 'tgTips', describe: '导游小费(T/G TIPS) #个人成本' },
- { label: 'DRV T', width: '60', prop: 'drvTips', describe: '司机小费(DRIVER TIPS #个人成本)' },
- { label: 'P/C', width: '60', prop: 'pc', describe: '零用金(PETTY CASH) #个人成本' },
- { label: 'T/L F', width: '60', prop: 'tlf', describe: '领队费(TOUR LEADER FEES)' },
- { label: 'E/C T', width: '60', prop: 'ect', describe: '会务费(EXPO/CONFERENCE TICKET)' }
- ],
- statisticsArr: [
- { label: 'DAY', total: '', individual: '' },
- { label: 'DATE', total: '', individual: '' },
- { label: 'ITIN', total: '', individual: '' },
- { label: 'VA', total: '', individual: '' },
- { label: 'VT', total: '', individual: '' },
- { label: 'VF', total: '车费', individual: '车费人均' },
- { label: 'VN', total: '', individual: '' },
- { label: 'VRD', total: '', individual: '' },
- { label: 'T/G S', total: '导游工资', individual: '导游工资人均' },
- { label: 'T/G N', total: '', individual: '' },
- { label: 'T/G WH', total: '', individual: '' },
- { label: 'T/G OF', total: '', individual: '' },
- { label: 'T/G M', total: '', individual: '' },
- { label: 'T/G A', total: '', individual: '' },
- { label: 'T/G TF', total: '', individual: '' }
- ],
- tableData: [], //列表数据
- options: [],
- diid: '',
- currencyOption: [],
- currencyValueL: 'CNY',
- formInline: {
- user: '',
- region: ''
- },
- //sheetoneList: ['签证', '机票', '核酸检测',],
- sheetoneOptions: ['签证', '保险', '机票', '火车票', '船票', '核酸检测', '酒店TBR', '酒店SGR', '酒店JSES', '酒店SUITE', '地接', '公务', '零用金'],
- sheetDatal: [
- {
- label: '签证',
- EnLabel: 'visa',
- childList: [
- {
- childLabel: '签证单人成本(CNY)',
- prop: 'visaCB',
- tips: '这是一个tips',
- title: '签证报批费用:'
- },
- {
- childLabel: '人数',
- prop: 'visaRS'
- },
- {
- childLabel: '签证系数',
- prop: 'visaXS'
- },
- {
- childLabel: '签证总成本(CNY)',
- prop: 'ZCB'
- },
- {
- childLabel: '签证单人报价(CNY)',
- prop: 'DRBJ' // 系数 * 单价
- },
- {
- childLabel: '签证总报价(CNY)',
- prop: 'ZBJ' // 系数 * 单价 * 人数
- },
- {
- childLabel: '签证单人利润(CNY)',
- prop: 'DRLR' //系数 * 单价 - 单价
- },
- {
- childLabel: '签证总利润(CNY)',
- prop: 'ZLR' //(系数 * 单价 - 单价) * 人数
- },
- ],
- },
- {
- label: '保险',
- EnLabel: 'bx',
- childList: [
- {
- childLabel: '保险单人成本(CNY)',
- prop: 'bxcb',
- title: '保险报批费用:',
- tips: '这是一个tips',
- },
- {
- childLabel: '人数',
- prop: 'bxrs'
- },
- {
- childLabel: '保险系数',
- prop: 'bxxs'
- },
- {
- childLabel: '保险总成本(CNY)',
- prop: 'ZCB'
- },
- {
- childLabel: '保险单人报价(CNY)',
- prop: 'DRBJ'
- },
- {
- childLabel: '保险总报价(CNY)',
- prop: 'ZBJ'
- },
- {
- childLabel: '保险单人利润(CNY)',
- prop: 'DRLR'
- },
- {
- childLabel: '保险总利润(CNY)',
- prop: 'ZLR'
- },
- ],
- },
- {
- label: '火车票',
- EnLabel: 'hcp',
- childList: [
- {
- childLabel: '火车票单人成本(CNY)',
- prop: 'hcpcb'
- },
- {
- childLabel: '人数',
- prop: 'hcprs'
- },
- {
- childLabel: '火车票系数',
- prop: 'hcpxs'
- },
- {
- childLabel: '火车票总成本(CNY)',
- prop: 'ZCB'
- },
- {
- childLabel: '火车票单人报价(CNY)',
- prop: 'DRBJ'
- },
- {
- childLabel: '火车票总报价(CNY)',
- prop: 'ZBJ'
- },
- {
- childLabel: '火车票单人利润(CNY)',
- prop: 'DRLR'
- },
- {
- childLabel: '火车票总利润(CNY)',
- prop: 'ZLR'
- },
- ],
- },
- {
- label: '机票',
- EnLabel: 'jjc',
- childList: [
- {
- childLabel: '经济舱单人成本(CNY)',
- prop: 'jjccb',
- title: '经济舱报批费用:',
- tips: '这是一个tips',
- },
- {
- childLabel: '人数',
- prop: 'jjcrs'
- },
- {
- childLabel: '经济舱系数',
- prop: 'jjcxs'
- },
- {
- childLabel: '经济舱总成本(CNY)',
- prop: 'ZCB'
- },
- {
- childLabel: '经济舱单人报价(CNY)',
- prop: 'DRBJ'
- },
- {
- childLabel: '经济舱总报价(CNY)',
- prop: 'ZBJ'
- },
- {
- childLabel: '经济舱单人利润(CNY)',
- prop: 'DRLR'
- },
- {
- childLabel: '经济舱总利润(CNY)',
- prop: 'ZLR'
- },
- ],
- },
- {
- label: '机票',
- EnLabel: 'gwc',
- childList: [
- {
- childLabel: '公务舱单人成本(CNY)',
- prop: 'gwccb',
- title: '公务舱报批费用:',
- tips: '这是一个tips',
- },
- {
- childLabel: '人数',
- prop: 'gwcrs'
- },
- {
- childLabel: '公务舱系数',
- prop: 'gwcxs'
- },
- {
- childLabel: '公务舱总成本(CNY)',
- prop: 'ZCB'
- },
- {
- childLabel: '公务舱单人报价(CNY)',
- prop: 'DRBJ'
- },
- {
- childLabel: '公务舱总报价(CNY)',
- prop: 'ZBJ'
- },
- {
- childLabel: '公务舱单人利润(CNY)',
- prop: 'DRLR'
- },
- {
- childLabel: '公务舱总利润(CNY)',
- prop: 'ZLR'
- },
- ],
- },
- {
- label: '机票',
- EnLabel: 'tdc',
- childList: [
- {
- childLabel: '头等舱单人成本(CNY)',
- prop: 'tdccb',
- title: '头等舱报批费用:',
- tips: '0',
- },
- {
- childLabel: '人数',
- prop: 'tdcrs'
- },
- {
- childLabel: '头等舱系数',
- prop: 'tdcxs'
- },
- {
- childLabel: '头等舱总成本(CNY)',
- prop: 'ZCB'
- },
- {
- childLabel: '头等舱单人报价(CNY)',
- prop: 'DRBJ'
- },
- {
- childLabel: '头等舱总报价(CNY)',
- prop: 'ZBJ'
- },
- {
- childLabel: '头等舱单人利润(CNY)',
- prop: 'DRLR'
- },
- {
- childLabel: '头等舱总利润(CNY)',
- prop: 'ZLR'
- },
- ],
- },
- {
- label: '船票',
- EnLabel: 'cp',
- childList: [
- {
- childLabel: '船票单人成本(CNY)',
- prop: 'cpcb'
- },
- {
- childLabel: '人数',
- prop: 'cprs'
- },
- {
- childLabel: '船票系数',
- prop: 'cpxs'
- },
- {
- childLabel: '船票总成本(CNY)',
- prop: 'ZCB'
- },
- {
- childLabel: '船票单人报价(CNY)',
- prop: 'DRBJ'
- },
- {
- childLabel: '船票总报价(CNY)',
- prop: 'ZBJ'
- },
- {
- childLabel: '船票单人利润(CNY)',
- prop: 'DRLR'
- },
- {
- childLabel: '船票总利润(CNY)',
- prop: 'ZLR'
- },
- ],
- },
- {
- label: '核酸检测',
- EnLabel: 'hs',
- childList: [
- {
- childLabel: '核酸检测单人成本(CNY)',
- prop: 'hscb',
- title: '核酸检测报批费用:',
- tips: '这是一个tips',
- },
- {
- childLabel: '人数',
- prop: 'hsrs'
- },
- {
- childLabel: '核酸检测系数',
- prop: 'hsxs'
- },
- {
- childLabel: '核酸检测总成本(CNY)',
- prop: 'ZCB'
- },
- {
- childLabel: '核酸检测单人报价(CNY)',
- prop: 'DRBJ'
- },
- {
- childLabel: '核酸检测总报价(CNY)',
- prop: 'ZBJ'
- },
- {
- childLabel: '核酸检测单人利润(CNY)',
- prop: 'DRLR'
- },
- {
- childLabel: '核酸检测总利润(CNY)',
- prop: 'ZLR'
- },
- ],
- },
- //---
- {
- label: '酒店TBR',
- EnLabel: 'tbr',
- childList: [
- {
- childLabel: '酒店TBR单间成本(CNY)',
- prop: 'tbrcb',
- isBind: true
- },
- {
- childLabel: '间数',
- prop: 'tbrNumber'
- },
- {
- childLabel: '酒店TBR系数',
- prop: 'tbrxs'
- },
- {
- childLabel: '酒店TBR总成本(CNY)',
- prop: 'ZCB'
- },
- {
- childLabel: '酒店TBR单间报价(CNY)',
- prop: 'DRBJ'
- },
- {
- childLabel: '酒店TBR总报价(CNY)',
- prop: 'ZBJ'
- },
- {
- childLabel: '酒店TBR单间利润(CNY)',
- prop: 'DRLR'
- },
- {
- childLabel: '酒店TBR总利润(CNY)',
- prop: 'ZLR'
- },
- ],
- },
- {
- label: '酒店SGR',
- EnLabel: 'sgr',
- childList: [
- {
- childLabel: '酒店SGR单间成本(CNY)',
- prop: 'sgrcb',
- isBind: true
- },
- {
- childLabel: '间数',
- prop: 'sgrNumber'
- },
- {
- childLabel: '酒店SGR系数',
- prop: 'sgrxs'
- },
- {
- childLabel: '酒店SGR总成本(CNY)',
- prop: 'ZCB'
- },
- {
- childLabel: '酒店SGR单间报价(CNY)',
- prop: 'DRBJ'
- },
- {
- childLabel: '酒店SGR总报价(CNY)',
- prop: 'ZBJ'
- },
- {
- childLabel: '酒店SGR单间利润(CNY)',
- prop: 'DRLR'
- },
- {
- childLabel: '酒店SGR总利润(CNY)',
- prop: 'ZLR'
- },
- ],
- },
- {
- label: '酒店JSES',
- EnLabel: 'jses',
- childList: [
- {
- childLabel: '酒店JSES单间成本(CNY)',
- prop: 'jsescb',
- isBind: true
- },
- {
- childLabel: '间数',
- prop: 'jsesNumber'
- },
- {
- childLabel: '酒店JSES系数',
- prop: 'jsesxs'
- },
- {
- childLabel: '酒店JSES总成本(CNY)',
- prop: 'ZCB'
- },
- {
- childLabel: '酒店JSES单间报价(CNY)',
- prop: 'DRBJ'
- },
- {
- childLabel: '酒店JSES总报价(CNY)',
- prop: 'ZBJ'
- },
- {
- childLabel: '酒店JSES单间利润(CNY)',
- prop: 'DRLR'
- },
- {
- childLabel: '酒店JSES总利润(CNY)',
- prop: 'ZLR'
- },
- ],
- },
- {
- label: '酒店SUITE',
- EnLabel: 'suite',
- childList: [
- {
- childLabel: '酒店SUITE单间成本(CNY)',
- prop: 'suitecb',
- isBind: true
- },
- {
- childLabel: '间数',
- prop: 'suiteNumber'
- },
- {
- childLabel: '酒店SUITE系数',
- prop: 'suitexs'
- },
- {
- childLabel: '酒店SUITE总成本(CNY)',
- prop: 'ZCB'
- },
- {
- childLabel: '酒店SUITE单间报价(CNY)',
- prop: 'DRBJ'
- },
- {
- childLabel: '酒店SUITE总报价(CNY)',
- prop: 'ZBJ'
- },
- {
- childLabel: '酒店SUITE单间利润(CNY)',
- prop: 'DRLR'
- },
- {
- childLabel: '酒店SUITE总利润(CNY)',
- prop: 'ZLR'
- },
- ],
- },
- {
- label: '地接',
- EnLabel: 'dj',
- childList: [
- {
- childLabel: '地接单人成本(CNY)',
- prop: 'djcb',
- isBind: true
- },
- {
- childLabel: '人数', //实体类无地接人数
- prop: 'djrs'
- },
- {
- childLabel: '地接系数',
- prop: 'djxs'
- },
- {
- childLabel: '地接总成本(CNY)',
- prop: 'ZCB'
- },
- {
- childLabel: '地接单人报价(CNY)',
- prop: 'DRBJ'
- },
- {
- childLabel: '地接总报价(CNY)',
- prop: 'ZBJ'
- },
- {
- childLabel: '地接单人利润(CNY)',
- prop: 'DRLR'
- },
- {
- childLabel: '地接总利润(CNY)',
- prop: 'ZLR'
- },
- ],
- },
- {
- label: '公务',
- EnLabel: 'gw',
- childList: [
- {
- childLabel: '公务单人成本(CNY)',
- prop: 'gwcb',
- isBind: true
- },
- {
- childLabel: '人数',
- prop: 'gwrs'
- },
- {
- childLabel: '公务系数',
- prop: 'gwxs'
- },
- {
- childLabel: '公务总成本(CNY)',
- prop: 'ZCB'
- },
- {
- childLabel: '公务单人报价(CNY)',
- prop: 'DRBJ'
- },
- {
- childLabel: '公务总报价(CNY)',
- prop: 'ZBJ'
- },
- {
- childLabel: '公务单人利润(CNY)',
- prop: 'DRLR'
- },
- {
- childLabel: '公务总利润(CNY)',
- prop: 'ZLR'
- },
- ],
- },
- {
- label: '零用金',
- EnLabel: 'lyj',
- childList: [
- {
- childLabel: '零用金单人成本(CNY)',
- prop: 'lyjcb',
- isBind: true
- },
- {
- childLabel: '人数',
- prop: 'lyjrs'
- },
- {
- childLabel: '零用金系数',
- prop: 'lyjxs'
- },
- {
- childLabel: '零用金总成本(CNY)',
- prop: 'ZCB'
- },
- {
- childLabel: '零用金单人报价(CNY)',
- prop: 'DRBJ'
- },
- {
- childLabel: '零用金总报价(CNY)',
- prop: 'ZBJ'
- },
- {
- childLabel: '零用金单人利润(CNY)',
- prop: 'DRLR'
- },
- {
- childLabel: '零用金总利润(CNY)',
- prop: 'ZLR'
- },
- ],
- },
- ],
- //cabinoneList: ['经济舱 TBR', '经济舱 SGR', '核酸检测', '团组预算明细'],
- cabinoneOptions: ['经济舱 TBR', '经济舱 SGR', '公务舱 SGR', '公务舱 JS/ES', '公务舱 SUITE', '经济舱 SUITE', '头等舱 JS/ES', '头等舱 SUITE', '经济舱 JS/ES'],
- cabinDatal: [
- {
- label: '经济舱 TBR',
- childList: [
- {
- childLabel: '单人成本(CNY)',
- prop: 'costPerson'
- },
- {
- childLabel: '人数',
- prop: 'toll'
- },
- {
- childLabel: '总成本(CNY)',
- prop: 'totalCost'
- },
- {
- childLabel: '单人报价(CNY)',
- prop: 'singleQuote',
- title: '报批(单人经济舱总报价):',
- tips: '这是一个tips',
- },
- {
- childLabel: '总报价(CNY)',
- prop: 'totalQuote'
- },
- {
- childLabel: '单人利润(CNY)',
- prop: 'singleProfit'
- },
- {
- childLabel: '总利润(CNY)',
- prop: 'totalProfit'
- },
- ],
- sheetInfo: [
- {
- costPerson: 1,
- toll: 11,
- totalCost: 137597.76,
- singleQuote: 102203.71,
- totalQuote: 35394.05,
- singleProfit: 35394.05,
- totalProfit: 35394.05
- },
- ]
- },
- {
- label: '经济舱 SGR',
- childList: [
- {
- childLabel: '单人成本(CNY)',
- prop: 'costPerson'
- },
- {
- childLabel: '人数',
- prop: 'toll'
- },
- {
- childLabel: '总成本(CNY)',
- prop: 'totalCost'
- },
- {
- childLabel: '单人报价(CNY)',
- prop: 'singleQuote',
- title: '报批(单人经济舱总报价):',
- tips: '这是一个tips',
- },
- {
- childLabel: '总报价(CNY)',
- prop: 'totalQuote'
- },
- {
- childLabel: '单人利润(CNY)',
- prop: 'singleProfit'
- },
- {
- childLabel: '总利润(CNY)',
- prop: 'totalProfit'
- },
- ],
- sheetInfo: [
- {
- costPerson: 1,
- toll: 11,
- totalCost: 137597.76,
- singleQuote: 102203.71,
- totalQuote: 35394.05,
- singleProfit: 35394.05,
- totalProfit: 35394.05
- },
- ]
- },
- {
- label: '公务舱 SGR',
- childList: [
- {
- childLabel: '单人成本(CNY)',
- prop: 'costPerson'
- },
- {
- childLabel: '人数',
- prop: 'toll'
- },
- {
- childLabel: '总成本(CNY)',
- prop: 'totalCost'
- },
- {
- childLabel: '单人报价(CNY)',
- prop: 'singleQuote',
- title: '报批(单人公务舱总报价):',
- tips: '这是一个tips',
- },
- {
- childLabel: '总报价(CNY)',
- prop: 'totalQuote'
- },
- {
- childLabel: '单人利润(CNY)',
- prop: 'singleProfit'
- },
- {
- childLabel: '总利润(CNY)',
- prop: 'totalProfit'
- },
- ],
- sheetInfo: [
- {
- costPerson: 1,
- toll: 11,
- totalCost: 137597.76,
- singleQuote: 102203.71,
- totalQuote: 35394.05,
- singleProfit: 35394.05,
- totalProfit: 35394.05
- },
- ]
- },
- {
- label: '公务舱 JS/ES',
- childList: [
- {
- childLabel: '单人成本(CNY)',
- prop: 'costPerson'
- },
- {
- childLabel: '人数',
- prop: 'toll'
- },
- {
- childLabel: '总成本(CNY)',
- prop: 'totalCost'
- },
- {
- childLabel: '单人报价(CNY)',
- prop: 'singleQuote',
- title: '报批(单人公务舱总报价):',
- tips: '这是一个tips',
- },
- {
- childLabel: '总报价(CNY)',
- prop: 'totalQuote'
- },
- {
- childLabel: '单人利润(CNY)',
- prop: 'singleProfit'
- },
- {
- childLabel: '总利润(CNY)',
- prop: 'totalProfit'
- },
- ],
- sheetInfo: [
- {
- costPerson: 1,
- toll: 11,
- totalCost: 137597.76,
- singleQuote: 102203.71,
- totalQuote: 35394.05,
- singleProfit: 35394.05,
- totalProfit: 35394.05
- },
- ]
- },
- {
- label: '公务舱 SUITE',
- childList: [
- {
- childLabel: '单人成本(CNY)',
- prop: 'costPerson'
- },
- {
- childLabel: '人数',
- prop: 'toll'
- },
- {
- childLabel: '总成本(CNY)',
- prop: 'totalCost'
- },
- {
- childLabel: '单人报价(CNY)',
- prop: 'singleQuote',
- title: '报批(单人公务舱总报价):',
- tips: '这是一个tips',
- },
- {
- childLabel: '总报价(CNY)',
- prop: 'totalQuote'
- },
- {
- childLabel: '单人利润(CNY)',
- prop: 'singleProfit'
- },
- {
- childLabel: '总利润(CNY)',
- prop: 'totalProfit'
- },
- ],
- sheetInfo: [
- {
- costPerson: 1,
- toll: 11,
- totalCost: 137597.76,
- singleQuote: 102203.71,
- totalQuote: 35394.05,
- singleProfit: 35394.05,
- totalProfit: 35394.05
- },
- ]
- }
- ,
- {
- label: '经济舱 SUITE',
- childList: [
- {
- childLabel: '单人成本(CNY)',
- prop: 'costPerson'
- },
- {
- childLabel: '人数',
- prop: 'toll'
- },
- {
- childLabel: '总成本(CNY)',
- prop: 'totalCost'
- },
- {
- childLabel: '单人报价(CNY)',
- prop: 'singleQuote',
- title: '报批(单人经济舱总报价):',
- tips: '这是一个tips',
- },
- {
- childLabel: '总报价(CNY)',
- prop: 'totalQuote'
- },
- {
- childLabel: '单人利润(CNY)',
- prop: 'singleProfit'
- },
- {
- childLabel: '总利润(CNY)',
- prop: 'totalProfit'
- },
- ],
- sheetInfo: [
- {
- costPerson: 1,
- toll: 11,
- totalCost: 137597.76,
- singleQuote: 102203.71,
- totalQuote: 35394.05,
- singleProfit: 35394.05,
- totalProfit: 35394.05
- },
- ]
- },
- {
- label: '头等舱 JS/ES',
- childList: [
- {
- childLabel: '单人成本(CNY)',
- prop: 'costPerson'
- },
- {
- childLabel: '人数',
- prop: 'toll'
- },
- {
- childLabel: '总成本(CNY)',
- prop: 'totalCost'
- },
- {
- childLabel: '单人报价(CNY)',
- prop: 'singleQuote',
- title: '报批(单人头等舱总报价):',
- tips: '这是一个tips',
- },
- {
- childLabel: '总报价(CNY)',
- prop: 'totalQuote'
- },
- {
- childLabel: '单人利润(CNY)',
- prop: 'singleProfit'
- },
- {
- childLabel: '总利润(CNY)',
- prop: 'totalProfit'
- },
- ],
- sheetInfo: [
- {
- costPerson: 1,
- toll: 11,
- totalCost: 137597.76,
- singleQuote: 102203.71,
- totalQuote: 35394.05,
- singleProfit: 35394.05,
- totalProfit: 35394.05
- },
- ]
- },
- {
- label: '头等舱 SUITE',
- childList: [
- {
- childLabel: '单人成本(CNY)',
- prop: 'costPerson'
- },
- {
- childLabel: '人数',
- prop: 'toll'
- },
- {
- childLabel: '总成本(CNY)',
- prop: 'totalCost'
- },
- {
- childLabel: '单人报价(CNY)',
- prop: 'singleQuote',
- title: '报批(单人头等舱总报价):',
- tips: '这是一个tips',
- },
- {
- childLabel: '总报价(CNY)',
- prop: 'totalQuote'
- },
- {
- childLabel: '单人利润(CNY)',
- prop: 'singleProfit'
- },
- {
- childLabel: '总利润(CNY)',
- prop: 'totalProfit'
- },
- ],
- sheetInfo: [
- {
- costPerson: 1,
- toll: 11,
- totalCost: 137597.76,
- singleQuote: 102203.71,
- totalQuote: 35394.05,
- singleProfit: 35394.05,
- totalProfit: 35394.05
- },
- ]
- },
- {
- label: '经济舱 JS/ES',
- childList: [
- {
- childLabel: '单人成本(CNY)',
- prop: 'costPerson'
- },
- {
- childLabel: '人数',
- prop: 'toll'
- },
- {
- childLabel: '总成本(CNY)',
- prop: 'totalCost'
- },
- {
- childLabel: '单人报价(CNY)',
- prop: 'singleQuote',
- title: '报批(单人经济舱总报价):',
- tips: '0',
- },
- {
- childLabel: '总报价(CNY)',
- prop: 'totalQuote'
- },
- {
- childLabel: '单人利润(CNY)',
- prop: 'singleProfit'
- },
- {
- childLabel: '总利润(CNY)',
- prop: 'totalProfit'
- },
- ],
- sheetInfo: [
- {
- costPerson: 1,
- toll: 11,
- totalCost: 137597.76,
- singleQuote: 102203.71,
- totalQuote: 35394.05,
- singleProfit: 35394.05,
- totalProfit: 35394.05
- },
- ]
- },
- {
- label: '团组预算明细',
- childList: [
- {
- childLabel: '团组成本(CNY)',
- prop: 'groupCosts'
- },
- {
- childLabel: '团组报价(CNY)',
- prop: 'gtroupQuotes'
- },
- {
- childLabel: '团组利润(CNY)',
- prop: 'groupProfit'
- }
- ],
- sheetInfo: [
- {
- groupCosts: 1,
- gtroupQuotes: 11,
- groupProfit: 137597.76,
- },
- ]
- }
- ],
- BcabinDatal: [
- {
- label: '经济舱 TBR',
- childList: [
- {
- childLabel: '单人成本(CNY)',
- prop: 'costPerson'
- },
- {
- childLabel: '人数',
- prop: 'toll'
- },
- {
- childLabel: '总成本(CNY)',
- prop: 'totalCost'
- },
- {
- childLabel: '单人报价(CNY)',
- prop: 'singleQuote',
- title: '报批(单人经济舱总报价):',
- tips: '这是一个tips',
- },
- {
- childLabel: '总报价(CNY)',
- prop: 'totalQuote'
- },
- {
- childLabel: '单人利润(CNY)',
- prop: 'singleProfit'
- },
- {
- childLabel: '总利润(CNY)',
- prop: 'totalProfit'
- },
- ],
- sheetInfo: [
- {
- costPerson: 0,
- toll: 0,
- totalCost: 137597.76,
- singleQuote: 102203.71,
- totalQuote: 35394.05,
- singleProfit: 35394.05,
- totalProfit: 35394.05
- },
- ]
- },
- {
- label: '经济舱 SGR',
- childList: [
- {
- childLabel: '单人成本(CNY)',
- prop: 'costPerson'
- },
- {
- childLabel: '人数',
- prop: 'toll'
- },
- {
- childLabel: '总成本(CNY)',
- prop: 'totalCost'
- },
- {
- childLabel: '单人报价(CNY)',
- prop: 'singleQuote',
- title: '报批(单人经济舱总报价):',
- tips: '这是一个tips',
- },
- {
- childLabel: '总报价(CNY)',
- prop: 'totalQuote'
- },
- {
- childLabel: '单人利润(CNY)',
- prop: 'singleProfit'
- },
- {
- childLabel: '总利润(CNY)',
- prop: 'totalProfit'
- },
- ],
- sheetInfo: [
- {
- costPerson: 1,
- toll: 11,
- totalCost: 137597.76,
- singleQuote: 102203.71,
- totalQuote: 35394.05,
- singleProfit: 35394.05,
- totalProfit: 35394.05
- },
- ]
- },
- {
- label: '公务舱 SGR',
- childList: [
- {
- childLabel: '单人成本(CNY)',
- prop: 'costPerson'
- },
- {
- childLabel: '人数',
- prop: 'toll'
- },
- {
- childLabel: '总成本(CNY)',
- prop: 'totalCost'
- },
- {
- childLabel: '单人报价(CNY)',
- prop: 'singleQuote',
- title: '报批(单人公务舱总报价):',
- tips: '这是一个tips',
- },
- {
- childLabel: '总报价(CNY)',
- prop: 'totalQuote'
- },
- {
- childLabel: '单人利润(CNY)',
- prop: 'singleProfit'
- },
- {
- childLabel: '总利润(CNY)',
- prop: 'totalProfit'
- },
- ],
- sheetInfo: [
- {
- costPerson: 1,
- toll: 11,
- totalCost: 137597.76,
- singleQuote: 102203.71,
- totalQuote: 35394.05,
- singleProfit: 35394.05,
- totalProfit: 35394.05
- },
- ]
- },
- {
- label: '公务舱 JS/ES',
- childList: [
- {
- childLabel: '单人成本(CNY)',
- prop: 'costPerson'
- },
- {
- childLabel: '人数',
- prop: 'toll'
- },
- {
- childLabel: '总成本(CNY)',
- prop: 'totalCost'
- },
- {
- childLabel: '单人报价(CNY)',
- prop: 'singleQuote',
- title: '报批(单人公务舱总报价):',
- tips: '这是一个tips',
- },
- {
- childLabel: '总报价(CNY)',
- prop: 'totalQuote'
- },
- {
- childLabel: '单人利润(CNY)',
- prop: 'singleProfit'
- },
- {
- childLabel: '总利润(CNY)',
- prop: 'totalProfit'
- },
- ],
- sheetInfo: [
- {
- costPerson: 1,
- toll: 11,
- totalCost: 137597.76,
- singleQuote: 102203.71,
- totalQuote: 35394.05,
- singleProfit: 35394.05,
- totalProfit: 35394.05
- },
- ]
- },
- {
- label: '公务舱 SUITE',
- childList: [
- {
- childLabel: '单人成本(CNY)',
- prop: 'costPerson'
- },
- {
- childLabel: '人数',
- prop: 'toll'
- },
- {
- childLabel: '总成本(CNY)',
- prop: 'totalCost'
- },
- {
- childLabel: '单人报价(CNY)',
- prop: 'singleQuote',
- title: '报批(单人公务舱总报价):',
- tips: '这是一个tips',
- },
- {
- childLabel: '总报价(CNY)',
- prop: 'totalQuote'
- },
- {
- childLabel: '单人利润(CNY)',
- prop: 'singleProfit'
- },
- {
- childLabel: '总利润(CNY)',
- prop: 'totalProfit'
- },
- ],
- sheetInfo: [
- {
- costPerson: 1,
- toll: 11,
- totalCost: 137597.76,
- singleQuote: 102203.71,
- totalQuote: 35394.05,
- singleProfit: 35394.05,
- totalProfit: 35394.05
- },
- ]
- }
- ,
- {
- label: '经济舱 SUITE',
- childList: [
- {
- childLabel: '单人成本(CNY)',
- prop: 'costPerson'
- },
- {
- childLabel: '人数',
- prop: 'toll'
- },
- {
- childLabel: '总成本(CNY)',
- prop: 'totalCost'
- },
- {
- childLabel: '单人报价(CNY)',
- prop: 'singleQuote',
- title: '报批(单人经济舱总报价):',
- tips: '这是一个tips',
- },
- {
- childLabel: '总报价(CNY)',
- prop: 'totalQuote'
- },
- {
- childLabel: '单人利润(CNY)',
- prop: 'singleProfit'
- },
- {
- childLabel: '总利润(CNY)',
- prop: 'totalProfit'
- },
- ],
- sheetInfo: [
- {
- costPerson: 1,
- toll: 11,
- totalCost: 137597.76,
- singleQuote: 102203.71,
- totalQuote: 35394.05,
- singleProfit: 35394.05,
- totalProfit: 35394.05
- },
- ]
- },
- {
- label: '头等舱 JS/ES',
- childList: [
- {
- childLabel: '单人成本(CNY)',
- prop: 'costPerson'
- },
- {
- childLabel: '人数',
- prop: 'toll'
- },
- {
- childLabel: '总成本(CNY)',
- prop: 'totalCost'
- },
- {
- childLabel: '单人报价(CNY)',
- prop: 'singleQuote',
- title: '报批(单人头等舱总报价):',
- tips: '这是一个tips',
- },
- {
- childLabel: '总报价(CNY)',
- prop: 'totalQuote'
- },
- {
- childLabel: '单人利润(CNY)',
- prop: 'singleProfit'
- },
- {
- childLabel: '总利润(CNY)',
- prop: 'totalProfit'
- },
- ],
- sheetInfo: [
- {
- costPerson: 1,
- toll: 11,
- totalCost: 137597.76,
- singleQuote: 102203.71,
- totalQuote: 35394.05,
- singleProfit: 35394.05,
- totalProfit: 35394.05
- },
- ]
- },
- {
- label: '头等舱 SUITE',
- childList: [
- {
- childLabel: '单人成本(CNY)',
- prop: 'costPerson'
- },
- {
- childLabel: '人数',
- prop: 'toll'
- },
- {
- childLabel: '总成本(CNY)',
- prop: 'totalCost'
- },
- {
- childLabel: '单人报价(CNY)',
- prop: 'singleQuote',
- title: '报批(单人头等舱总报价):',
- tips: '这是一个tips',
- },
- {
- childLabel: '总报价(CNY)',
- prop: 'totalQuote'
- },
- {
- childLabel: '单人利润(CNY)',
- prop: 'singleProfit'
- },
- {
- childLabel: '总利润(CNY)',
- prop: 'totalProfit'
- },
- ],
- sheetInfo: [
- {
- costPerson: 1,
- toll: 11,
- totalCost: 137597.76,
- singleQuote: 102203.71,
- totalQuote: 35394.05,
- singleProfit: 35394.05,
- totalProfit: 35394.05
- },
- ]
- },
- {
- label: '经济舱 JS/ES',
- childList: [
- {
- childLabel: '单人成本(CNY)',
- prop: 'costPerson'
- },
- {
- childLabel: '人数',
- prop: 'toll'
- },
- {
- childLabel: '总成本(CNY)',
- prop: 'totalCost'
- },
- {
- childLabel: '单人报价(CNY)',
- prop: 'singleQuote',
- title: '报批(单人经济舱总报价):',
- tips: '0',
- },
- {
- childLabel: '总报价(CNY)',
- prop: 'totalQuote'
- },
- {
- childLabel: '单人利润(CNY)',
- prop: 'singleProfit'
- },
- {
- childLabel: '总利润(CNY)',
- prop: 'totalProfit'
- },
- ],
- sheetInfo: [
- {
- costPerson: 1,
- toll: 11,
- totalCost: 137597.76,
- singleQuote: 102203.71,
- totalQuote: 35394.05,
- singleProfit: 35394.05,
- totalProfit: 35394.05
- },
- ]
- },
- ],
- costType: [
- {
- value: 'A',
- label: '单段模式'
- },
- {
- value: 'B',
- label: '双段模式'
- }
- ],
- userId: 0,
- token: '',
- costTypevalue: 'A',
- grouptitleinfo: {},
- costTypeHotelNumbers: [{
- "sgr": 0,
- "tbr": 0,
- "jses": 0,
- "suite": 0,
- "type": "Default",
- "diid": 0,
- id: 0,
- },
- {
- "sgr": 0,
- "tbr": 0,
- "jses": 0,
- "suite": 0,
- "type": "A",
- "diid": 0,
- id: 0,
- },
- {
- "sgr": 0,
- "tbr": 0,
- "jses": 0,
- "suite": 0,
- "type": "B",
- "diid": 0,
- id: 0,
- }],
- CheckBoxListSelect: [
- {
- "diid": 0,
- "cbType": "Top",
- "cbValues": ['DAY', 'DATE', 'ITIN', 'VA', 'VT', 'VF', 'VRD', 'T/G S', 'T/G WH', 'C/F M', 'L', 'D', 'SGR', 'SUITE', 'ACCO N', 'T/V', 'EF', 'B/R/F', 'TE', 'DRV T', 'P/C'] //"string"
- },
- {
- "diid": 0,
- "cbType": "Left",
- "cbValues": ['签证', '机票', '保险', '火车票', '地接', '公务', '零用金'] //"string"
- },
- {
- "diid": 0,
- "cbType": "Right",
- "cbValues": ['公务舱 SGR', '经济舱 SGR', '团组预算明细'] //"string"
- }
- ],
- AGroupCostParameter: {
- "id": 0,
- "diId": 0,
- "currency": "CNY",
- "rate": 0,
- "tax": 0,
- "ffys": 0,
- "hotelXS": 0,
- "jjccb": 0,
- "jjcxs": 0,
- "jjcrs": 0,
- "gwccb": 0,
- "gwcxs": 0,
- "gwcrs": 0,
- "hcpcb": 0,
- "hcpxs": 0,
- "hcprs": 0,
- "cpcb": 0,
- "cpxs": 0,
- "cprs": 0,
- "bxcb": 0,
- "bxxs": 25,
- "bxrs": 0,
- "hscb": 0,
- "hsxs": 0,
- "hsrs": 0,
- "visaCB": 0,
- "visaXS": 0,
- "visaRS": 0,
- "gwcb": 0,
- "gwxs": 0,
- "gwrs": 0,
- "djcb": 0,
- "djrs": 0,
- "djxs": 0,
- "sgrcb": 0,
- "sgrNumber": 0,
- "sgrxs": 0,
- "tbrcb": 0,
- "tbrNumber": 0,
- "tbrxs": 0,
- "jsescb": 0,
- "jsesNumber": 0,
- "jsesxs": 0,
- "suitecb": 0,
- "suiteNumber": 0,
- "suitexs": 0,
- "lyjcb": 0,
- "lyjxs": 0,
- "lyjrs": 0,
- "isShare": 0,
- "costType": "A",
- "costTypeStartTime": "",
- "costTypeendTime": "",
- "costTypenumber": 0,
- "tdccb": 0,
- "tdcxs": 0,
- "tdcrs": 0
- },
- BGroupCostParameter: {
- "id": 0,
- "diId": 0,
- "currency": "",
- "rate": 0,
- "tax": 0,
- "ffys": 0,
- "hotelXS": 0,
- "jjccb": 0,
- "jjcxs": 0,
- "jjcrs": 0,
- "gwccb": 0,
- "gwcxs": 0,
- "gwcrs": 0,
- "hcpcb": 0,
- "hcpxs": 0,
- "hcprs": 0,
- "cpcb": 0,
- "cpxs": 0,
- "cprs": 0,
- "bxcb": 0,
- "bxxs": 25,
- "bxrs": 0,
- "hscb": 0,
- "hsxs": 0,
- "hsrs": 0,
- "visaCB": 0,
- "visaXS": 0,
- "visaRS": 0,
- "gwcb": 0,
- "gwxs": 0,
- "gwrs": 0,
- "djcb": 0,
- "djxs": 0,
- "djrs": 0,
- "sgrcb": 0,
- "sgrNumber": 0,
- "sgrxs": 0,
- "tbrcb": 0,
- "tbrNumber": 0,
- "tbrxs": 0,
- "jsescb": 0,
- "jsesNumber": 0,
- "jsesxs": 0,
- "suitecb": 0,
- "suiteNumber": 0,
- "suitexs": 0,
- "lyjcb": 0,
- "lyjxs": 0,
- "lyjrs": 0,
- "isShare": 0,
- "costType": "B",
- "costTypeStartTime": "",
- "costTypeendTime": "",
- "costTypenumber": 0,
- "tdccb": 0,
- "tdcxs": 0,
- "tdcrs": 0
- },
- dialogColumn: [
- {
- index: 1, data: [
- { title: "国家", prop: "country" },
- { title: "城市", prop: "city" },
- { title: "服务类型", prop: "serviceType" },
- { title: "用车类型", prop: "carType" },
- { title: "用车报价", prop: "offer" },
- { title: "车兼导费用", prop: "cgCost" },
- { title: "用车时长", prop: "runingTime" },
- { title: "车超时费用/时", prop: "overtimeFee" },
- { title: "司兼导超时费/时", prop: "cgOvertimeFee" },
- { title: "币种", prop: "currency" },
- { title: "备注", prop: "remark" }
- ]
- },
- {
- index: 2, data: [
- { title: "国家", prop: "country" },
- { title: "城市", prop: "city" },
- { title: "导游服务类型", prop: "serviceType" },
- { title: "导游工资", prop: "price" },
- { title: "翻译工资", prop: "translationPrice" },
- { title: "超时费用", prop: "overtimeFee" },
- { title: "币种", prop: "currency" },
- { title: "备注", prop: "remark" }
- ]
- },
- {
- index: 3, data: [
- { title: "国家", prop: "country" },
- { title: "城市", prop: "city" },
- { title: "车类型", prop: "carType" },
- { title: "服务类型", prop: "serviceType" },
- { title: "用车时间", prop: "when" },
- { title: "工资", prop: "price" },
- { title: "超时费用", prop: "overtimeFee" },
- { title: "币种", prop: "currency" },
- { title: "备注", prop: "remark" }
- ]
- },
- {
- index: 4, data: [
- { title: "国家", prop: "country" },
- { title: "城市", prop: "city" },
- { title: "景点", prop: "scenicSpot" },
- { title: "景点项目描述", prop: "scenicSpotDetail" },
- { title: "景点价格", prop: "price" },
- { title: "币种", prop: "currency" },
- { title: "景点地址", prop: "address" }
- ]
- }
- // 司兼导
- // 导游
- // 车数据
- // 景点
- ],
- dialogTableData: [],
- SeldialogColumn: [],
- DialogTitle: '',
- pageSize: 5,
- currentPage: 1,
- dialogSearchInput: '',
- selectRow: {},
- rowIndex: 0,
- sumTopPrice: [],
- DJLables: ['VF', 'T/G S', 'T/G OF', 'T/G M', 'T/G A', 'T/G TF', 'T/G EF', 'C/F M', 'C/F OF', 'B', 'L', 'D', 'EF', 'B/R/F', 'TE', 'T/G T', 'DRV T', 'T/L F'],
- GwLables: ['T/V', 'E/C T', 'I/F', '1/L'],
- OtherCostProperty: ['visaCB', 'hcpcb', 'cpcb', 'bxcb', 'hscb', 'djcb', 'gwcb', 'lyjcb'],
- OtherCostPropertyBJ: ['visa', 'hcp', 'cp', 'bx', 'hs', 'dj', 'gw', 'lyj'],
- peopleNumber: 1,
- centerheight: 700,
- defaultheight: 50,
- rules: {
- rate: [
- { pattern: /^-?\d+\.?\d*$/, message: '请输入正确数据', trigger: 'blur', required: true, }
- ],
- tax: [
- { pattern: /^-?\d+\.?\d*$/, message: '请输入正确数据', trigger: 'blur', required: true, }
- ],
- },
- HotelRules: {
- sgr: [
- { type: 'number', min: 0, message: '请输入整数', trigger: 'blur', required: true, },
- ],
- tbr: [
- { type: 'number', min: 0, message: '请输入整数', trigger: 'blur', required: true, },
- ],
- suite: [
- { type: 'number', min: 0, message: '请输入整数', trigger: 'blur', required: true, },
- ],
- jses: [
- { type: 'number', min: 0, message: '请输入整数', trigger: 'blur', required: true, },
- ],
- },
- CostTimeRules: {
- costTypeendTime: [
- { message: '请输入结束时间', trigger: 'blur', required: true, },
- ],
- costTypenumber: [
- { type: 'number', min: 0, message: '请输入整数', trigger: 'blur', required: true, },
- ],
- costTypeStartTime: [
- { message: '请输入开始时间', trigger: 'blur', required: true, },
- ],
- },
- titleText: [],
- vehicleLables: ['VF', 'T/G OF', 'T/G S', 'T/G TF', 'C/F OF'],
- DJMeal: ['B', 'L', 'D'],
- SubsidizedMeals: ['T/G M', 'C/F M'],
- NightRepair: ['T/G A'],
- AttractionsTickets: ['T/G EF', 'EF'],
- MiscellaneousFees: ['B/R/F', 'TE', 'T/L F'],
- ATip: ['T/G T', 'DRV T'],
- visaCountryInfoArr: [],
- equalWhere: [
- { "Visa": "visa" },
- { "HeSuan": "hs" },
- { "Insurance": "bx" },
- { "JJC": "jjc" },
- { "GWC": "gwc" },
- { "TDC": "tdc" }
- ],
- ShowBaoPi: [
- ],
- dialogSelectObject: {
- },
- columnTotalData: [
- {
- "label": "DAY",
- "tips": "",
- "totalPrice": 0,
- "singlePrice": 0,
- "singleTips": "",
- "width": 50,
- },
- {
- "label": "DATE",
- "tips": "",
- "totalPrice": 0,
- "singlePrice": 0,
- "singleTips": "",
- "width": 100,
- },
- {
- "label": "ITIN",
- "tips": "",
- "totalPrice": 0,
- "singlePrice": 0,
- "singleTips": "",
- "width": 100,
- },
- {
- "label": "VA",
- "tips": "",
- "totalPrice": 0,
- "singlePrice": 0,
- "singleTips": "",
- "width": 100,
- },
- {
- "label": "VT",
- "tips": "",
- "totalPrice": 0,
- "singlePrice": 0,
- "singleTips": "",
- "width": 100,
- },
- {
- "label": "VF",
- "tips": "车费用\n",
- "totalPrice": 0,
- "singlePrice": 0,
- "singleTips": "车费用人均\n",
- "width": 60,
- },
- {
- "label": "VN",
- "tips": "",
- "totalPrice": 0,
- "singlePrice": 0,
- "singleTips": "",
- "width": 60,
- },
- {
- "label": "VRD",
- "tips": "",
- "totalPrice": 0,
- "singlePrice": 0,
- "singleTips": "",
- "width": 60,
- },
- {
- "label": "T/G S",
- "tips": "导游工资\n",
- "totalPrice": 0,
- "singlePrice": 0,
- "singleTips": "导游工资人均\n",
- "width": 60,
- },
- {
- "label": "T/G N",
- "tips": "",
- "totalPrice": 0,
- "singlePrice": 0,
- "singleTips": "",
- "width": 60,
- },
- {
- "label": "T/G WH",
- "tips": "",
- "totalPrice": 0,
- "singlePrice": 0,
- "singleTips": "",
- "width": 60,
- },
- {
- "label": "T/G OF",
- "tips": "导游超时费用\n",
- "totalPrice": 0,
- "singlePrice": 0,
- "singleTips": "导游超时费用人均\n",
- "width": 60,
- },
- {
- "label": "T/G M",
- "tips": "导游餐补\n",
- "totalPrice": 0,
- "singlePrice": 0,
- "singleTips": "导游餐补人均\n",
- "width": 60,
- },
- {
- "label": "T/G A",
- "tips": "导游房补\n",
- "totalPrice": 0,
- "singlePrice": 0,
- "singleTips": "导游房补人均\n",
- "width": 60,
- },
- {
- "label": "T/G TF",
- "tips": "导游交通费\n",
- "totalPrice": 0,
- "singlePrice": 0,
- "singleTips": "导游交通费人均\n",
- "width": 60,
- },
- {
- "label": "T/G EF",
- "tips": "导游景点费\n",
- "totalPrice": 0,
- "singlePrice": 0,
- "singleTips": "导游景点费人均\n",
- "width": 60,
- },
- {
- "label": "C/F M",
- "tips": "司机餐补\n",
- "totalPrice": 0,
- "singlePrice": 0,
- "singleTips": "司机餐补人均\n",
- "width": 60,
- },
- {
- "label": "C/F OF",
- "tips": "司机超时费用\n",
- "totalPrice": 0,
- "singlePrice": 0,
- "singleTips": "司机超时费用人均\n",
- "width": 60,
- },
- {
- "label": "B",
- "tips": "早餐费用\n",
- "totalPrice": 0,
- "singlePrice": 0,
- "singleTips": "早餐费用人均\n",
- "width": 60,
- },
- {
- "label": "L",
- "tips": "午餐费用\n",
- "totalPrice": 0,
- "singlePrice": 0,
- "singleTips": "午餐费用人均\n",
- "width": 60,
- },
- {
- "label": "D",
- "tips": "晚餐费用\n",
- "totalPrice": 0,
- "singlePrice": 0,
- "singleTips": "晚餐费用人均\n",
- "width": 60,
- },
- {
- "label": "TBR",
- "tips": "双人间费用\n",
- "totalPrice": 0,
- "singlePrice": 0,
- "singleTips": "双人间费用人均\n",
- "width": 60,
- },
- {
- "label": "SGR",
- "tips": "单间费用\n",
- "totalPrice": 0,
- "singlePrice": 0,
- "singleTips": "单间费用人均\n",
- "width": 60,
- },
- {
- "label": "JS/ES",
- "tips": "小套房/豪华套房费用\n",
- "totalPrice": 0,
- "singlePrice": 0,
- "singleTips": "小套房/豪华套房费用人均\n",
- "width": 60,
- },
- {
- "label": "SUITE",
- "tips": "套房费用\n",
- "totalPrice": 0,
- "singlePrice": 0,
- "singleTips": "套房费用人均\n",
- "width": 60,
- },
- {
- "label": "ACCO N",
- "tips": "",
- "totalPrice": 0,
- "singlePrice": 0,
- "singleTips": "",
- "width": 100,
- },
- {
- "label": "TV/N",
- "tips": "",
- "totalPrice": 0,
- "singlePrice": 0,
- "singleTips": "",
- "width": 60,
- },
- {
- "label": "IF/N",
- "tips": "",
- "totalPrice": 0,
- "singlePrice": 0,
- "singleTips": "",
- "width": 60,
- },
- {
- "label": "T/V",
- "tips": "公务活动费用\n",
- "totalPrice": 0,
- "singlePrice": 0,
- "singleTips": "公务活动费用人均\n",
- "width": 60,
- },
- {
- "label": "1/L",
- "tips": "公务活动费用\n",
- "totalPrice": 0,
- "singlePrice": 0,
- "singleTips": "公务活动费用人均\n",
- "width": 60,
- },
- {
- "label": "I/F",
- "tips": "公务翻译费用\n",
- "totalPrice": 0,
- "singlePrice": 0,
- "singleTips": "公务翻译费用人均\n",
- "width": 60,
- },
- {
- "label": "EF",
- "tips": "景点门票\n",
- "totalPrice": 0,
- "singlePrice": 0,
- "singleTips": "景点门票人均\n",
- "width": 60,
- },
- {
- "label": "EFR",
- "tips": "",
- "totalPrice": 0,
- "singlePrice": 0,
- "singleTips": "",
- "width": 100,
- },
- {
- "label": "B/R/F",
- "tips": "饮料零食水果\n",
- "totalPrice": 0,
- "singlePrice": 0,
- "singleTips": "饮料零食水果人均\n",
- "width": 60,
- },
- {
- "label": "TE",
- "tips": "出行物资\n",
- "totalPrice": 0,
- "singlePrice": 0,
- "singleTips": "出行物资人均\n",
- "width": 60,
- },
- {
- "label": "T/G T",
- "tips": "导游小费\n",
- "totalPrice": 0,
- "singlePrice": 0,
- "singleTips": "导游小费人均\n",
- "width": 60,
- },
- {
- "label": "DRV T",
- "tips": "司机小费\n",
- "totalPrice": 0,
- "singlePrice": 0,
- "singleTips": "司机小费人均\n",
- "width": 60,
- },
- {
- "label": "P/C",
- "tips": "零用金\n",
- "totalPrice": 0,
- "singlePrice": 0,
- "singleTips": "零用金人均\n",
- "width": 60,
- },
- {
- "label": "T/L F",
- "tips": "领队费\n",
- "totalPrice": 0,
- "singlePrice": 0,
- "singleTips": "领队费人均\n",
- "width": 60,
- },
- {
- "label": "E/C T",
- "tips": "会务费\n",
- "totalPrice": 0,
- "singlePrice": 0,
- "singleTips": "会务费人均\n",
- "width": 60,
- }
- ],
- autoSave: null,
- acconarr: [],
- acconarrs: [],
- isShare: 0,
- blackCodeIsTrue: false,
- dialogTableVisible: false,
- gridData: [],
- //监听变量
- //count: 0,
- x: 0,
- y: 0,
- tableDatas: [],
- dialogTableVisibleXJ: false,
- checkboxsXJ: [],
- historyCarInput: '',
- historyCarDialog: false,
- historyCarData: [],
- // {
- // "value": "id",
- // "label": ""
- // },
- historyCarCloumns: [
- {
- "value": "teamName",
- "label": "团组名称"
- },
- {
- "value": "start",
- "label": "开始时间"
- },
- {
- "value": "end",
- "label": "结束时间"
- },
- {
- "value": "area",
- "label": "地区"
- },
- {
- "value": "price",
- "label": "总价格"
- },
- {
- "value": "dayPrice",
- "label": "单日价格"
- },
- {
- "value": "priceName",
- "label": "费用名称"
- },
- {
- "value": "priceContent",
- "label": "费用明细"
- },
- {
- "value": "datePrice",
- "label": "费用准确日期"
- }
- ],
- historyCarSelectObject: {},
- historyCarIndex: -1,
- hotelIsTrue: false,
- rollcallarr: []
- };
- },
- watch: {
- costTypeHotelNumbers: {
- handler(val) {
- for (var i = 0; i < val.length; i++) {
- //console.log(val[i]);
- if (val[i].tbr == '') {
- val[i].tbr = 0
- }
- if (val[i].sgr == '') {
- val[i].sgr = 0
- }
- if (val[i].jses == '') {
- val[i].jses = 0
- }
- if (val[i].suite == '') {
- val[i].suite = 0
- }
- }
- },
- deep: true
- },
- 'tableData.length': {
- handler(newValue, oldValue) {
- if (newValue !== oldValue) {
- if (this.tableData.length > 3) {
- this.centerheight = 700;
- } else {
- this.centerheight = this.defaultheight + (this.tableData.length * 230) - ((this.tableData.length - 1) * 50);
- }
- //////console.log('高度' + this.centerheight);
- }
- }
- }
- },
- methods: {
- capslk(val, index) {
- this.tableData[index].itin = val.toUpperCase()
- },
- acconblur(index) {
- setTimeout(() => {
- document.querySelectorAll('.accon-ul')[index].classList.remove('accons-ul')
- }, 150)
- },
- acconinput(val, index) {
- this.acconarr = [];
- this.acconarrs = [];
- //console.log(val);
- //console.log(index);
- for (var i = 0; i < this.tableData.length; i++) {
- this.acconarr.push(this.tableData[i].accon)
- }
- for (var j = 0; j < this.acconarr.length; j++) {
- if (this.acconarr[j].includes(val)) {
- this.acconarrs.push(this.acconarr[j])
- }
- }
- this.acconarrs = Array.from(new Set(this.acconarrs));
- //console.log(this.acconarrs)
- document.querySelectorAll('.accon-ul')[index].classList.add('accons-ul')
- },
- acconclick(val, index) {
- this.tableData[index].accon = val;
- },
- getSummaries(param) {
- var that = this;
- ////console.log(param)
- const { columns, data } = param;
- const sums = [];
- const sums1 = [];
- const texts = [];
- var prices = [];
- var BUpdate = []
- var thisData = data;
- var ATime = { start: that.addOneDay(that.AGroupCostParameter.costTypeStartTime, 0), end: that.addOneDay(that.AGroupCostParameter.costTypeendTime, 0) };
- var BTime = { start: that.addOneDay(that.BGroupCostParameter.costTypeStartTime, 0), end: that.addOneDay(that.BGroupCostParameter.costTypeendTime, 0) };
- //////console.log('ATime,BTime', ATime, BTime);
- var data1 = [];
- var data2 = [];
- //////console.log('datas', data);
- if (that.costTypevalue == 'B') {
- for (var i = 0; i < thisData.length; i++) {
- var forTime = thisData[i].date;
- if (forTime == '' && i != 0) {
- forTime = thisData[i - 1].date;
- }
- if (forTime) {
- forTime = new Date(forTime).getTime();
- }
- if (forTime >= new Date(ATime.start).getTime() && forTime <= new Date(ATime.end).getTime()) {
- data1.push(thisData[i])
- }
- if (forTime >= new Date(BTime.start).getTime() && forTime <= new Date(BTime.end).getTime()) {
- data2.push(thisData[i])
- }
- }
- thisData = data1;
- if (isNaN(Number(that.AGroupCostParameter.costTypenumber)) || Number(that.AGroupCostParameter.costTypenumber) < 1) {
- that.peopleNumber = 1;
- } else {
- that.peopleNumber = Number(that.AGroupCostParameter.costTypenumber);
- }
- }
- ////console.log('3data', thisData, data1, data2);
- columns.forEach((column, index) => {
- if (index === 0) {
- prices[index] = "总计:";
- that.lableSetPrice(column.label, '', '');
- return;
- }
- if (column.label == 'DATE' || column.label == 'ITIN' || column.label == 'VT' || column.label == 'VN' || column.label == 'ACCO N' || column.label == 'VA' || column.label == 'VRD' || column.label == 'T/G N' || column.label == 'T/G WH' || column.label == '操作' || column.label == 'TV/N' || column.label == 'IF/N' || column.label == 'EFR') {
- prices[index] = "——";
- that.lableSetPrice(column.label, '', '');
- return;
- }
- const values = thisData.map(item => Number(item[column.property]));
- if (!values.every(value => isNaN(value))) {
- sums[index] = values.reduce((prev, curr) => {
- const value = Number(curr);
- if (!isNaN(value)) {
- return prev + curr;
- } else {
- return prev;
- }
- }, 0);
- if (column.label == 'B' || column.label == 'L' || column.label == 'D' || column.label == 'EF' || column.label == 'TE' || column.label == 'T/G T' || column.label == 'P/C' || column.label == 'DRV T' || column.label == 'DRV T') {
- that.lableSetPrice(column.label, (sums[index] * that.peopleNumber).toFixed(2), (sums[index]).toFixed(2));
- prices[index] = '共' + (sums[index] * that.peopleNumber).toFixed(2) + ' ' + this.getCurr + '\r\n人均' + (sums[index]).toFixed(2) + " " + this.getCurr //sums[index] + '(' + this.getCurr + ')' + ' 人均(' + sums[index] + ')';
- }
- else if (column.label == 'SGR' || column.label == 'JS/ES' || column.label == 'SUITE' || column.label == 'TBR') {
- if (column.label == 'TBR') {
- that.lableSetPrice(column.label, (sums[index]).toFixed(2), (sums[index] / 2).toFixed(2));
- prices[index] = '共' + (sums[index]).toFixed(2) + ' ' + this.getCurr + '\r\n人均' + (sums[index] / 2).toFixed(2) + " " + this.getCurr
- } else {
- that.lableSetPrice(column.label, (sums[index]).toFixed(2), (sums[index]).toFixed(2));
- prices[index] = '共' + (sums[index]).toFixed(2) + ' ' + this.getCurr + '\r\n人均' + (sums[index]).toFixed(2) + " " + this.getCurr
- }
- }
- else {
- that.lableSetPrice(column.label, sums[index].toFixed(2), (sums[index] / that.peopleNumber).toFixed(2));
- prices[index] = '共' + sums[index].toFixed(2) + ' ' + this.getCurr + '\r\n人均' + (sums[index] / that.peopleNumber).toFixed(2) + " " + this.getCurr //sums[index] + '(' + this.getCurr + ')' + ' 人均(' + sums[index] + ')';
- sums[index] = parseFloat((sums[index] / that.peopleNumber).toFixed(2));
- }
- } else {
- prices[index] = 'N/A';
- }
- if (that.costTypevalue == 'B') {
- const values1 = data2.map(item => Number(item[column.property]));
- if (!values1.every(value => isNaN(value))) {
- sums1[index] = values1.reduce((prev, curr) => {
- const value = Number(curr);
- if (!isNaN(value)) {
- return prev + curr;
- } else {
- return prev;
- }
- }, 0);
- if (column.label == 'B' || column.label == 'L' || column.label == 'D' || column.label == 'EF' || column.label == 'TE' || column.label == 'T/G T' || column.label == 'P/C' || column.label == 'DRV T' || column.label == 'DRV T') {
- BUpdate.push({ label: column.label, total: (sums1[index] * that.BGroupCostParameter.costTypenumber).toFixed(2), single: (sums1[index]).toFixed(2) });
- prices[index] = 'A段费用' + prices[index] + '\r\nB段费用共' + (sums1[index] * that.BGroupCostParameter.costTypenumber).toFixed(2) + " " + this.getCurr + '\r\n人均' + (sums1[index]).toFixed(2) + " " + this.getCurr //sums[index] + '(' + this.getCurr + ')' + ' 人均(' + sums[index] + ')';
- }
- else if (column.label == 'SGR' || column.label == 'JS/ES' || column.label == 'SUITE' || column.label == 'TBR') {
- if (column.label == 'TBR') {
- BUpdate.push({ label: column.label, total: (sums1[index]).toFixed(2), single: (sums1[index] / 2).toFixed(2) });
- prices[index] = 'A段费用' + prices[index] + '\r\nB段费用共' + (sums1[index]).toFixed(2) + " " + this.getCurr + '\r\n人均' + (sums1[index] / 2).toFixed(2) + " " + this.getCurr //sums[index] + '(' + this.getCurr + ')' + ' 人均(' + sums[index] + ')';
- } else {
- BUpdate.push({ label: column.label, total: (sums1[index]).toFixed(2), single: (sums1[index]).toFixed(2) });
- prices[index] = 'A段费用' + prices[index] + '\r\nB段费用共' + (sums1[index]).toFixed(2) + " " + this.getCurr + '\r\n人均' + (sums1[index]).toFixed(2) + " " + this.getCurr //sums[index] + '(' + this.getCurr + ')' + ' 人均(' + sums[index] + ')';
- }
- }
- else {
- BUpdate.push({ label: column.label, total: sums1[index].toFixed(2), single: (sums1[index] / that.BGroupCostParameter.costTypenumber).toFixed(2) });
- prices[index] = 'A段费用' + prices[index] + '\r\nB段费用共' + sums1[index].toFixed(2) + " " + this.getCurr + '\r\n人均' + (sums1[index] / that.BGroupCostParameter.costTypenumber).toFixed(2) + " " + this.getCurr //sums[index] + '(' + this.getCurr + ')' + ' 人均(' + sums[index] + ')';
- sums1[index] = ((sums1[index] / that.BGroupCostParameter.costTypenumber).toFixed(2));
- }
- } else {
- prices[index] = 'A段费用' + prices[index] + ' B段费用' + 'N/A';
- }
- }
- var fliterList = that.sumTopPrice.filter(function (x) {
- return x.name == column.property;
- })
- if (fliterList.length == 0) {
- that.sumTopPrice.push({ name: column.property, label: column.label, Aprice: sums[index], Bprice: sums1[index] == undefined ? 0 : sums1[index] });
- } else {
- fliterList[0].Aprice = sums[index];
- fliterList[0].Bprice = sums1[index] == undefined ? 0 : sums1[index];
- }
- var TextfliterList = texts.filter(function (x) {
- return x.label == column.label;
- })
- var text = prices[index];
- if (TextfliterList.length == 0) {
- texts.push({ label: column.label, text: text });
- } else {
- TextfliterList[0].text = text;
- }
- });
- this.titleText = texts;
- //////console.log(that.sumTopPrice, 'sumTopPrice---------------');
- this.CalculatedPrice();
- ////////console.log(that.sumTopPrice, '------------');
- setTimeout(() => {
- this.setLastTitle(prices);
- if (that.costTypevalue == 'B') {
- //遍历bupdate
- BUpdate.forEach(function (item) {
- that.BlableSetPrice(item.label, item.total, item.single);
- })
- }
- }, 600);
- return prices;
- },
- handleEdit(index, row, buttonIndex) {
- ////////console.log(index, row, buttonIndex);
- this.rowIndex = index; // 行的索引
- var api = '';
- switch (buttonIndex) {
- case 1:
- api = 'GetCarGuides';
- this.DialogTitle = '选择车导数据';
- break;
- case 2:
- api = 'GetGuidesInfo';
- this.DialogTitle = '导游信息';
- break;
- case 3:
- api = 'GetCarInfo';
- this.DialogTitle = '选择车数据';
- break;
- case 4:
- api = 'GetScenicSpotInfo';
- this.DialogTitle = '景点信息';
- break;
- }
- if (api == '') {
- this.$message.error('程序异常!');
- return;
- }
- this.dialogSearchInput = this.grouptitleinfo.visitCountry;
- var dataC = this.dialogColumn.filter(x => x.index == buttonIndex);
- if (dataC.length == 0) {
- this.SeldialogColumn = [];
- } else {
- this.SeldialogColumn = dataC[0].data;
- }
- var that = this;
- this.$axios.post('/api/Groups/' + api, {}, {
- headers: {
- 'Authorization': that.token,
- }
- }).then(resp => {
- //////console.log(resp.data.data, '------------------------------------');
- that.outerVisible = true;
- if (resp.data.code == 200) {
- that.dialogTableData = resp.data.data;
- } else {
- that.$message.error('获取数据失败!' + resp.data.msg);
- }
- })
- },
- handleDelete(index, row, rows) {
- //////console.log(index, row, rows);
- this.$confirm('此操作将删除该条信息, 是否继续?', '提示', {
- confirmButtonText: '确定',
- cancelButtonText: '取消',
- type: 'warning'
- }).then(() => {
- this.$message({
- message: '已删除',
- type: 'success',
- offset: 50
- });
- rows.splice(index, 1);
- }).catch(() => {
- this.$message({
- type: 'info',
- message: '已取消删除'
- });
- });
- },
- //减
- increase(val) {
- //console.log(this.tableData[val]);
- if (this.tableData[val].day == "-") {
- this.tableData[val].day = 0
- }
- if (this.tableData[val].day <= 1) {
- return
- }
- this.tableData[val].day--
- this.NumberSetTime(this.tableData[val].day, val)
- },
- //加
- decrease(val) {
- if (this.tableData[val].day == "-") {
- this.tableData[val].day = 0
- }
- this.tableData[val].day++
- this.NumberSetTime(this.tableData[val].day, val)
- },
- addStrip() {
- var souerLength = this.tableData.length - 1;
- var dataStr = "";
- var day = '-';
- if (souerLength >= 0) {
- dataStr = this.tableData[souerLength].date;
- dataStr = this.addOneDay(dataStr, 1);
- var getDay = this.tableData[souerLength].day;
- if (getDay) {
- day = parseInt(getDay) + 1;
- } else {
- try {
- day = parseInt(this.tableData[souerLength - 1].day) + 1;
- dataStr = this.addOneDay(this.tableData[souerLength - 1].date, 1)
- } catch (e) {
- dataStr = "";
- day = '-';
- }
- }
- }
- this.tableData.push(
- {
- "diid": this.diid,
- "day": day,
- "date": dataStr,
- "itin": "",
- "carType": "",
- "carCost": "",
- "carNumber": "",
- "carTiming": "",
- "tgs": "",
- "tgwh": "",
- "tgn": "",
- "tgof": "",
- "tgm": "",
- "tga": "",
- "tgtf": "",
- "tgef": "",
- "cfs": "",
- "cfm": "",
- "cfof": "",
- "b": "",
- "l": "",
- "d": "",
- "tbr": "",
- "sgr": "",
- "jS_ES": "",
- "suite": "",
- "accon": "",
- "tv": "",
- "iL": "",
- "if": "",
- "ef": "",
- "b_R_F": "",
- "te": "",
- "tgTips": "",
- "drvTips": "",
- "pc": "",
- "tlf": "",
- "ect": "",
- "id": 1,
- "gwCount": "",
- "fyCount": "",
- "efr": "",
- }
- )
- },
- loadData(id) {
- this.costloading = true;
- this.tableData = [];
- var that = this;
- this.$axios.post('/api/Groups/GroupCostInit', {
- Diid: id
- }, {
- headers: {
- 'Authorization': that.token,
- }
- }).then(resp => {
- setTimeout(() => {
- that.PostTourClientListByDiId(id);
- }, 1000)
- //////console.log(resp.data.data, '------------------------------------');
- if (resp.data.code == 200) {
- that.options = resp.data.data.groupList;
- that.grouptitleinfo = resp.data.data.groupInfo.data;
- that.diid = that.grouptitleinfo.id;
- localStorage.setItem('costLoadData', JSON.stringify({
- diid: that.diid
- }))
- setTimeout(() => {
- that.QueryRate();
- }, 500)
- for (var i = 0; i < that.CheckBoxListSelect.length; i++) {
- that.CheckBoxListSelect[i].diid = that.diid;
- }
- if (resp.data.data.groupChecks.length > 0) {
- resp.data.data.groupChecks.forEach(item => {
- for (var i = 0; i < that.CheckBoxListSelect.length; i++) {
- if (item.cbType == that.CheckBoxListSelect[i].cbType) {
- that.CheckBoxListSelect[i].cbValues = item.cbValues.split(',');
- //////console.log(item.cbValues.split(','));
- break;
- }
- if (that.CheckBoxListSelect[i].diid == 0) {
- that.CheckBoxListSelect[i].diid = that.diid;
- }
- }
- })
- } else {
- that.CheckBoxListSelect = [
- {
- "diid": that.diid,
- "cbType": "Top",
- "cbValues": ['DAY', 'DATE', 'ITIN', 'VA', 'VT', 'VF', 'VRD', 'T/G S', 'T/G WH', 'C/F M', 'L', 'D', 'SGR', 'SUITE', 'ACCO N', 'T/V', 'EF', 'EFR', 'B/R/F', 'TE', 'DRV T', 'P/C'] //"string"
- },
- {
- "diid": that.diid,
- "cbType": "Left",
- "cbValues": ['签证', '机票', '保险', '火车票', '地接', '公务', '零用金'] //"string"
- },
- {
- "diid": that.diid,
- "cbType": "Right",
- "cbValues": ['公务舱 SGR', '经济舱 SGR', '团组预算明细'] //"string"
- }
- ]
- }
- that.CheckBoxListSelect.forEach(x => {
- if (x.cbType == 'Top') {
- if (x.cbValues.includes("EF") && !x.cbValues.includes("EFR")) {
- x.cbValues.push("EFR");
- }
- }
- });
- that.grouptitleinfo.visitStartDate = that.grouptitleinfo.visitStartDate.split(' ')[0];
- that.grouptitleinfo.visitEndDate = that.grouptitleinfo.visitEndDate.split(' ')[0];
- that.peopleNumber = that.grouptitleinfo.visitPNumber > 0 ? that.grouptitleinfo.visitPNumber : 1;
- if (resp.data.data.groupCost.length > 0) {
- that.tableData = resp.data.data.groupCost;
- //console.log(that.tableData);
- for (var i = 0; i < that.tableData.length; i++) {
- for (var prop in that.tableData[i]) {
- //console.log(that.tableData[i][prop]);
- if (that.tableData[i][prop] == 0) {
- that.tableData[i][prop] = ''
- }
- }
- }
- } else {
- that.tableData = [
- {
- "diid": that.diid,
- "day": "-",
- "date": "",
- "itin": "",
- "carType": "",
- "carCost": "",
- "carNumber": "",
- "carTiming": "",
- "tgs": "",
- "tgwh": "",
- "tgn": "",
- "tgof": "",
- "tgm": "",
- "tga": "",
- "tgtf": "",
- "tgef": "",
- "cfs": "",
- "cfm": "",
- "cfof": "",
- "b": "",
- "l": "",
- "d": "",
- "tbr": "",
- "sgr": "",
- "jS_ES": "",
- "suite": "",
- "accon": "",
- "tv": "",
- "iL": "",
- "if": "",
- "ef": "",
- "b_R_F": "",
- "te": "",
- "tgTips": "",
- "drvTips": "",
- "pc": "",
- "tlf": "",
- "ect": "",
- "id": 1,
- "gwCount": "",
- "fyCount": "",
- "efr": "",
- }
- ]
- }
- if (resp.data.data.groupCostParameter.length > 0) {
- var acostvalue = resp.data.data.groupCostParameter.filter(x => x.costType == 'A')[0];
- if (acostvalue != undefined) {
- that.AGroupCostParameter = acostvalue;
- that.isShare = that.AGroupCostParameter.isShare;//是否通知
- //console.log(that.AGroupCostParameter)
- var result = Number(that.AGroupCostParameter.currency);
- if (isNaN(result)) {
- } else {
- that.AGroupCostParameter.currency = result;
- }
- } else {
- that.AGroupCostParameter = {
- "id": 0,
- "diId": 0,
- "currency": "CNY",
- "rate": 0,
- "tax": 0,
- "ffys": 0,
- "hotelXS": 0,
- "jjccb": 0,
- "jjcxs": 0,
- "jjcrs": 0,
- "gwccb": 0,
- "gwcxs": 0,
- "gwcrs": 0,
- "hcpcb": 0,
- "hcpxs": 0,
- "hcprs": 0,
- "cpcb": 0,
- "cpxs": 0,
- "cprs": 0,
- "bxcb": 0,
- "bxxs": 25,
- "bxrs": 0,
- "hscb": 0,
- "hsxs": 0,
- "hsrs": 0,
- "visaCB": 0,
- "visaXS": 0,
- "visaRS": 0,
- "gwcb": 0,
- "gwxs": 0,
- "gwrs": 0,
- "djcb": 0,
- "djrs": 0,
- "djxs": 0,
- "sgrcb": 0,
- "sgrNumber": 0,
- "sgrxs": 0,
- "tbrcb": 0,
- "tbrNumber": 0,
- "tbrxs": 0,
- "jsescb": 0,
- "jsesNumber": 0,
- "jsesxs": 0,
- "suitecb": 0,
- "suiteNumber": 0,
- "suitexs": 0,
- "lyjcb": 0,
- "lyjxs": 0,
- "lyjrs": 0,
- "isShare": 0,
- "costType": "A",
- "costTypeStartTime": "",
- "costTypeendTime": "",
- "costTypenumber": 0,
- "tdccb": 0,
- "tdcxs": 0,
- "tdcrs": 0
- };
- }
- var bcostvalue = resp.data.data.groupCostParameter.filter(x => x.costType == 'B')[0];
- if (bcostvalue != undefined) {
- that.BGroupCostParameter = bcostvalue;
- } else {
- that.BGroupCostParameter = {
- "id": 0,
- "diId": 0,
- "currency": "",
- "rate": 0,
- "tax": 0,
- "ffys": 0,
- "hotelXS": 0,
- "jjccb": 0,
- "jjcxs": 0,
- "jjcrs": 0,
- "gwccb": 0,
- "gwcxs": 0,
- "gwcrs": 0,
- "hcpcb": 0,
- "hcpxs": 0,
- "hcprs": 0,
- "cpcb": 0,
- "cpxs": 0,
- "cprs": 0,
- "bxcb": 0,
- "bxxs": 25,
- "bxrs": 0,
- "hscb": 0,
- "hsxs": 0,
- "hsrs": 0,
- "visaCB": 0,
- "visaXS": 0,
- "visaRS": 0,
- "gwcb": 0,
- "gwxs": 0,
- "gwrs": 0,
- "djcb": 0,
- "djxs": 0,
- "djrs": 0,
- "sgrcb": 0,
- "sgrNumber": 0,
- "sgrxs": 0,
- "tbrcb": 0,
- "tbrNumber": 0,
- "tbrxs": 0,
- "jsescb": 0,
- "jsesNumber": 0,
- "jsesxs": 0,
- "suitecb": 0,
- "suiteNumber": 0,
- "suitexs": 0,
- "lyjcb": 0,
- "lyjxs": 0,
- "lyjrs": 0,
- "isShare": 0,
- "costType": "B",
- "costTypeStartTime": "",
- "costTypeendTime": "",
- "costTypenumber": 0,
- "tdccb": 0,
- "tdcxs": 0,
- "tdcrs": 0
- };
- }
- if (resp.data.data.groupCostParameter.length > 1) {
- that.costTypevalue = "B";
- } else {
- that.costTypevalue = "A";
- }
- if (that.AGroupCostParameter.costTypeStartTime) {
- that.AGroupCostParameter.costTypeStartTime = new Date(that.AGroupCostParameter.costTypeStartTime);
- }
- if (that.AGroupCostParameter.costTypeendTime) {
- that.AGroupCostParameter.costTypeendTime = new Date(that.AGroupCostParameter.costTypeendTime);
- }
- if (that.BGroupCostParameter.costTypeStartTime) {
- that.BGroupCostParameter.costTypeStartTime = new Date(that.BGroupCostParameter.costTypeStartTime);
- }
- if (that.BGroupCostParameter.costTypeendTime) {
- that.BGroupCostParameter.costTypeendTime = new Date(that.BGroupCostParameter.costTypeendTime);
- }
- } else {
- that.AGroupCostParameter = {
- "id": 0,
- "diId": 0,
- "currency": "CNY",
- "rate": 0,
- "tax": 0,
- "ffys": 0,
- "hotelXS": 0,
- "jjccb": 0,
- "jjcxs": 0,
- "jjcrs": 0,
- "gwccb": 0,
- "gwcxs": 0,
- "gwcrs": 0,
- "hcpcb": 0,
- "hcpxs": 0,
- "hcprs": 0,
- "cpcb": 0,
- "cpxs": 0,
- "cprs": 0,
- "bxcb": 0,
- "bxxs": 25,
- "bxrs": 0,
- "hscb": 0,
- "hsxs": 0,
- "hsrs": 0,
- "visaCB": 0,
- "visaXS": 0,
- "visaRS": 0,
- "gwcb": 0,
- "gwxs": 0,
- "gwrs": 0,
- "djcb": 0,
- "djrs": 0,
- "djxs": 0,
- "sgrcb": 0,
- "sgrNumber": 0,
- "sgrxs": 0,
- "tbrcb": 0,
- "tbrNumber": 0,
- "tbrxs": 0,
- "jsescb": 0,
- "jsesNumber": 0,
- "jsesxs": 0,
- "suitecb": 0,
- "suiteNumber": 0,
- "suitexs": 0,
- "lyjcb": 0,
- "lyjxs": 0,
- "lyjrs": 0,
- "isShare": 0,
- "costType": "A",
- "costTypeStartTime": "",
- "costTypeendTime": "",
- "costTypenumber": 0,
- "tdccb": 0,
- "tdcxs": 0,
- "tdcrs": 0
- };
- that.BGroupCostParameter = {
- "id": 0,
- "diId": 0,
- "currency": "",
- "rate": 0,
- "tax": 0,
- "ffys": 0,
- "hotelXS": 0,
- "jjccb": 0,
- "jjcxs": 0,
- "jjcrs": 0,
- "gwccb": 0,
- "gwcxs": 0,
- "gwcrs": 0,
- "hcpcb": 0,
- "hcpxs": 0,
- "hcprs": 0,
- "cpcb": 0,
- "cpxs": 0,
- "cprs": 0,
- "bxcb": 0,
- "bxxs": 25,
- "bxrs": 0,
- "hscb": 0,
- "hsxs": 0,
- "hsrs": 0,
- "visaCB": 0,
- "visaXS": 0,
- "visaRS": 0,
- "gwcb": 0,
- "gwxs": 0,
- "gwrs": 0,
- "djcb": 0,
- "djxs": 0,
- "djrs": 0,
- "sgrcb": 0,
- "sgrNumber": 0,
- "sgrxs": 0,
- "tbrcb": 0,
- "tbrNumber": 0,
- "tbrxs": 0,
- "jsescb": 0,
- "jsesNumber": 0,
- "jsesxs": 0,
- "suitecb": 0,
- "suiteNumber": 0,
- "suitexs": 0,
- "lyjcb": 0,
- "lyjxs": 0,
- "lyjrs": 0,
- "isShare": 0,
- "costType": "B",
- "costTypeStartTime": "",
- "costTypeendTime": "",
- "costTypenumber": 0,
- "tdccb": 0,
- "tdcxs": 0,
- "tdcrs": 0
- };
- that.AGroupCostParameter.diId = that.diid;
- that.BGroupCostParameter.diId = that.diid;
- that.costTypevalue = 'A';
- }
- let hotelNumber = resp.data.data.hotelNumber;
- if (hotelNumber.length > 0) {
- for (var i = 0; i < hotelNumber.length; i++) {
- //替换costTypeHotelNumbers ;
- Array.forEach(that.costTypeHotelNumbers, (item, index) => {
- if (hotelNumber[i]['type'] == item.type) {
- that.$set(that.costTypeHotelNumbers, index, hotelNumber[i]);
- }
- })
- }
- } else {
- that.costTypeHotelNumbers = [{
- "sgr": 0,
- "tbr": 0,
- "jses": 0,
- "suite": 0,
- "type": "Default",
- "diid": 0,
- id: 0,
- },
- {
- "sgr": 0,
- "tbr": 0,
- "jses": 0,
- "suite": 0,
- "type": "A",
- "diid": 0,
- id: 0,
- },
- {
- "sgr": 0,
- "tbr": 0,
- "jses": 0,
- "suite": 0,
- "type": "B",
- "diid": 0,
- id: 0,
- }]
- }
- if (resp.data.data.visaCountryInfoArr.length > 0) {
- that.visaCountryInfoArr = resp.data.data.visaCountryInfoArr;
- } else {
- that.visaCountryInfoArr = [];
- }
- that.ShowBaoPi = [];
- const rightBaoPiShow = [
- { apiType: "SumAirJJC", containValue: "经济舱" },
- { apiType: "SumAirGWC", containValue: "公务舱" },
- { apiType: "SumAirTDC", containValue: "头等舱" }];
- if (resp.data.data.baoPi.length > 0) {
- const baoPi = resp.data.data.baoPi;
- //left 报批
- for (var i = 0; i < baoPi.length; i++) {
- for (var j = 0; j < that.equalWhere.length; j++) {
- let item = that.equalWhere[j];
- for (var p in item) {
- if (baoPi[i].type == p) {
- //////console.log("key:" + p + "已经匹配 value:" + item[p]);
- for (var m = 0; m < that.sheetDatal.length; m++) {
- if (that.sheetDatal[m].EnLabel == item[p]) {
- //////console.log(" 1 key:" + that.sheetDatal[m].EnLabel + "已经匹配 1 value:" + baoPi[i].price);
- that.sheetDatal[m].childList[0].tips = baoPi[i].price;
- }
- }
- }
- }
- }
- }
- for (var i = 0; i < rightBaoPiShow.length; i++) {
- var val = baoPi.filter(x => {
- return x.type == rightBaoPiShow[i].apiType
- })
- if (val.length > 0) {
- for (var j = 0; j < that.cabinDatal.length; j++) {
- if (that.cabinDatal[j].label.indexOf(rightBaoPiShow[i].containValue) != -1) {
- that.cabinDatal[j].childList[3].tips = val[0].price;
- }
- }
- }
- }
- const centerBaoPiShow = [
- "Meals", "Hotel", "GongZa"
- ]
- for (var i = 0; i < centerBaoPiShow.length; i++) {
- var val = baoPi.filter(x => {
- return x.type == centerBaoPiShow[i]
- })
- if (val.length > 0) {
- that.ShowBaoPi.push(val[0]);
- }
- }
- } else {
- for (var m = 0; m < that.sheetDatal.length; m++) {
- if (that.sheetDatal[m].childList[0].tips) {
- that.sheetDatal[m].childList[0].tips = "暂无!";
- }
- }
- for (var j = 0; j < rightBaoPiShow.length; j++) {
- for (var i = 0; i < that.cabinDatal.length; i++) {
- if (that.cabinDatal[i].label.indexOf(rightBaoPiShow[j].containValue) != -1) {
- that.cabinDatal[i].childList[3].tips = '暂无!';
- }
- }
- }
- }
- that.hotelIsTrue = resp.data.data.hotelIsTrue;
- that.blackCodeIsTrue = resp.data.data.blackCodeIsTrue;
- that.GivePeopleNumber();
- }
- that.inSelectChangeCheck();
- that.costloading = false;
- }).catch(err => {
- that.costloading = false;
- this.$message({
- message: '网络异常!',
- type: 'error'
- });
- })
- },
- groupChange() {
- this.clearFormVerify();
- this.loadData(this.diid);
- },
- save() {
- return new Promise(async (resolve, reject) => {
- if (this.costTypevalue == 'A') {
- var sgrfilter = this.costTypeHotelNumbers.filter(x => {
- return x.type == 'Default'
- })[0];
- var pNumber = 0;
- //遍历 sgrfilter对象
- for (var key in sgrfilter) {
- var parNumber = Number(sgrfilter[key]);
- if (isNaN(parNumber)) {
- parNumber = 0;
- } else {
- if (key == 'tbr') {
- pNumber += parNumber * 2;
- }
- if (key == 'sgr') {
- pNumber += parNumber;
- }
- if (key == 'jses') {
- pNumber += parNumber;
- }
- if (key == 'suite') {
- pNumber += parNumber;
- }
- }
- }
- //console.log(pNumber, 'pNumber-------------');
- if (this.grouptitleinfo.visitPNumber != pNumber) {
- this.$message.error('团组人数与房间人数不一致!')
- return resolve(false);
- }
- }
- var that = this;
- var Data = { diid: this.diid, userid: this.userId };
- var isTrue = await this.formVerify();
- if (isTrue) {
- Data.checkBoxs = this.CheckBoxListSelect.map(x => {
- return {
- diid: x.diid,
- cbType: x.cbType,
- cbValues: x.cbValues.join(',')
- };
- });
- Data.groupCosts = this.tableData;
- Data.costTypeHotelNumbers = this.costTypeHotelNumbers.map(x => {
- return {
- id: x.id,
- sgr: x.sgr,
- tbr: x.tbr,
- jses: x.jses,
- suite: x.suite,
- type: x.type,
- diid: that.diid
- };
- });
- this.AGroupCostParameter.currency = this.AGroupCostParameter.currency.toString();
- this.AGroupCostParameter.diId = this.diid;
- this.BGroupCostParameter.diId = this.diid;
- var Aparam = Object.assign({}, this.AGroupCostParameter);
- var Bparam = Object.assign({}, this.BGroupCostParameter);
- if (that.AGroupCostParameter.costTypeStartTime) {
- Aparam.costTypeStartTime = this.addOneDay(that.AGroupCostParameter.costTypeStartTime, 0);
- }
- if (that.AGroupCostParameter.costTypeendTime) {
- Aparam.costTypeendTime = this.addOneDay(that.AGroupCostParameter.costTypeendTime, 0);
- }
- if (that.BGroupCostParameter.costTypeStartTime) {
- Bparam.costTypeStartTime = this.addOneDay(that.BGroupCostParameter.costTypeStartTime, 0);
- }
- if (that.BGroupCostParameter.costTypeendTime) {
- Bparam.costTypeendTime = this.addOneDay(that.BGroupCostParameter.costTypeendTime, 0);
- }
- if (this.costTypevalue == "A") {
- Data.groupCostParameters = [Aparam];
- } else {
- Data.groupCostParameters = [Aparam, Bparam];
- }
- var ResultCostArr = this.Dataformat();
- Data.groupCosts = ResultCostArr;
- //////console.log(Data, "save-------Data");
- var that = this;
- this.$axios.post('/api/Groups/SaveGroupCost', Data, {
- headers: {
- 'Authorization': that.token,
- }
- }).then(resp => {
- //////console.log(resp.data.data, '------------------------------------');
- if (resp.data.code == 200) {
- this.$message({
- message: '保存成功!',
- type: 'success'
- });
- resolve(true);
- } else {
- this.$message.error('保存失败!' + resp.data.msg);
- resolve(false);
- }
- var result = Number(that.AGroupCostParameter.currency);
- if (isNaN(result)) {
- } else {
- that.AGroupCostParameter.currency = result;
- }
- })
- } else {
- this.$message.error('请输入完整!');
- }
- })
- },
- TopChange() {
- },
- calculateZCB(EnLabelParam) {
- if (EnLabelParam == undefined) {
- return 0.00;
- }
- var sum = 0.00;
- if (this.AGroupCostParameter[EnLabelParam + 'CB'] != undefined) {
- sum = (parseFloat(this.AGroupCostParameter[EnLabelParam + 'CB']) * parseInt(this.AGroupCostParameter[EnLabelParam + 'RS']));
- } else if (this.AGroupCostParameter[EnLabelParam + 'cb'] != undefined) {
- sum = (parseFloat(this.AGroupCostParameter[EnLabelParam + 'cb']) * parseInt(this.AGroupCostParameter[EnLabelParam + 'rs'] != undefined ? this.AGroupCostParameter[EnLabelParam + 'rs'] : this.AGroupCostParameter[EnLabelParam + 'Number']));
- }
- if (isNaN(sum)) {
- sum = 0.00;
- }
- return sum.toFixed(2);
- },
- calculateDRBJ(EnLabelParam) {
- if (EnLabelParam == undefined) {
- return 0.00;
- }
- var sum = 0.00;
- if (this.AGroupCostParameter[EnLabelParam + 'CB'] != undefined) {
- sum = (parseFloat(this.AGroupCostParameter[EnLabelParam + 'CB']) * parseFloat(this.AGroupCostParameter[EnLabelParam + 'XS']));
- } else if (this.AGroupCostParameter[EnLabelParam + 'cb'] != undefined) {
- sum = (parseFloat(this.AGroupCostParameter[EnLabelParam + 'cb']) * parseFloat(this.AGroupCostParameter[EnLabelParam + 'xs']));
- }
- if (isNaN(sum)) {
- sum = 0.00;
- }
- return sum.toFixed(2);
- },
- calculateZBJ(EnLabelParam) {
- if (EnLabelParam == undefined) {
- return 0.00;
- }
- var sum = 0.00;
- var drbj = this.calculateDRBJ(EnLabelParam);
- if (this.AGroupCostParameter[EnLabelParam + 'RS'] != undefined) {
- sum = drbj * parseInt(this.AGroupCostParameter[EnLabelParam + 'RS']);
- } else if (this.AGroupCostParameter[EnLabelParam + 'rs'] != undefined) {
- sum = drbj * parseInt(this.AGroupCostParameter[EnLabelParam + 'rs']);
- } else if (this.AGroupCostParameter[EnLabelParam + 'Number'] != undefined) {
- sum = drbj * parseInt(this.AGroupCostParameter[EnLabelParam + 'Number']);
- }
- if (isNaN(sum)) {
- sum = 0.00;
- }
- return sum.toFixed(2);
- },
- calculateDRLR(EnLabelParam) {
- if (EnLabelParam == undefined) {
- return 0.00;
- }
- var sum = 0.00;
- var drbj = this.calculateDRBJ(EnLabelParam);
- if (this.AGroupCostParameter[EnLabelParam + 'CB'] != undefined) {
- sum = (drbj - parseFloat(this.AGroupCostParameter[EnLabelParam + 'CB']));
- } else if (this.AGroupCostParameter[EnLabelParam + 'cb'] != undefined) {
- sum = (drbj - parseFloat(this.AGroupCostParameter[EnLabelParam + 'cb']));
- }
- if (isNaN(sum)) {
- sum = 0.00;
- }
- return sum.toFixed(2);
- },
- calculateZLR(EnLabelParam) {
- if (EnLabelParam == undefined) {
- return 0.00;
- }
- var sum = 0.00;
- var drlr = this.calculateDRLR(EnLabelParam);
- if (this.AGroupCostParameter[EnLabelParam + 'RS'] != undefined) {
- sum = drlr * parseInt(this.AGroupCostParameter[EnLabelParam + 'RS']);
- } else if (this.AGroupCostParameter[EnLabelParam + 'rs'] != undefined) {
- sum = drlr * parseInt(this.AGroupCostParameter[EnLabelParam + 'rs']);
- } else if (this.AGroupCostParameter[EnLabelParam + 'Number'] != undefined) {
- sum = drlr * parseInt(this.AGroupCostParameter[EnLabelParam + 'Number']);
- }
- if (isNaN(sum)) {
- sum = 0.00;
- }
- return sum.toFixed(2);
- },
- BcalculateZCB(EnLabelParam) {
- if (EnLabelParam == undefined) {
- return 0.00;
- }
- var sum = 0.00;
- if (this.BGroupCostParameter[EnLabelParam + 'CB'] != undefined) {
- sum = (parseFloat(this.BGroupCostParameter[EnLabelParam + 'CB']) * parseInt(this.BGroupCostParameter[EnLabelParam + 'RS']));
- } else if (this.BGroupCostParameter[EnLabelParam + 'cb'] != undefined) {
- sum = (parseFloat(this.BGroupCostParameter[EnLabelParam + 'cb']) * parseInt(this.BGroupCostParameter[EnLabelParam + 'rs'] != undefined ? this.BGroupCostParameter[EnLabelParam + 'rs'] : this.BGroupCostParameter[EnLabelParam + 'Number']));
- }
- if (isNaN(sum)) {
- sum = 0.00;
- }
- return sum.toFixed(2);;
- },
- BcalculateDRBJ(EnLabelParam) {
- if (EnLabelParam == undefined) {
- return 0.00;
- }
- var sum = 0.00;
- if (this.BGroupCostParameter[EnLabelParam + 'CB'] != undefined) {
- sum = (parseFloat(this.BGroupCostParameter[EnLabelParam + 'CB']) * parseFloat(this.BGroupCostParameter[EnLabelParam + 'XS']));
- } else if (this.BGroupCostParameter[EnLabelParam + 'cb'] != undefined) {
- sum = (parseFloat(this.BGroupCostParameter[EnLabelParam + 'cb']) * parseFloat(this.BGroupCostParameter[EnLabelParam + 'xs']));
- }
- if (isNaN(sum)) {
- sum = 0.00;
- }
- return sum.toFixed(2);;
- },
- BcalculateZBJ(EnLabelParam) {
- if (EnLabelParam == undefined) {
- return 0.00;
- }
- var sum = 0.00;
- var drbj = this.BcalculateDRBJ(EnLabelParam);
- if (this.BGroupCostParameter[EnLabelParam + 'RS'] != undefined) {
- sum = drbj * parseInt(this.BGroupCostParameter[EnLabelParam + 'RS']);
- } else if (this.BGroupCostParameter[EnLabelParam + 'rs'] != undefined) {
- sum = drbj * parseInt(this.BGroupCostParameter[EnLabelParam + 'rs']);
- } else if (this.BGroupCostParameter[EnLabelParam + 'Number'] != undefined) {
- sum = drbj * parseInt(this.BGroupCostParameter[EnLabelParam + 'Number']);
- }
- if (isNaN(sum)) {
- sum = 0.00;
- }
- return sum.toFixed(2);
- },
- BcalculateDRLR(EnLabelParam) {
- if (EnLabelParam == undefined) {
- return 0.00;
- }
- var sum = 0.00;
- var drbj = this.BcalculateDRBJ(EnLabelParam);
- if (this.BGroupCostParameter[EnLabelParam + 'CB'] != undefined) {
- sum = drbj - parseFloat(this.BGroupCostParameter[EnLabelParam + 'CB']);
- } else if (this.BGroupCostParameter[EnLabelParam + 'cb'] != undefined) {
- sum = drbj - parseFloat(this.BGroupCostParameter[EnLabelParam + 'cb']);
- }
- if (isNaN(sum)) {
- sum = 0.00;
- }
- return sum.toFixed(2);;
- },
- BcalculateZLR(EnLabelParam) {
- if (EnLabelParam == undefined) {
- return 0.00;
- }
- var sum = 0.00;
- var drlr = this.BcalculateDRLR(EnLabelParam);
- if (this.BGroupCostParameter[EnLabelParam + 'RS'] != undefined) {
- sum = drlr * parseInt(this.BGroupCostParameter[EnLabelParam + 'RS']);
- } else if (this.BGroupCostParameter[EnLabelParam + 'rs'] != undefined) {
- sum = drlr * parseInt(this.BGroupCostParameter[EnLabelParam + 'rs']);
- } else if (this.BGroupCostParameter[EnLabelParam + 'Number'] != undefined) {
- sum = drlr * parseInt(this.BGroupCostParameter[EnLabelParam + 'Number']);
- }
- if (isNaN(sum)) {
- sum = 0.00;
- }
- return sum.toFixed(2);;
- },
- handleCurrentChange(val) {
- this.currentPage = val;
- },
- SelChange(row, oldrow) {
- //////console.log(row, oldrow);
- this.dialogSelectObject = row;
- },
- handleSizeChange(val) {
- this.currentPage = 1;
- this.pageSize = val;
- },
- CalculatedPrice() {
- let rate = Number(this.AGroupCostParameter.rate);
- let Djsum = 0;
- let BDjsum = 0;
- var that = this;
- this.DJLables.forEach(function (item) {
- that.sumTopPrice.forEach(function (item1) {
- if (item == item1.label) {
- var Aprice = Number(item1.Aprice);
- if (!isNaN(Aprice)) {
- Djsum += Aprice;
- }
- var Bprice = Number(item1.Bprice);
- if (!isNaN(Bprice)) {
- BDjsum += Bprice;
- }
- }
- })
- })
- Djsum = Number((Djsum * rate).toFixed(2));
- BDjsum = Number((BDjsum * rate).toFixed(2));
- let GWsum = 0;
- let BGWsum = 0;
- this.GwLables.forEach(function (item) {
- that.sumTopPrice.forEach(function (item1) {
- if (item == item1.label) {
- var Aprice = Number(item1.Aprice);
- if (!isNaN(Aprice)) {
- GWsum += Aprice;
- }
- var Bprice = Number(item1.Bprice);
- if (!isNaN(Bprice)) {
- BGWsum += Bprice;
- }
- }
- })
- })
- GWsum = Number((GWsum * rate).toFixed(2));
- BGWsum = Number((BGWsum * rate).toFixed(2));
- let LYJsum = 0;
- let BLYJsum = 0;
- var lyjList = that.sumTopPrice.filter((x) => {
- return x.label == 'P/C';
- })
- if (lyjList.length > 0) {
- LYJsum = lyjList[0].Aprice;
- BLYJsum = lyjList[0].Bprice;
- }
- LYJsum = isNaN(LYJsum) ? 0 : LYJsum;
- BLYJsum = isNaN(BLYJsum) ? 0 : BLYJsum;
- LYJsum = Number((LYJsum * rate).toFixed(2));
- BLYJsum = Number((BLYJsum * rate).toFixed(2));
- let SGRsum = 0;
- let BSGRsum = 0;
- var SGRList = that.sumTopPrice.filter((x) => {
- return x.label == 'SGR';
- })
- if (SGRList.length > 0) {
- SGRsum = SGRList[0].Aprice;
- BSGRsum = SGRList[0].Bprice;
- }
- SGRsum = isNaN(SGRsum) ? 0 : SGRsum;
- BSGRsum = isNaN(BSGRsum) ? 0 : BSGRsum;
- SGRsum = (SGRsum * rate).toFixed(2);
- BSGRsum = (BSGRsum * rate).toFixed(2);
- let TBRsum = 0;
- let BTBRsum = 0;
- var TBRList = that.sumTopPrice.filter((x) => {
- return x.label == 'TBR';
- })
- if (TBRList.length > 0) {
- TBRsum = TBRList[0].Aprice;
- BTBRsum = TBRList[0].Bprice;
- }
- TBRsum = isNaN(TBRsum) ? 0 : TBRsum;
- BTBRsum = isNaN(BTBRsum) ? 0 : BTBRsum;
- TBRsum = (TBRsum * rate).toFixed(2);
- BTBRsum = (BTBRsum * rate).toFixed(2);
- let JSESsum = 0;
- let BJSESsum = 0;
- var JSESList = that.sumTopPrice.filter((x) => {
- return x.label == 'JS/ES';
- })
- if (JSESList.length > 0) {
- JSESsum = JSESList[0].Aprice;
- BJSESsum = JSESList[0].Bprice;
- }
- JSESsum = isNaN(JSESsum) ? 0 : JSESsum;
- BJSESsum = isNaN(BJSESsum) ? 0 : BJSESsum;
- JSESsum = JSESsum * rate;
- BJSESsum = BJSESsum * rate;
- let SUITEsum = 0;
- let BSUITEsum = 0;
- var SUITEList = that.sumTopPrice.filter((x) => {
- return x.label == 'SUITE';
- })
- if (SUITEList.length > 0) {
- SUITEsum = SUITEList[0].Aprice;
- BSUITEsum = SUITEList[0].Bprice;
- }
- SUITEsum = isNaN(SUITEsum) ? 0 : SUITEsum;
- BSUITEsum = isNaN(BSUITEsum) ? 0 : BSUITEsum;
- SUITEsum = (SUITEsum * rate).toFixed(2);
- BSUITEsum = (BSUITEsum * rate).toFixed(2);
- // //////console.log(Djsum, GWsum, LYJsum, 'Djsum,GWsum,LYJsum');
- // //////console.log(SGRsum, TBRsum, JSESsum, SUITEsum, 'SGRsum,TBRsum,JSESsum,SUITEsum');
- var sgrfilter = this.costTypeHotelNumbers.filter(x => {
- return x.type == 'Default'
- })
- let Bsgrfilter = {};
- if (this.costTypevalue == 'B') {
- sgrfilter = this.costTypeHotelNumbers.filter(x => {
- return x.type == 'A'
- })
- Bsgrfilter = this.costTypeHotelNumbers.filter(x => {
- return x.type == 'B'
- })
- Bsgrfilter = Bsgrfilter[0];
- }
- sgrfilter = sgrfilter[0];
- let hotelRooms = {
- "SGR": sgrfilter.sgr,
- "TBR": sgrfilter.tbr,
- "JSES": sgrfilter.jses,
- "SUITE": sgrfilter.suite
- };
- let flights = {
- "经济舱": this.AGroupCostParameter.jjcrs,
- "公务舱": this.AGroupCostParameter.gwcrs,
- "头等舱": this.AGroupCostParameter.tdcrs,
- };
- let result = {};
- for (let flight of ["经济舱", "头等舱", "公务舱"]) {
- if (flight === "经济舱") {
- this.matchRooms(hotelRooms, flights, ["TBR", "SGR", "JSES", "SUITE"], flight, result);
- } else if (flight === "公务舱") {
- this.matchRooms(hotelRooms, flights, ["SUITE", "JSES", "SGR",], flight, result);
- } else if (flight === "头等舱") {
- this.matchRooms(hotelRooms, flights, ["SUITE", "JSES",], flight, result);
- }
- }
- var rightCheckArr = [];
- const airByHotelType = [
- { name: "经济舱TBR", index: 0, lable: "经济舱 TBR" },
- { name: "经济舱SGR", index: 1, lable: "经济舱 SGR" },
- { name: "公务舱SGR", index: 2, lable: "公务舱 SGR" },
- { name: "公务舱JSES", index: 3, lable: "公务舱 JS/ES" },
- { name: "公务舱SUITE", index: 4, lable: "公务舱 SUITE" },
- { name: "经济舱SUITE", index: 5, lable: "经济舱 SUITE" },
- { name: "头等舱JSES", index: 6, lable: "头等舱 JS/ES" },
- { name: "头等舱SUITE", index: 7, lable: "头等舱 SUITE" },
- { name: "经济舱JSES", index: 8, lable: "经济舱 JS/ES" }
- ];
- if (this.costTypevalue == 'B') {
- let BhotelRooms = {
- "SGR": Bsgrfilter.sgr,
- "TBR": Bsgrfilter.tbr,
- "JSES": Bsgrfilter.jses,
- "SUITE": Bsgrfilter.suite
- };
- let Bflights = {
- "经济舱": this.BGroupCostParameter.jjcrs,
- "公务舱": this.BGroupCostParameter.gwcrs,
- "头等舱": this.BGroupCostParameter.tdcrs,
- };
- let Bresult = {};
- for (let flight of ["经济舱", "头等舱", "公务舱"]) {
- if (flight === "经济舱") {
- this.matchRooms(BhotelRooms, Bflights, ["SGR", "TBR", "JSES", "SUITE"], flight, Bresult);
- } else if (flight === "公务舱") {
- this.matchRooms(BhotelRooms, Bflights, ["SUITE", "JSES", "SGR",], flight, Bresult);
- } else if (flight === "头等舱") {
- this.matchRooms(BhotelRooms, Bflights, ["SUITE", "JSES",], flight, Bresult);
- }
- }
- for (var i = 0; i < airByHotelType.length; i++) {
- if (Bresult.hasOwnProperty(airByHotelType[i].name)) {
- let count = Bresult[airByHotelType[i].name];
- if (airByHotelType[i].name.indexOf("TBR") != -1) {
- count = count * 2;
- }
- if (count > 0) {
- rightCheckArr.push(airByHotelType[i].lable);
- that.BcabinDatal[airByHotelType[i].index].sheetInfo[0].toll = count;
- }
- else {
- that.BcabinDatal[airByHotelType[i].index].sheetInfo[0].toll = 0;
- }
- } else {
- that.BcabinDatal[airByHotelType[i].index].sheetInfo[0].toll = 0;
- }
- }
- this.BGroupCostParameter.djcb = BDjsum;
- this.BGroupCostParameter.gwcb = BGWsum;
- this.BGroupCostParameter.lyjcb = BLYJsum;
- this.BGroupCostParameter.sgrcb = BSGRsum;
- this.BGroupCostParameter.tbrcb = BTBRsum;
- this.BGroupCostParameter.jsescb = BJSESsum;
- this.BGroupCostParameter.suitecb = BSUITEsum;
- var BleftSum = this.BOtherCost();
- let BJJCSGR = (BleftSum + Number(this.BGroupCostParameter.sgrcb) + Number(this.BGroupCostParameter.jjccb));
- let BJJCTBR = BleftSum + (Number(this.BGroupCostParameter.tbrcb) / 2) + Number(this.BGroupCostParameter.jjccb);
- let BJJCSUITE = BleftSum + Number(this.BGroupCostParameter.suitecb) + Number(this.BGroupCostParameter.jjccb);
- let BGWCSUITE = (BleftSum + Number(this.BGroupCostParameter.suitecb) + Number(this.BGroupCostParameter.gwccb)).toFixed(2);
- let BGWCSGR = BleftSum + Number(this.BGroupCostParameter.sgrcb) + Number(this.BGroupCostParameter.gwccb);
- let BGWCJSES = BleftSum + Number(this.BGroupCostParameter.jsescb) + Number(this.BGroupCostParameter.gwccb);
- //头等舱金额计算
- let BTDCJSES = (BleftSum + Number(this.BGroupCostParameter.jsescb) + Number(this.BGroupCostParameter.tdccb)).toFixed(2);
- let BTDCSUITES = (BleftSum + Number(this.BGroupCostParameter.suitecb) + Number(this.BGroupCostParameter.tdccb)).toFixed(2);
- let BJJCJSES = (BleftSum + Number(this.BGroupCostParameter.jsescb) + Number(this.BGroupCostParameter.jjccb)).toFixed(2);
- BJJCSGR = BJJCSGR.toFixed(2);
- var BrightSum = 0;
- this.OtherCostPropertyBJ.forEach((x) => {
- BrightSum += Number(that.BcalculateDRBJ(x));
- })
- let BJJCSGRDRBJ = (BrightSum + Number(that.BcalculateDRBJ('jjc')) + Number(that.BcalculateDRBJ('sgr'))).toFixed(2);
- let BJJCTBRDRBJ = BrightSum + (Number(that.BcalculateDRBJ('tbr')) / 2) + Number(that.BcalculateDRBJ('jjc'));
- let BJJCSUITEDRBJ = BrightSum + Number(that.BcalculateDRBJ('suite')) + Number(that.BcalculateDRBJ('jjc'));
- let BGWCSUITEDRBJ = BrightSum + Number(that.BcalculateDRBJ('suite')) + Number(that.BcalculateDRBJ('gwc'));
- let BGWCSGRDRBJ = BrightSum + Number(that.BcalculateDRBJ('sgr')) + Number(that.BcalculateDRBJ('gwc'));
- let BGWCJSESDRBJ = BrightSum + Number(that.BcalculateDRBJ('jses')) + Number(that.BcalculateDRBJ('gwc'));
- //头等舱单人报价
- let BTDCJSESDRBJ = (BrightSum + Number(that.BcalculateDRBJ('jses')) + Number(that.BcalculateDRBJ('tdc'))).toFixed(2);
- let BTDCSUITEDRBJ = (BrightSum + Number(that.BcalculateDRBJ('suite')) + Number(that.BcalculateDRBJ('tdc'))).toFixed(2);
- let BJJCJSESDRBJ = (BrightSum + Number(that.BcalculateDRBJ('jses')) + Number(that.BcalculateDRBJ('jjc'))).toFixed(2);
- this.BcabinDatal[0].sheetInfo[0].costPerson = BJJCTBR;
- this.BcabinDatal[0].sheetInfo[0].singleQuote = BJJCTBRDRBJ;
- this.BcabinDatal[1].sheetInfo[0].costPerson = BJJCSGR;
- this.BcabinDatal[1].sheetInfo[0].singleQuote = BJJCSGRDRBJ;
- this.BcabinDatal[2].sheetInfo[0].costPerson = BGWCSGR;
- this.BcabinDatal[2].sheetInfo[0].singleQuote = BGWCSGRDRBJ;
- this.BcabinDatal[3].sheetInfo[0].costPerson = BGWCJSES;
- this.BcabinDatal[3].sheetInfo[0].singleQuote = BGWCJSESDRBJ;
- this.BcabinDatal[4].sheetInfo[0].costPerson = BGWCSUITE;
- this.BcabinDatal[4].sheetInfo[0].singleQuote = BGWCSUITEDRBJ;
- this.BcabinDatal[5].sheetInfo[0].costPerson = BJJCSUITE;
- this.BcabinDatal[5].sheetInfo[0].singleQuote = BJJCSUITEDRBJ;
- this.BcabinDatal[6].sheetInfo[0].costPerson = BTDCJSES;
- this.BcabinDatal[6].sheetInfo[0].singleQuote = BTDCJSESDRBJ;
- this.BcabinDatal[7].sheetInfo[0].costPerson = BTDCSUITES;
- this.BcabinDatal[7].sheetInfo[0].singleQuote = BTDCSUITEDRBJ;
- this.BcabinDatal[8].sheetInfo[0].costPerson = BJJCJSES;
- this.BcabinDatal[8].sheetInfo[0].singleQuote = BJJCJSESDRBJ;
- }
- for (var i = 0; i < airByHotelType.length; i++) {
- if (result.hasOwnProperty(airByHotelType[i].name)) {
- let count = result[airByHotelType[i].name];
- if (airByHotelType[i].name.indexOf("TBR") != -1) {
- count = count * 2;
- }
- if (count > 0) {
- rightCheckArr.push(airByHotelType[i].lable);
- that.cabinDatal[airByHotelType[i].index].sheetInfo[0].toll = count;
- }
- else {
- that.cabinDatal[airByHotelType[i].index].sheetInfo[0].toll = 0;
- }
- } else {
- that.cabinDatal[airByHotelType[i].index].sheetInfo[0].toll = 0;
- }
- }
- // var txtJJCSGRRS = (result.hasOwnProperty("经济舱SGR") ? result["经济舱SGR"] : 0)
- // var lblGWCSGRRS = (result.hasOwnProperty("公务舱SGR") ? result["公务舱SGR"] : 0)
- // var txtJJCTBRRS = (result.hasOwnProperty("经济舱TBR") ? result["经济舱TBR"] * 2 : 0)
- // var txtGWCJSESRS = (result.hasOwnProperty("公务舱JSES") ? result["公务舱JSES"] : 0)
- // var JJCSUITERS = (result.hasOwnProperty("经济舱SUITE") ? result["经济舱SUITE"] : 0)
- // var txtGWCSUITERS = (result.hasOwnProperty("公务舱SUITE") ? result["公务舱SUITE"] : 0)
- // //头等舱人数判断
- // var txtTDCJSESRS = (result.hasOwnProperty("头等舱JSES") ? result["头等舱JSES"] : 0)
- // var txtTDCSUITERS = (result.hasOwnProperty("头等舱SUITE") ? result["头等舱SUITE"] : 0)
- // var txtJJCJSESRS = (result.hasOwnProperty("经济舱JSES") ? result["经济舱JSES"] : 0)
- // //console.log(txtJJCSGRRS, lblGWCSGRRS, txtJJCTBRRS, txtGWCJSESRS, JJCSUITERS, txtGWCSUITERS, 'test');
- // if (txtJJCSGRRS > 0) {
- // rightCheckArr.push('经济舱 SGR');
- // }
- // if (lblGWCSGRRS > 0) {
- // rightCheckArr.push('公务舱 SGR');
- // }
- // if (txtJJCTBRRS > 0) {
- // rightCheckArr.push('经济舱 TBR');
- // }
- // if (txtGWCJSESRS > 0) {
- // rightCheckArr.push('公务舱 JS/ES');
- // }
- // if (JJCSUITERS > 0) {
- // rightCheckArr.push('经济舱 SUITE');
- // }
- // if (txtGWCSUITERS > 0) {
- // rightCheckArr.push('公务舱 SUITE');
- // }
- // //头等舱人数判断
- // if (txtTDCJSESRS > 0) {
- // rightCheckArr.push('头等舱 JS/ES');
- // }
- // if (txtTDCSUITERS > 0) {
- // rightCheckArr.push('头等舱 SUITE');
- // }
- // if (txtJJCJSESRS > 0) {
- // rightCheckArr.push('经济舱 JS/ES');
- // }
- rightCheckArr.push('团组预算明细');
- rightCheckArr = [...new Set(rightCheckArr)];
- try {
- //console.log('rightCheckArr', rightCheckArr);
- this.CheckBoxListSelect.filter(item => item.cbType == 'Right')[0].cbValues = rightCheckArr;
- } catch (e) { }
- // this.cabinDatal[0].sheetInfo[0].toll = txtJJCTBRRS;
- // this.cabinDatal[1].sheetInfo[0].toll = txtJJCSGRRS;
- // this.cabinDatal[2].sheetInfo[0].toll = lblGWCSGRRS;
- // this.cabinDatal[3].sheetInfo[0].toll = txtGWCJSESRS;
- // this.cabinDatal[4].sheetInfo[0].toll = txtGWCSUITERS;
- // this.cabinDatal[5].sheetInfo[0].toll = JJCSUITERS;
- // //头等舱人数
- // this.cabinDatal[6].sheetInfo[0].toll = txtTDCJSESRS;
- // this.cabinDatal[7].sheetInfo[0].toll = txtTDCSUITERS;
- // this.cabinDatal[8].sheetInfo[0].toll = txtJJCJSESRS;
- this.AGroupCostParameter.djcb = Djsum;
- this.AGroupCostParameter.gwcb = GWsum;
- this.AGroupCostParameter.lyjcb = LYJsum;
- this.AGroupCostParameter.sgrcb = SGRsum;
- this.AGroupCostParameter.tbrcb = TBRsum;
- this.AGroupCostParameter.jsescb = JSESsum;
- this.AGroupCostParameter.suitecb = SUITEsum;
- var leftSum = this.OtherCost();
- let JJCSGR = (leftSum + Number(this.AGroupCostParameter.sgrcb) + Number(this.AGroupCostParameter.jjccb)).toFixed(2);
- let JJCTBR = (leftSum + (Number(this.AGroupCostParameter.tbrcb) / 2) + Number(this.AGroupCostParameter.jjccb)).toFixed(2);
- let JJCSUITE = (leftSum + Number(this.AGroupCostParameter.suitecb) + Number(this.AGroupCostParameter.jjccb)).toFixed(2);
- let GWCSUITE = (leftSum + Number(this.AGroupCostParameter.suitecb) + Number(this.AGroupCostParameter.gwccb)).toFixed(2);
- let GWCSGR = (leftSum + Number(this.AGroupCostParameter.sgrcb) + Number(this.AGroupCostParameter.gwccb)).toFixed(2);
- let GWCJSES = (leftSum + Number(this.AGroupCostParameter.jsescb) + Number(this.AGroupCostParameter.gwccb)).toFixed(2);
- //头等舱金额计算
- let TDCJSES = (leftSum + Number(this.AGroupCostParameter.jsescb) + Number(this.AGroupCostParameter.tdccb)).toFixed(2);
- let TDCSUITES = (leftSum + Number(this.AGroupCostParameter.suitecb) + Number(this.AGroupCostParameter.tdccb)).toFixed(2);
- let JJCJSES = (leftSum + Number(this.AGroupCostParameter.jsescb) + Number(this.AGroupCostParameter.jjccb)).toFixed(2);
- ////////console.log(JJCSGR, JJCTBR, JJCSUITE, GWCSUITE, GWCSGR, GWCJSES, '666--------------------------');
- var rightSum = 0;
- this.OtherCostPropertyBJ.forEach((x) => {
- rightSum += Number(that.calculateDRBJ(x));
- })
- let JJCSGRDRBJ = (rightSum + Number(that.calculateDRBJ('jjc')) + Number(that.calculateDRBJ('sgr'))).toFixed(2);
- let JJCTBRDRBJ = (rightSum + (Number(that.calculateDRBJ('tbr')) / 2) + Number(that.calculateDRBJ('jjc'))).toFixed(2);
- let JJCSUITEDRBJ = (rightSum + Number(that.calculateDRBJ('suite')) + Number(that.calculateDRBJ('jjc'))).toFixed(2);
- let GWCSUITEDRBJ = (rightSum + Number(that.calculateDRBJ('suite')) + Number(that.calculateDRBJ('gwc'))).toFixed(2);
- let GWCSGRDRBJ = (rightSum + Number(that.calculateDRBJ('sgr')) + Number(that.calculateDRBJ('gwc'))).toFixed(2);
- let GWCJSESDRBJ = (rightSum + Number(that.calculateDRBJ('jses')) + Number(that.calculateDRBJ('gwc'))).toFixed(2);
- //头等舱单人报价
- let TDCJSESDRBJ = (rightSum + Number(that.calculateDRBJ('jses')) + Number(that.calculateDRBJ('tdc'))).toFixed(2);
- let TDCSUITEDRBJ = (rightSum + Number(that.calculateDRBJ('suite')) + Number(that.calculateDRBJ('tdc'))).toFixed(2);
- let JJCJSESDRBJ = (rightSum + Number(that.calculateDRBJ('jses')) + Number(that.calculateDRBJ('jjc'))).toFixed(2);
- this.cabinDatal[0].sheetInfo[0].costPerson = JJCTBR;
- this.cabinDatal[0].sheetInfo[0].singleQuote = JJCTBRDRBJ;
- this.cabinDatal[1].sheetInfo[0].costPerson = JJCSGR;
- this.cabinDatal[1].sheetInfo[0].singleQuote = JJCSGRDRBJ;
- this.cabinDatal[2].sheetInfo[0].costPerson = GWCSGR;
- this.cabinDatal[2].sheetInfo[0].singleQuote = GWCSGRDRBJ;
- this.cabinDatal[3].sheetInfo[0].costPerson = GWCJSES;
- this.cabinDatal[3].sheetInfo[0].singleQuote = GWCJSESDRBJ;
- this.cabinDatal[4].sheetInfo[0].costPerson = GWCSUITE;
- this.cabinDatal[4].sheetInfo[0].singleQuote = GWCSUITEDRBJ;
- this.cabinDatal[5].sheetInfo[0].costPerson = JJCSUITE;
- this.cabinDatal[5].sheetInfo[0].singleQuote = JJCSUITEDRBJ;
- //头等舱费用信息
- this.cabinDatal[6].sheetInfo[0].costPerson = TDCJSES;
- this.cabinDatal[6].sheetInfo[0].singleQuote = TDCJSESDRBJ;
- this.cabinDatal[7].sheetInfo[0].costPerson = TDCSUITES;
- this.cabinDatal[7].sheetInfo[0].singleQuote = TDCSUITEDRBJ;
- this.cabinDatal[8].sheetInfo[0].costPerson = JJCJSES;
- this.cabinDatal[8].sheetInfo[0].singleQuote = JJCJSESDRBJ;
- let groupCosts = 0;
- let gtroupQuotes = 0;
- for (var i = 0; i < this.cabinDatal.length; i++) {
- var forNumber = Number(this.cabinDatal[i].sheetInfo[0]['toll']);
- if (!isNaN(forNumber) && forNumber > 0) {
- groupCosts += (Number(this.cabinDatal[i].sheetInfo[0]['costPerson']) * forNumber);
- gtroupQuotes += (Number(this.cabinDatal[i].sheetInfo[0]['singleQuote']) * forNumber);
- }
- }
- if (this.costTypevalue == 'B') {
- for (var i = 0; i < this.BcabinDatal.length; i++) {
- var forNumber = Number(this.BcabinDatal[i].sheetInfo[0]['toll']);
- if (!isNaN(forNumber) && forNumber > 0) {
- groupCosts += (Number(this.BcabinDatal[i].sheetInfo[0]['costPerson']) * forNumber);
- gtroupQuotes += (Number(this.BcabinDatal[i].sheetInfo[0]['singleQuote']) * forNumber);
- }
- }
- }
- let groupProfit = gtroupQuotes - groupCosts;
- var cabinDatalLast = this.cabinDatal.filter(function (x) {
- return x.label == '团组预算明细'
- })
- groupCosts = groupCosts.toFixed(2);
- gtroupQuotes = gtroupQuotes.toFixed(2);
- groupProfit = groupProfit.toFixed(2);
- cabinDatalLast[0].sheetInfo[0]['groupCosts'] = groupCosts;
- cabinDatalLast[0].sheetInfo[0]['gtroupQuotes'] = gtroupQuotes;
- cabinDatalLast[0].sheetInfo[0]['groupProfit'] = groupProfit;
- //costTypeHotelNumbers{
- // "sgr": 0,
- // "tbr": 0,
- // "jses": 0,
- // "suite": 0,
- // "type": "Default",
- // "diid": 0,
- // id: 0,
- // }
- ////////console.log(groupCosts, gtroupQuotes, groupProfit, 'groupCosts, gtroupQuotes, groupProfit');
- },
- OtherCost() {
- // txtVisaCost.Text +txtHCPCB.Text + txtCPCB.Text
- // txtBXCB.Text +txtHSCB.Text) +lblDJDRCB.Text + lblGWDRCD.Text + lblLYJDRCB.Text
- var that = this;
- let sum = 0;
- this.OtherCostProperty.forEach((x) => {
- var param = that.AGroupCostParameter[x];
- if (param != undefined) {
- sum += Number(param);
- }
- })
- return sum;
- },
- BOtherCost() {
- // txtVisaCost.Text +txtHCPCB.Text + txtCPCB.Text
- // txtBXCB.Text +txtHSCB.Text) +lblDJDRCB.Text + lblGWDRCD.Text + lblLYJDRCB.Text
- var that = this;
- let sum = 0;
- this.OtherCostProperty.forEach((x) => {
- var param;
- if (x == 'visaCB' || x == 'bxcb') {
- param = that.AGroupCostParameter[x];
- } else {
- param = that.BGroupCostParameter[x];
- }
- if (param != undefined) {
- sum += Number(param);
- }
- })
- return sum;
- },
- matchRooms(hotelRooms, flights, roomTypes, flightType, result) {
- for (let roomType of roomTypes) {
- while (hotelRooms[roomType] > 0 && flights[flightType] > 0) {
- hotelRooms[roomType]--;
- flights[flightType]--;
- if (roomType === "TBR") {
- flights[flightType]--; //双人间在减少1
- }
- if (result.hasOwnProperty(flightType + roomType)) {
- result[flightType + roomType]++;
- } else {
- result[flightType + roomType] = 1;
- }
- }
- }
- },
- NumberSetTime(number, index) {
- //console.log(number, index, this.grouptitleinfo.visitStartDate);
- number = parseInt(number);
- if (!isNaN(number)) {
- var time = this.addOneDay(this.grouptitleinfo.visitStartDate, number - 1)
- this.tableData[index].date = time;
- } else {
- this.tableData[index].date = '';
- this.tableData[index].day = '';
- }
- },
- addOneDay(dateString, number) {
- if (!dateString) {
- return "";
- }
- let date = new Date(dateString);
- date.setDate(date.getDate() + number);
- let year = date.getFullYear();
- let month = date.getMonth() + 1;
- let day = date.getDate();
- month = month < 10 ? '0' + month : month;
- day = day < 10 ? '0' + day : day;
- return `${year}-${month}-${day}`;
- },
- costTypeSelect(val) {
- //////console.log('costTypeSelect--------------------------------------------------------', val);
- },
- async formVerify() {
- return new Promise((resolve, reject) => {
- var forFormList = [];
- if (this.costTypevalue == 'A') {
- forFormList = ['inputs', 'DHotel'];
- } else {
- forFormList = ['inputs', 'AHotel', 'Asection', 'BHotel', 'Bsection'];
- }
- var that = this;
- for (var i = 0; i < forFormList.length; i++) {
- that.$refs[forFormList[i]].validate((valid) => {
- if (valid) {
- } else {
- resolve(valid);
- }
- });
- }
- resolve(true);
- })
- },
- clearFormVerify() {
- var forFormList = ['inputs', 'AHotel', 'Asection', 'BHotel', 'Bsection', 'DHotel'];
- this.$nextTick(() => {
- for (var i = 0; i < forFormList.length; i++) {
- this.$refs[forFormList[i]].resetFields();
- }
- })
- },
- topcheckboxChange(val, label) {
- // //console.log(val, label, 'topcheckboxChangeval');
- var that = this;
- if (!val) {
- this.$confirm('此操作将清空整列数据, 是否继续?', '提示', {
- confirmButtonText: '确定',
- cancelButtonText: '取消',
- type: 'warning'
- }).then(() => {
- if (label == 'SGR') {
- this.costTypeHotelNumbers.filter(item => item.type == 'Default')[0].sgr = 0
- }
- if (label == 'TBR') {
- this.costTypeHotelNumbers.filter(item => item.type == 'Default')[0].tbr = 0
- }
- if (label == 'JS/ES') {
- this.costTypeHotelNumbers.filter(item => item.type == 'Default')[0].jses = 0
- }
- if (label == 'SUITE') {
- this.costTypeHotelNumbers.filter(item => item.type == 'Default')[0].suite = 0
- }
- if (label == 'EF') {
- that.CheckBoxListSelect.forEach(x => {
- if (x.cbType == 'Top') {
- if (x.cbValues.includes("EFR")) {
- var index = x.cbValues.indexOf("EFR");
- if (index > -1) {
- x.cbValues.splice(index, 1);
- }
- }
- }
- });
- var fliterList = that.tableLabel.filter(x => x.label == "EFR");
- if (fliterList.length != 0) {
- var obj = {
- "diid": that.diid,
- "day": "-",
- "date": "",
- "itin": "",
- "carType": "",
- "carCost": "",
- "carNumber": "",
- "carTiming": "",
- "tgs": "",
- "tgwh": "",
- "tgn": "",
- "tgof": "",
- "tgm": "",
- "tga": "",
- "tgtf": "",
- "tgef": "",
- "cfs": "",
- "cfm": "",
- "cfof": "",
- "b": "",
- "l": "",
- "d": "",
- "tbr": "",
- "sgr": "",
- "jS_ES": "",
- "suite": "",
- "accon": "",
- "tv": "",
- "iL": "",
- "if": "",
- "ef": "",
- "b_R_F": "",
- "te": "",
- "tgTips": "",
- "drvTips": "",
- "pc": "",
- "tlf": "",
- "ect": "",
- "id": 1,
- "gwCount": "",
- "fyCount": "",
- "efr": "",
- };
- var prop = fliterList[0].prop;
- var initval = obj[prop];
- for (var i = 0; i < that.tableData.length; i++) {
- that.tableData[i][prop] = initval;
- }
- //////console.log(that.tableData, 'that.tableData数据');
- }
- }
- //////console.log('确定清空数据');
- var fliterList = this.sumTopPrice.filter(x => x.label == label);
- if (fliterList.length != 0) {
- fliterList[0].Aprice = 0;
- fliterList[0].Bprice = 0;
- }
- fliterList = that.tableLabel.filter(x => x.label == label);
- if (fliterList.length != 0) {
- var obj = {
- "diid": that.diid,
- "day": "-",
- "date": "",
- "itin": "",
- "carType": "",
- "carCost": "",
- "carNumber": "",
- "carTiming": "",
- "tgs": "",
- "tgwh": "",
- "tgn": "",
- "tgof": "",
- "tgm": "",
- "tga": "",
- "tgtf": "",
- "tgef": "",
- "cfs": "",
- "cfm": "",
- "cfof": "",
- "b": "",
- "l": "",
- "d": "",
- "tbr": "",
- "sgr": "",
- "jS_ES": "",
- "suite": "",
- "accon": "",
- "tv": "",
- "iL": "",
- "if": "",
- "ef": "",
- "b_R_F": "",
- "te": "",
- "tgTips": "",
- "drvTips": "",
- "pc": "",
- "tlf": "",
- "ect": "",
- "id": 1,
- "gwCount": "",
- "fyCount": "",
- "efr": "",
- };
- var prop = fliterList[0].prop;
- var initval = obj[prop];
- for (var i = 0; i < that.tableData.length; i++) {
- that.tableData[i][prop] = initval;
- }
- //////console.log(that.tableData, 'that.tableData数据');
- }
- this.$message({
- message: '已清除!',
- type: 'success',
- offset: 50
- });
- }).catch(() => {
- this.$message({
- type: 'info',
- message: '已取消操作'
- });
- if (!that.CheckBoxListSelect.filter(item => item.cbType == 'Top')[0].cbValues.includes(label)) {
- that.CheckBoxListSelect.filter(item => item.cbType == 'Top')[0].cbValues.push(label);
- }
- });
- } else {
- if (label == 'EF') {
- that.CheckBoxListSelect.forEach(x => {
- if (x.cbType == 'Top') {
- if (!x.cbValues.includes("EFR")) {
- x.cbValues.push("EFR");
- }
- }
- });
- }
- }
- },
- GroupIsShare() {
- this.$axios.post('/api/Groups/GroupIsShare', { diid: this.diid }, {
- headers: {
- 'Authorization': this.token,
- }
- }).then(resp => {
- //////console.log(resp.data.data, '------------------------------------');
- if (resp.data.code == 200) {
- this.isShare = resp.data.data.isShare;
- this.$message({
- message: '操作成功!' + resp.data.msg,
- type: 'success'
- });
- } else {
- this.$message.error('操作失败!' + resp.data.msg);
- }
- })
- },
- GetPriceCheckWord() {
- var that = this;
- var airs = [
- ];
- var sgrfilter = this.costTypeHotelNumbers.filter(x => {
- return x.type == 'Default'
- })
- let Bsgrfilter = {};
- if (this.costTypevalue == 'B') {
- sgrfilter = this.costTypeHotelNumbers.filter(x => {
- return x.type == 'A'
- })
- Bsgrfilter = this.costTypeHotelNumbers.filter(x => {
- return x.type == 'B'
- })
- Bsgrfilter = Bsgrfilter[0];
- }
- sgrfilter = sgrfilter[0];
- let hotelRooms = {
- "SGR": sgrfilter.sgr,
- "TBR": sgrfilter.tbr,
- "JSES": sgrfilter.jses,
- "SUITE": sgrfilter.suite
- };
- let flights = {
- "经济舱": this.AGroupCostParameter.jjcrs,
- "公务舱": this.AGroupCostParameter.gwcrs
- };
- let result = {};
- for (let flight of ["经济舱", "公务舱"]) {
- if (flight === "经济舱") {
- this.matchRooms(hotelRooms, flights, ["SGR", "TBR", "JSES", "SUITE"], flight, result);
- } else if (flight === "公务舱") {
- this.matchRooms(hotelRooms, flights, ["SUITE", "JSES", "SGR", "TBR"], flight, result);
- }
- }
- if (this.costTypevalue == 'B') {
- let BhotelRooms = {
- "SGR": Bsgrfilter.sgr,
- "TBR": Bsgrfilter.tbr,
- "JSES": Bsgrfilter.jses,
- "SUITE": Bsgrfilter.suite
- };
- let Bflights = {
- "经济舱": this.BGroupCostParameter.jjcrs,
- "公务舱": this.BGroupCostParameter.gwcrs
- };
- let Bresult = {};
- for (let flight of ["经济舱", "公务舱"]) {
- if (flight === "经济舱") {
- this.matchRooms(BhotelRooms, Bflights, ["SGR", "TBR", "JSES", "SUITE"], flight, Bresult);
- } else if (flight === "公务舱") {
- this.matchRooms(BhotelRooms, Bflights, ["SUITE", "JSES", "SGR", "TBR"], flight, Bresult);
- }
- }
- var BtxtJJCSGRRS = (Bresult.hasOwnProperty("经济舱SGR") ? Bresult["经济舱SGR"] : 0)
- var BlblGWCSGRRS = (Bresult.hasOwnProperty("公务舱SGR") ? Bresult["公务舱SGR"] : 0)
- var BtxtJJCTBRRS = (Bresult.hasOwnProperty("经济舱TBR") ? Bresult["经济舱TBR"] * 2 : 0)
- var BtxtGWCJSESRS = (Bresult.hasOwnProperty("公务舱JSES") ? Bresult["公务舱JSES"] : 0)
- var BJJCSUITERS = (Bresult.hasOwnProperty("经济舱SUITE") ? Bresult["经济舱SUITE"] : 0)
- var BtxtGWCSUITERS = (Bresult.hasOwnProperty("公务舱SUITE") ? Bresult["公务舱SUITE"] : 0)
- var BrightSum = 0;
- this.OtherCostPropertyBJ.forEach((x) => {
- BrightSum += Number(that.BcalculateDRBJ(x));
- })
- let BJJCSGRDRBJ = BrightSum + Number(that.BcalculateDRBJ('jjc')) + Number(that.BcalculateDRBJ('sgr'));
- let BJJCTBRDRBJ = BrightSum + (Number(that.BcalculateDRBJ('tbr')) / 2) + Number(that.BcalculateDRBJ('jjc'));
- let BJJCSUITEDRBJ = BrightSum + Number(that.BcalculateDRBJ('suite')) + Number(that.BcalculateDRBJ('jjc'));
- let BGWCSUITEDRBJ = BrightSum + Number(that.BcalculateDRBJ('suite')) + Number(that.BcalculateDRBJ('gwc'));
- let BGWCSGRDRBJ = BrightSum + Number(that.BcalculateDRBJ('sgr')) + Number(that.BcalculateDRBJ('gwc'));
- let BGWCJSESDRBJ = BrightSum + Number(that.BcalculateDRBJ('jses')) + Number(that.BcalculateDRBJ('gwc'));
- airs.push({
- "code": "JJCTBR",
- "number": BtxtJJCTBRRS,
- "price": BJJCTBRDRBJ,
- "costType": "B"
- });
- airs.push({
- "code": "JJCSGR",
- "number": BtxtJJCSGRRS,
- "price": BJJCSGRDRBJ,
- "costType": "B"
- });
- airs.push({
- "code": "GWCSGR",
- "number": BlblGWCSGRRS,
- "price": BGWCSGRDRBJ,
- "costType": "B"
- });
- airs.push({
- "code": "GWCJSES",
- "number": BtxtGWCJSESRS,
- "price": BGWCJSESDRBJ,
- "costType": "B"
- });
- airs.push({
- "code": "GWCSUITE",
- "number": BtxtGWCSUITERS,
- "price": BGWCSUITEDRBJ,
- "costType": "B"
- });
- airs.push({
- "code": "JJCSUITE",
- "number": BJJCSUITERS,
- "price": BJJCSUITEDRBJ,
- "costType": "B"
- });
- }
- var txtJJCSGRRS = (result.hasOwnProperty("经济舱SGR") ? result["经济舱SGR"] : 0)
- var lblGWCSGRRS = (result.hasOwnProperty("公务舱SGR") ? result["公务舱SGR"] : 0)
- var txtJJCTBRRS = (result.hasOwnProperty("经济舱TBR") ? result["经济舱TBR"] * 2 : 0)
- var txtGWCJSESRS = (result.hasOwnProperty("公务舱JSES") ? result["公务舱JSES"] : 0)
- var JJCSUITERS = (result.hasOwnProperty("经济舱SUITE") ? result["经济舱SUITE"] : 0)
- var txtGWCSUITERS = (result.hasOwnProperty("公务舱SUITE") ? result["公务舱SUITE"] : 0)
- var rightSum = 0;
- this.OtherCostPropertyBJ.forEach((x) => {
- rightSum += Number(that.calculateDRBJ(x));
- })
- let JJCSGRDRBJ = (rightSum + Number(that.calculateDRBJ('jjc')) + Number(that.calculateDRBJ('sgr'))).toFixed(2);
- let JJCTBRDRBJ = (rightSum + (Number(that.calculateDRBJ('tbr')) / 2) + Number(that.calculateDRBJ('jjc'))).toFixed(2);
- let JJCSUITEDRBJ = (rightSum + Number(that.calculateDRBJ('suite')) + Number(that.calculateDRBJ('jjc'))).toFixed(2);
- let GWCSUITEDRBJ = (rightSum + Number(that.calculateDRBJ('suite')) + Number(that.calculateDRBJ('gwc'))).toFixed(2);
- let GWCSGRDRBJ = (rightSum + Number(that.calculateDRBJ('sgr')) + Number(that.calculateDRBJ('gwc'))).toFixed(2);
- let GWCJSESDRBJ = (rightSum + Number(that.calculateDRBJ('jses')) + Number(that.calculateDRBJ('gwc'))).toFixed(2);
- airs.push({
- "code": "JJCTBR",
- "number": txtJJCTBRRS,
- "price": JJCTBRDRBJ,
- "costType": "A"
- });
- airs.push({
- "code": "JJCSGR",
- "number": txtJJCSGRRS,
- "price": JJCSGRDRBJ,
- "costType": "A"
- });
- airs.push({
- "code": "GWCSGR",
- "number": lblGWCSGRRS,
- "price": GWCSGRDRBJ,
- "costType": "A"
- });
- airs.push({
- "code": "GWCJSES",
- "number": txtGWCJSESRS,
- "price": GWCJSESDRBJ,
- "costType": "A"
- });
- airs.push({
- "code": "GWCSUITE",
- "number": txtGWCSUITERS,
- "price": GWCSUITEDRBJ,
- "costType": "A"
- });
- airs.push({
- "code": "JJCSUITE",
- "number": JJCSUITERS,
- "price": JJCSUITEDRBJ,
- "costType": "A"
- });
- var that = this;
- this.$axios.post('/api/Groups/ExportPriceCheckWordFile', { diid: this.diid, airs: airs }, {
- headers: {
- 'Authorization': this.token,
- }
- }).then(resp => {
- //////console.log(resp, '------------------------------------');
- try {
- if (resp.data.code != 200) {
- throw resp.data.msg;
- }
- var file = resp.data.data;
- that.fileDownload(file.data, file.strFileName);
- } catch (error) {
- this.$message.error('操作失败!' + error.message);
- }
- })
- },
- fileDownload(data, filename) {
- let blob = this.base64toBlob(data);
- let link = document.createElement('a');
- link.href = window.URL.createObjectURL(blob);
- link.download = filename;
- link.click();
- },
- base64toBlob(base64, type = 'application/octet-stream') {
- const bstr = atob(base64);
- let n = bstr.length;
- const u8arr = new Uint8Array(n);
- while (n--) {
- u8arr[n] = bstr.charCodeAt(n);
- }
- return new Blob([u8arr], { type });
- },
- async GetGroupCostExcel() {
- //////console.log(this.titleText, 'this.titleText');
- var isTrue = await this.save();
- if (!isTrue) {
- this.$message.error('请检查数据!');
- return;
- }
- var that = this;
- var group = this.options.filter(function (x) {
- return x.id == that.diid
- })
- if (group.length == 0) {
- this.$message.error('请选择团组!' + resp.data.msg);
- return;
- }
- var resultCurr = Number(this.AGroupCostParameter.currency);
- if (isNaN(resultCurr)) {
- resultCurr = this.AGroupCostParameter.currency;
- } else {
- for (let index = 0; index < this.currencyOption.length; index++) {
- if (this.currencyOption[index].currencyId == resultCurr) {
- resultCurr = this.currencyOption[index].currencyCode;
- }
- }
- }
- var data = {
- diid: this.diid,
- costType: this.costTypevalue,
- title: {
- groupNumber: Number(this.grouptitleinfo.visitPNumber),
- teamName: group[0].groupName,
- tax: this.AGroupCostParameter.tax,
- currency: resultCurr,
- rate: this.AGroupCostParameter.rate
- },
- leftInfo: {
- },
- rightInfo: {
- },
- titleModel: {
- }
- };
- var leftObject = this.GetDomLeftValue();
- var rightObject = this.GetDomRightValue();
- data.leftInfo = leftObject;
- data.rightInfo = rightObject;
- data.titleModel = this.titleText;
- //////console.log(data);
- this.$axios.post('/api/Groups/ExportGroupCostExcelFile', data, {
- headers: {
- 'Authorization': this.token,
- }
- }).then(resp => {
- //////console.log(resp, '------------------------------------');
- if (resp.data.code == 200) {
- var file = resp.data.data;
- that.fileDownload(file.data, file.strFileName);
- } else {
- that.$message.error('操作失败!' + resp.data.msg);
- }
- })
- },
- GetDomLeftValue() {
- var AllResult = [];
- var boxDoms = document.querySelectorAll(".sheet-box .biaoge");
- var titleClassName = 'el-table__header-wrapper';
- var bodyClassName = 'el-table__body-wrapper';
- var result = [];
- for (var i = 0; i < boxDoms.length; i++) {
- var chiBoxs = boxDoms[i].children[0].children;
- var info = {};
- info.index = i;
- for (var j = 0; j < chiBoxs.length; j++) {
- if (chiBoxs[j].className.indexOf(titleClassName) != -1) {
- info.title = chiBoxs[j].querySelectorAll('thead tr th')[0].innerText;
- } else if (chiBoxs[j].className.indexOf(bodyClassName) != -1) {
- var title = info.title;
- if (title.indexOf('酒店') != -1 || title.indexOf('地接') != -1 || title.indexOf('公务单人') != -1 || title.indexOf('零用金') != -1) {
- info.cb = chiBoxs[j].querySelectorAll('tbody tr td')[0].querySelector('span') ? chiBoxs[j].querySelectorAll('tbody tr td')[0].querySelector('span').innerText : '0';
- } else {
- info.cb = chiBoxs[j].querySelectorAll('tbody tr td')[0].querySelector('input') ? chiBoxs[j].querySelectorAll('tbody tr td')[0].querySelector('input').value : '0';
- }
- info.rs = chiBoxs[j].querySelectorAll('tbody tr td')[1].querySelector('input') ? chiBoxs[j].querySelectorAll('tbody tr td')[1].querySelector('input').value : '0';
- info.xs = chiBoxs[j].querySelectorAll('tbody tr td')[2].querySelector('input') ? chiBoxs[j].querySelectorAll('tbody tr td')[2].querySelector('input').value : '0';
- }
- }
- result.push(info)
- }
- AllResult.push({ type: "A", leftinfoNumber: result })
- if (this.costTypevalue == 'B') {
- var boxDoms = document.querySelectorAll(".sheet-box .biaogeB");
- var result = [];
- for (var i = 0; i < boxDoms.length; i++) {
- var chiBoxs = boxDoms[i].children[0].children;
- var info = {};
- info.index = i;
- for (var j = 0; j < chiBoxs.length; j++) {
- if (chiBoxs[j].className.indexOf(titleClassName) != -1) {
- info.title = chiBoxs[j].querySelectorAll('thead tr th')[0].innerText;
- } else if (chiBoxs[j].className.indexOf(bodyClassName) != -1) {
- var title = info.title;
- if (title.indexOf('酒店') != -1 || title.indexOf('地接') != -1 || title.indexOf('公务单人') != -1 || title.indexOf('零用金') != -1) {
- info.cb = chiBoxs[j].querySelectorAll('tbody tr td')[0].querySelector('span') ? chiBoxs[j].querySelectorAll('tbody tr td')[0].querySelector('span').innerText : '0';
- } else {
- info.cb = chiBoxs[j].querySelectorAll('tbody tr td')[0].querySelector('input') ? chiBoxs[j].querySelectorAll('tbody tr td')[0].querySelector('input').value : '0';
- }
- info.rs = chiBoxs[j].querySelectorAll('tbody tr td')[1].querySelector('input') ? chiBoxs[j].querySelectorAll('tbody tr td')[1].querySelector('input').value : '0';
- info.xs = chiBoxs[j].querySelectorAll('tbody tr td')[2].querySelector('input') ? chiBoxs[j].querySelectorAll('tbody tr td')[2].querySelector('input').value : '0';
- }
- }
- result.push(info)
- }
- AllResult.push({ type: "B", leftinfoNumber: result })
- }
- return AllResult;
- },
- GetDomRightValue() {
- var AllResult = [];
- var boxDoms = document.querySelectorAll(".cabin-li .biaoge");
- var titleClassName = 'el-table__header-wrapper';
- var bodyClassName = 'el-table__body-wrapper';
- var result = [];
- for (var i = 0; i < boxDoms.length - 1; i++) {
- var chiBoxs = boxDoms[i].children[1].children;
- var info = {};
- info.index = i;
- for (var j = 0; j < chiBoxs.length; j++) {
- if (chiBoxs[j].className.indexOf(titleClassName) != -1) {
- info.title = boxDoms[i].children[0].innerText + chiBoxs[j].querySelectorAll('thead tr th')[0].innerText;
- } else if (chiBoxs[j].className.indexOf(bodyClassName) != -1) {
- info.cb = chiBoxs[j].querySelectorAll('tbody tr td')[0].querySelector('span') ? chiBoxs[j].querySelectorAll('tbody tr td')[0].querySelector('span').innerText : '0';
- info.rs = chiBoxs[j].querySelectorAll('tbody tr td')[1].querySelector('input') ? chiBoxs[j].querySelectorAll('tbody tr td')[1].querySelector('input').value : '0';
- info.xs = chiBoxs[j].querySelectorAll('tbody tr td')[2].querySelector('span') ? chiBoxs[j].querySelectorAll('tbody tr td')[2].querySelector('span').innerText : '0';
- info.bj = chiBoxs[j].querySelectorAll('tbody tr td')[3].querySelector('span') ? chiBoxs[j].querySelectorAll('tbody tr td')[3].querySelector('span').innerText : '0';
- }
- }
- result.push(info)
- }
- AllResult.push({ type: "A", rightInfoNumber: result })
- if (this.costTypevalue == 'B') {
- var boxDoms = document.querySelectorAll(".cabin-li .biaogeB");
- var result = [];
- for (var i = 0; i < boxDoms.length; i++) {
- var chiBoxs = boxDoms[i].children[1].children;
- var info = {};
- info.index = i;
- for (var j = 0; j < chiBoxs.length; j++) {
- if (chiBoxs[j].className.indexOf(titleClassName) != -1) {
- info.title = boxDoms[i].children[0].innerText + chiBoxs[j].querySelectorAll('thead tr th')[0].innerText;
- } else if (chiBoxs[j].className.indexOf(bodyClassName) != -1) {
- info.cb = chiBoxs[j].querySelectorAll('tbody tr td')[0].querySelector('span') ? chiBoxs[j].querySelectorAll('tbody tr td')[0].querySelector('span').innerText : '0';
- info.rs = chiBoxs[j].querySelectorAll('tbody tr td')[1].querySelector('input') ? chiBoxs[j].querySelectorAll('tbody tr td')[1].querySelector('input').value : '0';
- info.xs = chiBoxs[j].querySelectorAll('tbody tr td')[2].querySelector('span') ? chiBoxs[j].querySelectorAll('tbody tr td')[2].querySelector('span').innerText : '0';
- info.bj = chiBoxs[j].querySelectorAll('tbody tr td')[3].querySelector('span') ? chiBoxs[j].querySelectorAll('tbody tr td')[3].querySelector('span').innerText : '0';
- }
- }
- result.push(info)
- }
- AllResult.push({ type: "B", rightInfoNumber: result })
- }
- return AllResult;
- },
- setLastTitle(list) {
- let summaryRow = document.querySelectorAll('.el-table__footer-wrapper .cell');
- for (var i = 0; i < summaryRow.length; i++) {
- let summaryRowOne = summaryRow[i];
- if (summaryRowOne.innerHTML == '总计:' || summaryRowOne.innerHTML == '——') {
- } else {
- summaryRowOne.setAttribute('title', list[i]);
- }
- }
- },
- GetClientWord() {
- var that = this;
- var data = {
- "diid": this.diid,
- "costType": this.costTypevalue,
- "rate": this.AGroupCostParameter.rate,
- "carGuides1": "",
- "meal": "",
- "subsidizedMeals": "",
- "nightRepair": "",
- "attractionsTickets": "",
- "miscellaneousFees": "",
- "aTip": "",
- "tzZCost": "",
- "leftInfo": '',
- };
- var vehicleResult = this.GetDJLableBJ(this.vehicleLables);
- var DJMealResult = this.GetDJLableBJ(this.DJMeal);
- var SubsidizedMealsResult = this.GetDJLableBJ(this.SubsidizedMeals);
- var NightRepairResult = this.GetDJLableBJ(this.NightRepair);
- var AttractionsTicketsResult = this.GetDJLableBJ(this.AttractionsTickets);
- var DJMealResult = this.GetDJLableBJ(this.DJMeal);
- var ATipResult = this.GetDJLableBJ(this.ATipResult);
- data.leftInfo = this.GetDomLeftValue();
- // vehicleLables: ['VF', 'T/G OF', 'T/G S', 'T/G TF', 'C/F OF'],
- // DJMeal: ['B', 'L', 'D'],
- // SubsidizedMeals: ['T/G M', 'C/F M'],
- // NightRepair: ['T/G A'],
- // AttractionsTickets: ['T/G EF', 'EF'],
- // MiscellaneousFees: ['B/R/F', 'TE', 'T/L F'],
- // ATip: ['T/G T', 'DRV T'],
- if (this.costTypevalue === "B") {
- data.carGuides1 = "RMB A段费用 " + vehicleResult.sum + " B段费用 RMB" + vehicleResult.Bsum;
- data.meal = "RMB A段费用 " + DJMealResult.sum + " B段费用 RMB" + DJMealResult.Bsum;
- data.subsidizedMeals = "RMB A段费用 " + SubsidizedMealsResult.sum + " B段费用 RMB" + SubsidizedMealsResult.Bsum;
- data.nightRepair = "RMB A段费用 " + NightRepairResult.sum + " B段费用 RMB" + NightRepairResult.Bsum;
- data.attractionsTickets = "RMB A段费用 " + AttractionsTicketsResult.sum + " B段费用 RMB" + AttractionsTicketsResult.Bsum;
- data.miscellaneousFees = "RMB A段费用 " + DJMealResult.sum + " B段费用 RMB" + DJMealResult.Bsum;
- data.aTip = "RMB A段费用 " + ATipResult.sum + " B段费用 RMB" + ATipResult.Bsum;
- } else {
- data.carGuides1 = "RMB " + vehicleResult.sum;
- data.meal = "RMB " + DJMealResult.sum;
- data.subsidizedMeals = "RMB " + SubsidizedMealsResult.sum;
- data.nightRepair = "RMB " + NightRepairResult.sum;
- data.attractionsTickets = "RMB " + AttractionsTicketsResult.sum;
- data.miscellaneousFees = "RMB " + DJMealResult.sum;
- data.aTip = "RMB " + ATipResult.sum;
- }
- var cabinDatalLast = this.cabinDatal.filter(function (x) {
- return x.label == '团组预算明细'
- })
- data.tzZCost = cabinDatalLast[0].sheetInfo[0].gtroupQuotes;
- this.$axios.post('/api/Groups/ExportClientWordFile', data, {
- headers: {
- 'Authorization': this.token,
- }
- }).then(resp => {
- //////console.log(resp, '------------------------------------');
- if (resp.data.code == 200) {
- var file = resp.data.data;
- that.fileDownload(file.data, file.strFileName);
- } else {
- that.$message.error('操作失败!' + resp.data.msg);
- }
- })
- },
- insertRow(index, rowParam, oper) {
- var that = this;
- var row = {
- "diid": this.diid,
- "day": rowParam.day,
- "date": "",
- "itin": "",
- "carType": "",
- "carCost": "",
- "carNumber": "",
- "carTiming": "",
- "tgs": "",
- "tgwh": "",
- "tgn": "",
- "tgof": "",
- "tgm": "",
- "tga": "",
- "tgtf": "",
- "tgef": "",
- "cfs": "",
- "cfm": "",
- "cfof": "",
- "b": "",
- "l": "",
- "d": "",
- "tbr": "",
- "sgr": "",
- "jS_ES": "",
- "suite": "",
- "accon": "",
- "tv": "",
- "iL": "",
- "if": "",
- "ef": "",
- "b_R_F": "",
- "te": "",
- "tgTips": "",
- "drvTips": "",
- "pc": "",
- "tlf": "",
- "ect": "",
- "id": 1,
- "gwCount": "",
- "fyCount": "",
- "efr": "",
- };
- if (oper == 'UP') {
- if (rowParam.date) {
- row.date = this.addOneDay(rowParam.date, -1);
- }
- that.tableData.splice(index, 0, row)
- } else {
- if (rowParam.date) {
- row.date = this.addOneDay(rowParam.date, 1);
- }
- that.tableData.splice(index + 1, 0, row)
- }
- //////console.log('that.tableData', that.tableData)
- var thisDay = 1;
- for (var i = 0; i < that.tableData.length; i++) {
- //////console.log("iiiiiiiiiiiiiiii", i, Number(that.tableData.day))
- if (Number(that.tableData[i].day) > 0) {
- that.tableData[i].day = thisDay;
- thisDay++;
- }
- }
- },
- Dataformat() {
- var that = this;
- var oldSoure = JSON.stringify(that.tableData);
- var souer = {
- "diid": this.diid,
- "day": "-",
- "date": "",
- "itin": "",
- "carType": "",
- "carCost": 0,
- "carNumber": 0,
- "carTiming": 0,
- "tgs": 0,
- "tgwh": 0,
- "tgn": 0,
- "tgof": 0,
- "tgm": 0,
- "tga": 0,
- "tgtf": 0,
- "tgef": 0,
- "cfs": 0,
- "cfm": 0,
- "cfof": 0,
- "b": 0,
- "l": 0,
- "d": 0,
- "tbr": 0,
- "sgr": 0,
- "jS_ES": 0,
- "suite": 0,
- "accon": "",
- "tv": 0,
- "iL": 0,
- "if": 0,
- "ef": 0,
- "b_R_F": 0,
- "te": 0,
- "tgTips": 0,
- "drvTips": 0,
- "pc": 0,
- "tlf": 0,
- "ect": 0,
- "id": 1,
- "gwCount": "",
- "fyCount": "",
- "efr": "",
- };
- var numberList = [];
- for (var key in souer) {
- if (typeof souer[key] == 'number') {
- numberList.push(key);
- }
- }
- //////console.log(numberList, "numberList!");
- //////console.log(that.tableData, "that.tableData!");
- for (var i = 0; i < that.tableData.length; i++) {
- that.tableData[i].day = that.tableData[i].day.toString();
- for (var j = 0; j < numberList.length; j++) {
- if (that.tableData[i][numberList[j]] === "") {
- //////console.log(i + "行数据异常!", numberList[j]);
- that.tableData[i][numberList[j]] = 0;
- }
- }
- }
- var NewSoure = [...that.tableData];
- that.tableData = JSON.parse(oldSoure);
- return NewSoure;
- },
- dateChange(val, index) {
- const regex = /^[1-9]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$/
- if (!regex.test(val)) {
- this.$message.error('日期格式不正确!应该为YYYY-MM-DD格式!');
- this.tableData[index].date = "";
- }
- },
- GetDJLableBJ(lableList) {
- var that = this;
- var result = { sum: 0, Bsum: 0 };
- if (typeof lableList != "object" || lableList['length'] == undefined) {
- return result
- }
- let Djsum = 0;
- let BDjsum = 0;
- for (var i = 0; i < lableList.length; i++) {
- that.sumTopPrice.forEach(function (item1) {
- if (lableList[i] == item1.label) {
- var Aprice = Number(item1.Aprice);
- if (!isNaN(Aprice)) {
- Djsum += Aprice;
- }
- var Bprice = Number(item1.Bprice);
- if (!isNaN(Bprice)) {
- BDjsum += Bprice;
- }
- }
- })
- }
- Djsum = Djsum * this.AGroupCostParameter.rate * this.AGroupCostParameter.djxs;
- BDjsum = BDjsum * this.AGroupCostParameter.rate * this.BGroupCostParameter.djxs;
- if (isNaN(Djsum)) {
- Djsum = 0;
- }
- if (isNaN(BDjsum)) {
- BDjsum = 0;
- }
- result.sum = Djsum.toFixed(2);
- result.Bsum = BDjsum.toFixed(2);
- return result;
- },
- handleChange(currentValue, oldValue) {
- //////console.log(currentValue, oldValue);
- if (currentValue == undefined) {
- }
- },
- GetWeek(date) {
- if (date) {
- try {
- var myDate = new Date(date);
- var myDay = myDate.getDay();//获取存储当前日期
- var weekday = ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"];
- return weekday[myDay];
- } catch (e) {
- //////console.log("时间格式不正确!")
- return "时间格式不正确!";
- }
- }
- return '';
- },
- confirm() {
- debugger;
- this.outerVisible = false;
- if (this.dialogSelectObject == null) {
- this.dialogSelectObject = {};
- }
- if (Object.keys(this.dialogSelectObject).length != 0) {
- const possibleDialogTitles = ['选择车导数据', '导游信息', '选择车数据', '景点信息'];
- const indexBtn = possibleDialogTitles.indexOf(this.DialogTitle);
- if (indexBtn != -1) {
- if (indexBtn == 0) {
- this.bindCD();
- } else if (indexBtn == 1) {
- this.bindDY();
- } else if (indexBtn == 2) {
- this.bindCSJ();
- } else if (indexBtn == 3) {
- this.bindJD();
- }
- }
- }
- this.dialogSelectObject = {};
- },
- bindCD() {
- debugger;
- var offer = this.dialogSelectObject.offer.match(/\d+/g) != null ? Number(this.dialogSelectObject.offer.match(/\d+/g)[0]) : 0;
- var cgCost = this.dialogSelectObject.cgCost.match(/\d+/g) != null ? Number(this.dialogSelectObject.cgCost.match(/\d+/g)[0]) : 0;
- var cgOvertimeFee = this.dialogSelectObject.cgOvertimeFee.match(/\d+/g) != null ? Number(this.dialogSelectObject.cgOvertimeFee.match(/\d+/g)[0]) : 0;
- var overtimeFee = this.dialogSelectObject.overtimeFee.match(/\d+/g) != null ? Number(this.dialogSelectObject.overtimeFee.match(/\d+/g)[0]) : 0;
- var runingTime = this.dialogSelectObject.runingTime.match(/\d+/g) != null ? Number(this.dialogSelectObject.runingTime.match(/\d+/g)[0]) : 0;
- var row = this.tableData[this.rowIndex];
- var carNumber = row.carNumber;
- row['carCost'] = (carNumber * offer).toFixed(2);
- row['tgs'] = cgCost.toFixed(2);
- row['carTiming'] = runingTime.toFixed(2);
- var carType = this.dialogSelectObject.city + "/" + this.dialogSelectObject.carType + "/" + this.dialogSelectObject.serviceType + "\n";
- row['carType'] = carType;
- },
- bindDY() {
- debugger;
- var row = this.tableData[this.rowIndex];
- var tgn = row.tgn;
- var price = this.dialogSelectObject.price.match(/\d+/g) != null ? Number(this.dialogSelectObject.price.match(/\d+/g)[0]) : 0;
- var translationPrice = this.dialogSelectObject.translationPrice.match(/\d+/g) != null ? Number(this.dialogSelectObject.translationPrice.match(/\d+/g)[0]) : 0;
- var when = this.dialogSelectObject.when.match(/\d+/g) != null ? Number(this.dialogSelectObject.when.match(/\d+/g)[0]) : 0;
- row['tgs'] = (tgn * price).toFixed(2);
- row['if'] = translationPrice.toFixed(2);
- row['tgwh'] = when.toFixed(2);
- },
- bindCSJ() {
- debugger;
- var row = this.tableData[this.rowIndex];
- var carType = this.dialogSelectObject.city + "/" + this.dialogSelectObject.carType + "/" + this.dialogSelectObject.serviceType + "\n";
- var toPrice = this.dialogSelectObject.price.match(/\d+/g) != null ? Number(this.dialogSelectObject.price.match(/\d+/g)[0]) : 0;
- var when = this.dialogSelectObject.when.match(/\d+/g) != null ? Number(this.dialogSelectObject.when.match(/\d+/g)[0]) : 0;
- row['carType'] = carType;
- row['carCost'] = toPrice.toFixed(2);
- row['carTiming'] = when.toFixed(2);
- },
- bindJD() {
- debugger;
- var row = this.tableData[this.rowIndex];
- var Price = this.dialogSelectObject.price;
- row['ef'] = Price.toFixed(2);
- },
- QueryRate() {
- var url = "/api/Business/PostGroupTeamRateByDiIdAndCTableId"
- var that = this
- this.$axios({
- method: 'post',
- url: url,
- headers: {
- Authorization: 'Bearer ' + that.token
- },
- data: {
- "portType": 1,
- "diId": this.diid,
- "cTable": 85
- }
- }).then(function (res) {
- if (res.data.code == 200) {
- //汇率
- ////console.log("汇率--", res.data.data);
- that.currencyOption = res.data.data.teamRates;
- }
- })
- },
- changeCurrency(data) {
- ////console.log('data', data);
- for (let index = 0; index < this.currencyOption.length; index++) {
- if (this.currencyOption[index].currencyId == data) {
- this.AGroupCostParameter.rate = this.currencyOption[index].rate;
- break;
- }
- }
- },
- inSelectChangeCheck() {
- ////console.log('inSelectChangeCheck');
- var arr = [];
- var pusharr = [];
- var topArr = [];
- var topPushArr = [];
- if (this.costTypevalue == 'A') {
- var defaultP = this.costTypeHotelNumbers.filter(item => item.type == 'Default')[0];
- if (defaultP.sgr == 0) {
- arr.push('酒店SGR');
- topArr.push('SGR')
- } else {
- pusharr.push('酒店SGR');
- topPushArr.push('SGR')
- }
- if (defaultP.tbr == 0) {
- arr.push('酒店TBR');
- topArr.push('TBR')
- } else {
- pusharr.push('酒店TBR');
- topPushArr.push('TBR')
- }
- if (defaultP.jses == 0) {
- arr.push('酒店JSES');
- topArr.push('JS/ES')
- } else {
- pusharr.push('酒店JSES');
- topPushArr.push('JS/ES')
- }
- if (defaultP.suite == 0) {
- topArr.push('SUITE')
- arr.push('酒店SUITE');
- }
- else {
- pusharr.push('酒店SUITE');
- topPushArr.push('SUITE')
- }
- } else {
- var HotelA = this.costTypeHotelNumbers.filter(item => item.type == 'A')[0];
- var HotelB = this.costTypeHotelNumbers.filter(item => item.type == 'B')[0];
- if (HotelA.sgr == 0 && HotelB.sgr == 0) { arr.push('酒店SGR'); } else {
- pusharr.push('酒店SGR');
- }
- if (HotelA.tbr == 0 && HotelB.tbr == 0) { arr.push('酒店TBR'); } else {
- pusharr.push('酒店TBR');
- }
- if (HotelA.jses == 0 && HotelB.jses == 0) { arr.push('酒店JSES'); } else {
- pusharr.push('酒店JSES');
- }
- if (HotelA.suite == 0 && HotelB.suite == 0) { arr.push('酒店SUITE'); } else {
- pusharr.push('酒店SUITE');
- }
- }
- var leftCheck = this.CheckBoxListSelect.filter(item => item.cbType == 'Left')[0].cbValues;
- var topCheck = this.CheckBoxListSelect.filter(item => item.cbType == 'Top')[0].cbValues;
- var resultArr = leftCheck.filter(item => !arr.includes(item));
- var topResultArr = topCheck.filter(item => !topArr.includes(item));
- resultArr = [...resultArr, ...pusharr];
- resultArr = [...new Set(resultArr)];
- ////console.log('resultArr', resultArr);
- topResultArr = [...topResultArr, ...topPushArr];
- topResultArr = [...new Set(topResultArr)];
- this.CheckBoxListSelect.filter(item => item.cbType == 'Left')[0].cbValues = resultArr;
- this.CheckBoxListSelect.filter(item => item.cbType == 'Top')[0].cbValues = topResultArr;
- },
- GivePeopleNumber() {
- var number = this.grouptitleinfo.visitPNumber;
- if (this.AGroupCostParameter.visaRS == 0) {
- this.AGroupCostParameter.visaRS = number;
- }
- if (this.AGroupCostParameter.bxrs == 0) {
- this.AGroupCostParameter.bxrs = number;
- }
- if (this.AGroupCostParameter.djrs == 0) {
- this.AGroupCostParameter.djrs = number;
- }
- if (this.AGroupCostParameter.lyjrs == 0) {
- this.AGroupCostParameter.lyjrs = number;
- }
- if (this.AGroupCostParameter.gwrs == 0) {
- this.AGroupCostParameter.gwrs = number;
- }
- },
- lableSetPrice(lable, total, single) {
- //遍历this.columnTotalData
- for (var i = 0; i < this.columnTotalData.length; i++) {
- if (this.columnTotalData[i].label == lable) {
- this.columnTotalData[i].totalPrice = total;
- this.columnTotalData[i].singlePrice = single;
- break
- }
- }
- },
- BlableSetPrice(lable, total, single) {
- for (var i = 0; i < this.columnTotalData.length; i++) {
- if (this.columnTotalData[i].label == lable) {
- var aT = Number(this.columnTotalData[i].totalPrice).toFixed(2);
- var aS = Number(this.columnTotalData[i].singlePrice).toFixed(2);
- if (!isNaN(aT)) {
- this.columnTotalData[i].totalPrice = 'A段费用' + aT + '\r\n B段费用' + total;
- }
- if (!isNaN(aS)) {
- this.columnTotalData[i].singlePrice = 'A段费用' + aS + '\r\n B段费用' + single;
- }
- break
- }
- }
- },
- importBlackCode() {
- this.gridData = [];
- var url = "/api/Groups/CraeteGroupCostTravel"
- var that = this
- this.$axios({
- method: 'post',
- url: url,
- headers: {
- Authorization: 'Bearer ' + that.token
- },
- data: {
- "diid": that.diid,
- }
- }).then(function (resp) {
- if (resp.data.code == 200) {
- //console.log('CraeteGroupCostTravelResponse', resp.data.data);
- that.gridData = resp.data.data.groupCost;
- that.blackCodeIsTrue = resp.data.data.blackCodeIsTrue;
- if (that.blackCodeIsTrue) {
- that.dialogTableVisible = true;
- } else {
- that.$message.error("机票数据未录入!");
- }
- // that.tableData = resp.data.data.groupCost;
- // for (var i = 0; i < that.tableData.length; i++) {
- // for (var prop in that.tableData[i]) {
- // if (that.tableData[i][prop] == 0) {
- // that.tableData[i][prop] = ''
- // }
- // }
- // }
- } else {
- that.$message.error("黑屏代码有误!" + resp.data.msg);
- }
- })
- },
- //机票行程确认赋值
- confirmationTP() {
- this.tableData = this.gridData;
- for (var i = 0; i < this.tableData.length; i++) {
- for (var prop in this.tableData[i]) {
- if (this.tableData[i][prop] == 0) {
- this.tableData[i][prop] = ''
- }
- }
- }
- this.dialogTableVisible = false;
- },
- //监听鼠标
- MonitorMouse() {
- document.onmousemove = (event) => {
- let x1 = event.clientX
- let y1 = event.clientY
- if (this.x !== x1 || this.y !== y1) {
- this.setTimer();
- }
- this.x = x1
- this.y = y1
- }
- },
- //监听键盘
- MonitorKeyboard() {
- document.onkeydown = () => {
- this.setTimer();
- }
- },
- //取消定时器
- clearTimer() {
- clearTimeout(window.myTimer)
- window.myTimer = null
- //取消监听
- document.onmousemove = null;
- document.onkeydown = null;
- },
- //定时调用函数
- setTimer() {
- this.count = 0
- const mm = 1000 * 60;
- if (window.myTimer) {
- try {
- clearTimeout(window.myTimer);
- } catch (e) {
- //console.log("setTimerMessage", e.message);
- }
- }
- window.myTimer = setInterval(this.SaveAndLogOut, mm * 30);
- },
- SaveAndLogOut() {
- this.save().then(() => {
- this.$router.push({ name: 'Login' })
- localStorage.removeItem("userinif");
- this.$message({
- type: 'success',
- message: '已退出!'
- });
- //console.log("保存成功,已退出!");
- }).catch(e => {
- //console.log(e);
- //console.log("保存失败,仅停止自动保存!");
- clearInterval(this.autoSave);
- })
- },
- TimeUpdateAnewOrderby(index) {
- if (index == 0 && this.tableData.length > 0) {
- var start = this.tableData[0].date;
- for (var i = 0; i < this.tableData.length; i++) {
- if (this.tableData[i].date) {
- this.tableData[i].date = start;
- start = this.addOneDay(start, 1)
- }
- }
- }
- },
- //团组询价列表
- PostHotelInquiryPageItem() {
- var url = "/api/Groups/PostHotelInquiryPageItem"
- var that = this
- this.$axios({
- method: 'post',
- url: url,
- headers: {
- Authorization: 'Bearer ' + this.token
- },
- data: {
- portType: 1,
- pageIndex: 1,
- pageSize: 100,
- diId: that.diid,
- }
- }).then(function (res) {
- that.tableDatas = [];
- if (res.data.code == 200) {
- that.dialogTableVisibleXJ = true;
- that.tableDatas = res.data.data;
- that.checkboxsXJ = [];
- that.hotelIsTrue = res.data.data.length > 0 ? true : false;
- //console.log(res);
- } else {
- that.$message.error(res.data.msg);
- }
- })
- },
- CheckboxChangeXJ(val) {
- var isFind = this.checkboxsXJ.includes(val);
- if (isFind) {
- this.checkboxsXJ.splice(this.checkboxsXJ.indexOf(val), 1);
- } else {
- this.checkboxsXJ.push(val);
- }
- },
- adoptHotelData() {
- var selectArr = this.tableDatas.filter((x) => {
- return this.checkboxsXJ.includes(x.id);
- });
- ////console.log(selectArr,'selectArr-----------------------');
- if (selectArr.length != 0) {
- for (var i = 0; i < selectArr.length; i++) {
- var startTime = this.addOneDay(selectArr[i].checkInDate, 0);
- var endTime = this.addOneDay(selectArr[i].checkOutDate, 0);
- if (startTime) {
- var flitertabs = this.tableData.filter((x) => {
- var cuo = new Date(x.date).getTime();
- return cuo >= new Date(startTime).getTime() && cuo < new Date(endTime).getTime();
- })
- for (var j = 0; j < flitertabs.length; j++) {
- flitertabs[j].accon = selectArr[i].name;
- flitertabs[j].sgr = selectArr[i].singlePrice * selectArr[i].singleQuantity;
- flitertabs[j].tbr = selectArr[i].doublePrice * selectArr[i].doubleQuantity;
- flitertabs[j].jS_ES = selectArr[i].suitePrice * selectArr[i].suiteQuantity;
- flitertabs[j].suite = selectArr[i].otherPrice * selectArr[i].otherQuantity;
- }
- //console.log('flitertabs',flitertabs);
- }
- }
- this.dialogTableVisibleXJ = false;
- } else {
- this.$message.error("请选择数据!");
- }
- },
- GetHistoryCarData(index) {
- this.historyCarInput = this.grouptitleinfo.visitCountry;
- this.historyCarDialog = true;
- this.pageSize = 7;
- this.historyCarIndex = index;
- this.historyCarSearch();
- },
- historyCarSearch() {
- var url = "/api/Groups/GetHistoryCarData";
- var that = this;
- this.$axios({
- method: 'post',
- url: url,
- headers: {
- Authorization: 'Bearer ' + this.token
- },
- data: {
- param: this.historyCarInput
- }
- }).then(function (res) {
- that.historyCarData = [];
- if (res.data.code == 200) {
- console.log(res.data.data)
- that.historyCarData = res.data.data;
- } else {
- that.$message.error(res.data.msg);
- }
- })
- },
- dialogClose() {
- this.pageSize = 5;
- this.currentPage = 1;
- },
- historyCarChange(row, oldrow) {
- //console.log(row, oldrow);
- this.historyCarSelectObject = row;
- },
- historyCarYes() {
- //console.log(this.historyCarSelectObject,'historyCarSelectObject');
- if (this.historyCarIndex != -1) {
- this.tableData[this.historyCarIndex].carCost = this.historyCarSelectObject.dayPrice;
- }
- this.historyCarDialog = false;
- },
- //获取客户名单info
- PostTourClientListByDiId(id) {
- var that = this
- var url = "/api/Groups/PostTourClientListByDiId"
- this.$axios({
- method: 'post',
- url: url,
- headers: {
- Authorization: 'Bearer ' + that.token
- },
- data: {
- portType: 1,
- diid: id,
- pageId: 104,
- userId: that.userId
- }
- }).then(function (res) {
- if (res.data.code == 200) {
- that.rollcallarr = res.data.data;
- } else {
- that.$message.error(res.data.smg);
- }
- })
- },
- //fenge
- fgarr(val) {
- val = val + ""
- return val.split(' ')[0]
- },
- //拼音
- pinyingxing(val) {
- return pinyin(val, { toneType: 'none' }).toUpperCase();
- },
- },
- updated() {
- this.$emit('transfer', true)
- },
- destroyed() {
- this.$emit('transfer', false)
- clearInterval(this.autoSave);
- },
- mounted() {
- this.token = JSON.parse(localStorage.getItem('userinif')).token;
- this.userId = JSON.parse(localStorage.getItem('userinif')).userInfo.userId
- var costLoadData = localStorage.getItem('costLoadData');
- const mm = 1000 * 60;
- if (this.userId == 21) {
- this.autoSave = setInterval(() => {
- this.$message.success('自动保存中...');
- setTimeout(() => {
- this.save();
- }, 100);
- }, mm * 10);
- this.MonitorMouse();
- this.MonitorKeyboard();
- this.setTimer();
- }
- document.querySelectorAll('.el-table__footer')[0].style.display = "none";
- if (costLoadData) {
- var JSONP = JSON.parse(costLoadData);
- var diidP = Number(JSONP.diid);
- this.loadData(isNaN(diidP) ? -1 : diidP);
- } else {
- this.loadData(-1);
- }
- window.Vue = this;
- },
- beforeDestroy() {
- this.clearTimer()
- },
- computed: {
- defaultCostTypeHotelNumber() {
- const defaultItems = this.costTypeHotelNumbers.filter(item => item.type == 'Default');
- return defaultItems[0];
- },
- filterdialogSearchInput() {
- var that = this;
- return this.dialogTableData.filter(function (x) {
- var fliterWhere = [];
- if (that.dialogSearchInput.split('、') != -1) {
- fliterWhere = that.dialogSearchInput.split('、');
- } else {
- fliterWhere = [that.dialogSearchInput];
- }
- for (var i = 0; i < fliterWhere.length; i++) {
- if (x.city.indexOf(fliterWhere[i]) != -1 || x.country.indexOf(fliterWhere[i]) != -1) {
- return x;
- }
- }
- })
- },
- columnWidth() {
- //console.log(this.CheckBoxListSelect.filter(item => item.cbType == 'Top')[0].cbValues.length);
- if (this.CheckBoxListSelect.filter(item => item.cbType == 'Top')[0].cbValues.length < 22) {
- return 74
- }
- else if (22 <= this.CheckBoxListSelect.filter(item => item.cbType == 'Top')[0].cbValues.length < 26) {
- return 59
- }
- else {
- return 55
- }
- },
- ShowMeals() {
- if (this.ShowBaoPi.length > 0) {
- var result = this.ShowBaoPi.filter(x => x.type == 'Meals')[0];
- if (result) {
- return result.content;
- } else {
- return [];
- }
- }
- return [];
- },
- ShowHotel() {
- if (this.ShowBaoPi.length > 0) {
- var result = this.ShowBaoPi.filter(x => x.type == 'Hotel')[0];
- if (result) {
- return result.content;
- } else {
- return [];
- }
- }
- return [];
- },
- ShowGongZa() {
- if (this.ShowBaoPi.length > 0) {
- var result = this.ShowBaoPi.filter(x => x.type == 'GongZa')[0];
- if (result) {
- return result.content;
- } else {
- return [];
- }
- }
- return [];
- },
- getCurr() {
- var currStr = '';
- var curr = this.AGroupCostParameter.currency;
- var currResult = Number(curr);
- if (isNaN(currResult)) {
- currStr = curr;
- } else {
- for (let index = 0; index < this.currencyOption.length; index++) {
- if (this.currencyOption[index].currencyId == currResult) {
- currStr = this.currencyOption[index].currencyCode;
- break;
- }
- }
- }
- return currStr;
- },
- },
- filters: {
- filter_time(value) {
- if (value) {
- return value.split(" ")[0]
- }
- },
- townum(val) {
- return val.toFixed(2)
- },
- }
- }
- </script>
- <style lang="less" scoped>
- /deep/ .el-table th.el-table__cell>.cell {
- white-space: pre-wrap;
- }
- /deep/ .el-table--striped .el-table__body tr.el-table__row--striped td {
- background: #F0F9FF;
- }
- </style>
- <style>
- .cost-box {
- background-color: #fff;
- padding: 10px;
- box-shadow: 0 0 5px #0005;
- border-radius: 10px;
- }
- .cost-box .el-button+.el-button {
- margin-left: 0;
- }
- .fade-enter-active,
- .fade-leave-active {
- transition: opacity 1;
- }
- .fade-enter,
- .fade-leave-to {
- opacity: 0;
- }
- .cost-haed {
- margin-bottom: 10px;
- }
- .ser-btn {
- display: flex;
- justify-content: space-between;
- margin-bottom: 5px;
- }
- .cost-info {
- display: flex;
- }
- .cost-info-li {
- margin-right: 30px;
- }
- .cost-info-li label {
- color: #606266;
- font-size: 15px;
- font-weight: 600;
- }
- .cost-info-li span {
- color: #606266;
- font-size: 14px;
- }
- .cost-box .el-checkbox-group {
- margin: 5px 0;
- }
- .form-ss .el-checkbox {
- width: 100px;
- margin: 5px 0;
- }
- .sheet-box {
- margin-top: 30px;
- }
- .cabin-box {
- margin-top: 30px;
- }
- .biaoge,
- .biaogeB {
- margin-bottom: 30px;
- }
- .rapAddress {
- overflow: hidden;
- white-space: nowrap;
- text-overflow: ellipsis;
- }
- .cost-box .cabin-box .cost-box .el-checkbox {
- margin-right: 20px;
- }
- .cost-box .el-table .cell {
- text-align: center;
- padding-left: 5px;
- padding-right: 5px;
- font-size: 12px;
- }
- .figures-btn {
- display: flex;
- flex-direction: column;
- align-items: center;
- }
- .figures-btn .el-button--mini {
- width: 67px;
- margin: 2px 0;
- margin-left: 0;
- }
- .CostBShow .el-col-3 .el-form-item__content {
- width: 60%;
- }
- .CostBShow .el-form-item__content {
- width: 65%;
- }
- .CostBShow .el-date-editor--date {
- width: 100%;
- }
- .Cost_topFlex .el-select {
- width: 400px;
- }
- .hiddenElement {
- visibility: hidden;
- }
- .cost-all .el-table__footer-wrapper .cell {
- white-space: pre;
- }
- .cost-all .el-date-editor.el-input,
- .el-date-editor.el-input__inner {
- width: 100%;
- }
- .biaogeB .el-table .el-input--small {
- width: 60%;
- }
- .biaogeKz .el-table .el-input--small {
- width: 60%;
- }
- .czbtn {
- width: 70px;
- }
- .tables .el-textarea {
- font-size: 12px;
- }
- .tables .el-button--mini {
- font-size: 12px;
- }
- .tables .el-textarea__inner {
- padding: 0;
- }
- .tables .el-input--suffix .el-input__inner {
- padding-right: 0px;
- padding-left: 0px;
- }
- .tables .el-date-editor .el-icon-date {
- display: none;
- }
- .form-ss .el-checkbox__label {
- font-size: 12px;
- }
- .tables .el-input--mini {
- font-size: 12px;
- }
- .tables .el-input__inner {
- padding: 0;
- text-align: center;
- }
- .sheet-box .el-table th.el-table__cell>.cell {
- font-size: 12px;
- }
- .sheet-box .el-input__inner {
- font-size: 12px;
- }
- .cost-all .el-form-item {
- margin-bottom: 5px;
- }
- .cost-all input::-webkit-inner-spin-button {
- -webkit-appearance: none !important;
- }
- .cost-all input::-webkit-outer-spin-button {
- -webkit-appearance: none !important;
- }
- .cost-all input[type="number"] {
- -moz-appearance: textfield;
- }
- .btntop:hover {
- cursor: pointer;
- color: #000;
- }
- .btnbottom:hover {
- cursor: pointer;
- color: #000;
- }
- .accon-ul {
- position: absolute;
- box-shadow: #0005 0 0 10px;
- width: 200px;
- z-index: 444;
- background-color: #fff;
- border-radius: 5px;
- display: none;
- }
- .accon-box .accons-ul {
- display: inline-block;
- }
- .accon-li {
- padding: 10px 5px;
- text-align: left;
- }
- .accon-li:hover {
- background-color: #0001;
- }
- .accon-ul:last-child {
- bottom: 15px;
- }
- .btn-dialog-cost {
- margin-top: 20px;
- text-align: right;
- }
- .history-btn {
- display: flex;
- justify-content: center;
- }
- .cost-all .el-table th.el-table__cell>.cell {
- text-align: center;
- }
- </style>
|