123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257 |
- (global["webpackJsonp"] = global["webpackJsonp"] || []).push([["mine/common/vendor"],{
- /***/ 1133:
- /*!**************************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/import.png ***!
- \**************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,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"
- /***/ }),
- /***/ 1162:
- /*!*********************************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/components/zb-table/js/util.js ***!
- \*********************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
- "use strict";
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.getScrollbarSize = void 0;
- /**
- * 获取滚动条宽度
- */
- var cached = undefined;
- var getScrollbarSize = function getScrollbarSize(fresh) {
- return cached;
- };
- exports.getScrollbarSize = getScrollbarSize;
- /***/ }),
- /***/ 1172:
- /*!*************************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/woman.png ***!
- \*************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAMAAABhEH5lAAAAbFBMVEUAAAD+Tmf/SmH/Tmf+Tmb/R2L+Tmf/Tmf+Tmf+T2f+T2b+T2f/Tmf+Tmb/TWX/SGj+T2f+Tmb+T2f+Tmb9Tmb/Tmf9Tmf9Tmb/Tmf+TmX/T2b/T2b+T2f+Tmb9Tmf/T2f6TmP/TGf/SWH+T2eQrN28AAAAI3RSTlMA5AavXw/xzvjz47qFah8J7dXDtp+SjXxZRj0rv6qpdzEvFTGn3DsAAACRSURBVBjTfY5JFoMgEERbICAOcYrGaOa6/x1DGnj6WFir4tMNnw4zFxlnh9QfFUAyeSqBhBjINiWDyH0/z2ppeEZ4tN7h0k69I8ToptFV9UUDT0Ek4JY06vDZyC5EE67EER3evmnbRNd4iTI6fPAIaIhohfTF6m2x8mXEKzxvsARzC8USMu451Ry9U81gvnz+ATYGCP+kftaZAAAAAElFTkSuQmCC"
- /***/ }),
- /***/ 1173:
- /*!***********************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/man.png ***!
- \***********************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAVCAMAAABBhy+7AAAAY1BMVEUAAABHdetHdOpHdepGdepJduxHdetGdepHdetGdOpGdOpFdOpBbOpGdepGdetHdepGdetFculEdOhEdelAcP9HdepGdOpGdOpGdOhGdOhHdepGdepHdupHdOxJcupHculHdeoHIwrRAAAAIHRSTlMA/c7s9w3j39bHWUELpp2QeSYgHQjzsG5MLO7PbE8xL26SjIUAAACOSURBVBjThcxHDsMwEENRKpIty72XVN7/lJlRLARZ5S0I/A2h6ntYlkufIXrlpPeGttI6HNsBmDoabc8NUUmrs+LUEVj5TDlKFmZG4n5ylmxYpRwI7AwpG8oU7BD19PpnWZTj9Ai8HhBTYHQb8FG1zjU7vrzFqbwIZ3Q3PTSC1G0h6iyrcyubIcmt7p98A8y2B/R3b4uaAAAAAElFTkSuQmCC"
- /***/ }),
- /***/ 1174:
- /*!************************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/year.png ***!
- \************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAATCAMAAACwcE1OAAAAkFBMVEUAAACzOAGzNwGzNwGzNwKzNwGxNwCzNwGzNwCzNgCzNwCzNwKzNwGzNwKzNwCwNACzOAKzNwG0OAGzNwCxNwCxNACzKQCzOAKzNwGzOAGzOAGzNwKyNgCyNgCeOwC0NwKyNwGzNwK0NwC0NwCyOQCzNwGzOAKzOAK0NwGxNwCzOAKzNwKyNwKxOACyOQCzOAKTs5eIAAAAL3RSTlMA6u/eh2kf53FKJfTjjlIR8tN9eBsWB/jHvLGeNSwE+s2iYVoMwamXbUOTgoFlP85iu1kAAAEGSURBVCjPZZDXlsIwDERdkji995BGFli2zf//3TrFJMA86XpkHY3IqrSiOnloEhebHHWBg1aBURSIjq6F6g9nRT78q6Rdkfxq7GgTo3fzB+poyIs8xKrMRZG+2gELg62MoZE3mfC2xpB+vNsd79eRN/w+OypNvaRMgpOuedrnKd/+bRiYraTMY1hF47nBdDcMv1KZ0QUddd/y9ZGBci7Args2ArQlFTy1WFZCKjJU3hgD6flxGy3BtHPpEO7sqc4wJ5i7TSnRcFNkuLCzgtmKv9GQgKOyuiUgna+XgP3MDd29hkjlcwmwqBSAEy/XZIAYBgpE65x7w0PHrZNsC2DWrhPy0ZL1P7OVGDwok4u1AAAAAElFTkSuQmCC"
- /***/ }),
- /***/ 1175:
- /*!************************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/head.png ***!
- \************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAMAAABiM0N1AAAAllBMVEUAAADa5Pva4/vb5Pzb4/zb4/za5PzX5P7a5PzZ4vzb5Pzb5Pvb4P/a5Pzb5Pzb5fzf5//a4/va4/va5Pvb5Pra5P3d5v/l7P3b5fza4/zp7v3e5vvk6vvb4/zb5Pzg6Pzd5fve5/vg6Pzf6v/Z5Pra4/v////7/P7d5vvq7/3z9v7u8v34+v7n7fzj6vzh6Pzw9P31+P4TIA7/AAAAJXRSTlMA2LP68K9hE0sc5pAHm2NOHfXRxVwwE9pj3vDRxVvwtLOxmzAvNFaZfQAAAptJREFUWMO9mNdu6zAMQD1iJ7YzmjTO6LibkjU88v8/d420qZCIVKQW6Hk1cECTlCgp+hb+5lWyKddpui43SZXXn5LsltkEbphkh2mgZpalgJJmswBNHoODOPfUrIyGUvlE9ZCAB0lxz7OdgBeTV6dmvgBvFnNHyR8hgMcd5SliCCIuiDQfIZDjA/pfMQQTT5E8U/npWiVV2xF5sjOO16tRnL3BVYPWzuofwBCcGbgAhNebRKN9KNk1EuvM64QnhMfDlFytU8LjZVpFBqzygmEIpAeMJ8fqxXCQ2uXOgAZCNDhCmmEBcULEkZBmjpIJRiHIwk1TumR+hUvfltwSEDgp4mBzOIsytGY0PVhkZxG2OnqHqEPWSTTyDxA6h6gFmxrvxnDRchRV8PVfg8p0kb+oJ7aADXy9/LAZRSVgnEjRCRDKUbQGDBGUa1iPohQgcNEipKQIFCFSQInWEBRSA9SvlYDTEpsISomXn/45CTgb05AB44hoyAq8TQNQVGbRorRXI9t0ELpoa3Ah9LtGC3BQkxub4urSB61Qou0vFRh6sJkQW217DuPU2M11wmPL0M1fcOocIzjx4YCMo04zA1e9iWbUfKA7ZBxFmasLuVRt1wqlHa2Q2CNbMm90Y43sKHZvZ/c2lNg61kgWhDbHmuuQFAtkeA/IsHKPafdkWt0eRodw0cmUzByPG87C6W+Px9EWOvYJBGztK4Ri4cgFdqnRwR7+glwjp3Fwlvh+GiEUx1DTvqCuok3I33HjsS/HjfT3vOyc13Xh6ZF/5nceEHrtE87TNrpDkZi9lmT4WXg9sjSDU6X3K+9nn4aMig/7POwhqkPC4rL9PYvCmB6yH52Qml8cWqon8zQWRr2skucybfq0fP5VLevoO/gP3B8twrO2xwEAAAAASUVORK5CYII="
- /***/ }),
- /***/ 1176:
- /*!**************************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/health.png ***!
- \**************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAAVCAMAAACT1yXjAAAAZlBMVEUAAABFzJlEy5k7x5xFy5lG0ZdR16NFxZdFy5lFy5hFy5lEy5lDy5lAw5BAz5pEy5hEy5lFy5lEy5lFzJlEyplEy5pFy5lFy5pDyppDzJg7sYpFy5lFy5lEyphFy5lDyphHyppFzJmSXoUCAAAAIXRSTlMA+eQM/BYGFvLt4MsbDxHc6dK5tZR3Zlc8IgbTwKmiSCs/X8rfAAAAlklEQVQY04XQ1w7DIAyFYTukGYzs1XSe93/JEqCCSlX7X34CyzLdss8GIsqRpwElEUOLpNrbiZJ+WVFXIROt4lA0Kt79mSfdtuVhHQdjt62zvSBnJI4MhdJ5cyeXR1tPItoMho1xjzZiXRnLBhVtgmqem7hijCYUWr33kNpaQz5zQT9Ano+bZj5DuoUjUhyyzxtlP37vBSS1DAWRxfZgAAAAAElFTkSuQmCC"
- /***/ }),
- /***/ 1177:
- /*!***********************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/mbg.png ***!
- \***********************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAF8AAABgBAMAAACJTrO+AAAAFVBMVEUAAABEdetDcus7budDdOtBbulDcOq9RtzSAAAAB3RSTlMAGRUFEQkNXPRfeAAAAzVJREFUWMOVl01XozAUhpnSdj2X0q5LrV1HmboGPc4adGbW4NH//xdGwsdDEhSShQfkfbifyaWBzwpV4LfqyI/YiGReDuUiRz89wFK97Hz0AMv1sl+an6RRH3KARXpVy8FDf1FBKbGX/hOIFui3Wn/bXN4BzOsBluif25sfImqR/0/d3QpgRg9QzNcXfbCeA+pWT0Ai1Xf6+0EPkH2XIPRsueM3ASQ6/y5w/fibTiWrFLF7LRT52fwROX2oKYdiNQFsRa/zqwXkMk7Jy+0ArKVdURseNSIACpAA9AkhYu0QBcxGwPnkEGvDoXt9B1AE10dNVOMI9mb8AYB275eOQ40MKCd+DQwte02Et5btJQ7dBAbAVnnq8y2FFb8LBA+NU1q3tg1kgQXwSAvLRoIBaAD6v9L/jwwDxQjoNjY7MtZp3GNgiBhguNfJPTZGMwz0yQaIzJaLmhCUbQDgrgMoapZzhK4wYAOULE4IIceADbALR6NsrQ2wBGBsgphr8tV1wBFgbKLiuvgKwASdeocBJjvAyO8hRqksoAIY1SIa0Ng+SYoJoO5l5ZBTjCsqPbJw6EOkzZgPdCvAPnB2BSMLgHLuAnaFmcDIHRIAifOqWg4aqCaBDWcxT/YMCQdY0VIUeseQsAF2hTke9Ik8CSRUjTJUPLeBjbZvZVUK0m4AhGBllU4wCrcjBPNNh86QsrK9pwWdJPE9gGX9IsFTYj52PXu0gFjHfOOO1QJLdoutrXriJAmf6cnN4CT5oOsnPu/uW9e5Mmds7tQ570LgsDY+cjj98CimIJGyemzIBJHxH7YWBQrtXIcJ5eI4YZ+wSwg5NujKCC9mHyLJjBoezK60y/AiRpybbkJTiBcT2IrVKXU7oYnJ7NUwHwwg0dMegwZQYgATozBCafhxABgwXnpRdIEG0JMi8tyIXvuqAmwe+TngOCXRJdVpGoDrWyLEN/nD6/yRplsNhOm/Ry0nAJdon5/0t2wrFjLuEG/iLPyZXH+SCf0z+gkj7zZyKYKZdX0/9eLT+feyX+hp+iDylKbB4sWUmV9MAl+g8AJWPgAjwGPVEi2Vcj57LZGdr4WjH1BGyg8Iv07qfyD5jN2gZiu8AAAAAElFTkSuQmCC"
- /***/ }),
- /***/ 1178:
- /*!************************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/wmbg.png ***!
- \************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAF8AAABgBAMAAACJTrO+AAAAElBMVEUAAAD/TWv/S2X/Q17/SmD/S2M+B+fMAAAABnRSTlMAGRMGCg8vJ4O6AAADAklEQVRYw7WXzXaqMBCAo+D+DsoerN1jtXuw7V6q9/1f5R4j8CUztwey6Cw8KvNl/pPgkqRxadJJGpGLXFP0s1qkStHvBWCpvmxT9AGW+e9ltzQ/Xr+sARbpu17KFP3GdQDz+gdf6SJJ3x2XABuZ9N1KZH59r//iAOb8Qd8DzRL92/hzLdIuqO+NeOaA7ukPwMxAvLH+ognasD5ANRPALv5L5I9z58/P008BlM4C2cNwcW/+51DRWODxwCMfCuglzOHl2RsApIMayUEXwANrgYiMSxHFfw2A1xoCA0HKj+Ov+gm07vztCVT6MKP5aA7AuXd5ZoUUNTp+gGZqzB012EYd4n8BMCrVFDIpJX4AeqcdQt6piBWAba/YoeIy/ydANHb9sFgtRWSgVYDO3yZYMyPiGMCp6uHlFQMkGwDpHya6wEvxI6AA1dRVL0XYIi4CHjbV2BR1mBZvAHsAxI0XtEgEFHZrqQhp6yKgAghNtHxv4ykBwARuHCmIBlSiCPmqrwIWoDE2wjNGe6UBjj6mgqo0FA5gcDwjmPB8sIfEo25qKmgs/7cBtqNHlU5gwaligZqlwug2BhhCzdmLA2c5JIyFNR4FS3FIaAtMhTpPMnoTC9RPleHKcw3k3pApA2lXgAmBu0mvTfeyJYR4pXIqn20NG0I2OLlShRiuUbovcHKDs4GrOckLOqnFUvSg4Jag5oRYdE+ubNkmJ8kH6fZ+mSpU+hu3IsaO5E3JYbNm1G05aV7f+GYzMY1xJG2MFjcKD+m7TRs4Xao5UVOidWR4zCSqOdRvJ92AU2q2Bg4itQHfooxfRPT2SRK4HPC4FlEOSaNXKEODsQcdBjAREJkCLtxb4kXLhkp6AH17X33zxMeYE+zlPS9LximRw8lXaQKybxFohBc12d9PTe51stPXXrwQgCEGaPwY9Ml4LN68EXJh5asWKwf0rWTGyGvrZuT8dzJT7O+NWySnd5GX07yyfnf5JYCdJkVWKQBHQIJwyMwK+3OSiGxTgSoN6JiAhfJzUv8B7sh8370/6zIAAAAASUVORK5CYII="
- /***/ }),
- /***/ 1179:
- /*!************************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/more.png ***!
- \************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAFCAYAAABfPyy9AAAAAXNSR0IArs4c6QAAALtJREFUKFO1kCsOwkAURe9tBQnIyZuuAIEiCCwKxQLA4tgAgrABDAYFSFZRhUA2YQmwgOlQV0jNtKSiyaS+T56c+34EABFZklyVZfkqiuKY57mtuV8iMgSwJ9lzzp2yLEvaThRFA+fcNgiCCYA4TdMrRWRH8uDJb5JjY8y3YUqpURiGTwD9hpGcG2PuXq7ulZCceuxMrfUHgPK3qapqba29NUxrfQGwaTmxtXbRMBGZkXy0rvp1P6DrF/0BzlBaJK9V7OIAAAAASUVORK5CYII="
- /***/ }),
- /***/ 1180:
- /*!****************************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/daupdata.png ***!
- \****************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAZ1JREFUOE+Vk01rE1EUhp93/Fg0kAg6xY0LcacggksREpAZ/QX+gJJaocuZus3eqIuCrf0L3Yq1pUh2IkK7EnEjFdzMTCnNiJTBzly5NRM7gcR4Nvfew32fc+655wjg9rw5d7GedBEPBTOAsX5rxuDI4Ytz5N7ZWFZW+u3qBfGc7MZfipcxLALHgL104h+a+J7+ym69f3HlqPT5YbICZuEPIIz3gUYB1y/suV+TG71TgCa9jix4aKUY6JeAFHA2a26djopK9JGDF0Srkh6B+nluWiWgD5zNap8avU6rEq3y5jBZFWYo3n4+uzs1wA+jFdAChjQvaFqxhU8F8MLoldC8FSO1Np+6O2Vm/wR4QbQmqQ38ADVPi/0gaU8E+EvRGkZtG1nGuff22aWP1ZrEW2MBXhg9FnoJpMYU3lb38ofR3/HDeGMs4H5wcLPQcbfIeVIW7L8Ak3rhbzdWMzhT33Mb6+vKpxEPOnj4hBRjzjvZbGN0YCbB/DB+d1IDL4jfSDww6LOM+TYySuMYNeDuAHB4VWSvka5Nm/5g1n/+BmRb1pwIf3RdAAAAAElFTkSuQmCC"
- /***/ }),
- /***/ 1202:
- /*!**********************************************************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/components/qiun-data-charts/js_sdk/u-charts/u-charts.js ***!
- \**********************************************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
- "use strict";
- /*
- * uCharts (R)
- * 高性能跨平台图表库,支持H5、APP、小程序(微信/支付宝/百度/头条/QQ/360/快手)、Vue、Taro等支持canvas的框架平台
- * Copyright (C) 2018-2022 QIUN (R) 秋云 https://www.ucharts.cn All rights reserved.
- * Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
- * 复制使用请保留本段注释,感谢支持开源!
- *
- * uCharts (R) 官方网站
- * https://www.uCharts.cn
- *
- * 开源地址:
- * https://gitee.com/uCharts/uCharts
- *
- * uni-app插件市场地址:
- * http://ext.dcloud.net.cn/plugin?id=271
- *
- */
- var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4);
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.default = void 0;
- var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ 5));
- var _typeof2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/typeof */ 13));
- var config = {
- version: 'v2.5.0-20230101',
- yAxisWidth: 15,
- xAxisHeight: 22,
- padding: [10, 10, 10, 10],
- rotate: false,
- fontSize: 13,
- fontColor: '#666666',
- dataPointShape: ['circle', 'circle', 'circle', 'circle'],
- color: ['#1890FF', '#91CB74', '#FAC858', '#EE6666', '#73C0DE', '#3CA272', '#FC8452', '#9A60B4', '#ea7ccc'],
- linearColor: ['#0EE2F8', '#2BDCA8', '#FA7D8D', '#EB88E2', '#2AE3A0', '#0EE2F8', '#EB88E2', '#6773E3', '#F78A85'],
- pieChartLinePadding: 15,
- pieChartTextPadding: 5,
- titleFontSize: 20,
- subtitleFontSize: 15,
- radarLabelTextMargin: 13
- };
- var assign = function assign(target) {
- for (var _len2 = arguments.length, varArgs = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
- varArgs[_key2 - 1] = arguments[_key2];
- }
- if (target == null) {
- throw new TypeError('[uCharts] Cannot convert undefined or null to object');
- }
- if (!varArgs || varArgs.length <= 0) {
- return target;
- }
- // 深度合并对象
- function deepAssign(obj1, obj2) {
- for (var key in obj2) {
- obj1[key] = obj1[key] && obj1[key].toString() === "[object Object]" ? deepAssign(obj1[key], obj2[key]) : obj1[key] = obj2[key];
- }
- return obj1;
- }
- varArgs.forEach(function (val) {
- target = deepAssign(target, val);
- });
- return target;
- };
- var util = {
- toFixed: function toFixed(num, limit) {
- limit = limit || 2;
- if (this.isFloat(num)) {
- num = num.toFixed(limit);
- }
- return num;
- },
- isFloat: function isFloat(num) {
- return num % 1 !== 0;
- },
- approximatelyEqual: function approximatelyEqual(num1, num2) {
- return Math.abs(num1 - num2) < 1e-10;
- },
- isSameSign: function isSameSign(num1, num2) {
- return Math.abs(num1) === num1 && Math.abs(num2) === num2 || Math.abs(num1) !== num1 && Math.abs(num2) !== num2;
- },
- isSameXCoordinateArea: function isSameXCoordinateArea(p1, p2) {
- return this.isSameSign(p1.x, p2.x);
- },
- isCollision: function isCollision(obj1, obj2) {
- obj1.end = {};
- obj1.end.x = obj1.start.x + obj1.width;
- obj1.end.y = obj1.start.y - obj1.height;
- obj2.end = {};
- obj2.end.x = obj2.start.x + obj2.width;
- obj2.end.y = obj2.start.y - obj2.height;
- var flag = obj2.start.x > obj1.end.x || obj2.end.x < obj1.start.x || obj2.end.y > obj1.start.y || obj2.start.y < obj1.end.y;
- return !flag;
- }
- };
- //兼容H5点击事件
- function getH5Offset(e) {
- e.mp = {
- changedTouches: []
- };
- e.mp.changedTouches.push({
- x: e.offsetX,
- y: e.offsetY
- });
- return e;
- }
- // hex 转 rgba
- function hexToRgb(hexValue, opc) {
- var rgx = /^#?([a-f\d])([a-f\d])([a-f\d])$/i;
- var hex = hexValue.replace(rgx, function (m, r, g, b) {
- return r + r + g + g + b + b;
- });
- var rgb = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
- var r = parseInt(rgb[1], 16);
- var g = parseInt(rgb[2], 16);
- var b = parseInt(rgb[3], 16);
- return 'rgba(' + r + ',' + g + ',' + b + ',' + opc + ')';
- }
- function findRange(num, type, limit) {
- if (isNaN(num)) {
- throw new Error('[uCharts] series数据需为Number格式');
- }
- limit = limit || 10;
- type = type ? type : 'upper';
- var multiple = 1;
- while (limit < 1) {
- limit *= 10;
- multiple *= 10;
- }
- if (type === 'upper') {
- num = Math.ceil(num * multiple);
- } else {
- num = Math.floor(num * multiple);
- }
- while (num % limit !== 0) {
- if (type === 'upper') {
- if (num == num + 1) {
- //修复数据值过大num++无效的bug by 向日葵 @xrk_jy
- break;
- }
- num++;
- } else {
- num--;
- }
- }
- return num / multiple;
- }
- function calCandleMA(dayArr, nameArr, colorArr, kdata) {
- var seriesTemp = [];
- for (var k = 0; k < dayArr.length; k++) {
- var seriesItem = {
- data: [],
- name: nameArr[k],
- color: colorArr[k]
- };
- for (var i = 0, len = kdata.length; i < len; i++) {
- if (i < dayArr[k]) {
- seriesItem.data.push(null);
- continue;
- }
- var sum = 0;
- for (var j = 0; j < dayArr[k]; j++) {
- sum += kdata[i - j][1];
- }
- seriesItem.data.push(+(sum / dayArr[k]).toFixed(3));
- }
- seriesTemp.push(seriesItem);
- }
- return seriesTemp;
- }
- function calValidDistance(self, distance, chartData, config, opts) {
- var dataChartAreaWidth = opts.width - opts.area[1] - opts.area[3];
- var dataChartWidth = chartData.eachSpacing * (opts.chartData.xAxisData.xAxisPoints.length - 1);
- if (opts.type == 'mount' && opts.extra && opts.extra.mount && opts.extra.mount.widthRatio && opts.extra.mount.widthRatio > 1) {
- if (opts.extra.mount.widthRatio > 2) opts.extra.mount.widthRatio = 2;
- dataChartWidth += (opts.extra.mount.widthRatio - 1) * chartData.eachSpacing;
- }
- var validDistance = distance;
- if (distance >= 0) {
- validDistance = 0;
- self.uevent.trigger('scrollLeft');
- self.scrollOption.position = 'left';
- opts.xAxis.scrollPosition = 'left';
- } else if (Math.abs(distance) >= dataChartWidth - dataChartAreaWidth) {
- validDistance = dataChartAreaWidth - dataChartWidth;
- self.uevent.trigger('scrollRight');
- self.scrollOption.position = 'right';
- opts.xAxis.scrollPosition = 'right';
- } else {
- self.scrollOption.position = distance;
- opts.xAxis.scrollPosition = distance;
- }
- return validDistance;
- }
- function isInAngleRange(angle, startAngle, endAngle) {
- function adjust(angle) {
- while (angle < 0) {
- angle += 2 * Math.PI;
- }
- while (angle > 2 * Math.PI) {
- angle -= 2 * Math.PI;
- }
- return angle;
- }
- angle = adjust(angle);
- startAngle = adjust(startAngle);
- endAngle = adjust(endAngle);
- if (startAngle > endAngle) {
- endAngle += 2 * Math.PI;
- if (angle < startAngle) {
- angle += 2 * Math.PI;
- }
- }
- return angle >= startAngle && angle <= endAngle;
- }
- function createCurveControlPoints(points, i) {
- function isNotMiddlePoint(points, i) {
- if (points[i - 1] && points[i + 1]) {
- return points[i].y >= Math.max(points[i - 1].y, points[i + 1].y) || points[i].y <= Math.min(points[i - 1].y, points[i + 1].y);
- } else {
- return false;
- }
- }
- function isNotMiddlePointX(points, i) {
- if (points[i - 1] && points[i + 1]) {
- return points[i].x >= Math.max(points[i - 1].x, points[i + 1].x) || points[i].x <= Math.min(points[i - 1].x, points[i + 1].x);
- } else {
- return false;
- }
- }
- var a = 0.2;
- var b = 0.2;
- var pAx = null;
- var pAy = null;
- var pBx = null;
- var pBy = null;
- if (i < 1) {
- pAx = points[0].x + (points[1].x - points[0].x) * a;
- pAy = points[0].y + (points[1].y - points[0].y) * a;
- } else {
- pAx = points[i].x + (points[i + 1].x - points[i - 1].x) * a;
- pAy = points[i].y + (points[i + 1].y - points[i - 1].y) * a;
- }
- if (i > points.length - 3) {
- var last = points.length - 1;
- pBx = points[last].x - (points[last].x - points[last - 1].x) * b;
- pBy = points[last].y - (points[last].y - points[last - 1].y) * b;
- } else {
- pBx = points[i + 1].x - (points[i + 2].x - points[i].x) * b;
- pBy = points[i + 1].y - (points[i + 2].y - points[i].y) * b;
- }
- if (isNotMiddlePoint(points, i + 1)) {
- pBy = points[i + 1].y;
- }
- if (isNotMiddlePoint(points, i)) {
- pAy = points[i].y;
- }
- if (isNotMiddlePointX(points, i + 1)) {
- pBx = points[i + 1].x;
- }
- if (isNotMiddlePointX(points, i)) {
- pAx = points[i].x;
- }
- if (pAy >= Math.max(points[i].y, points[i + 1].y) || pAy <= Math.min(points[i].y, points[i + 1].y)) {
- pAy = points[i].y;
- }
- if (pBy >= Math.max(points[i].y, points[i + 1].y) || pBy <= Math.min(points[i].y, points[i + 1].y)) {
- pBy = points[i + 1].y;
- }
- if (pAx >= Math.max(points[i].x, points[i + 1].x) || pAx <= Math.min(points[i].x, points[i + 1].x)) {
- pAx = points[i].x;
- }
- if (pBx >= Math.max(points[i].x, points[i + 1].x) || pBx <= Math.min(points[i].x, points[i + 1].x)) {
- pBx = points[i + 1].x;
- }
- return {
- ctrA: {
- x: pAx,
- y: pAy
- },
- ctrB: {
- x: pBx,
- y: pBy
- }
- };
- }
- function convertCoordinateOrigin(x, y, center) {
- return {
- x: center.x + x,
- y: center.y - y
- };
- }
- function avoidCollision(obj, target) {
- if (target) {
- // is collision test
- while (util.isCollision(obj, target)) {
- if (obj.start.x > 0) {
- obj.start.y--;
- } else if (obj.start.x < 0) {
- obj.start.y++;
- } else {
- if (obj.start.y > 0) {
- obj.start.y++;
- } else {
- obj.start.y--;
- }
- }
- }
- }
- return obj;
- }
- function fixPieSeries(series, opts, config) {
- var pieSeriesArr = [];
- if (series.length > 0 && series[0].data.constructor.toString().indexOf('Array') > -1) {
- opts._pieSeries_ = series;
- var oldseries = series[0].data;
- for (var i = 0; i < oldseries.length; i++) {
- oldseries[i].formatter = series[0].formatter;
- oldseries[i].data = oldseries[i].value;
- pieSeriesArr.push(oldseries[i]);
- }
- opts.series = pieSeriesArr;
- } else {
- pieSeriesArr = series;
- }
- return pieSeriesArr;
- }
- function fillSeries(series, opts, config) {
- var index = 0;
- for (var i = 0; i < series.length; i++) {
- var item = series[i];
- if (!item.color) {
- item.color = config.color[index];
- index = (index + 1) % config.color.length;
- }
- if (!item.linearIndex) {
- item.linearIndex = i;
- }
- if (!item.index) {
- item.index = 0;
- }
- if (!item.type) {
- item.type = opts.type;
- }
- if (typeof item.show == "undefined") {
- item.show = true;
- }
- if (!item.type) {
- item.type = opts.type;
- }
- if (!item.pointShape) {
- item.pointShape = "circle";
- }
- if (!item.legendShape) {
- switch (item.type) {
- case 'line':
- item.legendShape = "line";
- break;
- case 'column':
- case 'bar':
- item.legendShape = "rect";
- break;
- case 'area':
- case 'mount':
- item.legendShape = "triangle";
- break;
- default:
- item.legendShape = "circle";
- }
- }
- }
- return series;
- }
- function fillCustomColor(linearType, customColor, series, config) {
- var newcolor = customColor || [];
- if (linearType == 'custom' && newcolor.length == 0) {
- newcolor = config.linearColor;
- }
- if (linearType == 'custom' && newcolor.length < series.length) {
- var chazhi = series.length - newcolor.length;
- for (var i = 0; i < chazhi; i++) {
- newcolor.push(config.linearColor[(i + 1) % config.linearColor.length]);
- }
- }
- return newcolor;
- }
- function getDataRange(minData, maxData) {
- var limit = 0;
- var range = maxData - minData;
- if (range >= 10000) {
- limit = 1000;
- } else if (range >= 1000) {
- limit = 100;
- } else if (range >= 100) {
- limit = 10;
- } else if (range >= 10) {
- limit = 5;
- } else if (range >= 1) {
- limit = 1;
- } else if (range >= 0.1) {
- limit = 0.1;
- } else if (range >= 0.01) {
- limit = 0.01;
- } else if (range >= 0.001) {
- limit = 0.001;
- } else if (range >= 0.0001) {
- limit = 0.0001;
- } else if (range >= 0.00001) {
- limit = 0.00001;
- } else {
- limit = 0.000001;
- }
- return {
- minRange: findRange(minData, 'lower', limit),
- maxRange: findRange(maxData, 'upper', limit)
- };
- }
- function measureText(text, fontSize, context) {
- var width = 0;
- text = String(text);
- if (context !== false && context !== undefined && context.setFontSize && context.measureText) {
- context.setFontSize(fontSize);
- return context.measureText(text).width;
- } else {
- var text = text.split('');
- for (var i = 0; i < text.length; i++) {
- var item = text[i];
- if (/[a-zA-Z]/.test(item)) {
- width += 7;
- } else if (/[0-9]/.test(item)) {
- width += 5.5;
- } else if (/\./.test(item)) {
- width += 2.7;
- } else if (/-/.test(item)) {
- width += 3.25;
- } else if (/:/.test(item)) {
- width += 2.5;
- } else if (/[\u4e00-\u9fa5]/.test(item)) {
- width += 10;
- } else if (/\(|\)/.test(item)) {
- width += 3.73;
- } else if (/\s/.test(item)) {
- width += 2.5;
- } else if (/%/.test(item)) {
- width += 8;
- } else {
- width += 10;
- }
- }
- return width * fontSize / 10;
- }
- }
- function dataCombine(series) {
- return series.reduce(function (a, b) {
- return (a.data ? a.data : a).concat(b.data);
- }, []);
- }
- function dataCombineStack(series, len) {
- var sum = new Array(len);
- for (var j = 0; j < sum.length; j++) {
- sum[j] = 0;
- }
- for (var i = 0; i < series.length; i++) {
- for (var j = 0; j < sum.length; j++) {
- sum[j] += series[i].data[j];
- }
- }
- return series.reduce(function (a, b) {
- return (a.data ? a.data : a).concat(b.data).concat(sum);
- }, []);
- }
- function getTouches(touches, opts, e) {
- var x, y;
- if (touches.clientX) {
- if (opts.rotate) {
- y = opts.height - touches.clientX * opts.pix;
- x = (touches.pageY - e.currentTarget.offsetTop - opts.height / opts.pix / 2 * (opts.pix - 1)) * opts.pix;
- } else {
- x = touches.clientX * opts.pix;
- y = (touches.pageY - e.currentTarget.offsetTop - opts.height / opts.pix / 2 * (opts.pix - 1)) * opts.pix;
- }
- } else {
- if (opts.rotate) {
- y = opts.height - touches.x * opts.pix;
- x = touches.y * opts.pix;
- } else {
- x = touches.x * opts.pix;
- y = touches.y * opts.pix;
- }
- }
- return {
- x: x,
- y: y
- };
- }
- function getSeriesDataItem(series, index, group) {
- var data = [];
- var newSeries = [];
- var indexIsArr = index.constructor.toString().indexOf('Array') > -1;
- if (indexIsArr) {
- var tempSeries = filterSeries(series);
- for (var i = 0; i < group.length; i++) {
- newSeries.push(tempSeries[group[i]]);
- }
- } else {
- newSeries = series;
- }
- ;
- for (var _i = 0; _i < newSeries.length; _i++) {
- var item = newSeries[_i];
- var tmpindex = -1;
- if (indexIsArr) {
- tmpindex = index[_i];
- } else {
- tmpindex = index;
- }
- if (item.data[tmpindex] !== null && typeof item.data[tmpindex] !== 'undefined' && item.show) {
- var seriesItem = {};
- seriesItem.color = item.color;
- seriesItem.type = item.type;
- seriesItem.style = item.style;
- seriesItem.pointShape = item.pointShape;
- seriesItem.disableLegend = item.disableLegend;
- seriesItem.legendShape = item.legendShape;
- seriesItem.name = item.name;
- seriesItem.show = item.show;
- seriesItem.data = item.formatter ? item.formatter(item.data[tmpindex]) : item.data[tmpindex];
- data.push(seriesItem);
- }
- }
- return data;
- }
- function getMaxTextListLength(list, fontSize, context) {
- var lengthList = list.map(function (item) {
- return measureText(item, fontSize, context);
- });
- return Math.max.apply(null, lengthList);
- }
- function getRadarCoordinateSeries(length) {
- var eachAngle = 2 * Math.PI / length;
- var CoordinateSeries = [];
- for (var i = 0; i < length; i++) {
- CoordinateSeries.push(eachAngle * i);
- }
- return CoordinateSeries.map(function (item) {
- return -1 * item + Math.PI / 2;
- });
- }
- function getToolTipData(seriesData, opts, index, group, categories) {
- var option = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};
- var calPoints = opts.chartData.calPoints ? opts.chartData.calPoints : [];
- var points = {};
- if (group.length > 0) {
- var filterPoints = [];
- for (var i = 0; i < group.length; i++) {
- filterPoints.push(calPoints[group[i]]);
- }
- points = filterPoints[0][index[0]];
- } else {
- for (var _i2 = 0; _i2 < calPoints.length; _i2++) {
- if (calPoints[_i2][index]) {
- points = calPoints[_i2][index];
- break;
- }
- }
- }
- ;
- var textList = seriesData.map(function (item) {
- var titleText = null;
- if (opts.categories && opts.categories.length > 0) {
- titleText = categories[index];
- }
- ;
- return {
- text: option.formatter ? option.formatter(item, titleText, index, opts) : item.name + ': ' + item.data,
- color: item.color,
- legendShape: opts.extra.tooltip.legendShape == 'auto' ? item.legendShape : opts.extra.tooltip.legendShape
- };
- });
- var offset = {
- x: Math.round(points.x),
- y: Math.round(points.y)
- };
- return {
- textList: textList,
- offset: offset
- };
- }
- function getMixToolTipData(seriesData, opts, index, categories) {
- var option = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};
- var points = opts.chartData.xAxisPoints[index] + opts.chartData.eachSpacing / 2;
- var textList = seriesData.map(function (item) {
- return {
- text: option.formatter ? option.formatter(item, categories[index], index, opts) : item.name + ': ' + item.data,
- color: item.color,
- disableLegend: item.disableLegend ? true : false,
- legendShape: opts.extra.tooltip.legendShape == 'auto' ? item.legendShape : opts.extra.tooltip.legendShape
- };
- });
- textList = textList.filter(function (item) {
- if (item.disableLegend !== true) {
- return item;
- }
- });
- var offset = {
- x: Math.round(points),
- y: 0
- };
- return {
- textList: textList,
- offset: offset
- };
- }
- function getCandleToolTipData(series, seriesData, opts, index, categories, extra) {
- var option = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : {};
- var calPoints = opts.chartData.calPoints;
- var upColor = extra.color.upFill;
- var downColor = extra.color.downFill;
- //颜色顺序为开盘,收盘,最低,最高
- var color = [upColor, upColor, downColor, upColor];
- var textList = [];
- seriesData.map(function (item) {
- if (index == 0) {
- if (item.data[1] - item.data[0] < 0) {
- color[1] = downColor;
- } else {
- color[1] = upColor;
- }
- } else {
- if (item.data[0] < series[index - 1][1]) {
- color[0] = downColor;
- }
- if (item.data[1] < item.data[0]) {
- color[1] = downColor;
- }
- if (item.data[2] > series[index - 1][1]) {
- color[2] = upColor;
- }
- if (item.data[3] < series[index - 1][1]) {
- color[3] = downColor;
- }
- }
- var text1 = {
- text: '开盘:' + item.data[0],
- color: color[0],
- legendShape: opts.extra.tooltip.legendShape == 'auto' ? item.legendShape : opts.extra.tooltip.legendShape
- };
- var text2 = {
- text: '收盘:' + item.data[1],
- color: color[1],
- legendShape: opts.extra.tooltip.legendShape == 'auto' ? item.legendShape : opts.extra.tooltip.legendShape
- };
- var text3 = {
- text: '最低:' + item.data[2],
- color: color[2],
- legendShape: opts.extra.tooltip.legendShape == 'auto' ? item.legendShape : opts.extra.tooltip.legendShape
- };
- var text4 = {
- text: '最高:' + item.data[3],
- color: color[3],
- legendShape: opts.extra.tooltip.legendShape == 'auto' ? item.legendShape : opts.extra.tooltip.legendShape
- };
- textList.push(text1, text2, text3, text4);
- });
- var validCalPoints = [];
- var offset = {
- x: 0,
- y: 0
- };
- for (var i = 0; i < calPoints.length; i++) {
- var points = calPoints[i];
- if (typeof points[index] !== 'undefined' && points[index] !== null) {
- validCalPoints.push(points[index]);
- }
- }
- offset.x = Math.round(validCalPoints[0][0].x);
- return {
- textList: textList,
- offset: offset
- };
- }
- function filterSeries(series) {
- var tempSeries = [];
- for (var i = 0; i < series.length; i++) {
- if (series[i].show == true) {
- tempSeries.push(series[i]);
- }
- }
- return tempSeries;
- }
- function findCurrentIndex(currentPoints, calPoints, opts, config) {
- var offset = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;
- var current = {
- index: -1,
- group: []
- };
- var spacing = opts.chartData.eachSpacing / 2;
- var xAxisPoints = [];
- if (calPoints && calPoints.length > 0) {
- if (!opts.categories) {
- spacing = 0;
- } else {
- for (var i = 1; i < opts.chartData.xAxisPoints.length; i++) {
- xAxisPoints.push(opts.chartData.xAxisPoints[i] - spacing);
- }
- if ((opts.type == 'line' || opts.type == 'area') && opts.xAxis.boundaryGap == 'justify') {
- xAxisPoints = opts.chartData.xAxisPoints;
- }
- }
- if (isInExactChartArea(currentPoints, opts, config)) {
- if (!opts.categories) {
- var timePoints = Array(calPoints.length);
- for (var _i3 = 0; _i3 < calPoints.length; _i3++) {
- timePoints[_i3] = Array(calPoints[_i3].length);
- for (var j = 0; j < calPoints[_i3].length; j++) {
- timePoints[_i3][j] = Math.abs(calPoints[_i3][j].x - currentPoints.x);
- }
- }
- ;
- var pointValue = Array(timePoints.length);
- var pointIndex = Array(timePoints.length);
- for (var _i4 = 0; _i4 < timePoints.length; _i4++) {
- pointValue[_i4] = Math.min.apply(null, timePoints[_i4]);
- pointIndex[_i4] = timePoints[_i4].indexOf(pointValue[_i4]);
- }
- var minValue = Math.min.apply(null, pointValue);
- current.index = [];
- for (var _i5 = 0; _i5 < pointValue.length; _i5++) {
- if (pointValue[_i5] == minValue) {
- current.group.push(_i5);
- current.index.push(pointIndex[_i5]);
- }
- }
- ;
- } else {
- xAxisPoints.forEach(function (item, index) {
- if (currentPoints.x + offset + spacing > item) {
- current.index = index;
- }
- });
- }
- }
- }
- return current;
- }
- function findBarChartCurrentIndex(currentPoints, calPoints, opts, config) {
- var offset = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;
- var current = {
- index: -1,
- group: []
- };
- var spacing = opts.chartData.eachSpacing / 2;
- var yAxisPoints = opts.chartData.yAxisPoints;
- if (calPoints && calPoints.length > 0) {
- if (isInExactChartArea(currentPoints, opts, config)) {
- yAxisPoints.forEach(function (item, index) {
- if (currentPoints.y + offset + spacing > item) {
- current.index = index;
- }
- });
- }
- }
- return current;
- }
- function findLegendIndex(currentPoints, legendData, opts) {
- var currentIndex = -1;
- var gap = 0;
- if (isInExactLegendArea(currentPoints, legendData.area)) {
- var points = legendData.points;
- var index = -1;
- for (var i = 0, len = points.length; i < len; i++) {
- var item = points[i];
- for (var j = 0; j < item.length; j++) {
- index += 1;
- var area = item[j]['area'];
- if (area && currentPoints.x > area[0] - gap && currentPoints.x < area[2] + gap && currentPoints.y > area[1] - gap && currentPoints.y < area[3] + gap) {
- currentIndex = index;
- break;
- }
- }
- }
- return currentIndex;
- }
- return currentIndex;
- }
- function isInExactLegendArea(currentPoints, area) {
- return currentPoints.x > area.start.x && currentPoints.x < area.end.x && currentPoints.y > area.start.y && currentPoints.y < area.end.y;
- }
- function isInExactChartArea(currentPoints, opts, config) {
- return currentPoints.x <= opts.width - opts.area[1] + 10 && currentPoints.x >= opts.area[3] - 10 && currentPoints.y >= opts.area[0] && currentPoints.y <= opts.height - opts.area[2];
- }
- function findRadarChartCurrentIndex(currentPoints, radarData, count) {
- var eachAngleArea = 2 * Math.PI / count;
- var currentIndex = -1;
- if (isInExactPieChartArea(currentPoints, radarData.center, radarData.radius)) {
- var fixAngle = function fixAngle(angle) {
- if (angle < 0) {
- angle += 2 * Math.PI;
- }
- if (angle > 2 * Math.PI) {
- angle -= 2 * Math.PI;
- }
- return angle;
- };
- var angle = Math.atan2(radarData.center.y - currentPoints.y, currentPoints.x - radarData.center.x);
- angle = -1 * angle;
- if (angle < 0) {
- angle += 2 * Math.PI;
- }
- var angleList = radarData.angleList.map(function (item) {
- item = fixAngle(-1 * item);
- return item;
- });
- angleList.forEach(function (item, index) {
- var rangeStart = fixAngle(item - eachAngleArea / 2);
- var rangeEnd = fixAngle(item + eachAngleArea / 2);
- if (rangeEnd < rangeStart) {
- rangeEnd += 2 * Math.PI;
- }
- if (angle >= rangeStart && angle <= rangeEnd || angle + 2 * Math.PI >= rangeStart && angle + 2 * Math.PI <= rangeEnd) {
- currentIndex = index;
- }
- });
- }
- return currentIndex;
- }
- function findFunnelChartCurrentIndex(currentPoints, funnelData) {
- var currentIndex = -1;
- for (var i = 0, len = funnelData.series.length; i < len; i++) {
- var item = funnelData.series[i];
- if (currentPoints.x > item.funnelArea[0] && currentPoints.x < item.funnelArea[2] && currentPoints.y > item.funnelArea[1] && currentPoints.y < item.funnelArea[3]) {
- currentIndex = i;
- break;
- }
- }
- return currentIndex;
- }
- function findWordChartCurrentIndex(currentPoints, wordData) {
- var currentIndex = -1;
- for (var i = 0, len = wordData.length; i < len; i++) {
- var item = wordData[i];
- if (currentPoints.x > item.area[0] && currentPoints.x < item.area[2] && currentPoints.y > item.area[1] && currentPoints.y < item.area[3]) {
- currentIndex = i;
- break;
- }
- }
- return currentIndex;
- }
- function findMapChartCurrentIndex(currentPoints, opts) {
- var currentIndex = -1;
- var cData = opts.chartData.mapData;
- var data = opts.series;
- var tmp = pointToCoordinate(currentPoints.y, currentPoints.x, cData.bounds, cData.scale, cData.xoffset, cData.yoffset);
- var poi = [tmp.x, tmp.y];
- for (var i = 0, len = data.length; i < len; i++) {
- var item = data[i].geometry.coordinates;
- if (isPoiWithinPoly(poi, item, opts.chartData.mapData.mercator)) {
- currentIndex = i;
- break;
- }
- }
- return currentIndex;
- }
- function findRoseChartCurrentIndex(currentPoints, pieData, opts) {
- var currentIndex = -1;
- var series = getRoseDataPoints(opts._series_, opts.extra.rose.type, pieData.radius, pieData.radius);
- if (pieData && pieData.center && isInExactPieChartArea(currentPoints, pieData.center, pieData.radius)) {
- var angle = Math.atan2(pieData.center.y - currentPoints.y, currentPoints.x - pieData.center.x);
- angle = -angle;
- if (opts.extra.rose && opts.extra.rose.offsetAngle) {
- angle = angle - opts.extra.rose.offsetAngle * Math.PI / 180;
- }
- for (var i = 0, len = series.length; i < len; i++) {
- if (isInAngleRange(angle, series[i]._start_, series[i]._start_ + series[i]._rose_proportion_ * 2 * Math.PI)) {
- currentIndex = i;
- break;
- }
- }
- }
- return currentIndex;
- }
- function findPieChartCurrentIndex(currentPoints, pieData, opts) {
- var currentIndex = -1;
- var series = getPieDataPoints(pieData.series);
- if (pieData && pieData.center && isInExactPieChartArea(currentPoints, pieData.center, pieData.radius)) {
- var angle = Math.atan2(pieData.center.y - currentPoints.y, currentPoints.x - pieData.center.x);
- angle = -angle;
- if (opts.extra.pie && opts.extra.pie.offsetAngle) {
- angle = angle - opts.extra.pie.offsetAngle * Math.PI / 180;
- }
- if (opts.extra.ring && opts.extra.ring.offsetAngle) {
- angle = angle - opts.extra.ring.offsetAngle * Math.PI / 180;
- }
- for (var i = 0, len = series.length; i < len; i++) {
- if (isInAngleRange(angle, series[i]._start_, series[i]._start_ + series[i]._proportion_ * 2 * Math.PI)) {
- currentIndex = i;
- break;
- }
- }
- }
- return currentIndex;
- }
- function isInExactPieChartArea(currentPoints, center, radius) {
- return Math.pow(currentPoints.x - center.x, 2) + Math.pow(currentPoints.y - center.y, 2) <= Math.pow(radius, 2);
- }
- function splitPoints(points, eachSeries) {
- var newPoints = [];
- var items = [];
- points.forEach(function (item, index) {
- if (eachSeries.connectNulls) {
- if (item !== null) {
- items.push(item);
- }
- } else {
- if (item !== null) {
- items.push(item);
- } else {
- if (items.length) {
- newPoints.push(items);
- }
- items = [];
- }
- }
- });
- if (items.length) {
- newPoints.push(items);
- }
- return newPoints;
- }
- function calLegendData(series, opts, config, chartData, context) {
- var legendData = {
- area: {
- start: {
- x: 0,
- y: 0
- },
- end: {
- x: 0,
- y: 0
- },
- width: 0,
- height: 0,
- wholeWidth: 0,
- wholeHeight: 0
- },
- points: [],
- widthArr: [],
- heightArr: []
- };
- if (opts.legend.show === false) {
- chartData.legendData = legendData;
- return legendData;
- }
- var padding = opts.legend.padding * opts.pix;
- var margin = opts.legend.margin * opts.pix;
- var fontSize = opts.legend.fontSize ? opts.legend.fontSize * opts.pix : config.fontSize;
- var shapeWidth = 15 * opts.pix;
- var shapeRight = 5 * opts.pix;
- var lineHeight = Math.max(opts.legend.lineHeight * opts.pix, fontSize);
- if (opts.legend.position == 'top' || opts.legend.position == 'bottom') {
- var legendList = [];
- var widthCount = 0;
- var widthCountArr = [];
- var currentRow = [];
- for (var i = 0; i < series.length; i++) {
- var item = series[i];
- var legendText = item.legendText ? item.legendText : item.name;
- var itemWidth = shapeWidth + shapeRight + measureText(legendText || 'undefined', fontSize, context) + opts.legend.itemGap * opts.pix;
- if (widthCount + itemWidth > opts.width - opts.area[1] - opts.area[3]) {
- legendList.push(currentRow);
- widthCountArr.push(widthCount - opts.legend.itemGap * opts.pix);
- widthCount = itemWidth;
- currentRow = [item];
- } else {
- widthCount += itemWidth;
- currentRow.push(item);
- }
- }
- if (currentRow.length) {
- legendList.push(currentRow);
- widthCountArr.push(widthCount - opts.legend.itemGap * opts.pix);
- legendData.widthArr = widthCountArr;
- var legendWidth = Math.max.apply(null, widthCountArr);
- switch (opts.legend.float) {
- case 'left':
- legendData.area.start.x = opts.area[3];
- legendData.area.end.x = opts.area[3] + legendWidth + 2 * padding;
- break;
- case 'right':
- legendData.area.start.x = opts.width - opts.area[1] - legendWidth - 2 * padding;
- legendData.area.end.x = opts.width - opts.area[1];
- break;
- default:
- legendData.area.start.x = (opts.width - legendWidth) / 2 - padding;
- legendData.area.end.x = (opts.width + legendWidth) / 2 + padding;
- }
- legendData.area.width = legendWidth + 2 * padding;
- legendData.area.wholeWidth = legendWidth + 2 * padding;
- legendData.area.height = legendList.length * lineHeight + 2 * padding;
- legendData.area.wholeHeight = legendList.length * lineHeight + 2 * padding + 2 * margin;
- legendData.points = legendList;
- }
- } else {
- var len = series.length;
- var maxHeight = opts.height - opts.area[0] - opts.area[2] - 2 * margin - 2 * padding;
- var maxLength = Math.min(Math.floor(maxHeight / lineHeight), len);
- legendData.area.height = maxLength * lineHeight + padding * 2;
- legendData.area.wholeHeight = maxLength * lineHeight + padding * 2;
- switch (opts.legend.float) {
- case 'top':
- legendData.area.start.y = opts.area[0] + margin;
- legendData.area.end.y = opts.area[0] + margin + legendData.area.height;
- break;
- case 'bottom':
- legendData.area.start.y = opts.height - opts.area[2] - margin - legendData.area.height;
- legendData.area.end.y = opts.height - opts.area[2] - margin;
- break;
- default:
- legendData.area.start.y = (opts.height - legendData.area.height) / 2;
- legendData.area.end.y = (opts.height + legendData.area.height) / 2;
- }
- var lineNum = len % maxLength === 0 ? len / maxLength : Math.floor(len / maxLength + 1);
- var _currentRow = [];
- for (var _i6 = 0; _i6 < lineNum; _i6++) {
- var temp = series.slice(_i6 * maxLength, _i6 * maxLength + maxLength);
- _currentRow.push(temp);
- }
- legendData.points = _currentRow;
- if (_currentRow.length) {
- for (var _i7 = 0; _i7 < _currentRow.length; _i7++) {
- var _item = _currentRow[_i7];
- var maxWidth = 0;
- for (var j = 0; j < _item.length; j++) {
- var _itemWidth = shapeWidth + shapeRight + measureText(_item[j].name || 'undefined', fontSize, context) + opts.legend.itemGap * opts.pix;
- if (_itemWidth > maxWidth) {
- maxWidth = _itemWidth;
- }
- }
- legendData.widthArr.push(maxWidth);
- legendData.heightArr.push(_item.length * lineHeight + padding * 2);
- }
- var _legendWidth = 0;
- for (var _i8 = 0; _i8 < legendData.widthArr.length; _i8++) {
- _legendWidth += legendData.widthArr[_i8];
- }
- legendData.area.width = _legendWidth - opts.legend.itemGap * opts.pix + 2 * padding;
- legendData.area.wholeWidth = legendData.area.width + padding;
- }
- }
- switch (opts.legend.position) {
- case 'top':
- legendData.area.start.y = opts.area[0] + margin;
- legendData.area.end.y = opts.area[0] + margin + legendData.area.height;
- break;
- case 'bottom':
- legendData.area.start.y = opts.height - opts.area[2] - legendData.area.height - margin;
- legendData.area.end.y = opts.height - opts.area[2] - margin;
- break;
- case 'left':
- legendData.area.start.x = opts.area[3];
- legendData.area.end.x = opts.area[3] + legendData.area.width;
- break;
- case 'right':
- legendData.area.start.x = opts.width - opts.area[1] - legendData.area.width;
- legendData.area.end.x = opts.width - opts.area[1];
- break;
- }
- chartData.legendData = legendData;
- return legendData;
- }
- function calCategoriesData(categories, opts, config, eachSpacing, context) {
- var result = {
- angle: 0,
- xAxisHeight: opts.xAxis.lineHeight * opts.pix + opts.xAxis.marginTop * opts.pix
- };
- var fontSize = opts.xAxis.fontSize * opts.pix;
- var categoriesTextLenth = categories.map(function (item, index) {
- var xitem = opts.xAxis.formatter ? opts.xAxis.formatter(item, index, opts) : item;
- return measureText(String(xitem), fontSize, context);
- });
- var maxTextLength = Math.max.apply(this, categoriesTextLenth);
- if (opts.xAxis.rotateLabel == true) {
- result.angle = opts.xAxis.rotateAngle * Math.PI / 180;
- var tempHeight = opts.xAxis.marginTop * opts.pix * 2 + Math.abs(maxTextLength * Math.sin(result.angle));
- tempHeight = tempHeight < fontSize + opts.xAxis.marginTop * opts.pix * 2 ? tempHeight + opts.xAxis.marginTop * opts.pix * 2 : tempHeight;
- result.xAxisHeight = tempHeight;
- }
- if (opts.enableScroll && opts.xAxis.scrollShow) {
- result.xAxisHeight += 6 * opts.pix;
- }
- if (opts.xAxis.disabled) {
- result.xAxisHeight = 0;
- }
- return result;
- }
- function getXAxisTextList(series, opts, config, stack) {
- var index = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : -1;
- var data;
- if (stack == 'stack') {
- data = dataCombineStack(series, opts.categories.length);
- } else {
- data = dataCombine(series);
- }
- var sorted = [];
- // remove null from data
- data = data.filter(function (item) {
- //return item !== null;
- if ((0, _typeof2.default)(item) === 'object' && item !== null) {
- if (item.constructor.toString().indexOf('Array') > -1) {
- return item !== null;
- } else {
- return item.value !== null;
- }
- } else {
- return item !== null;
- }
- });
- data.map(function (item) {
- if ((0, _typeof2.default)(item) === 'object') {
- if (item.constructor.toString().indexOf('Array') > -1) {
- if (opts.type == 'candle') {
- item.map(function (subitem) {
- sorted.push(subitem);
- });
- } else {
- sorted.push(item[0]);
- }
- } else {
- sorted.push(item.value);
- }
- } else {
- sorted.push(item);
- }
- });
- var minData = 0;
- var maxData = 0;
- if (sorted.length > 0) {
- minData = Math.min.apply(this, sorted);
- maxData = Math.max.apply(this, sorted);
- }
- //为了兼容v1.9.0之前的项目
- if (index > -1) {
- if (typeof opts.xAxis.data[index].min === 'number') {
- minData = Math.min(opts.xAxis.data[index].min, minData);
- }
- if (typeof opts.xAxis.data[index].max === 'number') {
- maxData = Math.max(opts.xAxis.data[index].max, maxData);
- }
- } else {
- if (typeof opts.xAxis.min === 'number') {
- minData = Math.min(opts.xAxis.min, minData);
- }
- if (typeof opts.xAxis.max === 'number') {
- maxData = Math.max(opts.xAxis.max, maxData);
- }
- }
- if (minData === maxData) {
- var rangeSpan = maxData || 10;
- maxData += rangeSpan;
- }
- //var dataRange = getDataRange(minData, maxData);
- var minRange = minData;
- var maxRange = maxData;
- var range = [];
- var eachRange = (maxRange - minRange) / opts.xAxis.splitNumber;
- for (var i = 0; i <= opts.xAxis.splitNumber; i++) {
- range.push(minRange + eachRange * i);
- }
- return range;
- }
- function calXAxisData(series, opts, config, context) {
- //堆叠图重算Y轴
- var columnstyle = assign({}, {
- type: ""
- }, opts.extra.bar);
- var result = {
- angle: 0,
- xAxisHeight: opts.xAxis.lineHeight * opts.pix + opts.xAxis.marginTop * opts.pix
- };
- result.ranges = getXAxisTextList(series, opts, config, columnstyle.type);
- result.rangesFormat = result.ranges.map(function (item) {
- //item = opts.xAxis.formatter ? opts.xAxis.formatter(item) : util.toFixed(item, 2);
- item = util.toFixed(item, 2);
- return item;
- });
- var xAxisScaleValues = result.ranges.map(function (item) {
- // 如果刻度值是浮点数,则保留两位小数
- item = util.toFixed(item, 2);
- // 若有自定义格式则调用自定义的格式化函数
- //item = opts.xAxis.formatter ? opts.xAxis.formatter(Number(item)) : item;
- return item;
- });
- result = Object.assign(result, getXAxisPoints(xAxisScaleValues, opts, config));
- // 计算X轴刻度的属性譬如每个刻度的间隔,刻度的起始点\结束点以及总长
- var eachSpacing = result.eachSpacing;
- var textLength = xAxisScaleValues.map(function (item) {
- return measureText(item, opts.xAxis.fontSize * opts.pix, context);
- });
- if (opts.xAxis.disabled === true) {
- result.xAxisHeight = 0;
- }
- return result;
- }
- function getRadarDataPoints(angleList, center, radius, series, opts) {
- var process = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 1;
- var radarOption = opts.extra.radar || {};
- radarOption.max = radarOption.max || 0;
- var maxData = Math.max(radarOption.max, Math.max.apply(null, dataCombine(series)));
- var data = [];
- var _loop2 = function _loop2(i) {
- var each = series[i];
- var listItem = {};
- listItem.color = each.color;
- listItem.legendShape = each.legendShape;
- listItem.pointShape = each.pointShape;
- listItem.data = [];
- each.data.forEach(function (item, index) {
- var tmp = {};
- tmp.angle = angleList[index];
- tmp.proportion = item / maxData;
- tmp.value = item;
- tmp.position = convertCoordinateOrigin(radius * tmp.proportion * process * Math.cos(tmp.angle), radius * tmp.proportion * process * Math.sin(tmp.angle), center);
- listItem.data.push(tmp);
- });
- data.push(listItem);
- };
- for (var i = 0; i < series.length; i++) {
- _loop2(i);
- }
- return data;
- }
- function getPieDataPoints(series, radius) {
- var process = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
- var count = 0;
- var _start_ = 0;
- for (var i = 0; i < series.length; i++) {
- var item = series[i];
- item.data = item.data === null ? 0 : item.data;
- count += item.data;
- }
- for (var _i9 = 0; _i9 < series.length; _i9++) {
- var _item2 = series[_i9];
- _item2.data = _item2.data === null ? 0 : _item2.data;
- if (count === 0) {
- _item2._proportion_ = 1 / series.length * process;
- } else {
- _item2._proportion_ = _item2.data / count * process;
- }
- _item2._radius_ = radius;
- }
- for (var _i10 = 0; _i10 < series.length; _i10++) {
- var _item3 = series[_i10];
- _item3._start_ = _start_;
- _start_ += 2 * _item3._proportion_ * Math.PI;
- }
- return series;
- }
- function getFunnelDataPoints(series, radius, option, eachSpacing) {
- var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;
- for (var i = 0; i < series.length; i++) {
- if (option.type == 'funnel') {
- series[i].radius = series[i].data / series[0].data * radius * process;
- } else {
- series[i].radius = eachSpacing * (series.length - i) / (eachSpacing * series.length) * radius * process;
- }
- series[i]._proportion_ = series[i].data / series[0].data;
- }
- // if(option.type !== 'pyramid'){
- // series.reverse();
- // }
- return series;
- }
- function getRoseDataPoints(series, type, minRadius, radius) {
- var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;
- var count = 0;
- var _start_ = 0;
- var dataArr = [];
- for (var i = 0; i < series.length; i++) {
- var item = series[i];
- item.data = item.data === null ? 0 : item.data;
- count += item.data;
- dataArr.push(item.data);
- }
- var minData = Math.min.apply(null, dataArr);
- var maxData = Math.max.apply(null, dataArr);
- var radiusLength = radius - minRadius;
- for (var _i11 = 0; _i11 < series.length; _i11++) {
- var _item4 = series[_i11];
- _item4.data = _item4.data === null ? 0 : _item4.data;
- if (count === 0) {
- _item4._proportion_ = 1 / series.length * process;
- _item4._rose_proportion_ = 1 / series.length * process;
- } else {
- _item4._proportion_ = _item4.data / count * process;
- if (type == 'area') {
- _item4._rose_proportion_ = 1 / series.length * process;
- } else {
- _item4._rose_proportion_ = _item4.data / count * process;
- }
- }
- _item4._radius_ = minRadius + radiusLength * ((_item4.data - minData) / (maxData - minData)) || radius;
- }
- for (var _i12 = 0; _i12 < series.length; _i12++) {
- var _item5 = series[_i12];
- _item5._start_ = _start_;
- _start_ += 2 * _item5._rose_proportion_ * Math.PI;
- }
- return series;
- }
- function getArcbarDataPoints(series, arcbarOption) {
- var process = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
- if (process == 1) {
- process = 0.999999;
- }
- for (var i = 0; i < series.length; i++) {
- var item = series[i];
- item.data = item.data === null ? 0 : item.data;
- var totalAngle = void 0;
- if (arcbarOption.type == 'circle') {
- totalAngle = 2;
- } else {
- if (arcbarOption.direction == 'ccw') {
- if (arcbarOption.startAngle < arcbarOption.endAngle) {
- totalAngle = 2 + arcbarOption.startAngle - arcbarOption.endAngle;
- } else {
- totalAngle = arcbarOption.startAngle - arcbarOption.endAngle;
- }
- } else {
- if (arcbarOption.endAngle < arcbarOption.startAngle) {
- totalAngle = 2 + arcbarOption.endAngle - arcbarOption.startAngle;
- } else {
- totalAngle = arcbarOption.startAngle - arcbarOption.endAngle;
- }
- }
- }
- item._proportion_ = totalAngle * item.data * process + arcbarOption.startAngle;
- if (arcbarOption.direction == 'ccw') {
- item._proportion_ = arcbarOption.startAngle - totalAngle * item.data * process;
- }
- if (item._proportion_ >= 2) {
- item._proportion_ = item._proportion_ % 2;
- }
- }
- return series;
- }
- function getGaugeArcbarDataPoints(series, arcbarOption) {
- var process = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
- if (process == 1) {
- process = 0.999999;
- }
- for (var i = 0; i < series.length; i++) {
- var item = series[i];
- item.data = item.data === null ? 0 : item.data;
- var totalAngle = void 0;
- if (arcbarOption.type == 'circle') {
- totalAngle = 2;
- } else {
- if (arcbarOption.endAngle < arcbarOption.startAngle) {
- totalAngle = 2 + arcbarOption.endAngle - arcbarOption.startAngle;
- } else {
- totalAngle = arcbarOption.startAngle - arcbarOption.endAngle;
- }
- }
- item._proportion_ = totalAngle * item.data * process + arcbarOption.startAngle;
- if (item._proportion_ >= 2) {
- item._proportion_ = item._proportion_ % 2;
- }
- }
- return series;
- }
- function getGaugeAxisPoints(categories, startAngle, endAngle) {
- var totalAngle;
- if (endAngle < startAngle) {
- totalAngle = 2 + endAngle - startAngle;
- } else {
- totalAngle = startAngle - endAngle;
- }
- var tempStartAngle = startAngle;
- for (var i = 0; i < categories.length; i++) {
- categories[i].value = categories[i].value === null ? 0 : categories[i].value;
- categories[i]._startAngle_ = tempStartAngle;
- categories[i]._endAngle_ = totalAngle * categories[i].value + startAngle;
- if (categories[i]._endAngle_ >= 2) {
- categories[i]._endAngle_ = categories[i]._endAngle_ % 2;
- }
- tempStartAngle = categories[i]._endAngle_;
- }
- return categories;
- }
- function getGaugeDataPoints(series, categories, gaugeOption) {
- var process = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;
- for (var i = 0; i < series.length; i++) {
- var item = series[i];
- item.data = item.data === null ? 0 : item.data;
- if (gaugeOption.pointer.color == 'auto') {
- for (var _i13 = 0; _i13 < categories.length; _i13++) {
- if (item.data <= categories[_i13].value) {
- item.color = categories[_i13].color;
- break;
- }
- }
- } else {
- item.color = gaugeOption.pointer.color;
- }
- var totalAngle = void 0;
- if (gaugeOption.endAngle < gaugeOption.startAngle) {
- totalAngle = 2 + gaugeOption.endAngle - gaugeOption.startAngle;
- } else {
- totalAngle = gaugeOption.startAngle - gaugeOption.endAngle;
- }
- item._endAngle_ = totalAngle * item.data + gaugeOption.startAngle;
- item._oldAngle_ = gaugeOption.oldAngle;
- if (gaugeOption.oldAngle < gaugeOption.endAngle) {
- item._oldAngle_ += 2;
- }
- if (item.data >= gaugeOption.oldData) {
- item._proportion_ = (item._endAngle_ - item._oldAngle_) * process + gaugeOption.oldAngle;
- } else {
- item._proportion_ = item._oldAngle_ - (item._oldAngle_ - item._endAngle_) * process;
- }
- if (item._proportion_ >= 2) {
- item._proportion_ = item._proportion_ % 2;
- }
- }
- return series;
- }
- function getPieTextMaxLength(series, config, context, opts) {
- series = getPieDataPoints(series);
- var maxLength = 0;
- for (var i = 0; i < series.length; i++) {
- var item = series[i];
- var text = item.formatter ? item.formatter(+item._proportion_.toFixed(2)) : util.toFixed(item._proportion_ * 100) + '%';
- maxLength = Math.max(maxLength, measureText(text, item.textSize * opts.pix || config.fontSize, context));
- }
- return maxLength;
- }
- function fixColumeData(points, eachSpacing, columnLen, index, config, opts) {
- return points.map(function (item) {
- if (item === null) {
- return null;
- }
- var seriesGap = 0;
- var categoryGap = 0;
- if (opts.type == 'mix') {
- seriesGap = opts.extra.mix.column.seriesGap * opts.pix || 0;
- categoryGap = opts.extra.mix.column.categoryGap * opts.pix || 0;
- } else {
- seriesGap = opts.extra.column.seriesGap * opts.pix || 0;
- categoryGap = opts.extra.column.categoryGap * opts.pix || 0;
- }
- seriesGap = Math.min(seriesGap, eachSpacing / columnLen);
- categoryGap = Math.min(categoryGap, eachSpacing / columnLen);
- item.width = Math.ceil((eachSpacing - 2 * categoryGap - seriesGap * (columnLen - 1)) / columnLen);
- if (opts.extra.mix && opts.extra.mix.column.width && +opts.extra.mix.column.width > 0) {
- item.width = Math.min(item.width, +opts.extra.mix.column.width * opts.pix);
- }
- if (opts.extra.column && opts.extra.column.width && +opts.extra.column.width > 0) {
- item.width = Math.min(item.width, +opts.extra.column.width * opts.pix);
- }
- if (item.width <= 0) {
- item.width = 1;
- }
- item.x += (index + 0.5 - columnLen / 2) * (item.width + seriesGap);
- return item;
- });
- }
- function fixBarData(points, eachSpacing, columnLen, index, config, opts) {
- return points.map(function (item) {
- if (item === null) {
- return null;
- }
- var seriesGap = 0;
- var categoryGap = 0;
- seriesGap = opts.extra.bar.seriesGap * opts.pix || 0;
- categoryGap = opts.extra.bar.categoryGap * opts.pix || 0;
- seriesGap = Math.min(seriesGap, eachSpacing / columnLen);
- categoryGap = Math.min(categoryGap, eachSpacing / columnLen);
- item.width = Math.ceil((eachSpacing - 2 * categoryGap - seriesGap * (columnLen - 1)) / columnLen);
- if (opts.extra.bar && opts.extra.bar.width && +opts.extra.bar.width > 0) {
- item.width = Math.min(item.width, +opts.extra.bar.width * opts.pix);
- }
- if (item.width <= 0) {
- item.width = 1;
- }
- item.y += (index + 0.5 - columnLen / 2) * (item.width + seriesGap);
- return item;
- });
- }
- function fixColumeMeterData(points, eachSpacing, columnLen, index, config, opts, border) {
- var categoryGap = opts.extra.column.categoryGap * opts.pix || 0;
- return points.map(function (item) {
- if (item === null) {
- return null;
- }
- item.width = eachSpacing - 2 * categoryGap;
- if (opts.extra.column && opts.extra.column.width && +opts.extra.column.width > 0) {
- item.width = Math.min(item.width, +opts.extra.column.width * opts.pix);
- }
- if (index > 0) {
- item.width -= border;
- }
- return item;
- });
- }
- function fixColumeStackData(points, eachSpacing, columnLen, index, config, opts, series) {
- var categoryGap = opts.extra.column.categoryGap * opts.pix || 0;
- return points.map(function (item, indexn) {
- if (item === null) {
- return null;
- }
- item.width = Math.ceil(eachSpacing - 2 * categoryGap);
- if (opts.extra.column && opts.extra.column.width && +opts.extra.column.width > 0) {
- item.width = Math.min(item.width, +opts.extra.column.width * opts.pix);
- }
- if (item.width <= 0) {
- item.width = 1;
- }
- return item;
- });
- }
- function fixBarStackData(points, eachSpacing, columnLen, index, config, opts, series) {
- var categoryGap = opts.extra.bar.categoryGap * opts.pix || 0;
- return points.map(function (item, indexn) {
- if (item === null) {
- return null;
- }
- item.width = Math.ceil(eachSpacing - 2 * categoryGap);
- if (opts.extra.bar && opts.extra.bar.width && +opts.extra.bar.width > 0) {
- item.width = Math.min(item.width, +opts.extra.bar.width * opts.pix);
- }
- if (item.width <= 0) {
- item.width = 1;
- }
- return item;
- });
- }
- function getXAxisPoints(categories, opts, config) {
- var spacingValid = opts.width - opts.area[1] - opts.area[3];
- var dataCount = opts.enableScroll ? Math.min(opts.xAxis.itemCount, categories.length) : categories.length;
- if ((opts.type == 'line' || opts.type == 'area' || opts.type == 'scatter' || opts.type == 'bubble' || opts.type == 'bar') && dataCount > 1 && opts.xAxis.boundaryGap == 'justify') {
- dataCount -= 1;
- }
- var widthRatio = 0;
- if (opts.type == 'mount' && opts.extra && opts.extra.mount && opts.extra.mount.widthRatio && opts.extra.mount.widthRatio > 1) {
- if (opts.extra.mount.widthRatio > 2) opts.extra.mount.widthRatio = 2;
- widthRatio = opts.extra.mount.widthRatio - 1;
- dataCount += widthRatio;
- }
- var eachSpacing = spacingValid / dataCount;
- var xAxisPoints = [];
- var startX = opts.area[3];
- var endX = opts.width - opts.area[1];
- categories.forEach(function (item, index) {
- xAxisPoints.push(startX + widthRatio / 2 * eachSpacing + index * eachSpacing);
- });
- if (opts.xAxis.boundaryGap !== 'justify') {
- if (opts.enableScroll === true) {
- xAxisPoints.push(startX + widthRatio * eachSpacing + categories.length * eachSpacing);
- } else {
- xAxisPoints.push(endX);
- }
- }
- return {
- xAxisPoints: xAxisPoints,
- startX: startX,
- endX: endX,
- eachSpacing: eachSpacing
- };
- }
- function getCandleDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config) {
- var process = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : 1;
- var points = [];
- var validHeight = opts.height - opts.area[0] - opts.area[2];
- data.forEach(function (item, index) {
- if (item === null) {
- points.push(null);
- } else {
- var cPoints = [];
- item.forEach(function (items, indexs) {
- var point = {};
- point.x = xAxisPoints[index] + Math.round(eachSpacing / 2);
- var value = items.value || items;
- var height = validHeight * (value - minRange) / (maxRange - minRange);
- height *= process;
- point.y = opts.height - Math.round(height) - opts.area[2];
- cPoints.push(point);
- });
- points.push(cPoints);
- }
- });
- return points;
- }
- function getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config) {
- var process = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : 1;
- var boundaryGap = 'center';
- if (opts.type == 'line' || opts.type == 'area' || opts.type == 'scatter' || opts.type == 'bubble') {
- boundaryGap = opts.xAxis.boundaryGap;
- }
- var points = [];
- var validHeight = opts.height - opts.area[0] - opts.area[2];
- var validWidth = opts.width - opts.area[1] - opts.area[3];
- data.forEach(function (item, index) {
- if (item === null) {
- points.push(null);
- } else {
- var point = {};
- point.color = item.color;
- point.x = xAxisPoints[index];
- var value = item;
- if ((0, _typeof2.default)(item) === 'object' && item !== null) {
- if (item.constructor.toString().indexOf('Array') > -1) {
- var xranges, xminRange, xmaxRange;
- xranges = [].concat(opts.chartData.xAxisData.ranges);
- xminRange = xranges.shift();
- xmaxRange = xranges.pop();
- value = item[1];
- point.x = opts.area[3] + validWidth * (item[0] - xminRange) / (xmaxRange - xminRange);
- if (opts.type == 'bubble') {
- point.r = item[2];
- point.t = item[3];
- }
- } else {
- value = item.value;
- }
- }
- if (boundaryGap == 'center') {
- point.x += eachSpacing / 2;
- }
- var height = validHeight * (value - minRange) / (maxRange - minRange);
- height *= process;
- point.y = opts.height - height - opts.area[2];
- points.push(point);
- }
- });
- return points;
- }
- function getLineDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, lineOption, process) {
- var process = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : 1;
- var boundaryGap = opts.xAxis.boundaryGap;
- var points = [];
- var validHeight = opts.height - opts.area[0] - opts.area[2];
- var validWidth = opts.width - opts.area[1] - opts.area[3];
- data.forEach(function (item, index) {
- if (item === null) {
- points.push(null);
- } else {
- var point = {};
- point.color = item.color;
- if (lineOption.animation == 'vertical') {
- point.x = xAxisPoints[index];
- var value = item;
- if ((0, _typeof2.default)(item) === 'object' && item !== null) {
- if (item.constructor.toString().indexOf('Array') > -1) {
- var xranges, xminRange, xmaxRange;
- xranges = [].concat(opts.chartData.xAxisData.ranges);
- xminRange = xranges.shift();
- xmaxRange = xranges.pop();
- value = item[1];
- point.x = opts.area[3] + validWidth * (item[0] - xminRange) / (xmaxRange - xminRange);
- } else {
- value = item.value;
- }
- }
- if (boundaryGap == 'center') {
- point.x += eachSpacing / 2;
- }
- var height = validHeight * (value - minRange) / (maxRange - minRange);
- height *= process;
- point.y = opts.height - height - opts.area[2];
- points.push(point);
- } else {
- point.x = xAxisPoints[0] + eachSpacing * index * process;
- var value = item;
- if (boundaryGap == 'center') {
- point.x += eachSpacing / 2;
- }
- var height = validHeight * (value - minRange) / (maxRange - minRange);
- point.y = opts.height - height - opts.area[2];
- points.push(point);
- }
- }
- });
- return points;
- }
- function getColumnDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, zeroPoints, process) {
- var process = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : 1;
- var points = [];
- var validHeight = opts.height - opts.area[0] - opts.area[2];
- var validWidth = opts.width - opts.area[1] - opts.area[3];
- data.forEach(function (item, index) {
- if (item === null) {
- points.push(null);
- } else {
- var point = {};
- point.color = item.color;
- point.x = xAxisPoints[index];
- var value = item;
- if ((0, _typeof2.default)(item) === 'object' && item !== null) {
- if (item.constructor.toString().indexOf('Array') > -1) {
- var xranges, xminRange, xmaxRange;
- xranges = [].concat(opts.chartData.xAxisData.ranges);
- xminRange = xranges.shift();
- xmaxRange = xranges.pop();
- value = item[1];
- point.x = opts.area[3] + validWidth * (item[0] - xminRange) / (xmaxRange - xminRange);
- } else {
- value = item.value;
- }
- }
- point.x += eachSpacing / 2;
- var height = validHeight * (value * process - minRange) / (maxRange - minRange);
- point.y = opts.height - height - opts.area[2];
- points.push(point);
- }
- });
- return points;
- }
- function getMountDataPoints(series, minRange, maxRange, xAxisPoints, eachSpacing, opts, mountOption, zeroPoints) {
- var process = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : 1;
- var points = [];
- var validHeight = opts.height - opts.area[0] - opts.area[2];
- var validWidth = opts.width - opts.area[1] - opts.area[3];
- var mountWidth = eachSpacing * mountOption.widthRatio;
- series.forEach(function (item, index) {
- if (item === null) {
- points.push(null);
- } else {
- var point = {};
- point.color = item.color;
- point.x = xAxisPoints[index];
- point.x += eachSpacing / 2;
- var value = item.data;
- var height = validHeight * (value * process - minRange) / (maxRange - minRange);
- point.y = opts.height - height - opts.area[2];
- point.value = value;
- point.width = mountWidth;
- points.push(point);
- }
- });
- return points;
- }
- function getBarDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config) {
- var process = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : 1;
- var points = [];
- var validHeight = opts.height - opts.area[0] - opts.area[2];
- var validWidth = opts.width - opts.area[1] - opts.area[3];
- data.forEach(function (item, index) {
- if (item === null) {
- points.push(null);
- } else {
- var point = {};
- point.color = item.color;
- point.y = yAxisPoints[index];
- var value = item;
- if ((0, _typeof2.default)(item) === 'object' && item !== null) {
- value = item.value;
- }
- var height = validWidth * (value - minRange) / (maxRange - minRange);
- height *= process;
- point.height = height;
- point.value = value;
- point.x = height + opts.area[3];
- points.push(point);
- }
- });
- return points;
- }
- function getStackDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, seriesIndex, stackSeries) {
- var process = arguments.length > 9 && arguments[9] !== undefined ? arguments[9] : 1;
- var points = [];
- var validHeight = opts.height - opts.area[0] - opts.area[2];
- data.forEach(function (item, index) {
- if (item === null) {
- points.push(null);
- } else {
- var point = {};
- point.color = item.color;
- point.x = xAxisPoints[index] + Math.round(eachSpacing / 2);
- if (seriesIndex > 0) {
- var value = 0;
- for (var i = 0; i <= seriesIndex; i++) {
- value += stackSeries[i].data[index];
- }
- var value0 = value - item;
- var height = validHeight * (value - minRange) / (maxRange - minRange);
- var height0 = validHeight * (value0 - minRange) / (maxRange - minRange);
- } else {
- var value = item;
- if ((0, _typeof2.default)(item) === 'object' && item !== null) {
- value = item.value;
- }
- var height = validHeight * (value - minRange) / (maxRange - minRange);
- var height0 = 0;
- }
- var heightc = height0;
- height *= process;
- heightc *= process;
- point.y = opts.height - Math.round(height) - opts.area[2];
- point.y0 = opts.height - Math.round(heightc) - opts.area[2];
- points.push(point);
- }
- });
- return points;
- }
- function getBarStackDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config, seriesIndex, stackSeries) {
- var process = arguments.length > 9 && arguments[9] !== undefined ? arguments[9] : 1;
- var points = [];
- var validHeight = opts.width - opts.area[1] - opts.area[3];
- data.forEach(function (item, index) {
- if (item === null) {
- points.push(null);
- } else {
- var point = {};
- point.color = item.color;
- point.y = yAxisPoints[index];
- if (seriesIndex > 0) {
- var value = 0;
- for (var i = 0; i <= seriesIndex; i++) {
- value += stackSeries[i].data[index];
- }
- var value0 = value - item;
- var height = validHeight * (value - minRange) / (maxRange - minRange);
- var height0 = validHeight * (value0 - minRange) / (maxRange - minRange);
- } else {
- var value = item;
- if ((0, _typeof2.default)(item) === 'object' && item !== null) {
- value = item.value;
- }
- var height = validHeight * (value - minRange) / (maxRange - minRange);
- var height0 = 0;
- }
- var heightc = height0;
- height *= process;
- heightc *= process;
- point.height = height - heightc;
- point.x = opts.area[3] + height;
- point.x0 = opts.area[3] + heightc;
- points.push(point);
- }
- });
- return points;
- }
- function getYAxisTextList(series, opts, config, stack, yData) {
- var index = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : -1;
- var data;
- if (stack == 'stack') {
- data = dataCombineStack(series, opts.categories.length);
- } else {
- data = dataCombine(series);
- }
- var sorted = [];
- // remove null from data
- data = data.filter(function (item) {
- //return item !== null;
- if ((0, _typeof2.default)(item) === 'object' && item !== null) {
- if (item.constructor.toString().indexOf('Array') > -1) {
- return item !== null;
- } else {
- return item.value !== null;
- }
- } else {
- return item !== null;
- }
- });
- data.map(function (item) {
- if ((0, _typeof2.default)(item) === 'object') {
- if (item.constructor.toString().indexOf('Array') > -1) {
- if (opts.type == 'candle') {
- item.map(function (subitem) {
- sorted.push(subitem);
- });
- } else {
- sorted.push(item[1]);
- }
- } else {
- sorted.push(item.value);
- }
- } else {
- sorted.push(item);
- }
- });
- var minData = yData.min || 0;
- var maxData = yData.max || 0;
- if (sorted.length > 0) {
- minData = Math.min.apply(this, sorted);
- maxData = Math.max.apply(this, sorted);
- }
- if (minData === maxData) {
- if (maxData == 0) {
- maxData = 10;
- } else {
- minData = 0;
- }
- }
- var dataRange = getDataRange(minData, maxData);
- var minRange = yData.min === undefined || yData.min === null ? dataRange.minRange : yData.min;
- var maxRange = yData.max === undefined || yData.max === null ? dataRange.maxRange : yData.max;
- var eachRange = (maxRange - minRange) / opts.yAxis.splitNumber;
- var range = [];
- for (var i = 0; i <= opts.yAxis.splitNumber; i++) {
- range.push(minRange + eachRange * i);
- }
- return range.reverse();
- }
- function calYAxisData(series, opts, config, context) {
- //堆叠图重算Y轴
- var columnstyle = assign({}, {
- type: ""
- }, opts.extra.column);
- //如果是多Y轴,重新计算
- var YLength = opts.yAxis.data.length;
- var newSeries = new Array(YLength);
- if (YLength > 0) {
- for (var i = 0; i < YLength; i++) {
- newSeries[i] = [];
- for (var j = 0; j < series.length; j++) {
- if (series[j].index == i) {
- newSeries[i].push(series[j]);
- }
- }
- }
- var rangesArr = new Array(YLength);
- var rangesFormatArr = new Array(YLength);
- var yAxisWidthArr = new Array(YLength);
- var _loop3 = function _loop3(_i14) {
- var yData = opts.yAxis.data[_i14];
- //如果总开关不显示,强制每个Y轴为不显示
- if (opts.yAxis.disabled == true) {
- yData.disabled = true;
- }
- if (yData.type === 'categories') {
- if (!yData.formatter) {
- yData.formatter = function (val, index, opts) {
- return val + (yData.unit || '');
- };
- }
- yData.categories = yData.categories || opts.categories;
- rangesArr[_i14] = yData.categories;
- } else {
- if (!yData.formatter) {
- yData.formatter = function (val, index, opts) {
- return util.toFixed(val, yData.tofix || 0) + (yData.unit || '');
- };
- }
- rangesArr[_i14] = getYAxisTextList(newSeries[_i14], opts, config, columnstyle.type, yData, _i14);
- }
- var yAxisFontSizes = yData.fontSize * opts.pix || config.fontSize;
- yAxisWidthArr[_i14] = {
- position: yData.position ? yData.position : 'left',
- width: 0
- };
- rangesFormatArr[_i14] = rangesArr[_i14].map(function (items, index) {
- items = yData.formatter(items, index, opts);
- yAxisWidthArr[_i14].width = Math.max(yAxisWidthArr[_i14].width, measureText(items, yAxisFontSizes, context) + 5);
- return items;
- });
- var calibration = yData.calibration ? 4 * opts.pix : 0;
- yAxisWidthArr[_i14].width += calibration + 3 * opts.pix;
- if (yData.disabled === true) {
- yAxisWidthArr[_i14].width = 0;
- }
- };
- for (var _i14 = 0; _i14 < YLength; _i14++) {
- _loop3(_i14);
- }
- } else {
- var rangesArr = new Array(1);
- var rangesFormatArr = new Array(1);
- var yAxisWidthArr = new Array(1);
- if (opts.type === 'bar') {
- rangesArr[0] = opts.categories;
- if (!opts.yAxis.formatter) {
- opts.yAxis.formatter = function (val, index, opts) {
- return val + (opts.yAxis.unit || '');
- };
- }
- } else {
- if (!opts.yAxis.formatter) {
- opts.yAxis.formatter = function (val, index, opts) {
- return val.toFixed(opts.yAxis.tofix) + (opts.yAxis.unit || '');
- };
- }
- rangesArr[0] = getYAxisTextList(series, opts, config, columnstyle.type, {});
- }
- yAxisWidthArr[0] = {
- position: 'left',
- width: 0
- };
- var yAxisFontSize = opts.yAxis.fontSize * opts.pix || config.fontSize;
- rangesFormatArr[0] = rangesArr[0].map(function (item, index) {
- item = opts.yAxis.formatter(item, index, opts);
- yAxisWidthArr[0].width = Math.max(yAxisWidthArr[0].width, measureText(item, yAxisFontSize, context) + 5);
- return item;
- });
- yAxisWidthArr[0].width += 3 * opts.pix;
- if (opts.yAxis.disabled === true) {
- yAxisWidthArr[0] = {
- position: 'left',
- width: 0
- };
- opts.yAxis.data[0] = {
- disabled: true
- };
- } else {
- opts.yAxis.data[0] = {
- disabled: false,
- position: 'left',
- max: opts.yAxis.max,
- min: opts.yAxis.min,
- formatter: opts.yAxis.formatter
- };
- if (opts.type === 'bar') {
- opts.yAxis.data[0].categories = opts.categories;
- opts.yAxis.data[0].type = 'categories';
- }
- }
- }
- return {
- rangesFormat: rangesFormatArr,
- ranges: rangesArr,
- yAxisWidth: yAxisWidthArr
- };
- }
- function calTooltipYAxisData(point, series, opts, config, eachSpacing) {
- var ranges = [].concat(opts.chartData.yAxisData.ranges);
- var spacingValid = opts.height - opts.area[0] - opts.area[2];
- var minAxis = opts.area[0];
- var items = [];
- for (var i = 0; i < ranges.length; i++) {
- var maxVal = Math.max.apply(this, ranges[i]);
- var minVal = Math.min.apply(this, ranges[i]);
- var item = maxVal - (maxVal - minVal) * (point - minAxis) / spacingValid;
- item = opts.yAxis.data && opts.yAxis.data[i].formatter ? opts.yAxis.data[i].formatter(item, i, opts) : item.toFixed(0);
- items.push(String(item));
- }
- return items;
- }
- function calMarkLineData(points, opts) {
- var minRange, maxRange;
- var spacingValid = opts.height - opts.area[0] - opts.area[2];
- for (var i = 0; i < points.length; i++) {
- points[i].yAxisIndex = points[i].yAxisIndex ? points[i].yAxisIndex : 0;
- var range = [].concat(opts.chartData.yAxisData.ranges[points[i].yAxisIndex]);
- minRange = range.pop();
- maxRange = range.shift();
- var height = spacingValid * (points[i].value - minRange) / (maxRange - minRange);
- points[i].y = opts.height - Math.round(height) - opts.area[2];
- }
- return points;
- }
- function contextRotate(context, opts) {
- if (opts.rotateLock !== true) {
- context.translate(opts.height, 0);
- context.rotate(90 * Math.PI / 180);
- } else if (opts._rotate_ !== true) {
- context.translate(opts.height, 0);
- context.rotate(90 * Math.PI / 180);
- opts._rotate_ = true;
- }
- }
- function drawPointShape(points, color, shape, context, opts) {
- context.beginPath();
- if (opts.dataPointShapeType == 'hollow') {
- context.setStrokeStyle(color);
- context.setFillStyle(opts.background);
- context.setLineWidth(2 * opts.pix);
- } else {
- context.setStrokeStyle("#ffffff");
- context.setFillStyle(color);
- context.setLineWidth(1 * opts.pix);
- }
- if (shape === 'diamond') {
- points.forEach(function (item, index) {
- if (item !== null) {
- context.moveTo(item.x, item.y - 4.5);
- context.lineTo(item.x - 4.5, item.y);
- context.lineTo(item.x, item.y + 4.5);
- context.lineTo(item.x + 4.5, item.y);
- context.lineTo(item.x, item.y - 4.5);
- }
- });
- } else if (shape === 'circle') {
- points.forEach(function (item, index) {
- if (item !== null) {
- context.moveTo(item.x + 2.5 * opts.pix, item.y);
- context.arc(item.x, item.y, 3 * opts.pix, 0, 2 * Math.PI, false);
- }
- });
- } else if (shape === 'square') {
- points.forEach(function (item, index) {
- if (item !== null) {
- context.moveTo(item.x - 3.5, item.y - 3.5);
- context.rect(item.x - 3.5, item.y - 3.5, 7, 7);
- }
- });
- } else if (shape === 'triangle') {
- points.forEach(function (item, index) {
- if (item !== null) {
- context.moveTo(item.x, item.y - 4.5);
- context.lineTo(item.x - 4.5, item.y + 4.5);
- context.lineTo(item.x + 4.5, item.y + 4.5);
- context.lineTo(item.x, item.y - 4.5);
- }
- });
- } else if (shape === 'none') {
- return;
- }
- context.closePath();
- context.fill();
- context.stroke();
- }
- function drawActivePoint(points, color, shape, context, opts, option, seriesIndex) {
- if (!opts.tooltip) {
- return;
- }
- if (opts.tooltip.group.length > 0 && opts.tooltip.group.includes(seriesIndex) == false) {
- return;
- }
- var pointIndex = typeof opts.tooltip.index === 'number' ? opts.tooltip.index : opts.tooltip.index[opts.tooltip.group.indexOf(seriesIndex)];
- context.beginPath();
- if (option.activeType == 'hollow') {
- context.setStrokeStyle(color);
- context.setFillStyle(opts.background);
- context.setLineWidth(2 * opts.pix);
- } else {
- context.setStrokeStyle("#ffffff");
- context.setFillStyle(color);
- context.setLineWidth(1 * opts.pix);
- }
- if (shape === 'diamond') {
- points.forEach(function (item, index) {
- if (item !== null && pointIndex == index) {
- context.moveTo(item.x, item.y - 4.5);
- context.lineTo(item.x - 4.5, item.y);
- context.lineTo(item.x, item.y + 4.5);
- context.lineTo(item.x + 4.5, item.y);
- context.lineTo(item.x, item.y - 4.5);
- }
- });
- } else if (shape === 'circle') {
- points.forEach(function (item, index) {
- if (item !== null && pointIndex == index) {
- context.moveTo(item.x + 2.5 * opts.pix, item.y);
- context.arc(item.x, item.y, 3 * opts.pix, 0, 2 * Math.PI, false);
- }
- });
- } else if (shape === 'square') {
- points.forEach(function (item, index) {
- if (item !== null && pointIndex == index) {
- context.moveTo(item.x - 3.5, item.y - 3.5);
- context.rect(item.x - 3.5, item.y - 3.5, 7, 7);
- }
- });
- } else if (shape === 'triangle') {
- points.forEach(function (item, index) {
- if (item !== null && pointIndex == index) {
- context.moveTo(item.x, item.y - 4.5);
- context.lineTo(item.x - 4.5, item.y + 4.5);
- context.lineTo(item.x + 4.5, item.y + 4.5);
- context.lineTo(item.x, item.y - 4.5);
- }
- });
- } else if (shape === 'none') {
- return;
- }
- context.closePath();
- context.fill();
- context.stroke();
- }
- function drawRingTitle(opts, config, context, center) {
- var titlefontSize = opts.title.fontSize || config.titleFontSize;
- var subtitlefontSize = opts.subtitle.fontSize || config.subtitleFontSize;
- var title = opts.title.name || '';
- var subtitle = opts.subtitle.name || '';
- var titleFontColor = opts.title.color || opts.fontColor;
- var subtitleFontColor = opts.subtitle.color || opts.fontColor;
- var titleHeight = title ? titlefontSize : 0;
- var subtitleHeight = subtitle ? subtitlefontSize : 0;
- var margin = 5;
- if (subtitle) {
- var textWidth = measureText(subtitle, subtitlefontSize * opts.pix, context);
- var startX = center.x - textWidth / 2 + (opts.subtitle.offsetX || 0) * opts.pix;
- var startY = center.y + subtitlefontSize * opts.pix / 2 + (opts.subtitle.offsetY || 0) * opts.pix;
- if (title) {
- startY += (titleHeight * opts.pix + margin) / 2;
- }
- context.beginPath();
- context.setFontSize(subtitlefontSize * opts.pix);
- context.setFillStyle(subtitleFontColor);
- context.fillText(subtitle, startX, startY);
- context.closePath();
- context.stroke();
- }
- if (title) {
- var _textWidth = measureText(title, titlefontSize * opts.pix, context);
- var _startX = center.x - _textWidth / 2 + (opts.title.offsetX || 0);
- var _startY = center.y + titlefontSize * opts.pix / 2 + (opts.title.offsetY || 0) * opts.pix;
- if (subtitle) {
- _startY -= (subtitleHeight * opts.pix + margin) / 2;
- }
- context.beginPath();
- context.setFontSize(titlefontSize * opts.pix);
- context.setFillStyle(titleFontColor);
- context.fillText(title, _startX, _startY);
- context.closePath();
- context.stroke();
- }
- }
- function drawPointText(points, series, config, context, opts) {
- // 绘制数据文案
- var data = series.data;
- var textOffset = series.textOffset ? series.textOffset : 0;
- points.forEach(function (item, index) {
- if (item !== null) {
- context.beginPath();
- var fontSize = series.textSize ? series.textSize * opts.pix : config.fontSize;
- context.setFontSize(fontSize);
- context.setFillStyle(series.textColor || opts.fontColor);
- var value = data[index];
- if ((0, _typeof2.default)(data[index]) === 'object' && data[index] !== null) {
- if (data[index].constructor.toString().indexOf('Array') > -1) {
- value = data[index][1];
- } else {
- value = data[index].value;
- }
- }
- var formatVal = series.formatter ? series.formatter(value, index, series, opts) : value;
- context.setTextAlign('center');
- context.fillText(String(formatVal), item.x, item.y - 4 + textOffset * opts.pix);
- context.closePath();
- context.stroke();
- context.setTextAlign('left');
- }
- });
- }
- function drawColumePointText(points, series, config, context, opts) {
- // 绘制数据文案
- var data = series.data;
- var textOffset = series.textOffset ? series.textOffset : 0;
- var Position = opts.extra.column.labelPosition;
- points.forEach(function (item, index) {
- if (item !== null) {
- context.beginPath();
- var fontSize = series.textSize ? series.textSize * opts.pix : config.fontSize;
- context.setFontSize(fontSize);
- context.setFillStyle(series.textColor || opts.fontColor);
- var value = data[index];
- if ((0, _typeof2.default)(data[index]) === 'object' && data[index] !== null) {
- if (data[index].constructor.toString().indexOf('Array') > -1) {
- value = data[index][1];
- } else {
- value = data[index].value;
- }
- }
- var formatVal = series.formatter ? series.formatter(value, index, series, opts) : value;
- context.setTextAlign('center');
- var startY = item.y - 4 * opts.pix + textOffset * opts.pix;
- if (item.y > series.zeroPoints) {
- startY = item.y + textOffset * opts.pix + fontSize;
- }
- if (Position == 'insideTop') {
- startY = item.y + fontSize + textOffset * opts.pix;
- if (item.y > series.zeroPoints) {
- startY = item.y - textOffset * opts.pix - 4 * opts.pix;
- }
- }
- if (Position == 'center') {
- startY = item.y + textOffset * opts.pix + (opts.height - opts.area[2] - item.y + fontSize) / 2;
- if (series.zeroPoints < opts.height - opts.area[2]) {
- startY = item.y + textOffset * opts.pix + (series.zeroPoints - item.y + fontSize) / 2;
- }
- if (item.y > series.zeroPoints) {
- startY = item.y - textOffset * opts.pix - (item.y - series.zeroPoints - fontSize) / 2;
- }
- if (opts.extra.column.type == 'stack') {
- startY = item.y + textOffset * opts.pix + (item.y0 - item.y + fontSize) / 2;
- }
- }
- if (Position == 'bottom') {
- startY = opts.height - opts.area[2] + textOffset * opts.pix - 4 * opts.pix;
- if (series.zeroPoints < opts.height - opts.area[2]) {
- startY = series.zeroPoints + textOffset * opts.pix - 4 * opts.pix;
- }
- if (item.y > series.zeroPoints) {
- startY = series.zeroPoints - textOffset * opts.pix + fontSize + 2 * opts.pix;
- }
- if (opts.extra.column.type == 'stack') {
- startY = item.y0 + textOffset * opts.pix - 4 * opts.pix;
- }
- }
- context.fillText(String(formatVal), item.x, startY);
- context.closePath();
- context.stroke();
- context.setTextAlign('left');
- }
- });
- }
- function drawMountPointText(points, series, config, context, opts, zeroPoints) {
- // 绘制数据文案
- var data = series.data;
- var textOffset = series.textOffset ? series.textOffset : 0;
- var Position = opts.extra.mount.labelPosition;
- points.forEach(function (item, index) {
- if (item !== null) {
- context.beginPath();
- var fontSize = series[index].textSize ? series[index].textSize * opts.pix : config.fontSize;
- context.setFontSize(fontSize);
- context.setFillStyle(series[index].textColor || opts.fontColor);
- var value = item.value;
- var formatVal = series[index].formatter ? series[index].formatter(value, index, series, opts) : value;
- context.setTextAlign('center');
- var startY = item.y - 4 * opts.pix + textOffset * opts.pix;
- if (item.y > zeroPoints) {
- startY = item.y + textOffset * opts.pix + fontSize;
- }
- context.fillText(String(formatVal), item.x, startY);
- context.closePath();
- context.stroke();
- context.setTextAlign('left');
- }
- });
- }
- function drawBarPointText(points, series, config, context, opts) {
- // 绘制数据文案
- var data = series.data;
- var textOffset = series.textOffset ? series.textOffset : 0;
- points.forEach(function (item, index) {
- if (item !== null) {
- context.beginPath();
- var fontSize = series.textSize ? series.textSize * opts.pix : config.fontSize;
- context.setFontSize(fontSize);
- context.setFillStyle(series.textColor || opts.fontColor);
- var value = data[index];
- if ((0, _typeof2.default)(data[index]) === 'object' && data[index] !== null) {
- value = data[index].value;
- }
- var formatVal = series.formatter ? series.formatter(value, index, series, opts) : value;
- context.setTextAlign('left');
- context.fillText(String(formatVal), item.x + 4 * opts.pix, item.y + fontSize / 2 - 3);
- context.closePath();
- context.stroke();
- }
- });
- }
- function drawGaugeLabel(gaugeOption, radius, centerPosition, opts, config, context) {
- radius -= gaugeOption.width / 2 + gaugeOption.labelOffset * opts.pix;
- radius = radius < 10 ? 10 : radius;
- var totalAngle;
- if (gaugeOption.endAngle < gaugeOption.startAngle) {
- totalAngle = 2 + gaugeOption.endAngle - gaugeOption.startAngle;
- } else {
- totalAngle = gaugeOption.startAngle - gaugeOption.endAngle;
- }
- var splitAngle = totalAngle / gaugeOption.splitLine.splitNumber;
- var totalNumber = gaugeOption.endNumber - gaugeOption.startNumber;
- var splitNumber = totalNumber / gaugeOption.splitLine.splitNumber;
- var nowAngle = gaugeOption.startAngle;
- var nowNumber = gaugeOption.startNumber;
- for (var i = 0; i < gaugeOption.splitLine.splitNumber + 1; i++) {
- var pos = {
- x: radius * Math.cos(nowAngle * Math.PI),
- y: radius * Math.sin(nowAngle * Math.PI)
- };
- var labelText = gaugeOption.formatter ? gaugeOption.formatter(nowNumber, i, opts) : nowNumber;
- pos.x += centerPosition.x - measureText(labelText, config.fontSize, context) / 2;
- pos.y += centerPosition.y;
- var startX = pos.x;
- var startY = pos.y;
- context.beginPath();
- context.setFontSize(config.fontSize);
- context.setFillStyle(gaugeOption.labelColor || opts.fontColor);
- context.fillText(labelText, startX, startY + config.fontSize / 2);
- context.closePath();
- context.stroke();
- nowAngle += splitAngle;
- if (nowAngle >= 2) {
- nowAngle = nowAngle % 2;
- }
- nowNumber += splitNumber;
- }
- }
- function drawRadarLabel(angleList, radius, centerPosition, opts, config, context) {
- var radarOption = opts.extra.radar || {};
- angleList.forEach(function (angle, index) {
- if (radarOption.labelPointShow === true && opts.categories[index] !== '') {
- var posPoint = {
- x: radius * Math.cos(angle),
- y: radius * Math.sin(angle)
- };
- var posPointAxis = convertCoordinateOrigin(posPoint.x, posPoint.y, centerPosition);
- context.setFillStyle(radarOption.labelPointColor);
- context.beginPath();
- context.arc(posPointAxis.x, posPointAxis.y, radarOption.labelPointRadius * opts.pix, 0, 2 * Math.PI, false);
- context.closePath();
- context.fill();
- }
- if (radarOption.labelShow === true) {
- var pos = {
- x: (radius + config.radarLabelTextMargin * opts.pix) * Math.cos(angle),
- y: (radius + config.radarLabelTextMargin * opts.pix) * Math.sin(angle)
- };
- var posRelativeCanvas = convertCoordinateOrigin(pos.x, pos.y, centerPosition);
- var startX = posRelativeCanvas.x;
- var startY = posRelativeCanvas.y;
- if (util.approximatelyEqual(pos.x, 0)) {
- startX -= measureText(opts.categories[index] || '', config.fontSize, context) / 2;
- } else if (pos.x < 0) {
- startX -= measureText(opts.categories[index] || '', config.fontSize, context);
- }
- context.beginPath();
- context.setFontSize(config.fontSize);
- context.setFillStyle(radarOption.labelColor || opts.fontColor);
- context.fillText(opts.categories[index] || '', startX, startY + config.fontSize / 2);
- context.closePath();
- context.stroke();
- }
- });
- }
- function drawPieText(series, opts, config, context, radius, center) {
- var lineRadius = config.pieChartLinePadding;
- var textObjectCollection = [];
- var lastTextObject = null;
- var seriesConvert = series.map(function (item, index) {
- var text = item.formatter ? item.formatter(item, index, series, opts) : util.toFixed(item._proportion_.toFixed(4) * 100) + '%';
- text = item.labelText ? item.labelText : text;
- var arc = 2 * Math.PI - (item._start_ + 2 * Math.PI * item._proportion_ / 2);
- if (item._rose_proportion_) {
- arc = 2 * Math.PI - (item._start_ + 2 * Math.PI * item._rose_proportion_ / 2);
- }
- var color = item.color;
- var radius = item._radius_;
- return {
- arc: arc,
- text: text,
- color: color,
- radius: radius,
- textColor: item.textColor,
- textSize: item.textSize,
- labelShow: item.labelShow
- };
- });
- for (var i = 0; i < seriesConvert.length; i++) {
- var item = seriesConvert[i];
- // line end
- var orginX1 = Math.cos(item.arc) * (item.radius + lineRadius);
- var orginY1 = Math.sin(item.arc) * (item.radius + lineRadius);
- // line start
- var orginX2 = Math.cos(item.arc) * item.radius;
- var orginY2 = Math.sin(item.arc) * item.radius;
- // text start
- var orginX3 = orginX1 >= 0 ? orginX1 + config.pieChartTextPadding : orginX1 - config.pieChartTextPadding;
- var orginY3 = orginY1;
- var textWidth = measureText(item.text, item.textSize * opts.pix || config.fontSize, context);
- var startY = orginY3;
- if (lastTextObject && util.isSameXCoordinateArea(lastTextObject.start, {
- x: orginX3
- })) {
- if (orginX3 > 0) {
- startY = Math.min(orginY3, lastTextObject.start.y);
- } else if (orginX1 < 0) {
- startY = Math.max(orginY3, lastTextObject.start.y);
- } else {
- if (orginY3 > 0) {
- startY = Math.max(orginY3, lastTextObject.start.y);
- } else {
- startY = Math.min(orginY3, lastTextObject.start.y);
- }
- }
- }
- if (orginX3 < 0) {
- orginX3 -= textWidth;
- }
- var textObject = {
- lineStart: {
- x: orginX2,
- y: orginY2
- },
- lineEnd: {
- x: orginX1,
- y: orginY1
- },
- start: {
- x: orginX3,
- y: startY
- },
- width: textWidth,
- height: config.fontSize,
- text: item.text,
- color: item.color,
- textColor: item.textColor,
- textSize: item.textSize
- };
- lastTextObject = avoidCollision(textObject, lastTextObject);
- textObjectCollection.push(lastTextObject);
- }
- for (var _i15 = 0; _i15 < textObjectCollection.length; _i15++) {
- if (seriesConvert[_i15].labelShow === false) {
- continue;
- }
- var _item6 = textObjectCollection[_i15];
- var lineStartPoistion = convertCoordinateOrigin(_item6.lineStart.x, _item6.lineStart.y, center);
- var lineEndPoistion = convertCoordinateOrigin(_item6.lineEnd.x, _item6.lineEnd.y, center);
- var textPosition = convertCoordinateOrigin(_item6.start.x, _item6.start.y, center);
- context.setLineWidth(1 * opts.pix);
- context.setFontSize(_item6.textSize * opts.pix || config.fontSize);
- context.beginPath();
- context.setStrokeStyle(_item6.color);
- context.setFillStyle(_item6.color);
- context.moveTo(lineStartPoistion.x, lineStartPoistion.y);
- var curveStartX = _item6.start.x < 0 ? textPosition.x + _item6.width : textPosition.x;
- var textStartX = _item6.start.x < 0 ? textPosition.x - 5 : textPosition.x + 5;
- context.quadraticCurveTo(lineEndPoistion.x, lineEndPoistion.y, curveStartX, textPosition.y);
- context.moveTo(lineStartPoistion.x, lineStartPoistion.y);
- context.stroke();
- context.closePath();
- context.beginPath();
- context.moveTo(textPosition.x + _item6.width, textPosition.y);
- context.arc(curveStartX, textPosition.y, 2 * opts.pix, 0, 2 * Math.PI);
- context.closePath();
- context.fill();
- context.beginPath();
- context.setFontSize(_item6.textSize * opts.pix || config.fontSize);
- context.setFillStyle(_item6.textColor || opts.fontColor);
- context.fillText(_item6.text, textStartX, textPosition.y + 3);
- context.closePath();
- context.stroke();
- context.closePath();
- }
- }
- function drawToolTipSplitLine(offsetX, opts, config, context) {
- var toolTipOption = opts.extra.tooltip || {};
- toolTipOption.gridType = toolTipOption.gridType == undefined ? 'solid' : toolTipOption.gridType;
- toolTipOption.dashLength = toolTipOption.dashLength == undefined ? 4 : toolTipOption.dashLength;
- var startY = opts.area[0];
- var endY = opts.height - opts.area[2];
- if (toolTipOption.gridType == 'dash') {
- context.setLineDash([toolTipOption.dashLength, toolTipOption.dashLength]);
- }
- context.setStrokeStyle(toolTipOption.gridColor || '#cccccc');
- context.setLineWidth(1 * opts.pix);
- context.beginPath();
- context.moveTo(offsetX, startY);
- context.lineTo(offsetX, endY);
- context.stroke();
- context.setLineDash([]);
- if (toolTipOption.xAxisLabel) {
- var labelText = opts.categories[opts.tooltip.index];
- context.setFontSize(config.fontSize);
- var textWidth = measureText(labelText, config.fontSize, context);
- var textX = offsetX - 0.5 * textWidth;
- var textY = endY + 2 * opts.pix;
- context.beginPath();
- context.setFillStyle(hexToRgb(toolTipOption.labelBgColor || config.toolTipBackground, toolTipOption.labelBgOpacity || config.toolTipOpacity));
- context.setStrokeStyle(toolTipOption.labelBgColor || config.toolTipBackground);
- context.setLineWidth(1 * opts.pix);
- context.rect(textX - toolTipOption.boxPadding * opts.pix, textY, textWidth + 2 * toolTipOption.boxPadding * opts.pix, config.fontSize + 2 * toolTipOption.boxPadding * opts.pix);
- context.closePath();
- context.stroke();
- context.fill();
- context.beginPath();
- context.setFontSize(config.fontSize);
- context.setFillStyle(toolTipOption.labelFontColor || opts.fontColor);
- context.fillText(String(labelText), textX, textY + toolTipOption.boxPadding * opts.pix + config.fontSize);
- context.closePath();
- context.stroke();
- }
- }
- function drawMarkLine(opts, config, context) {
- var markLineOption = assign({}, {
- type: 'solid',
- dashLength: 4,
- data: []
- }, opts.extra.markLine);
- var startX = opts.area[3];
- var endX = opts.width - opts.area[1];
- var points = calMarkLineData(markLineOption.data, opts);
- for (var i = 0; i < points.length; i++) {
- var item = assign({}, {
- lineColor: '#DE4A42',
- showLabel: false,
- labelFontSize: 13,
- labelPadding: 6,
- labelFontColor: '#666666',
- labelBgColor: '#DFE8FF',
- labelBgOpacity: 0.8,
- labelAlign: 'left',
- labelOffsetX: 0,
- labelOffsetY: 0
- }, points[i]);
- if (markLineOption.type == 'dash') {
- context.setLineDash([markLineOption.dashLength, markLineOption.dashLength]);
- }
- context.setStrokeStyle(item.lineColor);
- context.setLineWidth(1 * opts.pix);
- context.beginPath();
- context.moveTo(startX, item.y);
- context.lineTo(endX, item.y);
- context.stroke();
- context.setLineDash([]);
- if (item.showLabel) {
- var fontSize = item.labelFontSize * opts.pix;
- var labelText = item.labelText ? item.labelText : item.value;
- context.setFontSize(fontSize);
- var textWidth = measureText(labelText, fontSize, context);
- var bgWidth = textWidth + item.labelPadding * opts.pix * 2;
- var bgStartX = item.labelAlign == 'left' ? opts.area[3] - bgWidth : opts.width - opts.area[1];
- bgStartX += item.labelOffsetX;
- var bgStartY = item.y - 0.5 * fontSize - item.labelPadding * opts.pix;
- bgStartY += item.labelOffsetY;
- var textX = bgStartX + item.labelPadding * opts.pix;
- var textY = item.y;
- context.setFillStyle(hexToRgb(item.labelBgColor, item.labelBgOpacity));
- context.setStrokeStyle(item.labelBgColor);
- context.setLineWidth(1 * opts.pix);
- context.beginPath();
- context.rect(bgStartX, bgStartY, bgWidth, fontSize + 2 * item.labelPadding * opts.pix);
- context.closePath();
- context.stroke();
- context.fill();
- context.setFontSize(fontSize);
- context.setTextAlign('left');
- context.setFillStyle(item.labelFontColor);
- context.fillText(String(labelText), textX, bgStartY + fontSize + item.labelPadding * opts.pix / 2);
- context.stroke();
- context.setTextAlign('left');
- }
- }
- }
- function drawToolTipHorizentalLine(opts, config, context, eachSpacing, xAxisPoints) {
- var toolTipOption = assign({}, {
- gridType: 'solid',
- dashLength: 4
- }, opts.extra.tooltip);
- var startX = opts.area[3];
- var endX = opts.width - opts.area[1];
- if (toolTipOption.gridType == 'dash') {
- context.setLineDash([toolTipOption.dashLength, toolTipOption.dashLength]);
- }
- context.setStrokeStyle(toolTipOption.gridColor || '#cccccc');
- context.setLineWidth(1 * opts.pix);
- context.beginPath();
- context.moveTo(startX, opts.tooltip.offset.y);
- context.lineTo(endX, opts.tooltip.offset.y);
- context.stroke();
- context.setLineDash([]);
- if (toolTipOption.yAxisLabel) {
- var boxPadding = toolTipOption.boxPadding * opts.pix;
- var labelText = calTooltipYAxisData(opts.tooltip.offset.y, opts.series, opts, config, eachSpacing);
- var widthArr = opts.chartData.yAxisData.yAxisWidth;
- var tStartLeft = opts.area[3];
- var tStartRight = opts.width - opts.area[1];
- for (var i = 0; i < labelText.length; i++) {
- context.setFontSize(toolTipOption.fontSize * opts.pix);
- var textWidth = measureText(labelText[i], toolTipOption.fontSize * opts.pix, context);
- var bgStartX = void 0,
- bgEndX = void 0,
- bgWidth = void 0;
- if (widthArr[i].position == 'left') {
- bgStartX = tStartLeft - (textWidth + boxPadding * 2) - 2 * opts.pix;
- bgEndX = Math.max(bgStartX, bgStartX + textWidth + boxPadding * 2);
- } else {
- bgStartX = tStartRight + 2 * opts.pix;
- bgEndX = Math.max(bgStartX + widthArr[i].width, bgStartX + textWidth + boxPadding * 2);
- }
- bgWidth = bgEndX - bgStartX;
- var textX = bgStartX + (bgWidth - textWidth) / 2;
- var textY = opts.tooltip.offset.y;
- context.beginPath();
- context.setFillStyle(hexToRgb(toolTipOption.labelBgColor || config.toolTipBackground, toolTipOption.labelBgOpacity || config.toolTipOpacity));
- context.setStrokeStyle(toolTipOption.labelBgColor || config.toolTipBackground);
- context.setLineWidth(1 * opts.pix);
- context.rect(bgStartX, textY - 0.5 * config.fontSize - boxPadding, bgWidth, config.fontSize + 2 * boxPadding);
- context.closePath();
- context.stroke();
- context.fill();
- context.beginPath();
- context.setFontSize(config.fontSize);
- context.setFillStyle(toolTipOption.labelFontColor || opts.fontColor);
- context.fillText(labelText[i], textX, textY + 0.5 * config.fontSize);
- context.closePath();
- context.stroke();
- if (widthArr[i].position == 'left') {
- tStartLeft -= widthArr[i].width + opts.yAxis.padding * opts.pix;
- } else {
- tStartRight += widthArr[i].width + opts.yAxis.padding * opts.pix;
- }
- }
- }
- }
- function drawToolTipSplitArea(offsetX, opts, config, context, eachSpacing) {
- var toolTipOption = assign({}, {
- activeBgColor: '#000000',
- activeBgOpacity: 0.08,
- activeWidth: eachSpacing
- }, opts.extra.column);
- toolTipOption.activeWidth = toolTipOption.activeWidth > eachSpacing ? eachSpacing : toolTipOption.activeWidth;
- var startY = opts.area[0];
- var endY = opts.height - opts.area[2];
- context.beginPath();
- context.setFillStyle(hexToRgb(toolTipOption.activeBgColor, toolTipOption.activeBgOpacity));
- context.rect(offsetX - toolTipOption.activeWidth / 2, startY, toolTipOption.activeWidth, endY - startY);
- context.closePath();
- context.fill();
- context.setFillStyle("#FFFFFF");
- }
- function drawBarToolTipSplitArea(offsetX, opts, config, context, eachSpacing) {
- var toolTipOption = assign({}, {
- activeBgColor: '#000000',
- activeBgOpacity: 0.08
- }, opts.extra.bar);
- var startX = opts.area[3];
- var endX = opts.width - opts.area[1];
- context.beginPath();
- context.setFillStyle(hexToRgb(toolTipOption.activeBgColor, toolTipOption.activeBgOpacity));
- context.rect(startX, offsetX - eachSpacing / 2, endX - startX, eachSpacing);
- context.closePath();
- context.fill();
- context.setFillStyle("#FFFFFF");
- }
- function drawToolTip(textList, offset, opts, config, context, eachSpacing, xAxisPoints) {
- var toolTipOption = assign({}, {
- showBox: true,
- showArrow: true,
- showCategory: false,
- bgColor: '#000000',
- bgOpacity: 0.7,
- borderColor: '#000000',
- borderWidth: 0,
- borderRadius: 0,
- borderOpacity: 0.7,
- boxPadding: 3,
- fontColor: '#FFFFFF',
- fontSize: 13,
- lineHeight: 20,
- legendShow: true,
- legendShape: 'auto',
- splitLine: true
- }, opts.extra.tooltip);
- if (toolTipOption.showCategory == true && opts.categories) {
- textList.unshift({
- text: opts.categories[opts.tooltip.index],
- color: null
- });
- }
- var fontSize = toolTipOption.fontSize * opts.pix;
- var lineHeight = toolTipOption.lineHeight * opts.pix;
- var boxPadding = toolTipOption.boxPadding * opts.pix;
- var legendWidth = fontSize;
- var legendMarginRight = 5 * opts.pix;
- if (toolTipOption.legendShow == false) {
- legendWidth = 0;
- legendMarginRight = 0;
- }
- var arrowWidth = toolTipOption.showArrow ? 8 * opts.pix : 0;
- var isOverRightBorder = false;
- if (opts.type == 'line' || opts.type == 'mount' || opts.type == 'area' || opts.type == 'candle' || opts.type == 'mix') {
- if (toolTipOption.splitLine == true) {
- drawToolTipSplitLine(opts.tooltip.offset.x, opts, config, context);
- }
- }
- offset = assign({
- x: 0,
- y: 0
- }, offset);
- offset.y -= 8 * opts.pix;
- var textWidth = textList.map(function (item) {
- return measureText(item.text, fontSize, context);
- });
- var toolTipWidth = legendWidth + legendMarginRight + 4 * boxPadding + Math.max.apply(null, textWidth);
- var toolTipHeight = 2 * boxPadding + textList.length * lineHeight;
- if (toolTipOption.showBox == false) {
- return;
- }
- // if beyond the right border
- if (offset.x - Math.abs(opts._scrollDistance_ || 0) + arrowWidth + toolTipWidth > opts.width) {
- isOverRightBorder = true;
- }
- if (toolTipHeight + offset.y > opts.height) {
- offset.y = opts.height - toolTipHeight;
- }
- // draw background rect
- context.beginPath();
- context.setFillStyle(hexToRgb(toolTipOption.bgColor, toolTipOption.bgOpacity));
- context.setLineWidth(toolTipOption.borderWidth * opts.pix);
- context.setStrokeStyle(hexToRgb(toolTipOption.borderColor, toolTipOption.borderOpacity));
- var radius = toolTipOption.borderRadius;
- if (isOverRightBorder) {
- // 增加左侧仍然超出的判断
- if (toolTipWidth + arrowWidth > opts.width) {
- offset.x = opts.width + Math.abs(opts._scrollDistance_ || 0) + arrowWidth + (toolTipWidth - opts.width);
- }
- if (toolTipWidth > offset.x) {
- offset.x = opts.width + Math.abs(opts._scrollDistance_ || 0) + arrowWidth + (toolTipWidth - opts.width);
- }
- if (toolTipOption.showArrow) {
- context.moveTo(offset.x, offset.y + 10 * opts.pix);
- context.lineTo(offset.x - arrowWidth, offset.y + 10 * opts.pix + 5 * opts.pix);
- }
- context.arc(offset.x - arrowWidth - radius, offset.y + toolTipHeight - radius, radius, 0, Math.PI / 2, false);
- context.arc(offset.x - arrowWidth - Math.round(toolTipWidth) + radius, offset.y + toolTipHeight - radius, radius, Math.PI / 2, Math.PI, false);
- context.arc(offset.x - arrowWidth - Math.round(toolTipWidth) + radius, offset.y + radius, radius, -Math.PI, -Math.PI / 2, false);
- context.arc(offset.x - arrowWidth - radius, offset.y + radius, radius, -Math.PI / 2, 0, false);
- if (toolTipOption.showArrow) {
- context.lineTo(offset.x - arrowWidth, offset.y + 10 * opts.pix - 5 * opts.pix);
- context.lineTo(offset.x, offset.y + 10 * opts.pix);
- }
- } else {
- if (toolTipOption.showArrow) {
- context.moveTo(offset.x, offset.y + 10 * opts.pix);
- context.lineTo(offset.x + arrowWidth, offset.y + 10 * opts.pix - 5 * opts.pix);
- }
- context.arc(offset.x + arrowWidth + radius, offset.y + radius, radius, -Math.PI, -Math.PI / 2, false);
- context.arc(offset.x + arrowWidth + Math.round(toolTipWidth) - radius, offset.y + radius, radius, -Math.PI / 2, 0, false);
- context.arc(offset.x + arrowWidth + Math.round(toolTipWidth) - radius, offset.y + toolTipHeight - radius, radius, 0, Math.PI / 2, false);
- context.arc(offset.x + arrowWidth + radius, offset.y + toolTipHeight - radius, radius, Math.PI / 2, Math.PI, false);
- if (toolTipOption.showArrow) {
- context.lineTo(offset.x + arrowWidth, offset.y + 10 * opts.pix + 5 * opts.pix);
- context.lineTo(offset.x, offset.y + 10 * opts.pix);
- }
- }
- context.closePath();
- context.fill();
- if (toolTipOption.borderWidth > 0) {
- context.stroke();
- }
- // draw legend
- if (toolTipOption.legendShow) {
- textList.forEach(function (item, index) {
- if (item.color !== null) {
- context.beginPath();
- context.setFillStyle(item.color);
- var startX = offset.x + arrowWidth + 2 * boxPadding;
- var startY = offset.y + (lineHeight - fontSize) / 2 + lineHeight * index + boxPadding + 1;
- if (isOverRightBorder) {
- startX = offset.x - toolTipWidth - arrowWidth + 2 * boxPadding;
- }
- switch (item.legendShape) {
- case 'line':
- context.moveTo(startX, startY + 0.5 * legendWidth - 2 * opts.pix);
- context.fillRect(startX, startY + 0.5 * legendWidth - 2 * opts.pix, legendWidth, 4 * opts.pix);
- break;
- case 'triangle':
- context.moveTo(startX + 7.5 * opts.pix, startY + 0.5 * legendWidth - 5 * opts.pix);
- context.lineTo(startX + 2.5 * opts.pix, startY + 0.5 * legendWidth + 5 * opts.pix);
- context.lineTo(startX + 12.5 * opts.pix, startY + 0.5 * legendWidth + 5 * opts.pix);
- context.lineTo(startX + 7.5 * opts.pix, startY + 0.5 * legendWidth - 5 * opts.pix);
- break;
- case 'diamond':
- context.moveTo(startX + 7.5 * opts.pix, startY + 0.5 * legendWidth - 5 * opts.pix);
- context.lineTo(startX + 2.5 * opts.pix, startY + 0.5 * legendWidth);
- context.lineTo(startX + 7.5 * opts.pix, startY + 0.5 * legendWidth + 5 * opts.pix);
- context.lineTo(startX + 12.5 * opts.pix, startY + 0.5 * legendWidth);
- context.lineTo(startX + 7.5 * opts.pix, startY + 0.5 * legendWidth - 5 * opts.pix);
- break;
- case 'circle':
- context.moveTo(startX + 7.5 * opts.pix, startY + 0.5 * legendWidth);
- context.arc(startX + 7.5 * opts.pix, startY + 0.5 * legendWidth, 5 * opts.pix, 0, 2 * Math.PI);
- break;
- case 'rect':
- context.moveTo(startX, startY + 0.5 * legendWidth - 5 * opts.pix);
- context.fillRect(startX, startY + 0.5 * legendWidth - 5 * opts.pix, 15 * opts.pix, 10 * opts.pix);
- break;
- case 'square':
- context.moveTo(startX + 2 * opts.pix, startY + 0.5 * legendWidth - 5 * opts.pix);
- context.fillRect(startX + 2 * opts.pix, startY + 0.5 * legendWidth - 5 * opts.pix, 10 * opts.pix, 10 * opts.pix);
- break;
- default:
- context.moveTo(startX, startY + 0.5 * legendWidth - 5 * opts.pix);
- context.fillRect(startX, startY + 0.5 * legendWidth - 5 * opts.pix, 15 * opts.pix, 10 * opts.pix);
- }
- context.closePath();
- context.fill();
- }
- });
- }
- // draw text list
- textList.forEach(function (item, index) {
- var startX = offset.x + arrowWidth + 2 * boxPadding + legendWidth + legendMarginRight;
- if (isOverRightBorder) {
- startX = offset.x - toolTipWidth - arrowWidth + 2 * boxPadding + legendWidth + legendMarginRight;
- }
- var startY = offset.y + lineHeight * index + (lineHeight - fontSize) / 2 - 1 + boxPadding + fontSize;
- context.beginPath();
- context.setFontSize(fontSize);
- context.setTextBaseline('normal');
- context.setFillStyle(toolTipOption.fontColor);
- context.fillText(item.text, startX, startY);
- context.closePath();
- context.stroke();
- });
- }
- function drawColumnDataPoints(series, opts, config, context) {
- var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;
- var xAxisData = opts.chartData.xAxisData,
- xAxisPoints = xAxisData.xAxisPoints,
- eachSpacing = xAxisData.eachSpacing;
- var columnOption = assign({}, {
- type: 'group',
- width: eachSpacing / 2,
- meterBorder: 4,
- meterFillColor: '#FFFFFF',
- barBorderCircle: false,
- barBorderRadius: [],
- seriesGap: 2,
- linearType: 'none',
- linearOpacity: 1,
- customColor: [],
- colorStop: 0,
- labelPosition: 'outside'
- }, opts.extra.column);
- var calPoints = [];
- context.save();
- var leftNum = -2;
- var rightNum = xAxisPoints.length + 2;
- if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) {
- context.translate(opts._scrollDistance_, 0);
- leftNum = Math.floor(-opts._scrollDistance_ / eachSpacing) - 2;
- rightNum = leftNum + opts.xAxis.itemCount + 4;
- }
- if (opts.tooltip && opts.tooltip.textList && opts.tooltip.textList.length && process === 1) {
- drawToolTipSplitArea(opts.tooltip.offset.x, opts, config, context, eachSpacing);
- }
- columnOption.customColor = fillCustomColor(columnOption.linearType, columnOption.customColor, series, config);
- series.forEach(function (eachSeries, seriesIndex) {
- var ranges, minRange, maxRange;
- ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);
- minRange = ranges.pop();
- maxRange = ranges.shift();
- // 计算0轴坐标
- var spacingValid = opts.height - opts.area[0] - opts.area[2];
- var zeroHeight = spacingValid * (0 - minRange) / (maxRange - minRange);
- var zeroPoints = opts.height - Math.round(zeroHeight) - opts.area[2];
- eachSeries.zeroPoints = zeroPoints;
- var data = eachSeries.data;
- switch (columnOption.type) {
- case 'group':
- var points = getColumnDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, zeroPoints, process);
- var tooltipPoints = getStackDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, seriesIndex, series, process);
- calPoints.push(tooltipPoints);
- points = fixColumeData(points, eachSpacing, series.length, seriesIndex, config, opts);
- for (var i = 0; i < points.length; i++) {
- var item = points[i];
- //fix issues/I27B1N yyoinge & Joeshu
- if (item !== null && i > leftNum && i < rightNum) {
- var startX = item.x - item.width / 2;
- var height = opts.height - item.y - opts.area[2];
- context.beginPath();
- var fillColor = item.color || eachSeries.color;
- var strokeColor = item.color || eachSeries.color;
- if (columnOption.linearType !== 'none') {
- var grd = context.createLinearGradient(startX, item.y, startX, zeroPoints);
- //透明渐变
- if (columnOption.linearType == 'opacity') {
- grd.addColorStop(0, hexToRgb(fillColor, columnOption.linearOpacity));
- grd.addColorStop(1, hexToRgb(fillColor, 1));
- } else {
- grd.addColorStop(0, hexToRgb(columnOption.customColor[eachSeries.linearIndex], columnOption.linearOpacity));
- grd.addColorStop(columnOption.colorStop, hexToRgb(columnOption.customColor[eachSeries.linearIndex], columnOption.linearOpacity));
- grd.addColorStop(1, hexToRgb(fillColor, 1));
- }
- fillColor = grd;
- }
- // 圆角边框
- if (columnOption.barBorderRadius && columnOption.barBorderRadius.length === 4 || columnOption.barBorderCircle === true) {
- var left = startX;
- var top = item.y > zeroPoints ? zeroPoints : item.y;
- var width = item.width;
- var _height = Math.abs(zeroPoints - item.y);
- if (columnOption.barBorderCircle) {
- columnOption.barBorderRadius = [width / 2, width / 2, 0, 0];
- }
- if (item.y > zeroPoints) {
- columnOption.barBorderRadius = [0, 0, width / 2, width / 2];
- }
- var _columnOption$barBord = (0, _slicedToArray2.default)(columnOption.barBorderRadius, 4),
- r0 = _columnOption$barBord[0],
- r1 = _columnOption$barBord[1],
- r2 = _columnOption$barBord[2],
- r3 = _columnOption$barBord[3];
- var minRadius = Math.min(width / 2, _height / 2);
- r0 = r0 > minRadius ? minRadius : r0;
- r1 = r1 > minRadius ? minRadius : r1;
- r2 = r2 > minRadius ? minRadius : r2;
- r3 = r3 > minRadius ? minRadius : r3;
- r0 = r0 < 0 ? 0 : r0;
- r1 = r1 < 0 ? 0 : r1;
- r2 = r2 < 0 ? 0 : r2;
- r3 = r3 < 0 ? 0 : r3;
- context.arc(left + r0, top + r0, r0, -Math.PI, -Math.PI / 2);
- context.arc(left + width - r1, top + r1, r1, -Math.PI / 2, 0);
- context.arc(left + width - r2, top + _height - r2, r2, 0, Math.PI / 2);
- context.arc(left + r3, top + _height - r3, r3, Math.PI / 2, Math.PI);
- } else {
- context.moveTo(startX, item.y);
- context.lineTo(startX + item.width, item.y);
- context.lineTo(startX + item.width, zeroPoints);
- context.lineTo(startX, zeroPoints);
- context.lineTo(startX, item.y);
- context.setLineWidth(1);
- context.setStrokeStyle(strokeColor);
- }
- context.setFillStyle(fillColor);
- context.closePath();
- //context.stroke();
- context.fill();
- }
- }
- ;
- break;
- case 'stack':
- // 绘制堆叠数据图
- var points = getStackDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, seriesIndex, series, process);
- calPoints.push(points);
- points = fixColumeStackData(points, eachSpacing, series.length, seriesIndex, config, opts, series);
- for (var _i16 = 0; _i16 < points.length; _i16++) {
- var _item7 = points[_i16];
- if (_item7 !== null && _i16 > leftNum && _i16 < rightNum) {
- context.beginPath();
- var fillColor = _item7.color || eachSeries.color;
- var startX = _item7.x - _item7.width / 2 + 1;
- var height = opts.height - _item7.y - opts.area[2];
- var height0 = opts.height - _item7.y0 - opts.area[2];
- if (seriesIndex > 0) {
- height -= height0;
- }
- context.setFillStyle(fillColor);
- context.moveTo(startX, _item7.y);
- context.fillRect(startX, _item7.y, _item7.width, height);
- context.closePath();
- context.fill();
- }
- }
- ;
- break;
- case 'meter':
- // 绘制温度计数据图
- var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);
- calPoints.push(points);
- points = fixColumeMeterData(points, eachSpacing, series.length, seriesIndex, config, opts, columnOption.meterBorder);
- for (var _i17 = 0; _i17 < points.length; _i17++) {
- var _item8 = points[_i17];
- if (_item8 !== null && _i17 > leftNum && _i17 < rightNum) {
- //画背景颜色
- context.beginPath();
- if (seriesIndex == 0 && columnOption.meterBorder > 0) {
- context.setStrokeStyle(eachSeries.color);
- context.setLineWidth(columnOption.meterBorder * opts.pix);
- }
- if (seriesIndex == 0) {
- context.setFillStyle(columnOption.meterFillColor);
- } else {
- context.setFillStyle(_item8.color || eachSeries.color);
- }
- var startX = _item8.x - _item8.width / 2;
- var height = opts.height - _item8.y - opts.area[2];
- if (columnOption.barBorderRadius && columnOption.barBorderRadius.length === 4 || columnOption.barBorderCircle === true) {
- var _left = startX;
- var _top = _item8.y;
- var _width = _item8.width;
- var _height2 = zeroPoints - _item8.y;
- if (columnOption.barBorderCircle) {
- columnOption.barBorderRadius = [_width / 2, _width / 2, 0, 0];
- }
- var _columnOption$barBord2 = (0, _slicedToArray2.default)(columnOption.barBorderRadius, 4),
- _r = _columnOption$barBord2[0],
- _r2 = _columnOption$barBord2[1],
- _r3 = _columnOption$barBord2[2],
- _r4 = _columnOption$barBord2[3];
- var _minRadius = Math.min(_width / 2, _height2 / 2);
- _r = _r > _minRadius ? _minRadius : _r;
- _r2 = _r2 > _minRadius ? _minRadius : _r2;
- _r3 = _r3 > _minRadius ? _minRadius : _r3;
- _r4 = _r4 > _minRadius ? _minRadius : _r4;
- _r = _r < 0 ? 0 : _r;
- _r2 = _r2 < 0 ? 0 : _r2;
- _r3 = _r3 < 0 ? 0 : _r3;
- _r4 = _r4 < 0 ? 0 : _r4;
- context.arc(_left + _r, _top + _r, _r, -Math.PI, -Math.PI / 2);
- context.arc(_left + _width - _r2, _top + _r2, _r2, -Math.PI / 2, 0);
- context.arc(_left + _width - _r3, _top + _height2 - _r3, _r3, 0, Math.PI / 2);
- context.arc(_left + _r4, _top + _height2 - _r4, _r4, Math.PI / 2, Math.PI);
- context.fill();
- } else {
- context.moveTo(startX, _item8.y);
- context.lineTo(startX + _item8.width, _item8.y);
- context.lineTo(startX + _item8.width, zeroPoints);
- context.lineTo(startX, zeroPoints);
- context.lineTo(startX, _item8.y);
- context.fill();
- }
- if (seriesIndex == 0 && columnOption.meterBorder > 0) {
- context.closePath();
- context.stroke();
- }
- }
- }
- break;
- }
- });
- if (opts.dataLabel !== false && process === 1) {
- series.forEach(function (eachSeries, seriesIndex) {
- var ranges, minRange, maxRange;
- ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);
- minRange = ranges.pop();
- maxRange = ranges.shift();
- var data = eachSeries.data;
- switch (columnOption.type) {
- case 'group':
- var points = getColumnDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);
- points = fixColumeData(points, eachSpacing, series.length, seriesIndex, config, opts);
- drawColumePointText(points, eachSeries, config, context, opts);
- break;
- case 'stack':
- var points = getStackDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, seriesIndex, series, process);
- drawColumePointText(points, eachSeries, config, context, opts);
- break;
- case 'meter':
- var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);
- drawColumePointText(points, eachSeries, config, context, opts);
- break;
- }
- });
- }
- context.restore();
- return {
- xAxisPoints: xAxisPoints,
- calPoints: calPoints,
- eachSpacing: eachSpacing
- };
- }
- function drawMountDataPoints(series, opts, config, context) {
- var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;
- var xAxisData = opts.chartData.xAxisData,
- xAxisPoints = xAxisData.xAxisPoints,
- eachSpacing = xAxisData.eachSpacing;
- var mountOption = assign({}, {
- type: 'mount',
- widthRatio: 1,
- borderWidth: 1,
- barBorderCircle: false,
- barBorderRadius: [],
- linearType: 'none',
- linearOpacity: 1,
- customColor: [],
- colorStop: 0
- }, opts.extra.mount);
- mountOption.widthRatio = mountOption.widthRatio <= 0 ? 0 : mountOption.widthRatio;
- mountOption.widthRatio = mountOption.widthRatio >= 2 ? 2 : mountOption.widthRatio;
- var calPoints = [];
- context.save();
- var leftNum = -2;
- var rightNum = xAxisPoints.length + 2;
- if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) {
- context.translate(opts._scrollDistance_, 0);
- leftNum = Math.floor(-opts._scrollDistance_ / eachSpacing) - 2;
- rightNum = leftNum + opts.xAxis.itemCount + 4;
- }
- mountOption.customColor = fillCustomColor(mountOption.linearType, mountOption.customColor, series, config);
- var ranges, minRange, maxRange;
- ranges = [].concat(opts.chartData.yAxisData.ranges[0]);
- minRange = ranges.pop();
- maxRange = ranges.shift();
- // 计算0轴坐标
- var spacingValid = opts.height - opts.area[0] - opts.area[2];
- var zeroHeight = spacingValid * (0 - minRange) / (maxRange - minRange);
- var zeroPoints = opts.height - Math.round(zeroHeight) - opts.area[2];
- var points = getMountDataPoints(series, minRange, maxRange, xAxisPoints, eachSpacing, opts, mountOption, zeroPoints, process);
- switch (mountOption.type) {
- case 'bar':
- for (var i = 0; i < points.length; i++) {
- var item = points[i];
- if (item !== null && i > leftNum && i < rightNum) {
- var startX = item.x - eachSpacing * mountOption.widthRatio / 2;
- var height = opts.height - item.y - opts.area[2];
- context.beginPath();
- var fillColor = item.color || series[i].color;
- var strokeColor = item.color || series[i].color;
- if (mountOption.linearType !== 'none') {
- var grd = context.createLinearGradient(startX, item.y, startX, zeroPoints);
- //透明渐变
- if (mountOption.linearType == 'opacity') {
- grd.addColorStop(0, hexToRgb(fillColor, mountOption.linearOpacity));
- grd.addColorStop(1, hexToRgb(fillColor, 1));
- } else {
- grd.addColorStop(0, hexToRgb(mountOption.customColor[series[i].linearIndex], mountOption.linearOpacity));
- grd.addColorStop(mountOption.colorStop, hexToRgb(mountOption.customColor[series[i].linearIndex], mountOption.linearOpacity));
- grd.addColorStop(1, hexToRgb(fillColor, 1));
- }
- fillColor = grd;
- }
- // 圆角边框
- if (mountOption.barBorderRadius && mountOption.barBorderRadius.length === 4 || mountOption.barBorderCircle === true) {
- var left = startX;
- var top = item.y > zeroPoints ? zeroPoints : item.y;
- var width = item.width;
- var _height3 = Math.abs(zeroPoints - item.y);
- if (mountOption.barBorderCircle) {
- mountOption.barBorderRadius = [width / 2, width / 2, 0, 0];
- }
- if (item.y > zeroPoints) {
- mountOption.barBorderRadius = [0, 0, width / 2, width / 2];
- }
- var _mountOption$barBorde = (0, _slicedToArray2.default)(mountOption.barBorderRadius, 4),
- r0 = _mountOption$barBorde[0],
- r1 = _mountOption$barBorde[1],
- r2 = _mountOption$barBorde[2],
- r3 = _mountOption$barBorde[3];
- var minRadius = Math.min(width / 2, _height3 / 2);
- r0 = r0 > minRadius ? minRadius : r0;
- r1 = r1 > minRadius ? minRadius : r1;
- r2 = r2 > minRadius ? minRadius : r2;
- r3 = r3 > minRadius ? minRadius : r3;
- r0 = r0 < 0 ? 0 : r0;
- r1 = r1 < 0 ? 0 : r1;
- r2 = r2 < 0 ? 0 : r2;
- r3 = r3 < 0 ? 0 : r3;
- context.arc(left + r0, top + r0, r0, -Math.PI, -Math.PI / 2);
- context.arc(left + width - r1, top + r1, r1, -Math.PI / 2, 0);
- context.arc(left + width - r2, top + _height3 - r2, r2, 0, Math.PI / 2);
- context.arc(left + r3, top + _height3 - r3, r3, Math.PI / 2, Math.PI);
- } else {
- context.moveTo(startX, item.y);
- context.lineTo(startX + item.width, item.y);
- context.lineTo(startX + item.width, zeroPoints);
- context.lineTo(startX, zeroPoints);
- context.lineTo(startX, item.y);
- }
- context.setStrokeStyle(strokeColor);
- context.setFillStyle(fillColor);
- if (mountOption.borderWidth > 0) {
- context.setLineWidth(mountOption.borderWidth * opts.pix);
- context.closePath();
- context.stroke();
- }
- context.fill();
- }
- }
- ;
- break;
- case 'triangle':
- for (var _i18 = 0; _i18 < points.length; _i18++) {
- var _item9 = points[_i18];
- if (_item9 !== null && _i18 > leftNum && _i18 < rightNum) {
- var startX = _item9.x - eachSpacing * mountOption.widthRatio / 2;
- var height = opts.height - _item9.y - opts.area[2];
- context.beginPath();
- var fillColor = _item9.color || series[_i18].color;
- var strokeColor = _item9.color || series[_i18].color;
- if (mountOption.linearType !== 'none') {
- var grd = context.createLinearGradient(startX, _item9.y, startX, zeroPoints);
- //透明渐变
- if (mountOption.linearType == 'opacity') {
- grd.addColorStop(0, hexToRgb(fillColor, mountOption.linearOpacity));
- grd.addColorStop(1, hexToRgb(fillColor, 1));
- } else {
- grd.addColorStop(0, hexToRgb(mountOption.customColor[series[_i18].linearIndex], mountOption.linearOpacity));
- grd.addColorStop(mountOption.colorStop, hexToRgb(mountOption.customColor[series[_i18].linearIndex], mountOption.linearOpacity));
- grd.addColorStop(1, hexToRgb(fillColor, 1));
- }
- fillColor = grd;
- }
- context.moveTo(startX, zeroPoints);
- context.lineTo(_item9.x, _item9.y);
- context.lineTo(startX + _item9.width, zeroPoints);
- context.setStrokeStyle(strokeColor);
- context.setFillStyle(fillColor);
- if (mountOption.borderWidth > 0) {
- context.setLineWidth(mountOption.borderWidth * opts.pix);
- context.stroke();
- }
- context.fill();
- }
- }
- ;
- break;
- case 'mount':
- for (var _i19 = 0; _i19 < points.length; _i19++) {
- var _item10 = points[_i19];
- if (_item10 !== null && _i19 > leftNum && _i19 < rightNum) {
- var startX = _item10.x - eachSpacing * mountOption.widthRatio / 2;
- var height = opts.height - _item10.y - opts.area[2];
- context.beginPath();
- var fillColor = _item10.color || series[_i19].color;
- var strokeColor = _item10.color || series[_i19].color;
- if (mountOption.linearType !== 'none') {
- var grd = context.createLinearGradient(startX, _item10.y, startX, zeroPoints);
- //透明渐变
- if (mountOption.linearType == 'opacity') {
- grd.addColorStop(0, hexToRgb(fillColor, mountOption.linearOpacity));
- grd.addColorStop(1, hexToRgb(fillColor, 1));
- } else {
- grd.addColorStop(0, hexToRgb(mountOption.customColor[series[_i19].linearIndex], mountOption.linearOpacity));
- grd.addColorStop(mountOption.colorStop, hexToRgb(mountOption.customColor[series[_i19].linearIndex], mountOption.linearOpacity));
- grd.addColorStop(1, hexToRgb(fillColor, 1));
- }
- fillColor = grd;
- }
- context.moveTo(startX, zeroPoints);
- context.bezierCurveTo(_item10.x - _item10.width / 4, zeroPoints, _item10.x - _item10.width / 4, _item10.y, _item10.x, _item10.y);
- context.bezierCurveTo(_item10.x + _item10.width / 4, _item10.y, _item10.x + _item10.width / 4, zeroPoints, startX + _item10.width, zeroPoints);
- context.setStrokeStyle(strokeColor);
- context.setFillStyle(fillColor);
- if (mountOption.borderWidth > 0) {
- context.setLineWidth(mountOption.borderWidth * opts.pix);
- context.stroke();
- }
- context.fill();
- }
- }
- ;
- break;
- case 'sharp':
- for (var _i20 = 0; _i20 < points.length; _i20++) {
- var _item11 = points[_i20];
- if (_item11 !== null && _i20 > leftNum && _i20 < rightNum) {
- var startX = _item11.x - eachSpacing * mountOption.widthRatio / 2;
- var height = opts.height - _item11.y - opts.area[2];
- context.beginPath();
- var fillColor = _item11.color || series[_i20].color;
- var strokeColor = _item11.color || series[_i20].color;
- if (mountOption.linearType !== 'none') {
- var grd = context.createLinearGradient(startX, _item11.y, startX, zeroPoints);
- //透明渐变
- if (mountOption.linearType == 'opacity') {
- grd.addColorStop(0, hexToRgb(fillColor, mountOption.linearOpacity));
- grd.addColorStop(1, hexToRgb(fillColor, 1));
- } else {
- grd.addColorStop(0, hexToRgb(mountOption.customColor[series[_i20].linearIndex], mountOption.linearOpacity));
- grd.addColorStop(mountOption.colorStop, hexToRgb(mountOption.customColor[series[_i20].linearIndex], mountOption.linearOpacity));
- grd.addColorStop(1, hexToRgb(fillColor, 1));
- }
- fillColor = grd;
- }
- context.moveTo(startX, zeroPoints);
- context.quadraticCurveTo(_item11.x - 0, zeroPoints - height / 4, _item11.x, _item11.y);
- context.quadraticCurveTo(_item11.x + 0, zeroPoints - height / 4, startX + _item11.width, zeroPoints);
- context.setStrokeStyle(strokeColor);
- context.setFillStyle(fillColor);
- if (mountOption.borderWidth > 0) {
- context.setLineWidth(mountOption.borderWidth * opts.pix);
- context.stroke();
- }
- context.fill();
- }
- }
- ;
- break;
- }
- if (opts.dataLabel !== false && process === 1) {
- var _ranges, _minRange, _maxRange;
- _ranges = [].concat(opts.chartData.yAxisData.ranges[0]);
- _minRange = _ranges.pop();
- _maxRange = _ranges.shift();
- var points = getMountDataPoints(series, _minRange, _maxRange, xAxisPoints, eachSpacing, opts, mountOption, zeroPoints, process);
- drawMountPointText(points, series, config, context, opts, zeroPoints);
- }
- context.restore();
- return {
- xAxisPoints: xAxisPoints,
- calPoints: points,
- eachSpacing: eachSpacing
- };
- }
- function drawBarDataPoints(series, opts, config, context) {
- var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;
- var yAxisPoints = [];
- var eachSpacing = (opts.height - opts.area[0] - opts.area[2]) / opts.categories.length;
- for (var i = 0; i < opts.categories.length; i++) {
- yAxisPoints.push(opts.area[0] + eachSpacing / 2 + eachSpacing * i);
- }
- var columnOption = assign({}, {
- type: 'group',
- width: eachSpacing / 2,
- meterBorder: 4,
- meterFillColor: '#FFFFFF',
- barBorderCircle: false,
- barBorderRadius: [],
- seriesGap: 2,
- linearType: 'none',
- linearOpacity: 1,
- customColor: [],
- colorStop: 0
- }, opts.extra.bar);
- var calPoints = [];
- context.save();
- var leftNum = -2;
- var rightNum = yAxisPoints.length + 2;
- if (opts.tooltip && opts.tooltip.textList && opts.tooltip.textList.length && process === 1) {
- drawBarToolTipSplitArea(opts.tooltip.offset.y, opts, config, context, eachSpacing);
- }
- columnOption.customColor = fillCustomColor(columnOption.linearType, columnOption.customColor, series, config);
- series.forEach(function (eachSeries, seriesIndex) {
- var ranges, minRange, maxRange;
- ranges = [].concat(opts.chartData.xAxisData.ranges);
- maxRange = ranges.pop();
- minRange = ranges.shift();
- var data = eachSeries.data;
- switch (columnOption.type) {
- case 'group':
- var points = getBarDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config, process);
- var tooltipPoints = getBarStackDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config, seriesIndex, series, process);
- calPoints.push(tooltipPoints);
- points = fixBarData(points, eachSpacing, series.length, seriesIndex, config, opts);
- for (var _i21 = 0; _i21 < points.length; _i21++) {
- var item = points[_i21];
- //fix issues/I27B1N yyoinge & Joeshu
- if (item !== null && _i21 > leftNum && _i21 < rightNum) {
- //var startX = item.x - item.width / 2;
- var startX = opts.area[3];
- var startY = item.y - item.width / 2;
- var height = item.height;
- context.beginPath();
- var fillColor = item.color || eachSeries.color;
- var strokeColor = item.color || eachSeries.color;
- if (columnOption.linearType !== 'none') {
- var grd = context.createLinearGradient(startX, item.y, item.x, item.y);
- //透明渐变
- if (columnOption.linearType == 'opacity') {
- grd.addColorStop(0, hexToRgb(fillColor, columnOption.linearOpacity));
- grd.addColorStop(1, hexToRgb(fillColor, 1));
- } else {
- grd.addColorStop(0, hexToRgb(columnOption.customColor[eachSeries.linearIndex], columnOption.linearOpacity));
- grd.addColorStop(columnOption.colorStop, hexToRgb(columnOption.customColor[eachSeries.linearIndex], columnOption.linearOpacity));
- grd.addColorStop(1, hexToRgb(fillColor, 1));
- }
- fillColor = grd;
- }
- // 圆角边框
- if (columnOption.barBorderRadius && columnOption.barBorderRadius.length === 4 || columnOption.barBorderCircle === true) {
- var left = startX;
- var width = item.width;
- var top = item.y - item.width / 2;
- var _height4 = item.height;
- if (columnOption.barBorderCircle) {
- columnOption.barBorderRadius = [width / 2, width / 2, 0, 0];
- }
- var _columnOption$barBord3 = (0, _slicedToArray2.default)(columnOption.barBorderRadius, 4),
- r0 = _columnOption$barBord3[0],
- r1 = _columnOption$barBord3[1],
- r2 = _columnOption$barBord3[2],
- r3 = _columnOption$barBord3[3];
- var minRadius = Math.min(width / 2, _height4 / 2);
- r0 = r0 > minRadius ? minRadius : r0;
- r1 = r1 > minRadius ? minRadius : r1;
- r2 = r2 > minRadius ? minRadius : r2;
- r3 = r3 > minRadius ? minRadius : r3;
- r0 = r0 < 0 ? 0 : r0;
- r1 = r1 < 0 ? 0 : r1;
- r2 = r2 < 0 ? 0 : r2;
- r3 = r3 < 0 ? 0 : r3;
- context.arc(left + r3, top + r3, r3, -Math.PI, -Math.PI / 2);
- context.arc(item.x - r0, top + r0, r0, -Math.PI / 2, 0);
- context.arc(item.x - r1, top + width - r1, r1, 0, Math.PI / 2);
- context.arc(left + r2, top + width - r2, r2, Math.PI / 2, Math.PI);
- } else {
- context.moveTo(startX, startY);
- context.lineTo(item.x, startY);
- context.lineTo(item.x, startY + item.width);
- context.lineTo(startX, startY + item.width);
- context.lineTo(startX, startY);
- context.setLineWidth(1);
- context.setStrokeStyle(strokeColor);
- }
- context.setFillStyle(fillColor);
- context.closePath();
- //context.stroke();
- context.fill();
- }
- }
- ;
- break;
- case 'stack':
- // 绘制堆叠数据图
- var points = getBarStackDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config, seriesIndex, series, process);
- calPoints.push(points);
- points = fixBarStackData(points, eachSpacing, series.length, seriesIndex, config, opts, series);
- for (var _i22 = 0; _i22 < points.length; _i22++) {
- var _item12 = points[_i22];
- if (_item12 !== null && _i22 > leftNum && _i22 < rightNum) {
- context.beginPath();
- var fillColor = _item12.color || eachSeries.color;
- var startX = _item12.x0;
- context.setFillStyle(fillColor);
- context.moveTo(startX, _item12.y - _item12.width / 2);
- context.fillRect(startX, _item12.y - _item12.width / 2, _item12.height, _item12.width);
- context.closePath();
- context.fill();
- }
- }
- ;
- break;
- }
- });
- if (opts.dataLabel !== false && process === 1) {
- series.forEach(function (eachSeries, seriesIndex) {
- var ranges, minRange, maxRange;
- ranges = [].concat(opts.chartData.xAxisData.ranges);
- maxRange = ranges.pop();
- minRange = ranges.shift();
- var data = eachSeries.data;
- switch (columnOption.type) {
- case 'group':
- var points = getBarDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config, process);
- points = fixBarData(points, eachSpacing, series.length, seriesIndex, config, opts);
- drawBarPointText(points, eachSeries, config, context, opts);
- break;
- case 'stack':
- var points = getBarStackDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config, seriesIndex, series, process);
- drawBarPointText(points, eachSeries, config, context, opts);
- break;
- }
- });
- }
- return {
- yAxisPoints: yAxisPoints,
- calPoints: calPoints,
- eachSpacing: eachSpacing
- };
- }
- function drawCandleDataPoints(series, seriesMA, opts, config, context) {
- var process = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 1;
- var candleOption = assign({}, {
- color: {},
- average: {}
- }, opts.extra.candle);
- candleOption.color = assign({}, {
- upLine: '#f04864',
- upFill: '#f04864',
- downLine: '#2fc25b',
- downFill: '#2fc25b'
- }, candleOption.color);
- candleOption.average = assign({}, {
- show: false,
- name: [],
- day: [],
- color: config.color
- }, candleOption.average);
- opts.extra.candle = candleOption;
- var xAxisData = opts.chartData.xAxisData,
- xAxisPoints = xAxisData.xAxisPoints,
- eachSpacing = xAxisData.eachSpacing;
- var calPoints = [];
- context.save();
- var leftNum = -2;
- var rightNum = xAxisPoints.length + 2;
- var leftSpace = 0;
- var rightSpace = opts.width + eachSpacing;
- if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) {
- context.translate(opts._scrollDistance_, 0);
- leftNum = Math.floor(-opts._scrollDistance_ / eachSpacing) - 2;
- rightNum = leftNum + opts.xAxis.itemCount + 4;
- leftSpace = -opts._scrollDistance_ - eachSpacing * 2 + opts.area[3];
- rightSpace = leftSpace + (opts.xAxis.itemCount + 4) * eachSpacing;
- }
- //画均线
- if (candleOption.average.show || seriesMA) {
- //Merge pull request !12 from 邱贵翔
- seriesMA.forEach(function (eachSeries, seriesIndex) {
- var ranges, minRange, maxRange;
- ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);
- minRange = ranges.pop();
- maxRange = ranges.shift();
- var data = eachSeries.data;
- var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);
- var splitPointList = splitPoints(points, eachSeries);
- for (var i = 0; i < splitPointList.length; i++) {
- var _points = splitPointList[i];
- context.beginPath();
- context.setStrokeStyle(eachSeries.color);
- context.setLineWidth(1);
- if (_points.length === 1) {
- context.moveTo(_points[0].x, _points[0].y);
- context.arc(_points[0].x, _points[0].y, 1, 0, 2 * Math.PI);
- } else {
- context.moveTo(_points[0].x, _points[0].y);
- var startPoint = 0;
- for (var j = 0; j < _points.length; j++) {
- var item = _points[j];
- if (startPoint == 0 && item.x > leftSpace) {
- context.moveTo(item.x, item.y);
- startPoint = 1;
- }
- if (j > 0 && item.x > leftSpace && item.x < rightSpace) {
- var ctrlPoint = createCurveControlPoints(_points, j - 1);
- context.bezierCurveTo(ctrlPoint.ctrA.x, ctrlPoint.ctrA.y, ctrlPoint.ctrB.x, ctrlPoint.ctrB.y, item.x, item.y);
- }
- }
- context.moveTo(_points[0].x, _points[0].y);
- }
- context.closePath();
- context.stroke();
- }
- });
- }
- //画K线
- series.forEach(function (eachSeries, seriesIndex) {
- var ranges, minRange, maxRange;
- ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);
- minRange = ranges.pop();
- maxRange = ranges.shift();
- var data = eachSeries.data;
- var points = getCandleDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);
- calPoints.push(points);
- var splitPointList = splitPoints(points, eachSeries);
- for (var i = 0; i < splitPointList[0].length; i++) {
- if (i > leftNum && i < rightNum) {
- var item = splitPointList[0][i];
- context.beginPath();
- //如果上涨
- if (data[i][1] - data[i][0] > 0) {
- context.setStrokeStyle(candleOption.color.upLine);
- context.setFillStyle(candleOption.color.upFill);
- context.setLineWidth(1 * opts.pix);
- context.moveTo(item[3].x, item[3].y); //顶点
- context.lineTo(item[1].x, item[1].y); //收盘中间点
- context.lineTo(item[1].x - eachSpacing / 4, item[1].y); //收盘左侧点
- context.lineTo(item[0].x - eachSpacing / 4, item[0].y); //开盘左侧点
- context.lineTo(item[0].x, item[0].y); //开盘中间点
- context.lineTo(item[2].x, item[2].y); //底点
- context.lineTo(item[0].x, item[0].y); //开盘中间点
- context.lineTo(item[0].x + eachSpacing / 4, item[0].y); //开盘右侧点
- context.lineTo(item[1].x + eachSpacing / 4, item[1].y); //收盘右侧点
- context.lineTo(item[1].x, item[1].y); //收盘中间点
- context.moveTo(item[3].x, item[3].y); //顶点
- } else {
- context.setStrokeStyle(candleOption.color.downLine);
- context.setFillStyle(candleOption.color.downFill);
- context.setLineWidth(1 * opts.pix);
- context.moveTo(item[3].x, item[3].y); //顶点
- context.lineTo(item[0].x, item[0].y); //开盘中间点
- context.lineTo(item[0].x - eachSpacing / 4, item[0].y); //开盘左侧点
- context.lineTo(item[1].x - eachSpacing / 4, item[1].y); //收盘左侧点
- context.lineTo(item[1].x, item[1].y); //收盘中间点
- context.lineTo(item[2].x, item[2].y); //底点
- context.lineTo(item[1].x, item[1].y); //收盘中间点
- context.lineTo(item[1].x + eachSpacing / 4, item[1].y); //收盘右侧点
- context.lineTo(item[0].x + eachSpacing / 4, item[0].y); //开盘右侧点
- context.lineTo(item[0].x, item[0].y); //开盘中间点
- context.moveTo(item[3].x, item[3].y); //顶点
- }
- context.closePath();
- context.fill();
- context.stroke();
- }
- }
- });
- context.restore();
- return {
- xAxisPoints: xAxisPoints,
- calPoints: calPoints,
- eachSpacing: eachSpacing
- };
- }
- function drawAreaDataPoints(series, opts, config, context) {
- var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;
- var areaOption = assign({}, {
- type: 'straight',
- opacity: 0.2,
- addLine: false,
- width: 2,
- gradient: false,
- activeType: 'none'
- }, opts.extra.area);
- var xAxisData = opts.chartData.xAxisData,
- xAxisPoints = xAxisData.xAxisPoints,
- eachSpacing = xAxisData.eachSpacing;
- var endY = opts.height - opts.area[2];
- var calPoints = [];
- context.save();
- var leftSpace = 0;
- var rightSpace = opts.width + eachSpacing;
- if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) {
- context.translate(opts._scrollDistance_, 0);
- leftSpace = -opts._scrollDistance_ - eachSpacing * 2 + opts.area[3];
- rightSpace = leftSpace + (opts.xAxis.itemCount + 4) * eachSpacing;
- }
- series.forEach(function (eachSeries, seriesIndex) {
- var ranges, minRange, maxRange;
- ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);
- minRange = ranges.pop();
- maxRange = ranges.shift();
- var data = eachSeries.data;
- var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);
- calPoints.push(points);
- var splitPointList = splitPoints(points, eachSeries);
- for (var i = 0; i < splitPointList.length; i++) {
- var _points2 = splitPointList[i];
- // 绘制区域数
- context.beginPath();
- context.setStrokeStyle(hexToRgb(eachSeries.color, areaOption.opacity));
- if (areaOption.gradient) {
- var gradient = context.createLinearGradient(0, opts.area[0], 0, opts.height - opts.area[2]);
- gradient.addColorStop('0', hexToRgb(eachSeries.color, areaOption.opacity));
- gradient.addColorStop('1.0', hexToRgb("#FFFFFF", 0.1));
- context.setFillStyle(gradient);
- } else {
- context.setFillStyle(hexToRgb(eachSeries.color, areaOption.opacity));
- }
- context.setLineWidth(areaOption.width * opts.pix);
- if (_points2.length > 1) {
- var firstPoint = _points2[0];
- var lastPoint = _points2[_points2.length - 1];
- context.moveTo(firstPoint.x, firstPoint.y);
- var startPoint = 0;
- if (areaOption.type === 'curve') {
- for (var j = 0; j < _points2.length; j++) {
- var item = _points2[j];
- if (startPoint == 0 && item.x > leftSpace) {
- context.moveTo(item.x, item.y);
- startPoint = 1;
- }
- if (j > 0 && item.x > leftSpace && item.x < rightSpace) {
- var ctrlPoint = createCurveControlPoints(_points2, j - 1);
- context.bezierCurveTo(ctrlPoint.ctrA.x, ctrlPoint.ctrA.y, ctrlPoint.ctrB.x, ctrlPoint.ctrB.y, item.x, item.y);
- }
- }
- ;
- }
- if (areaOption.type === 'straight') {
- for (var _j = 0; _j < _points2.length; _j++) {
- var _item13 = _points2[_j];
- if (startPoint == 0 && _item13.x > leftSpace) {
- context.moveTo(_item13.x, _item13.y);
- startPoint = 1;
- }
- if (_j > 0 && _item13.x > leftSpace && _item13.x < rightSpace) {
- context.lineTo(_item13.x, _item13.y);
- }
- }
- ;
- }
- if (areaOption.type === 'step') {
- for (var _j2 = 0; _j2 < _points2.length; _j2++) {
- var _item14 = _points2[_j2];
- if (startPoint == 0 && _item14.x > leftSpace) {
- context.moveTo(_item14.x, _item14.y);
- startPoint = 1;
- }
- if (_j2 > 0 && _item14.x > leftSpace && _item14.x < rightSpace) {
- context.lineTo(_item14.x, _points2[_j2 - 1].y);
- context.lineTo(_item14.x, _item14.y);
- }
- }
- ;
- }
- context.lineTo(lastPoint.x, endY);
- context.lineTo(firstPoint.x, endY);
- context.lineTo(firstPoint.x, firstPoint.y);
- } else {
- var _item15 = _points2[0];
- context.moveTo(_item15.x - eachSpacing / 2, _item15.y);
- // context.lineTo(item.x + eachSpacing / 2, item.y);
- // context.lineTo(item.x + eachSpacing / 2, endY);
- // context.lineTo(item.x - eachSpacing / 2, endY);
- // context.moveTo(item.x - eachSpacing / 2, item.y);
- }
- context.closePath();
- context.fill();
- //画连线
- if (areaOption.addLine) {
- if (eachSeries.lineType == 'dash') {
- var dashLength = eachSeries.dashLength ? eachSeries.dashLength : 8;
- dashLength *= opts.pix;
- context.setLineDash([dashLength, dashLength]);
- }
- context.beginPath();
- context.setStrokeStyle(eachSeries.color);
- context.setLineWidth(areaOption.width * opts.pix);
- if (_points2.length === 1) {
- context.moveTo(_points2[0].x, _points2[0].y);
- // context.arc(points[0].x, points[0].y, 1, 0, 2 * Math.PI);
- } else {
- context.moveTo(_points2[0].x, _points2[0].y);
- var _startPoint = 0;
- if (areaOption.type === 'curve') {
- for (var _j3 = 0; _j3 < _points2.length; _j3++) {
- var _item16 = _points2[_j3];
- if (_startPoint == 0 && _item16.x > leftSpace) {
- context.moveTo(_item16.x, _item16.y);
- _startPoint = 1;
- }
- if (_j3 > 0 && _item16.x > leftSpace && _item16.x < rightSpace) {
- var _ctrlPoint = createCurveControlPoints(_points2, _j3 - 1);
- context.bezierCurveTo(_ctrlPoint.ctrA.x, _ctrlPoint.ctrA.y, _ctrlPoint.ctrB.x, _ctrlPoint.ctrB.y, _item16.x, _item16.y);
- }
- }
- ;
- }
- if (areaOption.type === 'straight') {
- for (var _j4 = 0; _j4 < _points2.length; _j4++) {
- var _item17 = _points2[_j4];
- if (_startPoint == 0 && _item17.x > leftSpace) {
- context.moveTo(_item17.x, _item17.y);
- _startPoint = 1;
- }
- if (_j4 > 0 && _item17.x > leftSpace && _item17.x < rightSpace) {
- context.lineTo(_item17.x, _item17.y);
- }
- }
- ;
- }
- if (areaOption.type === 'step') {
- for (var _j5 = 0; _j5 < _points2.length; _j5++) {
- var _item18 = _points2[_j5];
- if (_startPoint == 0 && _item18.x > leftSpace) {
- context.moveTo(_item18.x, _item18.y);
- _startPoint = 1;
- }
- if (_j5 > 0 && _item18.x > leftSpace && _item18.x < rightSpace) {
- context.lineTo(_item18.x, _points2[_j5 - 1].y);
- context.lineTo(_item18.x, _item18.y);
- }
- }
- ;
- }
- context.moveTo(_points2[0].x, _points2[0].y);
- }
- context.stroke();
- context.setLineDash([]);
- }
- }
- //画点
- if (opts.dataPointShape !== false) {
- drawPointShape(points, eachSeries.color, eachSeries.pointShape, context, opts);
- }
- drawActivePoint(points, eachSeries.color, eachSeries.pointShape, context, opts, areaOption, seriesIndex);
- });
- if (opts.dataLabel !== false && process === 1) {
- series.forEach(function (eachSeries, seriesIndex) {
- var ranges, minRange, maxRange;
- ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);
- minRange = ranges.pop();
- maxRange = ranges.shift();
- var data = eachSeries.data;
- var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);
- drawPointText(points, eachSeries, config, context, opts);
- });
- }
- context.restore();
- return {
- xAxisPoints: xAxisPoints,
- calPoints: calPoints,
- eachSpacing: eachSpacing
- };
- }
- function drawScatterDataPoints(series, opts, config, context) {
- var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;
- var scatterOption = assign({}, {
- type: 'circle'
- }, opts.extra.scatter);
- var xAxisData = opts.chartData.xAxisData,
- xAxisPoints = xAxisData.xAxisPoints,
- eachSpacing = xAxisData.eachSpacing;
- var calPoints = [];
- context.save();
- var leftSpace = 0;
- var rightSpace = opts.width + eachSpacing;
- if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) {
- context.translate(opts._scrollDistance_, 0);
- leftSpace = -opts._scrollDistance_ - eachSpacing * 2 + opts.area[3];
- rightSpace = leftSpace + (opts.xAxis.itemCount + 4) * eachSpacing;
- }
- series.forEach(function (eachSeries, seriesIndex) {
- var ranges, minRange, maxRange;
- ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);
- minRange = ranges.pop();
- maxRange = ranges.shift();
- var data = eachSeries.data;
- var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);
- context.beginPath();
- context.setStrokeStyle(eachSeries.color);
- context.setFillStyle(eachSeries.color);
- context.setLineWidth(1 * opts.pix);
- var shape = eachSeries.pointShape;
- if (shape === 'diamond') {
- points.forEach(function (item, index) {
- if (item !== null) {
- context.moveTo(item.x, item.y - 4.5);
- context.lineTo(item.x - 4.5, item.y);
- context.lineTo(item.x, item.y + 4.5);
- context.lineTo(item.x + 4.5, item.y);
- context.lineTo(item.x, item.y - 4.5);
- }
- });
- } else if (shape === 'circle') {
- points.forEach(function (item, index) {
- if (item !== null) {
- context.moveTo(item.x + 2.5 * opts.pix, item.y);
- context.arc(item.x, item.y, 3 * opts.pix, 0, 2 * Math.PI, false);
- }
- });
- } else if (shape === 'square') {
- points.forEach(function (item, index) {
- if (item !== null) {
- context.moveTo(item.x - 3.5, item.y - 3.5);
- context.rect(item.x - 3.5, item.y - 3.5, 7, 7);
- }
- });
- } else if (shape === 'triangle') {
- points.forEach(function (item, index) {
- if (item !== null) {
- context.moveTo(item.x, item.y - 4.5);
- context.lineTo(item.x - 4.5, item.y + 4.5);
- context.lineTo(item.x + 4.5, item.y + 4.5);
- context.lineTo(item.x, item.y - 4.5);
- }
- });
- } else if (shape === 'triangle') {
- return;
- }
- context.closePath();
- context.fill();
- context.stroke();
- });
- if (opts.dataLabel !== false && process === 1) {
- series.forEach(function (eachSeries, seriesIndex) {
- var ranges, minRange, maxRange;
- ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);
- minRange = ranges.pop();
- maxRange = ranges.shift();
- var data = eachSeries.data;
- var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);
- drawPointText(points, eachSeries, config, context, opts);
- });
- }
- context.restore();
- return {
- xAxisPoints: xAxisPoints,
- calPoints: calPoints,
- eachSpacing: eachSpacing
- };
- }
- function drawBubbleDataPoints(series, opts, config, context) {
- var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;
- var bubbleOption = assign({}, {
- opacity: 1,
- border: 2
- }, opts.extra.bubble);
- var xAxisData = opts.chartData.xAxisData,
- xAxisPoints = xAxisData.xAxisPoints,
- eachSpacing = xAxisData.eachSpacing;
- var calPoints = [];
- context.save();
- var leftSpace = 0;
- var rightSpace = opts.width + eachSpacing;
- if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) {
- context.translate(opts._scrollDistance_, 0);
- leftSpace = -opts._scrollDistance_ - eachSpacing * 2 + opts.area[3];
- rightSpace = leftSpace + (opts.xAxis.itemCount + 4) * eachSpacing;
- }
- series.forEach(function (eachSeries, seriesIndex) {
- var ranges, minRange, maxRange;
- ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);
- minRange = ranges.pop();
- maxRange = ranges.shift();
- var data = eachSeries.data;
- var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);
- context.beginPath();
- context.setStrokeStyle(eachSeries.color);
- context.setLineWidth(bubbleOption.border * opts.pix);
- context.setFillStyle(hexToRgb(eachSeries.color, bubbleOption.opacity));
- points.forEach(function (item, index) {
- context.moveTo(item.x + item.r, item.y);
- context.arc(item.x, item.y, item.r * opts.pix, 0, 2 * Math.PI, false);
- });
- context.closePath();
- context.fill();
- context.stroke();
- if (opts.dataLabel !== false && process === 1) {
- points.forEach(function (item, index) {
- context.beginPath();
- var fontSize = eachSeries.textSize * opts.pix || config.fontSize;
- context.setFontSize(fontSize);
- context.setFillStyle(eachSeries.textColor || "#FFFFFF");
- context.setTextAlign('center');
- context.fillText(String(item.t), item.x, item.y + fontSize / 2);
- context.closePath();
- context.stroke();
- context.setTextAlign('left');
- });
- }
- });
- context.restore();
- return {
- xAxisPoints: xAxisPoints,
- calPoints: calPoints,
- eachSpacing: eachSpacing
- };
- }
- function drawLineDataPoints(series, opts, config, context) {
- var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;
- var lineOption = assign({}, {
- type: 'straight',
- width: 2,
- activeType: 'none',
- linearType: 'none',
- onShadow: false,
- animation: 'vertical'
- }, opts.extra.line);
- lineOption.width *= opts.pix;
- var xAxisData = opts.chartData.xAxisData,
- xAxisPoints = xAxisData.xAxisPoints,
- eachSpacing = xAxisData.eachSpacing;
- var calPoints = [];
- context.save();
- var leftSpace = 0;
- var rightSpace = opts.width + eachSpacing;
- if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) {
- context.translate(opts._scrollDistance_, 0);
- leftSpace = -opts._scrollDistance_ - eachSpacing * 2 + opts.area[3];
- rightSpace = leftSpace + (opts.xAxis.itemCount + 4) * eachSpacing;
- }
- series.forEach(function (eachSeries, seriesIndex) {
- // 这段很神奇的代码用于解决ios16的setStrokeStyle失效的bug
- context.beginPath();
- context.setStrokeStyle(eachSeries.color);
- context.moveTo(-10000, -10000);
- context.lineTo(-10001, -10001);
- context.stroke();
- var ranges, minRange, maxRange;
- ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);
- minRange = ranges.pop();
- maxRange = ranges.shift();
- var data = eachSeries.data;
- var points = getLineDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, lineOption, process);
- calPoints.push(points);
- var splitPointList = splitPoints(points, eachSeries);
- if (eachSeries.lineType == 'dash') {
- var dashLength = eachSeries.dashLength ? eachSeries.dashLength : 8;
- dashLength *= opts.pix;
- context.setLineDash([dashLength, dashLength]);
- }
- context.beginPath();
- var strokeColor = eachSeries.color;
- if (lineOption.linearType !== 'none' && eachSeries.linearColor && eachSeries.linearColor.length > 0) {
- var grd = context.createLinearGradient(opts.chartData.xAxisData.startX, opts.height / 2, opts.chartData.xAxisData.endX, opts.height / 2);
- for (var i = 0; i < eachSeries.linearColor.length; i++) {
- grd.addColorStop(eachSeries.linearColor[i][0], hexToRgb(eachSeries.linearColor[i][1], 1));
- }
- strokeColor = grd;
- }
- context.setStrokeStyle(strokeColor);
- if (lineOption.onShadow == true && eachSeries.setShadow && eachSeries.setShadow.length > 0) {
- context.setShadow(eachSeries.setShadow[0], eachSeries.setShadow[1], eachSeries.setShadow[2], eachSeries.setShadow[3]);
- } else {
- context.setShadow(0, 0, 0, 'rgba(0,0,0,0)');
- }
- context.setLineWidth(lineOption.width);
- splitPointList.forEach(function (points, index) {
- if (points.length === 1) {
- context.moveTo(points[0].x, points[0].y);
- // context.arc(points[0].x, points[0].y, 1, 0, 2 * Math.PI);
- } else {
- context.moveTo(points[0].x, points[0].y);
- var startPoint = 0;
- if (lineOption.type === 'curve') {
- for (var j = 0; j < points.length; j++) {
- var item = points[j];
- if (startPoint == 0 && item.x > leftSpace) {
- context.moveTo(item.x, item.y);
- startPoint = 1;
- }
- if (j > 0 && item.x > leftSpace && item.x < rightSpace) {
- var ctrlPoint = createCurveControlPoints(points, j - 1);
- context.bezierCurveTo(ctrlPoint.ctrA.x, ctrlPoint.ctrA.y, ctrlPoint.ctrB.x, ctrlPoint.ctrB.y, item.x, item.y);
- }
- }
- ;
- }
- if (lineOption.type === 'straight') {
- for (var _j6 = 0; _j6 < points.length; _j6++) {
- var _item19 = points[_j6];
- if (startPoint == 0 && _item19.x > leftSpace) {
- context.moveTo(_item19.x, _item19.y);
- startPoint = 1;
- }
- if (_j6 > 0 && _item19.x > leftSpace && _item19.x < rightSpace) {
- context.lineTo(_item19.x, _item19.y);
- }
- }
- ;
- }
- if (lineOption.type === 'step') {
- for (var _j7 = 0; _j7 < points.length; _j7++) {
- var _item20 = points[_j7];
- if (startPoint == 0 && _item20.x > leftSpace) {
- context.moveTo(_item20.x, _item20.y);
- startPoint = 1;
- }
- if (_j7 > 0 && _item20.x > leftSpace && _item20.x < rightSpace) {
- context.lineTo(_item20.x, points[_j7 - 1].y);
- context.lineTo(_item20.x, _item20.y);
- }
- }
- ;
- }
- context.moveTo(points[0].x, points[0].y);
- }
- });
- context.stroke();
- context.setLineDash([]);
- if (opts.dataPointShape !== false) {
- drawPointShape(points, eachSeries.color, eachSeries.pointShape, context, opts);
- }
- drawActivePoint(points, eachSeries.color, eachSeries.pointShape, context, opts, lineOption);
- });
- if (opts.dataLabel !== false && process === 1) {
- series.forEach(function (eachSeries, seriesIndex) {
- var ranges, minRange, maxRange;
- ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);
- minRange = ranges.pop();
- maxRange = ranges.shift();
- var data = eachSeries.data;
- var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);
- drawPointText(points, eachSeries, config, context, opts);
- });
- }
- context.restore();
- return {
- xAxisPoints: xAxisPoints,
- calPoints: calPoints,
- eachSpacing: eachSpacing
- };
- }
- function drawMixDataPoints(series, opts, config, context) {
- var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;
- var xAxisData = opts.chartData.xAxisData,
- xAxisPoints = xAxisData.xAxisPoints,
- eachSpacing = xAxisData.eachSpacing;
- var columnOption = assign({}, {
- width: eachSpacing / 2,
- barBorderCircle: false,
- barBorderRadius: [],
- seriesGap: 2,
- linearType: 'none',
- linearOpacity: 1,
- customColor: [],
- colorStop: 0
- }, opts.extra.mix.column);
- var areaOption = assign({}, {
- opacity: 0.2,
- gradient: false
- }, opts.extra.mix.area);
- var lineOption = assign({}, {
- width: 2
- }, opts.extra.mix.line);
- var endY = opts.height - opts.area[2];
- var calPoints = [];
- var columnIndex = 0;
- var columnLength = 0;
- series.forEach(function (eachSeries, seriesIndex) {
- if (eachSeries.type == 'column') {
- columnLength += 1;
- }
- });
- context.save();
- var leftNum = -2;
- var rightNum = xAxisPoints.length + 2;
- var leftSpace = 0;
- var rightSpace = opts.width + eachSpacing;
- if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) {
- context.translate(opts._scrollDistance_, 0);
- leftNum = Math.floor(-opts._scrollDistance_ / eachSpacing) - 2;
- rightNum = leftNum + opts.xAxis.itemCount + 4;
- leftSpace = -opts._scrollDistance_ - eachSpacing * 2 + opts.area[3];
- rightSpace = leftSpace + (opts.xAxis.itemCount + 4) * eachSpacing;
- }
- columnOption.customColor = fillCustomColor(columnOption.linearType, columnOption.customColor, series, config);
- series.forEach(function (eachSeries, seriesIndex) {
- var ranges, minRange, maxRange;
- ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);
- minRange = ranges.pop();
- maxRange = ranges.shift();
- var data = eachSeries.data;
- var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);
- calPoints.push(points);
- // 绘制柱状数据图
- if (eachSeries.type == 'column') {
- points = fixColumeData(points, eachSpacing, columnLength, columnIndex, config, opts);
- for (var i = 0; i < points.length; i++) {
- var item = points[i];
- if (item !== null && i > leftNum && i < rightNum) {
- var startX = item.x - item.width / 2;
- var height = opts.height - item.y - opts.area[2];
- context.beginPath();
- var fillColor = item.color || eachSeries.color;
- var strokeColor = item.color || eachSeries.color;
- if (columnOption.linearType !== 'none') {
- var grd = context.createLinearGradient(startX, item.y, startX, opts.height - opts.area[2]);
- //透明渐变
- if (columnOption.linearType == 'opacity') {
- grd.addColorStop(0, hexToRgb(fillColor, columnOption.linearOpacity));
- grd.addColorStop(1, hexToRgb(fillColor, 1));
- } else {
- grd.addColorStop(0, hexToRgb(columnOption.customColor[eachSeries.linearIndex], columnOption.linearOpacity));
- grd.addColorStop(columnOption.colorStop, hexToRgb(columnOption.customColor[eachSeries.linearIndex], columnOption.linearOpacity));
- grd.addColorStop(1, hexToRgb(fillColor, 1));
- }
- fillColor = grd;
- }
- // 圆角边框
- if (columnOption.barBorderRadius && columnOption.barBorderRadius.length === 4 || columnOption.barBorderCircle) {
- var left = startX;
- var top = item.y;
- var width = item.width;
- var _height5 = opts.height - opts.area[2] - item.y;
- if (columnOption.barBorderCircle) {
- columnOption.barBorderRadius = [width / 2, width / 2, 0, 0];
- }
- var _columnOption$barBord4 = (0, _slicedToArray2.default)(columnOption.barBorderRadius, 4),
- r0 = _columnOption$barBord4[0],
- r1 = _columnOption$barBord4[1],
- r2 = _columnOption$barBord4[2],
- r3 = _columnOption$barBord4[3];
- var minRadius = Math.min(width / 2, _height5 / 2);
- r0 = r0 > minRadius ? minRadius : r0;
- r1 = r1 > minRadius ? minRadius : r1;
- r2 = r2 > minRadius ? minRadius : r2;
- r3 = r3 > minRadius ? minRadius : r3;
- r0 = r0 < 0 ? 0 : r0;
- r1 = r1 < 0 ? 0 : r1;
- r2 = r2 < 0 ? 0 : r2;
- r3 = r3 < 0 ? 0 : r3;
- context.arc(left + r0, top + r0, r0, -Math.PI, -Math.PI / 2);
- context.arc(left + width - r1, top + r1, r1, -Math.PI / 2, 0);
- context.arc(left + width - r2, top + _height5 - r2, r2, 0, Math.PI / 2);
- context.arc(left + r3, top + _height5 - r3, r3, Math.PI / 2, Math.PI);
- } else {
- context.moveTo(startX, item.y);
- context.lineTo(startX + item.width, item.y);
- context.lineTo(startX + item.width, opts.height - opts.area[2]);
- context.lineTo(startX, opts.height - opts.area[2]);
- context.lineTo(startX, item.y);
- context.setLineWidth(1);
- context.setStrokeStyle(strokeColor);
- }
- context.setFillStyle(fillColor);
- context.closePath();
- context.fill();
- }
- }
- columnIndex += 1;
- }
- //绘制区域图数据
- if (eachSeries.type == 'area') {
- var _splitPointList = splitPoints(points, eachSeries);
- for (var _i23 = 0; _i23 < _splitPointList.length; _i23++) {
- var _points3 = _splitPointList[_i23];
- // 绘制区域数据
- context.beginPath();
- context.setStrokeStyle(eachSeries.color);
- context.setStrokeStyle(hexToRgb(eachSeries.color, areaOption.opacity));
- if (areaOption.gradient) {
- var gradient = context.createLinearGradient(0, opts.area[0], 0, opts.height - opts.area[2]);
- gradient.addColorStop('0', hexToRgb(eachSeries.color, areaOption.opacity));
- gradient.addColorStop('1.0', hexToRgb("#FFFFFF", 0.1));
- context.setFillStyle(gradient);
- } else {
- context.setFillStyle(hexToRgb(eachSeries.color, areaOption.opacity));
- }
- context.setLineWidth(2 * opts.pix);
- if (_points3.length > 1) {
- var firstPoint = _points3[0];
- var lastPoint = _points3[_points3.length - 1];
- context.moveTo(firstPoint.x, firstPoint.y);
- var startPoint = 0;
- if (eachSeries.style === 'curve') {
- for (var j = 0; j < _points3.length; j++) {
- var _item21 = _points3[j];
- if (startPoint == 0 && _item21.x > leftSpace) {
- context.moveTo(_item21.x, _item21.y);
- startPoint = 1;
- }
- if (j > 0 && _item21.x > leftSpace && _item21.x < rightSpace) {
- var ctrlPoint = createCurveControlPoints(_points3, j - 1);
- context.bezierCurveTo(ctrlPoint.ctrA.x, ctrlPoint.ctrA.y, ctrlPoint.ctrB.x, ctrlPoint.ctrB.y, _item21.x, _item21.y);
- }
- }
- ;
- } else {
- for (var _j8 = 0; _j8 < _points3.length; _j8++) {
- var _item22 = _points3[_j8];
- if (startPoint == 0 && _item22.x > leftSpace) {
- context.moveTo(_item22.x, _item22.y);
- startPoint = 1;
- }
- if (_j8 > 0 && _item22.x > leftSpace && _item22.x < rightSpace) {
- context.lineTo(_item22.x, _item22.y);
- }
- }
- ;
- }
- context.lineTo(lastPoint.x, endY);
- context.lineTo(firstPoint.x, endY);
- context.lineTo(firstPoint.x, firstPoint.y);
- } else {
- var _item23 = _points3[0];
- context.moveTo(_item23.x - eachSpacing / 2, _item23.y);
- // context.lineTo(item.x + eachSpacing / 2, item.y);
- // context.lineTo(item.x + eachSpacing / 2, endY);
- // context.lineTo(item.x - eachSpacing / 2, endY);
- // context.moveTo(item.x - eachSpacing / 2, item.y);
- }
- context.closePath();
- context.fill();
- }
- }
- // 绘制折线数据图
- if (eachSeries.type == 'line') {
- var splitPointList = splitPoints(points, eachSeries);
- splitPointList.forEach(function (points, index) {
- if (eachSeries.lineType == 'dash') {
- var dashLength = eachSeries.dashLength ? eachSeries.dashLength : 8;
- dashLength *= opts.pix;
- context.setLineDash([dashLength, dashLength]);
- }
- context.beginPath();
- context.setStrokeStyle(eachSeries.color);
- context.setLineWidth(lineOption.width * opts.pix);
- if (points.length === 1) {
- context.moveTo(points[0].x, points[0].y);
- // context.arc(points[0].x, points[0].y, 1, 0, 2 * Math.PI);
- } else {
- context.moveTo(points[0].x, points[0].y);
- var _startPoint2 = 0;
- if (eachSeries.style == 'curve') {
- for (var _j9 = 0; _j9 < points.length; _j9++) {
- var _item24 = points[_j9];
- if (_startPoint2 == 0 && _item24.x > leftSpace) {
- context.moveTo(_item24.x, _item24.y);
- _startPoint2 = 1;
- }
- if (_j9 > 0 && _item24.x > leftSpace && _item24.x < rightSpace) {
- var ctrlPoint = createCurveControlPoints(points, _j9 - 1);
- context.bezierCurveTo(ctrlPoint.ctrA.x, ctrlPoint.ctrA.y, ctrlPoint.ctrB.x, ctrlPoint.ctrB.y, _item24.x, _item24.y);
- }
- }
- } else {
- for (var _j10 = 0; _j10 < points.length; _j10++) {
- var _item25 = points[_j10];
- if (_startPoint2 == 0 && _item25.x > leftSpace) {
- context.moveTo(_item25.x, _item25.y);
- _startPoint2 = 1;
- }
- if (_j10 > 0 && _item25.x > leftSpace && _item25.x < rightSpace) {
- context.lineTo(_item25.x, _item25.y);
- }
- }
- }
- context.moveTo(points[0].x, points[0].y);
- }
- context.stroke();
- context.setLineDash([]);
- });
- }
- // 绘制点数据图
- if (eachSeries.type == 'point') {
- eachSeries.addPoint = true;
- }
- if (eachSeries.addPoint == true && eachSeries.type !== 'column') {
- drawPointShape(points, eachSeries.color, eachSeries.pointShape, context, opts);
- }
- });
- if (opts.dataLabel !== false && process === 1) {
- var columnIndex = 0;
- series.forEach(function (eachSeries, seriesIndex) {
- var ranges, minRange, maxRange;
- ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);
- minRange = ranges.pop();
- maxRange = ranges.shift();
- var data = eachSeries.data;
- var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);
- if (eachSeries.type !== 'column') {
- drawPointText(points, eachSeries, config, context, opts);
- } else {
- points = fixColumeData(points, eachSpacing, columnLength, columnIndex, config, opts);
- drawPointText(points, eachSeries, config, context, opts);
- columnIndex += 1;
- }
- });
- }
- context.restore();
- return {
- xAxisPoints: xAxisPoints,
- calPoints: calPoints,
- eachSpacing: eachSpacing
- };
- }
- function drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints) {
- var toolTipOption = opts.extra.tooltip || {};
- if (toolTipOption.horizentalLine && opts.tooltip && process === 1 && (opts.type == 'line' || opts.type == 'area' || opts.type == 'column' || opts.type == 'mount' || opts.type == 'candle' || opts.type == 'mix')) {
- drawToolTipHorizentalLine(opts, config, context, eachSpacing, xAxisPoints);
- }
- context.save();
- if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) {
- context.translate(opts._scrollDistance_, 0);
- }
- if (opts.tooltip && opts.tooltip.textList && opts.tooltip.textList.length && process === 1) {
- drawToolTip(opts.tooltip.textList, opts.tooltip.offset, opts, config, context, eachSpacing, xAxisPoints);
- }
- context.restore();
- }
- function drawXAxis(categories, opts, config, context) {
- var xAxisData = opts.chartData.xAxisData,
- xAxisPoints = xAxisData.xAxisPoints,
- startX = xAxisData.startX,
- endX = xAxisData.endX,
- eachSpacing = xAxisData.eachSpacing;
- var boundaryGap = 'center';
- if (opts.type == 'bar' || opts.type == 'line' || opts.type == 'area' || opts.type == 'scatter' || opts.type == 'bubble') {
- boundaryGap = opts.xAxis.boundaryGap;
- }
- var startY = opts.height - opts.area[2];
- var endY = opts.area[0];
- //绘制滚动条
- if (opts.enableScroll && opts.xAxis.scrollShow) {
- var scrollY = opts.height - opts.area[2] + config.xAxisHeight;
- var scrollScreenWidth = endX - startX;
- var scrollTotalWidth = eachSpacing * (xAxisPoints.length - 1);
- if (opts.type == 'mount' && opts.extra && opts.extra.mount && opts.extra.mount.widthRatio && opts.extra.mount.widthRatio > 1) {
- if (opts.extra.mount.widthRatio > 2) opts.extra.mount.widthRatio = 2;
- scrollTotalWidth += (opts.extra.mount.widthRatio - 1) * eachSpacing;
- }
- var scrollWidth = scrollScreenWidth * scrollScreenWidth / scrollTotalWidth;
- var scrollLeft = 0;
- if (opts._scrollDistance_) {
- scrollLeft = -opts._scrollDistance_ * scrollScreenWidth / scrollTotalWidth;
- }
- context.beginPath();
- context.setLineCap('round');
- context.setLineWidth(6 * opts.pix);
- context.setStrokeStyle(opts.xAxis.scrollBackgroundColor || "#EFEBEF");
- context.moveTo(startX, scrollY);
- context.lineTo(endX, scrollY);
- context.stroke();
- context.closePath();
- context.beginPath();
- context.setLineCap('round');
- context.setLineWidth(6 * opts.pix);
- context.setStrokeStyle(opts.xAxis.scrollColor || "#A6A6A6");
- context.moveTo(startX + scrollLeft, scrollY);
- context.lineTo(startX + scrollLeft + scrollWidth, scrollY);
- context.stroke();
- context.closePath();
- context.setLineCap('butt');
- }
- context.save();
- if (opts._scrollDistance_ && opts._scrollDistance_ !== 0) {
- context.translate(opts._scrollDistance_, 0);
- }
- //绘制X轴刻度线
- if (opts.xAxis.calibration === true) {
- context.setStrokeStyle(opts.xAxis.gridColor || "#cccccc");
- context.setLineCap('butt');
- context.setLineWidth(1 * opts.pix);
- xAxisPoints.forEach(function (item, index) {
- if (index > 0) {
- context.beginPath();
- context.moveTo(item - eachSpacing / 2, startY);
- context.lineTo(item - eachSpacing / 2, startY + 3 * opts.pix);
- context.closePath();
- context.stroke();
- }
- });
- }
- //绘制X轴网格
- if (opts.xAxis.disableGrid !== true) {
- context.setStrokeStyle(opts.xAxis.gridColor || "#cccccc");
- context.setLineCap('butt');
- context.setLineWidth(1 * opts.pix);
- if (opts.xAxis.gridType == 'dash') {
- context.setLineDash([opts.xAxis.dashLength * opts.pix, opts.xAxis.dashLength * opts.pix]);
- }
- opts.xAxis.gridEval = opts.xAxis.gridEval || 1;
- xAxisPoints.forEach(function (item, index) {
- if (index % opts.xAxis.gridEval == 0) {
- context.beginPath();
- context.moveTo(item, startY);
- context.lineTo(item, endY);
- context.stroke();
- }
- });
- context.setLineDash([]);
- }
- //绘制X轴文案
- if (opts.xAxis.disabled !== true) {
- // 对X轴列表做抽稀处理
- //默认全部显示X轴标签
- var maxXAxisListLength = categories.length;
- //如果设置了X轴单屏数量
- if (opts.xAxis.labelCount) {
- //如果设置X轴密度
- if (opts.xAxis.itemCount) {
- maxXAxisListLength = Math.ceil(categories.length / opts.xAxis.itemCount * opts.xAxis.labelCount);
- } else {
- maxXAxisListLength = opts.xAxis.labelCount;
- }
- maxXAxisListLength -= 1;
- }
- var ratio = Math.ceil(categories.length / maxXAxisListLength);
- var newCategories = [];
- var cgLength = categories.length;
- for (var i = 0; i < cgLength; i++) {
- if (i % ratio !== 0) {
- newCategories.push("");
- } else {
- newCategories.push(categories[i]);
- }
- }
- newCategories[cgLength - 1] = categories[cgLength - 1];
- var xAxisFontSize = opts.xAxis.fontSize * opts.pix || config.fontSize;
- if (config._xAxisTextAngle_ === 0) {
- newCategories.forEach(function (item, index) {
- var xitem = opts.xAxis.formatter ? opts.xAxis.formatter(item, index, opts) : item;
- var offset = -measureText(String(xitem), xAxisFontSize, context) / 2;
- if (boundaryGap == 'center') {
- offset += eachSpacing / 2;
- }
- var scrollHeight = 0;
- if (opts.xAxis.scrollShow) {
- scrollHeight = 6 * opts.pix;
- }
- // 如果在主视图区域内
- var _scrollDistance_ = opts._scrollDistance_ || 0;
- var truePoints = boundaryGap == 'center' ? xAxisPoints[index] + eachSpacing / 2 : xAxisPoints[index];
- if (truePoints - Math.abs(_scrollDistance_) >= opts.area[3] - 1 && truePoints - Math.abs(_scrollDistance_) <= opts.width - opts.area[1] + 1) {
- context.beginPath();
- context.setFontSize(xAxisFontSize);
- context.setFillStyle(opts.xAxis.fontColor || opts.fontColor);
- context.fillText(String(xitem), xAxisPoints[index] + offset, startY + opts.xAxis.marginTop * opts.pix + (opts.xAxis.lineHeight - opts.xAxis.fontSize) * opts.pix / 2 + opts.xAxis.fontSize * opts.pix);
- context.closePath();
- context.stroke();
- }
- });
- } else {
- newCategories.forEach(function (item, index) {
- var xitem = opts.xAxis.formatter ? opts.xAxis.formatter(item) : item;
- // 如果在主视图区域内
- var _scrollDistance_ = opts._scrollDistance_ || 0;
- var truePoints = boundaryGap == 'center' ? xAxisPoints[index] + eachSpacing / 2 : xAxisPoints[index];
- if (truePoints - Math.abs(_scrollDistance_) >= opts.area[3] - 1 && truePoints - Math.abs(_scrollDistance_) <= opts.width - opts.area[1] + 1) {
- context.save();
- context.beginPath();
- context.setFontSize(xAxisFontSize);
- context.setFillStyle(opts.xAxis.fontColor || opts.fontColor);
- var textWidth = measureText(String(xitem), xAxisFontSize, context);
- var offsetX = xAxisPoints[index];
- if (boundaryGap == 'center') {
- offsetX = xAxisPoints[index] + eachSpacing / 2;
- }
- var scrollHeight = 0;
- if (opts.xAxis.scrollShow) {
- scrollHeight = 6 * opts.pix;
- }
- var offsetY = startY + opts.xAxis.marginTop * opts.pix + xAxisFontSize - xAxisFontSize * Math.abs(Math.sin(config._xAxisTextAngle_));
- if (opts.xAxis.rotateAngle < 0) {
- offsetX -= xAxisFontSize / 2;
- textWidth = 0;
- } else {
- offsetX += xAxisFontSize / 2;
- textWidth = -textWidth;
- }
- context.translate(offsetX, offsetY);
- context.rotate(-1 * config._xAxisTextAngle_);
- context.fillText(String(xitem), textWidth, 0);
- context.closePath();
- context.stroke();
- context.restore();
- }
- });
- }
- }
- context.restore();
- //画X轴标题
- if (opts.xAxis.title) {
- context.beginPath();
- context.setFontSize(opts.xAxis.titleFontSize * opts.pix);
- context.setFillStyle(opts.xAxis.titleFontColor);
- context.fillText(String(opts.xAxis.title), opts.width - opts.area[1] + opts.xAxis.titleOffsetX * opts.pix, opts.height - opts.area[2] + opts.xAxis.marginTop * opts.pix + (opts.xAxis.lineHeight - opts.xAxis.titleFontSize) * opts.pix / 2 + (opts.xAxis.titleFontSize + opts.xAxis.titleOffsetY) * opts.pix);
- context.closePath();
- context.stroke();
- }
- //绘制X轴轴线
- if (opts.xAxis.axisLine) {
- context.beginPath();
- context.setStrokeStyle(opts.xAxis.axisLineColor);
- context.setLineWidth(1 * opts.pix);
- context.moveTo(startX, opts.height - opts.area[2]);
- context.lineTo(endX, opts.height - opts.area[2]);
- context.stroke();
- }
- }
- function drawYAxisGrid(categories, opts, config, context) {
- if (opts.yAxis.disableGrid === true) {
- return;
- }
- var spacingValid = opts.height - opts.area[0] - opts.area[2];
- var eachSpacing = spacingValid / opts.yAxis.splitNumber;
- var startX = opts.area[3];
- var xAxisPoints = opts.chartData.xAxisData.xAxisPoints,
- xAxiseachSpacing = opts.chartData.xAxisData.eachSpacing;
- var TotalWidth = xAxiseachSpacing * (xAxisPoints.length - 1);
- if (opts.type == 'mount' && opts.extra && opts.extra.mount && opts.extra.mount.widthRatio && opts.extra.mount.widthRatio > 1) {
- if (opts.extra.mount.widthRatio > 2) opts.extra.mount.widthRatio = 2;
- TotalWidth += (opts.extra.mount.widthRatio - 1) * xAxiseachSpacing;
- }
- var endX = startX + TotalWidth;
- var points = [];
- var startY = 1;
- if (opts.xAxis.axisLine === false) {
- startY = 0;
- }
- for (var i = startY; i < opts.yAxis.splitNumber + 1; i++) {
- points.push(opts.height - opts.area[2] - eachSpacing * i);
- }
- context.save();
- if (opts._scrollDistance_ && opts._scrollDistance_ !== 0) {
- context.translate(opts._scrollDistance_, 0);
- }
- if (opts.yAxis.gridType == 'dash') {
- context.setLineDash([opts.yAxis.dashLength * opts.pix, opts.yAxis.dashLength * opts.pix]);
- }
- context.setStrokeStyle(opts.yAxis.gridColor);
- context.setLineWidth(1 * opts.pix);
- points.forEach(function (item, index) {
- context.beginPath();
- context.moveTo(startX, item);
- context.lineTo(endX, item);
- context.stroke();
- });
- context.setLineDash([]);
- context.restore();
- }
- function drawYAxis(series, opts, config, context) {
- if (opts.yAxis.disabled === true) {
- return;
- }
- var spacingValid = opts.height - opts.area[0] - opts.area[2];
- var eachSpacing = spacingValid / opts.yAxis.splitNumber;
- var startX = opts.area[3];
- var endX = opts.width - opts.area[1];
- var endY = opts.height - opts.area[2];
- // set YAxis background
- context.beginPath();
- context.setFillStyle(opts.background);
- if (opts.enableScroll == true && opts.xAxis.scrollPosition && opts.xAxis.scrollPosition !== 'left') {
- context.fillRect(0, 0, startX, endY + 2 * opts.pix);
- }
- if (opts.enableScroll == true && opts.xAxis.scrollPosition && opts.xAxis.scrollPosition !== 'right') {
- context.fillRect(endX, 0, opts.width, endY + 2 * opts.pix);
- }
- context.closePath();
- context.stroke();
- var tStartLeft = opts.area[3];
- var tStartRight = opts.width - opts.area[1];
- var tStartCenter = opts.area[3] + (opts.width - opts.area[1] - opts.area[3]) / 2;
- if (opts.yAxis.data) {
- var _loop4 = function _loop4(i) {
- var yData = opts.yAxis.data[i];
- points = [];
- if (yData.type === 'categories') {
- for (var _i24 = 0; _i24 <= yData.categories.length; _i24++) {
- points.push(opts.area[0] + spacingValid / yData.categories.length / 2 + spacingValid / yData.categories.length * _i24);
- }
- } else {
- for (var _i25 = 0; _i25 <= opts.yAxis.splitNumber; _i25++) {
- points.push(opts.area[0] + eachSpacing * _i25);
- }
- }
- if (yData.disabled !== true) {
- var rangesFormat = opts.chartData.yAxisData.rangesFormat[i];
- var yAxisFontSize = yData.fontSize ? yData.fontSize * opts.pix : config.fontSize;
- var yAxisWidth = opts.chartData.yAxisData.yAxisWidth[i];
- var textAlign = yData.textAlign || "right";
- //画Y轴刻度及文案
- rangesFormat.forEach(function (item, index) {
- var pos = points[index];
- context.beginPath();
- context.setFontSize(yAxisFontSize);
- context.setLineWidth(1 * opts.pix);
- context.setStrokeStyle(yData.axisLineColor || '#cccccc');
- context.setFillStyle(yData.fontColor || opts.fontColor);
- var tmpstrat = 0;
- var gapwidth = 4 * opts.pix;
- if (yAxisWidth.position == 'left') {
- //画刻度线
- if (yData.calibration == true) {
- context.moveTo(tStartLeft, pos);
- context.lineTo(tStartLeft - 3 * opts.pix, pos);
- gapwidth += 3 * opts.pix;
- }
- //画文字
- switch (textAlign) {
- case "left":
- context.setTextAlign('left');
- tmpstrat = tStartLeft - yAxisWidth.width;
- break;
- case "right":
- context.setTextAlign('right');
- tmpstrat = tStartLeft - gapwidth;
- break;
- default:
- context.setTextAlign('center');
- tmpstrat = tStartLeft - yAxisWidth.width / 2;
- }
- context.fillText(String(item), tmpstrat, pos + yAxisFontSize / 2 - 3 * opts.pix);
- } else if (yAxisWidth.position == 'right') {
- //画刻度线
- if (yData.calibration == true) {
- context.moveTo(tStartRight, pos);
- context.lineTo(tStartRight + 3 * opts.pix, pos);
- gapwidth += 3 * opts.pix;
- }
- switch (textAlign) {
- case "left":
- context.setTextAlign('left');
- tmpstrat = tStartRight + gapwidth;
- break;
- case "right":
- context.setTextAlign('right');
- tmpstrat = tStartRight + yAxisWidth.width;
- break;
- default:
- context.setTextAlign('center');
- tmpstrat = tStartRight + yAxisWidth.width / 2;
- }
- context.fillText(String(item), tmpstrat, pos + yAxisFontSize / 2 - 3 * opts.pix);
- } else if (yAxisWidth.position == 'center') {
- //画刻度线
- if (yData.calibration == true) {
- context.moveTo(tStartCenter, pos);
- context.lineTo(tStartCenter - 3 * opts.pix, pos);
- gapwidth += 3 * opts.pix;
- }
- //画文字
- switch (textAlign) {
- case "left":
- context.setTextAlign('left');
- tmpstrat = tStartCenter - yAxisWidth.width;
- break;
- case "right":
- context.setTextAlign('right');
- tmpstrat = tStartCenter - gapwidth;
- break;
- default:
- context.setTextAlign('center');
- tmpstrat = tStartCenter - yAxisWidth.width / 2;
- }
- context.fillText(String(item), tmpstrat, pos + yAxisFontSize / 2 - 3 * opts.pix);
- }
- context.closePath();
- context.stroke();
- context.setTextAlign('left');
- });
- //画Y轴轴线
- if (yData.axisLine !== false) {
- context.beginPath();
- context.setStrokeStyle(yData.axisLineColor || '#cccccc');
- context.setLineWidth(1 * opts.pix);
- if (yAxisWidth.position == 'left') {
- context.moveTo(tStartLeft, opts.height - opts.area[2]);
- context.lineTo(tStartLeft, opts.area[0]);
- } else if (yAxisWidth.position == 'right') {
- context.moveTo(tStartRight, opts.height - opts.area[2]);
- context.lineTo(tStartRight, opts.area[0]);
- } else if (yAxisWidth.position == 'center') {
- context.moveTo(tStartCenter, opts.height - opts.area[2]);
- context.lineTo(tStartCenter, opts.area[0]);
- }
- context.stroke();
- }
- //画Y轴标题
- if (opts.yAxis.showTitle) {
- var titleFontSize = yData.titleFontSize * opts.pix || config.fontSize;
- var title = yData.title;
- context.beginPath();
- context.setFontSize(titleFontSize);
- context.setFillStyle(yData.titleFontColor || opts.fontColor);
- if (yAxisWidth.position == 'left') {
- context.fillText(title, tStartLeft - measureText(title, titleFontSize, context) / 2 + (yData.titleOffsetX || 0), opts.area[0] - (10 - (yData.titleOffsetY || 0)) * opts.pix);
- } else if (yAxisWidth.position == 'right') {
- context.fillText(title, tStartRight - measureText(title, titleFontSize, context) / 2 + (yData.titleOffsetX || 0), opts.area[0] - (10 - (yData.titleOffsetY || 0)) * opts.pix);
- } else if (yAxisWidth.position == 'center') {
- context.fillText(title, tStartCenter - measureText(title, titleFontSize, context) / 2 + (yData.titleOffsetX || 0), opts.area[0] - (10 - (yData.titleOffsetY || 0)) * opts.pix);
- }
- context.closePath();
- context.stroke();
- }
- if (yAxisWidth.position == 'left') {
- tStartLeft -= yAxisWidth.width + opts.yAxis.padding * opts.pix;
- } else {
- tStartRight += yAxisWidth.width + opts.yAxis.padding * opts.pix;
- }
- }
- };
- for (var i = 0; i < opts.yAxis.data.length; i++) {
- var points;
- _loop4(i);
- }
- }
- }
- function drawLegend(series, opts, config, context, chartData) {
- if (opts.legend.show === false) {
- return;
- }
- var legendData = chartData.legendData;
- var legendList = legendData.points;
- var legendArea = legendData.area;
- var padding = opts.legend.padding * opts.pix;
- var fontSize = opts.legend.fontSize * opts.pix;
- var shapeWidth = 15 * opts.pix;
- var shapeRight = 5 * opts.pix;
- var itemGap = opts.legend.itemGap * opts.pix;
- var lineHeight = Math.max(opts.legend.lineHeight * opts.pix, fontSize);
- //画背景及边框
- context.beginPath();
- context.setLineWidth(opts.legend.borderWidth * opts.pix);
- context.setStrokeStyle(opts.legend.borderColor);
- context.setFillStyle(opts.legend.backgroundColor);
- context.moveTo(legendArea.start.x, legendArea.start.y);
- context.rect(legendArea.start.x, legendArea.start.y, legendArea.width, legendArea.height);
- context.closePath();
- context.fill();
- context.stroke();
- legendList.forEach(function (itemList, listIndex) {
- var width = 0;
- var height = 0;
- width = legendData.widthArr[listIndex];
- height = legendData.heightArr[listIndex];
- var startX = 0;
- var startY = 0;
- if (opts.legend.position == 'top' || opts.legend.position == 'bottom') {
- switch (opts.legend.float) {
- case 'left':
- startX = legendArea.start.x + padding;
- break;
- case 'right':
- startX = legendArea.start.x + legendArea.width - width;
- break;
- default:
- startX = legendArea.start.x + (legendArea.width - width) / 2;
- }
- startY = legendArea.start.y + padding + listIndex * lineHeight;
- } else {
- if (listIndex == 0) {
- width = 0;
- } else {
- width = legendData.widthArr[listIndex - 1];
- }
- startX = legendArea.start.x + padding + width;
- startY = legendArea.start.y + padding + (legendArea.height - height) / 2;
- }
- context.setFontSize(config.fontSize);
- for (var i = 0; i < itemList.length; i++) {
- var item = itemList[i];
- item.area = [0, 0, 0, 0];
- item.area[0] = startX;
- item.area[1] = startY;
- item.area[3] = startY + lineHeight;
- context.beginPath();
- context.setLineWidth(1 * opts.pix);
- context.setStrokeStyle(item.show ? item.color : opts.legend.hiddenColor);
- context.setFillStyle(item.show ? item.color : opts.legend.hiddenColor);
- switch (item.legendShape) {
- case 'line':
- context.moveTo(startX, startY + 0.5 * lineHeight - 2 * opts.pix);
- context.fillRect(startX, startY + 0.5 * lineHeight - 2 * opts.pix, 15 * opts.pix, 4 * opts.pix);
- break;
- case 'triangle':
- context.moveTo(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight - 5 * opts.pix);
- context.lineTo(startX + 2.5 * opts.pix, startY + 0.5 * lineHeight + 5 * opts.pix);
- context.lineTo(startX + 12.5 * opts.pix, startY + 0.5 * lineHeight + 5 * opts.pix);
- context.lineTo(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight - 5 * opts.pix);
- break;
- case 'diamond':
- context.moveTo(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight - 5 * opts.pix);
- context.lineTo(startX + 2.5 * opts.pix, startY + 0.5 * lineHeight);
- context.lineTo(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight + 5 * opts.pix);
- context.lineTo(startX + 12.5 * opts.pix, startY + 0.5 * lineHeight);
- context.lineTo(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight - 5 * opts.pix);
- break;
- case 'circle':
- context.moveTo(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight);
- context.arc(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight, 5 * opts.pix, 0, 2 * Math.PI);
- break;
- case 'rect':
- context.moveTo(startX, startY + 0.5 * lineHeight - 5 * opts.pix);
- context.fillRect(startX, startY + 0.5 * lineHeight - 5 * opts.pix, 15 * opts.pix, 10 * opts.pix);
- break;
- case 'square':
- context.moveTo(startX + 5 * opts.pix, startY + 0.5 * lineHeight - 5 * opts.pix);
- context.fillRect(startX + 5 * opts.pix, startY + 0.5 * lineHeight - 5 * opts.pix, 10 * opts.pix, 10 * opts.pix);
- break;
- case 'none':
- break;
- default:
- context.moveTo(startX, startY + 0.5 * lineHeight - 5 * opts.pix);
- context.fillRect(startX, startY + 0.5 * lineHeight - 5 * opts.pix, 15 * opts.pix, 10 * opts.pix);
- }
- context.closePath();
- context.fill();
- context.stroke();
- startX += shapeWidth + shapeRight;
- var fontTrans = 0.5 * lineHeight + 0.5 * fontSize - 2;
- var legendText = item.legendText ? item.legendText : item.name;
- context.beginPath();
- context.setFontSize(fontSize);
- context.setFillStyle(item.show ? opts.legend.fontColor : opts.legend.hiddenColor);
- context.fillText(legendText, startX, startY + fontTrans);
- context.closePath();
- context.stroke();
- if (opts.legend.position == 'top' || opts.legend.position == 'bottom') {
- startX += measureText(legendText, fontSize, context) + itemGap;
- item.area[2] = startX;
- } else {
- item.area[2] = startX + measureText(legendText, fontSize, context) + itemGap;
- ;
- startX -= shapeWidth + shapeRight;
- startY += lineHeight;
- }
- }
- });
- }
- function drawPieDataPoints(series, opts, config, context) {
- var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;
- var pieOption = assign({}, {
- activeOpacity: 0.5,
- activeRadius: 10,
- offsetAngle: 0,
- labelWidth: 15,
- ringWidth: 30,
- customRadius: 0,
- border: false,
- borderWidth: 2,
- borderColor: '#FFFFFF',
- centerColor: '#FFFFFF',
- linearType: 'none',
- customColor: []
- }, opts.type == "pie" ? opts.extra.pie : opts.extra.ring);
- var centerPosition = {
- x: opts.area[3] + (opts.width - opts.area[1] - opts.area[3]) / 2,
- y: opts.area[0] + (opts.height - opts.area[0] - opts.area[2]) / 2
- };
- if (config.pieChartLinePadding == 0) {
- config.pieChartLinePadding = pieOption.activeRadius * opts.pix;
- }
- var radius = Math.min((opts.width - opts.area[1] - opts.area[3]) / 2 - config.pieChartLinePadding - config.pieChartTextPadding - config._pieTextMaxLength_, (opts.height - opts.area[0] - opts.area[2]) / 2 - config.pieChartLinePadding - config.pieChartTextPadding);
- radius = radius < 10 ? 10 : radius;
- if (pieOption.customRadius > 0) {
- radius = pieOption.customRadius * opts.pix;
- }
- series = getPieDataPoints(series, radius, process);
- var activeRadius = pieOption.activeRadius * opts.pix;
- pieOption.customColor = fillCustomColor(pieOption.linearType, pieOption.customColor, series, config);
- series = series.map(function (eachSeries) {
- eachSeries._start_ += pieOption.offsetAngle * Math.PI / 180;
- return eachSeries;
- });
- series.forEach(function (eachSeries, seriesIndex) {
- if (opts.tooltip) {
- if (opts.tooltip.index == seriesIndex) {
- context.beginPath();
- context.setFillStyle(hexToRgb(eachSeries.color, pieOption.activeOpacity || 0.5));
- context.moveTo(centerPosition.x, centerPosition.y);
- context.arc(centerPosition.x, centerPosition.y, eachSeries._radius_ + activeRadius, eachSeries._start_, eachSeries._start_ + 2 * eachSeries._proportion_ * Math.PI);
- context.closePath();
- context.fill();
- }
- }
- context.beginPath();
- context.setLineWidth(pieOption.borderWidth * opts.pix);
- context.lineJoin = "round";
- context.setStrokeStyle(pieOption.borderColor);
- var fillcolor = eachSeries.color;
- if (pieOption.linearType == 'custom') {
- var grd;
- if (context.createCircularGradient) {
- grd = context.createCircularGradient(centerPosition.x, centerPosition.y, eachSeries._radius_);
- } else {
- grd = context.createRadialGradient(centerPosition.x, centerPosition.y, 0, centerPosition.x, centerPosition.y, eachSeries._radius_);
- }
- grd.addColorStop(0, hexToRgb(pieOption.customColor[eachSeries.linearIndex], 1));
- grd.addColorStop(1, hexToRgb(eachSeries.color, 1));
- fillcolor = grd;
- }
- context.setFillStyle(fillcolor);
- context.moveTo(centerPosition.x, centerPosition.y);
- context.arc(centerPosition.x, centerPosition.y, eachSeries._radius_, eachSeries._start_, eachSeries._start_ + 2 * eachSeries._proportion_ * Math.PI);
- context.closePath();
- context.fill();
- if (pieOption.border == true) {
- context.stroke();
- }
- });
- if (opts.type === 'ring') {
- var innerPieWidth = radius * 0.6;
- if (typeof pieOption.ringWidth === 'number' && pieOption.ringWidth > 0) {
- innerPieWidth = Math.max(0, radius - pieOption.ringWidth * opts.pix);
- }
- context.beginPath();
- context.setFillStyle(pieOption.centerColor);
- context.moveTo(centerPosition.x, centerPosition.y);
- context.arc(centerPosition.x, centerPosition.y, innerPieWidth, 0, 2 * Math.PI);
- context.closePath();
- context.fill();
- }
- if (opts.dataLabel !== false && process === 1) {
- drawPieText(series, opts, config, context, radius, centerPosition);
- }
- if (process === 1 && opts.type === 'ring') {
- drawRingTitle(opts, config, context, centerPosition);
- }
- return {
- center: centerPosition,
- radius: radius,
- series: series
- };
- }
- function drawRoseDataPoints(series, opts, config, context) {
- var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;
- var roseOption = assign({}, {
- type: 'area',
- activeOpacity: 0.5,
- activeRadius: 10,
- offsetAngle: 0,
- labelWidth: 15,
- border: false,
- borderWidth: 2,
- borderColor: '#FFFFFF',
- linearType: 'none',
- customColor: []
- }, opts.extra.rose);
- if (config.pieChartLinePadding == 0) {
- config.pieChartLinePadding = roseOption.activeRadius * opts.pix;
- }
- var centerPosition = {
- x: opts.area[3] + (opts.width - opts.area[1] - opts.area[3]) / 2,
- y: opts.area[0] + (opts.height - opts.area[0] - opts.area[2]) / 2
- };
- var radius = Math.min((opts.width - opts.area[1] - opts.area[3]) / 2 - config.pieChartLinePadding - config.pieChartTextPadding - config._pieTextMaxLength_, (opts.height - opts.area[0] - opts.area[2]) / 2 - config.pieChartLinePadding - config.pieChartTextPadding);
- radius = radius < 10 ? 10 : radius;
- var minRadius = roseOption.minRadius || radius * 0.5;
- if (radius < minRadius) {
- radius = minRadius + 10;
- }
- series = getRoseDataPoints(series, roseOption.type, minRadius, radius, process);
- var activeRadius = roseOption.activeRadius * opts.pix;
- roseOption.customColor = fillCustomColor(roseOption.linearType, roseOption.customColor, series, config);
- series = series.map(function (eachSeries) {
- eachSeries._start_ += (roseOption.offsetAngle || 0) * Math.PI / 180;
- return eachSeries;
- });
- series.forEach(function (eachSeries, seriesIndex) {
- if (opts.tooltip) {
- if (opts.tooltip.index == seriesIndex) {
- context.beginPath();
- context.setFillStyle(hexToRgb(eachSeries.color, roseOption.activeOpacity || 0.5));
- context.moveTo(centerPosition.x, centerPosition.y);
- context.arc(centerPosition.x, centerPosition.y, activeRadius + eachSeries._radius_, eachSeries._start_, eachSeries._start_ + 2 * eachSeries._rose_proportion_ * Math.PI);
- context.closePath();
- context.fill();
- }
- }
- context.beginPath();
- context.setLineWidth(roseOption.borderWidth * opts.pix);
- context.lineJoin = "round";
- context.setStrokeStyle(roseOption.borderColor);
- var fillcolor = eachSeries.color;
- if (roseOption.linearType == 'custom') {
- var grd;
- if (context.createCircularGradient) {
- grd = context.createCircularGradient(centerPosition.x, centerPosition.y, eachSeries._radius_);
- } else {
- grd = context.createRadialGradient(centerPosition.x, centerPosition.y, 0, centerPosition.x, centerPosition.y, eachSeries._radius_);
- }
- grd.addColorStop(0, hexToRgb(roseOption.customColor[eachSeries.linearIndex], 1));
- grd.addColorStop(1, hexToRgb(eachSeries.color, 1));
- fillcolor = grd;
- }
- context.setFillStyle(fillcolor);
- context.moveTo(centerPosition.x, centerPosition.y);
- context.arc(centerPosition.x, centerPosition.y, eachSeries._radius_, eachSeries._start_, eachSeries._start_ + 2 * eachSeries._rose_proportion_ * Math.PI);
- context.closePath();
- context.fill();
- if (roseOption.border == true) {
- context.stroke();
- }
- });
- if (opts.dataLabel !== false && process === 1) {
- drawPieText(series, opts, config, context, radius, centerPosition);
- }
- return {
- center: centerPosition,
- radius: radius,
- series: series
- };
- }
- function drawArcbarDataPoints(series, opts, config, context) {
- var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;
- var arcbarOption = assign({}, {
- startAngle: 0.75,
- endAngle: 0.25,
- type: 'default',
- direction: 'cw',
- lineCap: 'round',
- width: 12,
- gap: 2,
- linearType: 'none',
- customColor: []
- }, opts.extra.arcbar);
- series = getArcbarDataPoints(series, arcbarOption, process);
- var centerPosition;
- if (arcbarOption.centerX || arcbarOption.centerY) {
- centerPosition = {
- x: arcbarOption.centerX ? arcbarOption.centerX : opts.width / 2,
- y: arcbarOption.centerY ? arcbarOption.centerY : opts.height / 2
- };
- } else {
- centerPosition = {
- x: opts.width / 2,
- y: opts.height / 2
- };
- }
- var radius;
- if (arcbarOption.radius) {
- radius = arcbarOption.radius;
- } else {
- radius = Math.min(centerPosition.x, centerPosition.y);
- radius -= 5 * opts.pix;
- radius -= arcbarOption.width / 2;
- }
- radius = radius < 10 ? 10 : radius;
- arcbarOption.customColor = fillCustomColor(arcbarOption.linearType, arcbarOption.customColor, series, config);
- for (var i = 0; i < series.length; i++) {
- var eachSeries = series[i];
- //背景颜色
- context.setLineWidth(arcbarOption.width * opts.pix);
- context.setStrokeStyle(arcbarOption.backgroundColor || '#E9E9E9');
- context.setLineCap(arcbarOption.lineCap);
- context.beginPath();
- if (arcbarOption.type == 'default') {
- context.arc(centerPosition.x, centerPosition.y, radius - (arcbarOption.width * opts.pix + arcbarOption.gap * opts.pix) * i, arcbarOption.startAngle * Math.PI, arcbarOption.endAngle * Math.PI, arcbarOption.direction == 'ccw');
- } else {
- context.arc(centerPosition.x, centerPosition.y, radius - (arcbarOption.width * opts.pix + arcbarOption.gap * opts.pix) * i, 0, 2 * Math.PI, arcbarOption.direction == 'ccw');
- }
- context.stroke();
- //进度条
- var fillColor = eachSeries.color;
- if (arcbarOption.linearType == 'custom') {
- var grd = context.createLinearGradient(centerPosition.x - radius, centerPosition.y, centerPosition.x + radius, centerPosition.y);
- grd.addColorStop(1, hexToRgb(arcbarOption.customColor[eachSeries.linearIndex], 1));
- grd.addColorStop(0, hexToRgb(eachSeries.color, 1));
- fillColor = grd;
- }
- context.setLineWidth(arcbarOption.width * opts.pix);
- context.setStrokeStyle(fillColor);
- context.setLineCap(arcbarOption.lineCap);
- context.beginPath();
- context.arc(centerPosition.x, centerPosition.y, radius - (arcbarOption.width * opts.pix + arcbarOption.gap * opts.pix) * i, arcbarOption.startAngle * Math.PI, eachSeries._proportion_ * Math.PI, arcbarOption.direction == 'ccw');
- context.stroke();
- }
- drawRingTitle(opts, config, context, centerPosition);
- return {
- center: centerPosition,
- radius: radius,
- series: series
- };
- }
- function drawGaugeDataPoints(categories, series, opts, config, context) {
- var process = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 1;
- var gaugeOption = assign({}, {
- type: 'default',
- startAngle: 0.75,
- endAngle: 0.25,
- width: 15,
- labelOffset: 13,
- splitLine: {
- fixRadius: 0,
- splitNumber: 10,
- width: 15,
- color: '#FFFFFF',
- childNumber: 5,
- childWidth: 5
- },
- pointer: {
- width: 15,
- color: 'auto'
- }
- }, opts.extra.gauge);
- if (gaugeOption.oldAngle == undefined) {
- gaugeOption.oldAngle = gaugeOption.startAngle;
- }
- if (gaugeOption.oldData == undefined) {
- gaugeOption.oldData = 0;
- }
- categories = getGaugeAxisPoints(categories, gaugeOption.startAngle, gaugeOption.endAngle);
- var centerPosition = {
- x: opts.width / 2,
- y: opts.height / 2
- };
- var radius = Math.min(centerPosition.x, centerPosition.y);
- radius -= 5 * opts.pix;
- radius -= gaugeOption.width / 2;
- radius = radius < 10 ? 10 : radius;
- var innerRadius = radius - gaugeOption.width;
- var totalAngle = 0;
- //判断仪表盘的样式:default百度样式,progress新样式
- if (gaugeOption.type == 'progress') {
- //## 第一步画中心圆形背景和进度条背景
- //中心圆形背景
- var pieRadius = radius - gaugeOption.width * 3;
- context.beginPath();
- var gradient = context.createLinearGradient(centerPosition.x, centerPosition.y - pieRadius, centerPosition.x, centerPosition.y + pieRadius);
- //配置渐变填充(起点:中心点向上减半径;结束点中心点向下加半径)
- gradient.addColorStop('0', hexToRgb(series[0].color, 0.3));
- gradient.addColorStop('1.0', hexToRgb("#FFFFFF", 0.1));
- context.setFillStyle(gradient);
- context.arc(centerPosition.x, centerPosition.y, pieRadius, 0, 2 * Math.PI, false);
- context.fill();
- //画进度条背景
- context.setLineWidth(gaugeOption.width);
- context.setStrokeStyle(hexToRgb(series[0].color, 0.3));
- context.setLineCap('round');
- context.beginPath();
- context.arc(centerPosition.x, centerPosition.y, innerRadius, gaugeOption.startAngle * Math.PI, gaugeOption.endAngle * Math.PI, false);
- context.stroke();
- //## 第二步画刻度线
- if (gaugeOption.endAngle < gaugeOption.startAngle) {
- totalAngle = 2 + gaugeOption.endAngle - gaugeOption.startAngle;
- } else {
- totalAngle = gaugeOption.startAngle - gaugeOption.endAngle;
- }
- var splitAngle = totalAngle / gaugeOption.splitLine.splitNumber;
- var childAngle = totalAngle / gaugeOption.splitLine.splitNumber / gaugeOption.splitLine.childNumber;
- var startX = -radius - gaugeOption.width * 0.5 - gaugeOption.splitLine.fixRadius;
- var endX = -radius - gaugeOption.width - gaugeOption.splitLine.fixRadius + gaugeOption.splitLine.width;
- context.save();
- context.translate(centerPosition.x, centerPosition.y);
- context.rotate((gaugeOption.startAngle - 1) * Math.PI);
- var len = gaugeOption.splitLine.splitNumber * gaugeOption.splitLine.childNumber + 1;
- var proc = series[0].data * process;
- for (var i = 0; i < len; i++) {
- context.beginPath();
- //刻度线随进度变色
- if (proc > i / len) {
- context.setStrokeStyle(hexToRgb(series[0].color, 1));
- } else {
- context.setStrokeStyle(hexToRgb(series[0].color, 0.3));
- }
- context.setLineWidth(3 * opts.pix);
- context.moveTo(startX, 0);
- context.lineTo(endX, 0);
- context.stroke();
- context.rotate(childAngle * Math.PI);
- }
- context.restore();
- //## 第三步画进度条
- series = getGaugeArcbarDataPoints(series, gaugeOption, process);
- context.setLineWidth(gaugeOption.width);
- context.setStrokeStyle(series[0].color);
- context.setLineCap('round');
- context.beginPath();
- context.arc(centerPosition.x, centerPosition.y, innerRadius, gaugeOption.startAngle * Math.PI, series[0]._proportion_ * Math.PI, false);
- context.stroke();
- //## 第四步画指针
- var pointerRadius = radius - gaugeOption.width * 2.5;
- context.save();
- context.translate(centerPosition.x, centerPosition.y);
- context.rotate((series[0]._proportion_ - 1) * Math.PI);
- context.beginPath();
- context.setLineWidth(gaugeOption.width / 3);
- var gradient3 = context.createLinearGradient(0, -pointerRadius * 0.6, 0, pointerRadius * 0.6);
- gradient3.addColorStop('0', hexToRgb('#FFFFFF', 0));
- gradient3.addColorStop('0.5', hexToRgb(series[0].color, 1));
- gradient3.addColorStop('1.0', hexToRgb('#FFFFFF', 0));
- context.setStrokeStyle(gradient3);
- context.arc(0, 0, pointerRadius, 0.85 * Math.PI, 1.15 * Math.PI, false);
- context.stroke();
- context.beginPath();
- context.setLineWidth(1);
- context.setStrokeStyle(series[0].color);
- context.setFillStyle(series[0].color);
- context.moveTo(-pointerRadius - gaugeOption.width / 3 / 2, -4);
- context.lineTo(-pointerRadius - gaugeOption.width / 3 / 2 - 4, 0);
- context.lineTo(-pointerRadius - gaugeOption.width / 3 / 2, 4);
- context.lineTo(-pointerRadius - gaugeOption.width / 3 / 2, -4);
- context.stroke();
- context.fill();
- context.restore();
- //default百度样式
- } else {
- //画背景
- context.setLineWidth(gaugeOption.width);
- context.setLineCap('butt');
- for (var _i26 = 0; _i26 < categories.length; _i26++) {
- var eachCategories = categories[_i26];
- context.beginPath();
- context.setStrokeStyle(eachCategories.color);
- context.arc(centerPosition.x, centerPosition.y, radius, eachCategories._startAngle_ * Math.PI, eachCategories._endAngle_ * Math.PI, false);
- context.stroke();
- }
- context.save();
- //画刻度线
- if (gaugeOption.endAngle < gaugeOption.startAngle) {
- totalAngle = 2 + gaugeOption.endAngle - gaugeOption.startAngle;
- } else {
- totalAngle = gaugeOption.startAngle - gaugeOption.endAngle;
- }
- var _splitAngle = totalAngle / gaugeOption.splitLine.splitNumber;
- var _childAngle = totalAngle / gaugeOption.splitLine.splitNumber / gaugeOption.splitLine.childNumber;
- var _startX2 = -radius - gaugeOption.width * 0.5 - gaugeOption.splitLine.fixRadius;
- var _endX = -radius - gaugeOption.width * 0.5 - gaugeOption.splitLine.fixRadius + gaugeOption.splitLine.width;
- var childendX = -radius - gaugeOption.width * 0.5 - gaugeOption.splitLine.fixRadius + gaugeOption.splitLine.childWidth;
- context.translate(centerPosition.x, centerPosition.y);
- context.rotate((gaugeOption.startAngle - 1) * Math.PI);
- for (var _i27 = 0; _i27 < gaugeOption.splitLine.splitNumber + 1; _i27++) {
- context.beginPath();
- context.setStrokeStyle(gaugeOption.splitLine.color);
- context.setLineWidth(2 * opts.pix);
- context.moveTo(_startX2, 0);
- context.lineTo(_endX, 0);
- context.stroke();
- context.rotate(_splitAngle * Math.PI);
- }
- context.restore();
- context.save();
- context.translate(centerPosition.x, centerPosition.y);
- context.rotate((gaugeOption.startAngle - 1) * Math.PI);
- for (var _i28 = 0; _i28 < gaugeOption.splitLine.splitNumber * gaugeOption.splitLine.childNumber + 1; _i28++) {
- context.beginPath();
- context.setStrokeStyle(gaugeOption.splitLine.color);
- context.setLineWidth(1 * opts.pix);
- context.moveTo(_startX2, 0);
- context.lineTo(childendX, 0);
- context.stroke();
- context.rotate(_childAngle * Math.PI);
- }
- context.restore();
- //画指针
- series = getGaugeDataPoints(series, categories, gaugeOption, process);
- for (var _i29 = 0; _i29 < series.length; _i29++) {
- var eachSeries = series[_i29];
- context.save();
- context.translate(centerPosition.x, centerPosition.y);
- context.rotate((eachSeries._proportion_ - 1) * Math.PI);
- context.beginPath();
- context.setFillStyle(eachSeries.color);
- context.moveTo(gaugeOption.pointer.width, 0);
- context.lineTo(0, -gaugeOption.pointer.width / 2);
- context.lineTo(-innerRadius, 0);
- context.lineTo(0, gaugeOption.pointer.width / 2);
- context.lineTo(gaugeOption.pointer.width, 0);
- context.closePath();
- context.fill();
- context.beginPath();
- context.setFillStyle('#FFFFFF');
- context.arc(0, 0, gaugeOption.pointer.width / 6, 0, 2 * Math.PI, false);
- context.fill();
- context.restore();
- }
- if (opts.dataLabel !== false) {
- drawGaugeLabel(gaugeOption, radius, centerPosition, opts, config, context);
- }
- }
- //画仪表盘标题,副标题
- drawRingTitle(opts, config, context, centerPosition);
- if (process === 1 && opts.type === 'gauge') {
- opts.extra.gauge.oldAngle = series[0]._proportion_;
- opts.extra.gauge.oldData = series[0].data;
- }
- return {
- center: centerPosition,
- radius: radius,
- innerRadius: innerRadius,
- categories: categories,
- totalAngle: totalAngle
- };
- }
- function drawRadarDataPoints(series, opts, config, context) {
- var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;
- var radarOption = assign({}, {
- gridColor: '#cccccc',
- gridType: 'radar',
- gridEval: 1,
- axisLabel: false,
- axisLabelTofix: 0,
- labelShow: true,
- labelColor: '#666666',
- labelPointShow: false,
- labelPointRadius: 3,
- labelPointColor: '#cccccc',
- opacity: 0.2,
- gridCount: 3,
- border: false,
- borderWidth: 2,
- linearType: 'none',
- customColor: []
- }, opts.extra.radar);
- var coordinateAngle = getRadarCoordinateSeries(opts.categories.length);
- var centerPosition = {
- x: opts.area[3] + (opts.width - opts.area[1] - opts.area[3]) / 2,
- y: opts.area[0] + (opts.height - opts.area[0] - opts.area[2]) / 2
- };
- var xr = (opts.width - opts.area[1] - opts.area[3]) / 2;
- var yr = (opts.height - opts.area[0] - opts.area[2]) / 2;
- var radius = Math.min(xr - (getMaxTextListLength(opts.categories, config.fontSize, context) + config.radarLabelTextMargin), yr - config.radarLabelTextMargin);
- radius -= config.radarLabelTextMargin * opts.pix;
- radius = radius < 10 ? 10 : radius;
- radius = radarOption.radius ? radarOption.radius : radius;
- // 画分割线
- context.beginPath();
- context.setLineWidth(1 * opts.pix);
- context.setStrokeStyle(radarOption.gridColor);
- coordinateAngle.forEach(function (angle, index) {
- var pos = convertCoordinateOrigin(radius * Math.cos(angle), radius * Math.sin(angle), centerPosition);
- context.moveTo(centerPosition.x, centerPosition.y);
- if (index % radarOption.gridEval == 0) {
- context.lineTo(pos.x, pos.y);
- }
- });
- context.stroke();
- context.closePath();
- // 画背景网格
- var _loop = function _loop(i) {
- var startPos = {};
- context.beginPath();
- context.setLineWidth(1 * opts.pix);
- context.setStrokeStyle(radarOption.gridColor);
- if (radarOption.gridType == 'radar') {
- coordinateAngle.forEach(function (angle, index) {
- var pos = convertCoordinateOrigin(radius / radarOption.gridCount * i * Math.cos(angle), radius / radarOption.gridCount * i * Math.sin(angle), centerPosition);
- if (index === 0) {
- startPos = pos;
- context.moveTo(pos.x, pos.y);
- } else {
- context.lineTo(pos.x, pos.y);
- }
- });
- context.lineTo(startPos.x, startPos.y);
- } else {
- var pos = convertCoordinateOrigin(radius / radarOption.gridCount * i * Math.cos(1.5), radius / radarOption.gridCount * i * Math.sin(1.5), centerPosition);
- context.arc(centerPosition.x, centerPosition.y, centerPosition.y - pos.y, 0, 2 * Math.PI, false);
- }
- context.stroke();
- context.closePath();
- };
- for (var i = 1; i <= radarOption.gridCount; i++) {
- _loop(i);
- }
- radarOption.customColor = fillCustomColor(radarOption.linearType, radarOption.customColor, series, config);
- var radarDataPoints = getRadarDataPoints(coordinateAngle, centerPosition, radius, series, opts, process);
- radarDataPoints.forEach(function (eachSeries, seriesIndex) {
- // 绘制区域数据
- context.beginPath();
- context.setLineWidth(radarOption.borderWidth * opts.pix);
- context.setStrokeStyle(eachSeries.color);
- var fillcolor = hexToRgb(eachSeries.color, radarOption.opacity);
- if (radarOption.linearType == 'custom') {
- var grd;
- if (context.createCircularGradient) {
- grd = context.createCircularGradient(centerPosition.x, centerPosition.y, radius);
- } else {
- grd = context.createRadialGradient(centerPosition.x, centerPosition.y, 0, centerPosition.x, centerPosition.y, radius);
- }
- grd.addColorStop(0, hexToRgb(radarOption.customColor[series[seriesIndex].linearIndex], radarOption.opacity));
- grd.addColorStop(1, hexToRgb(eachSeries.color, radarOption.opacity));
- fillcolor = grd;
- }
- context.setFillStyle(fillcolor);
- eachSeries.data.forEach(function (item, index) {
- if (index === 0) {
- context.moveTo(item.position.x, item.position.y);
- } else {
- context.lineTo(item.position.x, item.position.y);
- }
- });
- context.closePath();
- context.fill();
- if (radarOption.border === true) {
- context.stroke();
- }
- context.closePath();
- if (opts.dataPointShape !== false) {
- var points = eachSeries.data.map(function (item) {
- return item.position;
- });
- drawPointShape(points, eachSeries.color, eachSeries.pointShape, context, opts);
- }
- });
- // 画刻度值
- if (radarOption.axisLabel === true) {
- var maxData = Math.max(radarOption.max, Math.max.apply(null, dataCombine(series)));
- var stepLength = radius / radarOption.gridCount;
- var fontSize = opts.fontSize * opts.pix;
- context.setFontSize(fontSize);
- context.setFillStyle(opts.fontColor);
- context.setTextAlign('left');
- for (var i = 0; i < radarOption.gridCount + 1; i++) {
- var label = i * maxData / radarOption.gridCount;
- label = label.toFixed(radarOption.axisLabelTofix);
- context.fillText(String(label), centerPosition.x + 3 * opts.pix, centerPosition.y - i * stepLength + fontSize / 2);
- }
- }
- // draw label text
- drawRadarLabel(coordinateAngle, radius, centerPosition, opts, config, context);
- // draw dataLabel
- if (opts.dataLabel !== false && process === 1) {
- radarDataPoints.forEach(function (eachSeries, seriesIndex) {
- context.beginPath();
- var fontSize = eachSeries.textSize * opts.pix || config.fontSize;
- context.setFontSize(fontSize);
- context.setFillStyle(eachSeries.textColor || opts.fontColor);
- eachSeries.data.forEach(function (item, index) {
- //如果是中心点垂直的上下点位
- if (Math.abs(item.position.x - centerPosition.x) < 2) {
- //如果在上面
- if (item.position.y < centerPosition.y) {
- context.setTextAlign('center');
- context.fillText(item.value, item.position.x, item.position.y - 4);
- } else {
- context.setTextAlign('center');
- context.fillText(item.value, item.position.x, item.position.y + fontSize + 2);
- }
- } else {
- //如果在左侧
- if (item.position.x < centerPosition.x) {
- context.setTextAlign('right');
- context.fillText(item.value, item.position.x - 4, item.position.y + fontSize / 2 - 2);
- } else {
- context.setTextAlign('left');
- context.fillText(item.value, item.position.x + 4, item.position.y + fontSize / 2 - 2);
- }
- }
- });
- context.closePath();
- context.stroke();
- });
- context.setTextAlign('left');
- }
- return {
- center: centerPosition,
- radius: radius,
- angleList: coordinateAngle
- };
- }
- // 经纬度转墨卡托
- function lonlat2mercator(longitude, latitude) {
- var mercator = Array(2);
- var x = longitude * 20037508.34 / 180;
- var y = Math.log(Math.tan((90 + latitude) * Math.PI / 360)) / (Math.PI / 180);
- y = y * 20037508.34 / 180;
- mercator[0] = x;
- mercator[1] = y;
- return mercator;
- }
- // 墨卡托转经纬度
- function mercator2lonlat(longitude, latitude) {
- var lonlat = Array(2);
- var x = longitude / 20037508.34 * 180;
- var y = latitude / 20037508.34 * 180;
- y = 180 / Math.PI * (2 * Math.atan(Math.exp(y * Math.PI / 180)) - Math.PI / 2);
- lonlat[0] = x;
- lonlat[1] = y;
- return lonlat;
- }
- function getBoundingBox(data) {
- var bounds = {},
- coords;
- bounds.xMin = 180;
- bounds.xMax = 0;
- bounds.yMin = 90;
- bounds.yMax = 0;
- for (var i = 0; i < data.length; i++) {
- var coorda = data[i].geometry.coordinates;
- for (var k = 0; k < coorda.length; k++) {
- coords = coorda[k];
- if (coords.length == 1) {
- coords = coords[0];
- }
- for (var j = 0; j < coords.length; j++) {
- var longitude = coords[j][0];
- var latitude = coords[j][1];
- var point = {
- x: longitude,
- y: latitude
- };
- bounds.xMin = bounds.xMin < point.x ? bounds.xMin : point.x;
- bounds.xMax = bounds.xMax > point.x ? bounds.xMax : point.x;
- bounds.yMin = bounds.yMin < point.y ? bounds.yMin : point.y;
- bounds.yMax = bounds.yMax > point.y ? bounds.yMax : point.y;
- }
- }
- }
- return bounds;
- }
- function coordinateToPoint(latitude, longitude, bounds, scale, xoffset, yoffset) {
- return {
- x: (longitude - bounds.xMin) * scale + xoffset,
- y: (bounds.yMax - latitude) * scale + yoffset
- };
- }
- function pointToCoordinate(pointY, pointX, bounds, scale, xoffset, yoffset) {
- return {
- x: (pointX - xoffset) / scale + bounds.xMin,
- y: bounds.yMax - (pointY - yoffset) / scale
- };
- }
- function isRayIntersectsSegment(poi, s_poi, e_poi) {
- if (s_poi[1] == e_poi[1]) {
- return false;
- }
- if (s_poi[1] > poi[1] && e_poi[1] > poi[1]) {
- return false;
- }
- if (s_poi[1] < poi[1] && e_poi[1] < poi[1]) {
- return false;
- }
- if (s_poi[1] == poi[1] && e_poi[1] > poi[1]) {
- return false;
- }
- if (e_poi[1] == poi[1] && s_poi[1] > poi[1]) {
- return false;
- }
- if (s_poi[0] < poi[0] && e_poi[1] < poi[1]) {
- return false;
- }
- var xseg = e_poi[0] - (e_poi[0] - s_poi[0]) * (e_poi[1] - poi[1]) / (e_poi[1] - s_poi[1]);
- if (xseg < poi[0]) {
- return false;
- } else {
- return true;
- }
- }
- function isPoiWithinPoly(poi, poly, mercator) {
- var sinsc = 0;
- for (var i = 0; i < poly.length; i++) {
- var epoly = poly[i][0];
- if (poly.length == 1) {
- epoly = poly[i][0];
- }
- for (var j = 0; j < epoly.length - 1; j++) {
- var s_poi = epoly[j];
- var e_poi = epoly[j + 1];
- if (mercator) {
- s_poi = lonlat2mercator(epoly[j][0], epoly[j][1]);
- e_poi = lonlat2mercator(epoly[j + 1][0], epoly[j + 1][1]);
- }
- if (isRayIntersectsSegment(poi, s_poi, e_poi)) {
- sinsc += 1;
- }
- }
- }
- if (sinsc % 2 == 1) {
- return true;
- } else {
- return false;
- }
- }
- function drawMapDataPoints(series, opts, config, context) {
- var mapOption = assign({}, {
- border: true,
- mercator: false,
- borderWidth: 1,
- active: true,
- borderColor: '#666666',
- fillOpacity: 0.6,
- activeBorderColor: '#f04864',
- activeFillColor: '#facc14',
- activeFillOpacity: 1
- }, opts.extra.map);
- var coords, point;
- var data = series;
- var bounds = getBoundingBox(data);
- if (mapOption.mercator) {
- var max = lonlat2mercator(bounds.xMax, bounds.yMax);
- var min = lonlat2mercator(bounds.xMin, bounds.yMin);
- bounds.xMax = max[0];
- bounds.yMax = max[1];
- bounds.xMin = min[0];
- bounds.yMin = min[1];
- }
- var xScale = opts.width / Math.abs(bounds.xMax - bounds.xMin);
- var yScale = opts.height / Math.abs(bounds.yMax - bounds.yMin);
- var scale = xScale < yScale ? xScale : yScale;
- var xoffset = opts.width / 2 - Math.abs(bounds.xMax - bounds.xMin) / 2 * scale;
- var yoffset = opts.height / 2 - Math.abs(bounds.yMax - bounds.yMin) / 2 * scale;
- for (var i = 0; i < data.length; i++) {
- context.beginPath();
- context.setLineWidth(mapOption.borderWidth * opts.pix);
- context.setStrokeStyle(mapOption.borderColor);
- context.setFillStyle(hexToRgb(series[i].color, series[i].fillOpacity || mapOption.fillOpacity));
- if (mapOption.active == true && opts.tooltip) {
- if (opts.tooltip.index == i) {
- context.setStrokeStyle(mapOption.activeBorderColor);
- context.setFillStyle(hexToRgb(mapOption.activeFillColor, mapOption.activeFillOpacity));
- }
- }
- var coorda = data[i].geometry.coordinates;
- for (var k = 0; k < coorda.length; k++) {
- coords = coorda[k];
- if (coords.length == 1) {
- coords = coords[0];
- }
- for (var j = 0; j < coords.length; j++) {
- var gaosi = Array(2);
- if (mapOption.mercator) {
- gaosi = lonlat2mercator(coords[j][0], coords[j][1]);
- } else {
- gaosi = coords[j];
- }
- point = coordinateToPoint(gaosi[1], gaosi[0], bounds, scale, xoffset, yoffset);
- if (j === 0) {
- context.beginPath();
- context.moveTo(point.x, point.y);
- } else {
- context.lineTo(point.x, point.y);
- }
- }
- context.fill();
- if (mapOption.border == true) {
- context.stroke();
- }
- }
- }
- if (opts.dataLabel == true) {
- for (var i = 0; i < data.length; i++) {
- var centerPoint = data[i].properties.centroid;
- if (centerPoint) {
- if (mapOption.mercator) {
- centerPoint = lonlat2mercator(data[i].properties.centroid[0], data[i].properties.centroid[1]);
- }
- point = coordinateToPoint(centerPoint[1], centerPoint[0], bounds, scale, xoffset, yoffset);
- var fontSize = data[i].textSize * opts.pix || config.fontSize;
- var fontColor = data[i].textColor || opts.fontColor;
- if (mapOption.active && mapOption.activeTextColor && opts.tooltip && opts.tooltip.index == i) {
- fontColor = mapOption.activeTextColor;
- }
- var text = data[i].properties.name;
- context.beginPath();
- context.setFontSize(fontSize);
- context.setFillStyle(fontColor);
- context.fillText(text, point.x - measureText(text, fontSize, context) / 2, point.y + fontSize / 2);
- context.closePath();
- context.stroke();
- }
- }
- }
- opts.chartData.mapData = {
- bounds: bounds,
- scale: scale,
- xoffset: xoffset,
- yoffset: yoffset,
- mercator: mapOption.mercator
- };
- drawToolTipBridge(opts, config, context, 1);
- context.draw();
- }
- function normalInt(min, max, iter) {
- iter = iter == 0 ? 1 : iter;
- var arr = [];
- for (var i = 0; i < iter; i++) {
- arr[i] = Math.random();
- }
- ;
- return Math.floor(arr.reduce(function (i, j) {
- return i + j;
- }) / iter * (max - min)) + min;
- }
- ;
- function collisionNew(area, points, width, height) {
- var isIn = false;
- for (var i = 0; i < points.length; i++) {
- if (points[i].area) {
- if (area[3] < points[i].area[1] || area[0] > points[i].area[2] || area[1] > points[i].area[3] || area[2] < points[i].area[0]) {
- if (area[0] < 0 || area[1] < 0 || area[2] > width || area[3] > height) {
- isIn = true;
- break;
- } else {
- isIn = false;
- }
- } else {
- isIn = true;
- break;
- }
- }
- }
- return isIn;
- }
- ;
- function getWordCloudPoint(opts, type, context) {
- var points = opts.series;
- switch (type) {
- case 'normal':
- for (var i = 0; i < points.length; i++) {
- var text = points[i].name;
- var tHeight = points[i].textSize * opts.pix;
- var tWidth = measureText(text, tHeight, context);
- var x = void 0,
- y = void 0;
- var area = void 0;
- var breaknum = 0;
- while (true) {
- breaknum++;
- x = normalInt(-opts.width / 2, opts.width / 2, 5) - tWidth / 2;
- y = normalInt(-opts.height / 2, opts.height / 2, 5) + tHeight / 2;
- area = [x - 5 + opts.width / 2, y - 5 - tHeight + opts.height / 2, x + tWidth + 5 + opts.width / 2, y + 5 + opts.height / 2];
- var isCollision = collisionNew(area, points, opts.width, opts.height);
- if (!isCollision) break;
- if (breaknum == 1000) {
- area = [-100, -100, -100, -100];
- break;
- }
- }
- ;
- points[i].area = area;
- }
- break;
- case 'vertical':
- var Spin = function Spin() {
- //获取均匀随机值,是否旋转,旋转的概率为(1-0.5)
- if (Math.random() > 0.7) {
- return true;
- } else {
- return false;
- }
- ;
- };
- ;
- for (var _i30 = 0; _i30 < points.length; _i30++) {
- var _text = points[_i30].name;
- var _tHeight = points[_i30].textSize * opts.pix;
- var _tWidth = measureText(_text, _tHeight, context);
- var isSpin = Spin();
- var _x = void 0,
- _y = void 0,
- _area = void 0,
- areav = void 0;
- var _breaknum = 0;
- while (true) {
- _breaknum++;
- var _isCollision = void 0;
- if (isSpin) {
- _x = normalInt(-opts.width / 2, opts.width / 2, 5) - _tWidth / 2;
- _y = normalInt(-opts.height / 2, opts.height / 2, 5) + _tHeight / 2;
- _area = [_y - 5 - _tWidth + opts.width / 2, -_x - 5 + opts.height / 2, _y + 5 + opts.width / 2, -_x + _tHeight + 5 + opts.height / 2];
- areav = [opts.width - (opts.width / 2 - opts.height / 2) - (-_x + _tHeight + 5 + opts.height / 2) - 5, opts.height / 2 - opts.width / 2 + (_y - 5 - _tWidth + opts.width / 2) - 5, opts.width - (opts.width / 2 - opts.height / 2) - (-_x + _tHeight + 5 + opts.height / 2) + _tHeight, opts.height / 2 - opts.width / 2 + (_y - 5 - _tWidth + opts.width / 2) + _tWidth + 5];
- _isCollision = collisionNew(areav, points, opts.height, opts.width);
- } else {
- _x = normalInt(-opts.width / 2, opts.width / 2, 5) - _tWidth / 2;
- _y = normalInt(-opts.height / 2, opts.height / 2, 5) + _tHeight / 2;
- _area = [_x - 5 + opts.width / 2, _y - 5 - _tHeight + opts.height / 2, _x + _tWidth + 5 + opts.width / 2, _y + 5 + opts.height / 2];
- _isCollision = collisionNew(_area, points, opts.width, opts.height);
- }
- if (!_isCollision) break;
- if (_breaknum == 1000) {
- _area = [-1000, -1000, -1000, -1000];
- break;
- }
- }
- ;
- if (isSpin) {
- points[_i30].area = areav;
- points[_i30].areav = _area;
- } else {
- points[_i30].area = _area;
- }
- points[_i30].rotate = isSpin;
- }
- ;
- break;
- }
- return points;
- }
- function drawWordCloudDataPoints(series, opts, config, context) {
- var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;
- var wordOption = assign({}, {
- type: 'normal',
- autoColors: true
- }, opts.extra.word);
- if (!opts.chartData.wordCloudData) {
- opts.chartData.wordCloudData = getWordCloudPoint(opts, wordOption.type, context);
- }
- context.beginPath();
- context.setFillStyle(opts.background);
- context.rect(0, 0, opts.width, opts.height);
- context.fill();
- context.save();
- var points = opts.chartData.wordCloudData;
- context.translate(opts.width / 2, opts.height / 2);
- for (var i = 0; i < points.length; i++) {
- context.save();
- if (points[i].rotate) {
- context.rotate(90 * Math.PI / 180);
- }
- var text = points[i].name;
- var tHeight = points[i].textSize * opts.pix;
- var tWidth = measureText(text, tHeight, context);
- context.beginPath();
- context.setStrokeStyle(points[i].color);
- context.setFillStyle(points[i].color);
- context.setFontSize(tHeight);
- if (points[i].rotate) {
- if (points[i].areav[0] > 0) {
- if (opts.tooltip) {
- if (opts.tooltip.index == i) {
- context.strokeText(text, (points[i].areav[0] + 5 - opts.width / 2) * process - tWidth * (1 - process) / 2, (points[i].areav[1] + 5 + tHeight - opts.height / 2) * process);
- } else {
- context.fillText(text, (points[i].areav[0] + 5 - opts.width / 2) * process - tWidth * (1 - process) / 2, (points[i].areav[1] + 5 + tHeight - opts.height / 2) * process);
- }
- } else {
- context.fillText(text, (points[i].areav[0] + 5 - opts.width / 2) * process - tWidth * (1 - process) / 2, (points[i].areav[1] + 5 + tHeight - opts.height / 2) * process);
- }
- }
- } else {
- if (points[i].area[0] > 0) {
- if (opts.tooltip) {
- if (opts.tooltip.index == i) {
- context.strokeText(text, (points[i].area[0] + 5 - opts.width / 2) * process - tWidth * (1 - process) / 2, (points[i].area[1] + 5 + tHeight - opts.height / 2) * process);
- } else {
- context.fillText(text, (points[i].area[0] + 5 - opts.width / 2) * process - tWidth * (1 - process) / 2, (points[i].area[1] + 5 + tHeight - opts.height / 2) * process);
- }
- } else {
- context.fillText(text, (points[i].area[0] + 5 - opts.width / 2) * process - tWidth * (1 - process) / 2, (points[i].area[1] + 5 + tHeight - opts.height / 2) * process);
- }
- }
- }
- context.stroke();
- context.restore();
- }
- context.restore();
- }
- function drawFunnelDataPoints(series, opts, config, context) {
- var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;
- var funnelOption = assign({}, {
- type: 'funnel',
- activeWidth: 10,
- activeOpacity: 0.3,
- border: false,
- borderWidth: 2,
- borderColor: '#FFFFFF',
- fillOpacity: 1,
- minSize: 0,
- labelAlign: 'right',
- linearType: 'none',
- customColor: []
- }, opts.extra.funnel);
- var eachSpacing = (opts.height - opts.area[0] - opts.area[2]) / series.length;
- var centerPosition = {
- x: opts.area[3] + (opts.width - opts.area[1] - opts.area[3]) / 2,
- y: opts.height - opts.area[2]
- };
- var activeWidth = funnelOption.activeWidth * opts.pix;
- var radius = Math.min((opts.width - opts.area[1] - opts.area[3]) / 2 - activeWidth, (opts.height - opts.area[0] - opts.area[2]) / 2 - activeWidth);
- var seriesNew = getFunnelDataPoints(series, radius, funnelOption, eachSpacing, process);
- context.save();
- context.translate(centerPosition.x, centerPosition.y);
- funnelOption.customColor = fillCustomColor(funnelOption.linearType, funnelOption.customColor, series, config);
- if (funnelOption.type == 'pyramid') {
- for (var i = 0; i < seriesNew.length; i++) {
- if (i == seriesNew.length - 1) {
- if (opts.tooltip) {
- if (opts.tooltip.index == i) {
- context.beginPath();
- context.setFillStyle(hexToRgb(seriesNew[i].color, funnelOption.activeOpacity));
- context.moveTo(-activeWidth, -eachSpacing);
- context.lineTo(-seriesNew[i].radius - activeWidth, 0);
- context.lineTo(seriesNew[i].radius + activeWidth, 0);
- context.lineTo(activeWidth, -eachSpacing);
- context.lineTo(-activeWidth, -eachSpacing);
- context.closePath();
- context.fill();
- }
- }
- seriesNew[i].funnelArea = [centerPosition.x - seriesNew[i].radius, centerPosition.y - eachSpacing * (i + 1), centerPosition.x + seriesNew[i].radius, centerPosition.y - eachSpacing * i];
- context.beginPath();
- context.setLineWidth(funnelOption.borderWidth * opts.pix);
- context.setStrokeStyle(funnelOption.borderColor);
- var fillColor = hexToRgb(seriesNew[i].color, funnelOption.fillOpacity);
- if (funnelOption.linearType == 'custom') {
- var grd = context.createLinearGradient(seriesNew[i].radius, -eachSpacing, -seriesNew[i].radius, -eachSpacing);
- grd.addColorStop(0, hexToRgb(seriesNew[i].color, funnelOption.fillOpacity));
- grd.addColorStop(0.5, hexToRgb(funnelOption.customColor[seriesNew[i].linearIndex], funnelOption.fillOpacity));
- grd.addColorStop(1, hexToRgb(seriesNew[i].color, funnelOption.fillOpacity));
- fillColor = grd;
- }
- context.setFillStyle(fillColor);
- context.moveTo(0, -eachSpacing);
- context.lineTo(-seriesNew[i].radius, 0);
- context.lineTo(seriesNew[i].radius, 0);
- context.lineTo(0, -eachSpacing);
- context.closePath();
- context.fill();
- if (funnelOption.border == true) {
- context.stroke();
- }
- } else {
- if (opts.tooltip) {
- if (opts.tooltip.index == i) {
- context.beginPath();
- context.setFillStyle(hexToRgb(seriesNew[i].color, funnelOption.activeOpacity));
- context.moveTo(0, 0);
- context.lineTo(-seriesNew[i].radius - activeWidth, 0);
- context.lineTo(-seriesNew[i + 1].radius - activeWidth, -eachSpacing);
- context.lineTo(seriesNew[i + 1].radius + activeWidth, -eachSpacing);
- context.lineTo(seriesNew[i].radius + activeWidth, 0);
- context.lineTo(0, 0);
- context.closePath();
- context.fill();
- }
- }
- seriesNew[i].funnelArea = [centerPosition.x - seriesNew[i].radius, centerPosition.y - eachSpacing * (i + 1), centerPosition.x + seriesNew[i].radius, centerPosition.y - eachSpacing * i];
- context.beginPath();
- context.setLineWidth(funnelOption.borderWidth * opts.pix);
- context.setStrokeStyle(funnelOption.borderColor);
- var fillColor = hexToRgb(seriesNew[i].color, funnelOption.fillOpacity);
- if (funnelOption.linearType == 'custom') {
- var grd = context.createLinearGradient(seriesNew[i].radius, -eachSpacing, -seriesNew[i].radius, -eachSpacing);
- grd.addColorStop(0, hexToRgb(seriesNew[i].color, funnelOption.fillOpacity));
- grd.addColorStop(0.5, hexToRgb(funnelOption.customColor[seriesNew[i].linearIndex], funnelOption.fillOpacity));
- grd.addColorStop(1, hexToRgb(seriesNew[i].color, funnelOption.fillOpacity));
- fillColor = grd;
- }
- context.setFillStyle(fillColor);
- context.moveTo(0, 0);
- context.lineTo(-seriesNew[i].radius, 0);
- context.lineTo(-seriesNew[i + 1].radius, -eachSpacing);
- context.lineTo(seriesNew[i + 1].radius, -eachSpacing);
- context.lineTo(seriesNew[i].radius, 0);
- context.lineTo(0, 0);
- context.closePath();
- context.fill();
- if (funnelOption.border == true) {
- context.stroke();
- }
- }
- context.translate(0, -eachSpacing);
- }
- } else {
- context.translate(0, -(seriesNew.length - 1) * eachSpacing);
- for (var _i31 = 0; _i31 < seriesNew.length; _i31++) {
- if (_i31 == seriesNew.length - 1) {
- if (opts.tooltip) {
- if (opts.tooltip.index == _i31) {
- context.beginPath();
- context.setFillStyle(hexToRgb(seriesNew[_i31].color, funnelOption.activeOpacity));
- context.moveTo(-activeWidth - funnelOption.minSize / 2, 0);
- context.lineTo(-seriesNew[_i31].radius - activeWidth, -eachSpacing);
- context.lineTo(seriesNew[_i31].radius + activeWidth, -eachSpacing);
- context.lineTo(activeWidth + funnelOption.minSize / 2, 0);
- context.lineTo(-activeWidth - funnelOption.minSize / 2, 0);
- context.closePath();
- context.fill();
- }
- }
- seriesNew[_i31].funnelArea = [centerPosition.x - seriesNew[_i31].radius, centerPosition.y - eachSpacing, centerPosition.x + seriesNew[_i31].radius, centerPosition.y];
- context.beginPath();
- context.setLineWidth(funnelOption.borderWidth * opts.pix);
- context.setStrokeStyle(funnelOption.borderColor);
- var fillColor = hexToRgb(seriesNew[_i31].color, funnelOption.fillOpacity);
- if (funnelOption.linearType == 'custom') {
- var grd = context.createLinearGradient(seriesNew[_i31].radius, -eachSpacing, -seriesNew[_i31].radius, -eachSpacing);
- grd.addColorStop(0, hexToRgb(seriesNew[_i31].color, funnelOption.fillOpacity));
- grd.addColorStop(0.5, hexToRgb(funnelOption.customColor[seriesNew[_i31].linearIndex], funnelOption.fillOpacity));
- grd.addColorStop(1, hexToRgb(seriesNew[_i31].color, funnelOption.fillOpacity));
- fillColor = grd;
- }
- context.setFillStyle(fillColor);
- context.moveTo(0, 0);
- context.lineTo(-funnelOption.minSize / 2, 0);
- context.lineTo(-seriesNew[_i31].radius, -eachSpacing);
- context.lineTo(seriesNew[_i31].radius, -eachSpacing);
- context.lineTo(funnelOption.minSize / 2, 0);
- context.lineTo(0, 0);
- context.closePath();
- context.fill();
- if (funnelOption.border == true) {
- context.stroke();
- }
- } else {
- if (opts.tooltip) {
- if (opts.tooltip.index == _i31) {
- context.beginPath();
- context.setFillStyle(hexToRgb(seriesNew[_i31].color, funnelOption.activeOpacity));
- context.moveTo(0, 0);
- context.lineTo(-seriesNew[_i31 + 1].radius - activeWidth, 0);
- context.lineTo(-seriesNew[_i31].radius - activeWidth, -eachSpacing);
- context.lineTo(seriesNew[_i31].radius + activeWidth, -eachSpacing);
- context.lineTo(seriesNew[_i31 + 1].radius + activeWidth, 0);
- context.lineTo(0, 0);
- context.closePath();
- context.fill();
- }
- }
- seriesNew[_i31].funnelArea = [centerPosition.x - seriesNew[_i31].radius, centerPosition.y - eachSpacing * (seriesNew.length - _i31), centerPosition.x + seriesNew[_i31].radius, centerPosition.y - eachSpacing * (seriesNew.length - _i31 - 1)];
- context.beginPath();
- context.setLineWidth(funnelOption.borderWidth * opts.pix);
- context.setStrokeStyle(funnelOption.borderColor);
- var fillColor = hexToRgb(seriesNew[_i31].color, funnelOption.fillOpacity);
- if (funnelOption.linearType == 'custom') {
- var grd = context.createLinearGradient(seriesNew[_i31].radius, -eachSpacing, -seriesNew[_i31].radius, -eachSpacing);
- grd.addColorStop(0, hexToRgb(seriesNew[_i31].color, funnelOption.fillOpacity));
- grd.addColorStop(0.5, hexToRgb(funnelOption.customColor[seriesNew[_i31].linearIndex], funnelOption.fillOpacity));
- grd.addColorStop(1, hexToRgb(seriesNew[_i31].color, funnelOption.fillOpacity));
- fillColor = grd;
- }
- context.setFillStyle(fillColor);
- context.moveTo(0, 0);
- context.lineTo(-seriesNew[_i31 + 1].radius, 0);
- context.lineTo(-seriesNew[_i31].radius, -eachSpacing);
- context.lineTo(seriesNew[_i31].radius, -eachSpacing);
- context.lineTo(seriesNew[_i31 + 1].radius, 0);
- context.lineTo(0, 0);
- context.closePath();
- context.fill();
- if (funnelOption.border == true) {
- context.stroke();
- }
- }
- context.translate(0, eachSpacing);
- }
- }
- context.restore();
- if (opts.dataLabel !== false && process === 1) {
- drawFunnelText(seriesNew, opts, context, eachSpacing, funnelOption.labelAlign, activeWidth, centerPosition);
- }
- if (process === 1) {
- drawFunnelCenterText(seriesNew, opts, context, eachSpacing, funnelOption.labelAlign, activeWidth, centerPosition);
- }
- return {
- center: centerPosition,
- radius: radius,
- series: seriesNew
- };
- }
- function drawFunnelText(series, opts, context, eachSpacing, labelAlign, activeWidth, centerPosition) {
- for (var i = 0; i < series.length; i++) {
- var item = series[i];
- if (item.labelShow === false) {
- continue;
- }
- var startX = void 0,
- endX = void 0,
- startY = void 0,
- fontSize = void 0;
- var text = item.formatter ? item.formatter(item, i, series, opts) : util.toFixed(item._proportion_ * 100) + '%';
- text = item.labelText ? item.labelText : text;
- if (labelAlign == 'right') {
- if (i == series.length - 1) {
- startX = (item.funnelArea[2] + centerPosition.x) / 2;
- } else {
- startX = (item.funnelArea[2] + series[i + 1].funnelArea[2]) / 2;
- }
- endX = startX + activeWidth * 2;
- startY = item.funnelArea[1] + eachSpacing / 2;
- fontSize = item.textSize * opts.pix || opts.fontSize * opts.pix;
- context.setLineWidth(1 * opts.pix);
- context.setStrokeStyle(item.color);
- context.setFillStyle(item.color);
- context.beginPath();
- context.moveTo(startX, startY);
- context.lineTo(endX, startY);
- context.stroke();
- context.closePath();
- context.beginPath();
- context.moveTo(endX, startY);
- context.arc(endX, startY, 2 * opts.pix, 0, 2 * Math.PI);
- context.closePath();
- context.fill();
- context.beginPath();
- context.setFontSize(fontSize);
- context.setFillStyle(item.textColor || opts.fontColor);
- context.fillText(text, endX + 5, startY + fontSize / 2 - 2);
- context.closePath();
- context.stroke();
- context.closePath();
- }
- if (labelAlign == 'left') {
- if (i == series.length - 1) {
- startX = (item.funnelArea[0] + centerPosition.x) / 2;
- } else {
- startX = (item.funnelArea[0] + series[i + 1].funnelArea[0]) / 2;
- }
- endX = startX - activeWidth * 2;
- startY = item.funnelArea[1] + eachSpacing / 2;
- fontSize = item.textSize * opts.pix || opts.fontSize * opts.pix;
- context.setLineWidth(1 * opts.pix);
- context.setStrokeStyle(item.color);
- context.setFillStyle(item.color);
- context.beginPath();
- context.moveTo(startX, startY);
- context.lineTo(endX, startY);
- context.stroke();
- context.closePath();
- context.beginPath();
- context.moveTo(endX, startY);
- context.arc(endX, startY, 2, 0, 2 * Math.PI);
- context.closePath();
- context.fill();
- context.beginPath();
- context.setFontSize(fontSize);
- context.setFillStyle(item.textColor || opts.fontColor);
- context.fillText(text, endX - 5 - measureText(text, fontSize, context), startY + fontSize / 2 - 2);
- context.closePath();
- context.stroke();
- context.closePath();
- }
- }
- }
- function drawFunnelCenterText(series, opts, context, eachSpacing, labelAlign, activeWidth, centerPosition) {
- for (var i = 0; i < series.length; i++) {
- var item = series[i];
- var startY = void 0,
- fontSize = void 0;
- if (item.centerText) {
- startY = item.funnelArea[1] + eachSpacing / 2;
- fontSize = item.centerTextSize * opts.pix || opts.fontSize * opts.pix;
- context.beginPath();
- context.setFontSize(fontSize);
- context.setFillStyle(item.centerTextColor || "#FFFFFF");
- context.fillText(item.centerText, centerPosition.x - measureText(item.centerText, fontSize, context) / 2, startY + fontSize / 2 - 2);
- context.closePath();
- context.stroke();
- context.closePath();
- }
- }
- }
- function drawCanvas(opts, context) {
- context.save();
- context.translate(0, 0.5);
- context.restore();
- context.draw();
- }
- var Timing = {
- easeIn: function easeIn(pos) {
- return Math.pow(pos, 3);
- },
- easeOut: function easeOut(pos) {
- return Math.pow(pos - 1, 3) + 1;
- },
- easeInOut: function easeInOut(pos) {
- if ((pos /= 0.5) < 1) {
- return 0.5 * Math.pow(pos, 3);
- } else {
- return 0.5 * (Math.pow(pos - 2, 3) + 2);
- }
- },
- linear: function linear(pos) {
- return pos;
- }
- };
- function Animation(opts) {
- this.isStop = false;
- opts.duration = typeof opts.duration === 'undefined' ? 1000 : opts.duration;
- opts.timing = opts.timing || 'easeInOut';
- var delay = 17;
- function createAnimationFrame() {
- if (typeof setTimeout !== 'undefined') {
- return function (step, delay) {
- setTimeout(function () {
- var timeStamp = +new Date();
- step(timeStamp);
- }, delay);
- };
- } else if (typeof requestAnimationFrame !== 'undefined') {
- return requestAnimationFrame;
- } else {
- return function (step) {
- step(null);
- };
- }
- }
- ;
- var animationFrame = createAnimationFrame();
- var startTimeStamp = null;
- var _step = function step(timestamp) {
- if (timestamp === null || this.isStop === true) {
- opts.onProcess && opts.onProcess(1);
- opts.onAnimationFinish && opts.onAnimationFinish();
- return;
- }
- if (startTimeStamp === null) {
- startTimeStamp = timestamp;
- }
- if (timestamp - startTimeStamp < opts.duration) {
- var process = (timestamp - startTimeStamp) / opts.duration;
- var timingFunction = Timing[opts.timing];
- process = timingFunction(process);
- opts.onProcess && opts.onProcess(process);
- animationFrame(_step, delay);
- } else {
- opts.onProcess && opts.onProcess(1);
- opts.onAnimationFinish && opts.onAnimationFinish();
- }
- };
- _step = _step.bind(this);
- animationFrame(_step, delay);
- }
- Animation.prototype.stop = function () {
- this.isStop = true;
- };
- function drawCharts(type, opts, config, context) {
- var _this2 = this;
- var _this = this;
- var series = opts.series;
- //兼容ECharts饼图类数据格式
- if (type === 'pie' || type === 'ring' || type === 'mount' || type === 'rose' || type === 'funnel') {
- series = fixPieSeries(series, opts, config);
- }
- var categories = opts.categories;
- if (type === 'mount') {
- categories = [];
- for (var j = 0; j < series.length; j++) {
- if (series[j].show !== false) categories.push(series[j].name);
- }
- opts.categories = categories;
- }
- series = fillSeries(series, opts, config);
- var duration = opts.animation ? opts.duration : 0;
- _this.animationInstance && _this.animationInstance.stop();
- var seriesMA = null;
- if (type == 'candle') {
- var average = assign({}, opts.extra.candle.average);
- if (average.show) {
- seriesMA = calCandleMA(average.day, average.name, average.color, series[0].data);
- seriesMA = fillSeries(seriesMA, opts, config);
- opts.seriesMA = seriesMA;
- } else if (opts.seriesMA) {
- seriesMA = opts.seriesMA = fillSeries(opts.seriesMA, opts, config);
- } else {
- seriesMA = series;
- }
- } else {
- seriesMA = series;
- }
- /* 过滤掉show=false的series */
- opts._series_ = series = filterSeries(series);
- //重新计算图表区域
- opts.area = new Array(4);
- //复位绘图区域
- for (var _j11 = 0; _j11 < 4; _j11++) {
- opts.area[_j11] = opts.padding[_j11] * opts.pix;
- }
- //通过计算三大区域:图例、X轴、Y轴的大小,确定绘图区域
- var _calLegendData = calLegendData(seriesMA, opts, config, opts.chartData, context),
- legendHeight = _calLegendData.area.wholeHeight,
- legendWidth = _calLegendData.area.wholeWidth;
- switch (opts.legend.position) {
- case 'top':
- opts.area[0] += legendHeight;
- break;
- case 'bottom':
- opts.area[2] += legendHeight;
- break;
- case 'left':
- opts.area[3] += legendWidth;
- break;
- case 'right':
- opts.area[1] += legendWidth;
- break;
- }
- var _calYAxisData = {},
- yAxisWidth = 0;
- if (opts.type === 'line' || opts.type === 'column' || opts.type === 'mount' || opts.type === 'area' || opts.type === 'mix' || opts.type === 'candle' || opts.type === 'scatter' || opts.type === 'bubble' || opts.type === 'bar') {
- _calYAxisData = calYAxisData(series, opts, config, context);
- yAxisWidth = _calYAxisData.yAxisWidth;
- //如果显示Y轴标题
- if (opts.yAxis.showTitle) {
- var maxTitleHeight = 0;
- for (var i = 0; i < opts.yAxis.data.length; i++) {
- maxTitleHeight = Math.max(maxTitleHeight, opts.yAxis.data[i].titleFontSize ? opts.yAxis.data[i].titleFontSize * opts.pix : config.fontSize);
- }
- opts.area[0] += maxTitleHeight;
- }
- var rightIndex = 0,
- leftIndex = 0;
- //计算主绘图区域左右位置
- for (var _i32 = 0; _i32 < yAxisWidth.length; _i32++) {
- if (yAxisWidth[_i32].position == 'left') {
- if (leftIndex > 0) {
- opts.area[3] += yAxisWidth[_i32].width + opts.yAxis.padding * opts.pix;
- } else {
- opts.area[3] += yAxisWidth[_i32].width;
- }
- leftIndex += 1;
- } else if (yAxisWidth[_i32].position == 'right') {
- if (rightIndex > 0) {
- opts.area[1] += yAxisWidth[_i32].width + opts.yAxis.padding * opts.pix;
- } else {
- opts.area[1] += yAxisWidth[_i32].width;
- }
- rightIndex += 1;
- }
- }
- } else {
- config.yAxisWidth = yAxisWidth;
- }
- opts.chartData.yAxisData = _calYAxisData;
- if (opts.categories && opts.categories.length && opts.type !== 'radar' && opts.type !== 'gauge' && opts.type !== 'bar') {
- opts.chartData.xAxisData = getXAxisPoints(opts.categories, opts, config);
- var _calCategoriesData = calCategoriesData(opts.categories, opts, config, opts.chartData.xAxisData.eachSpacing, context),
- xAxisHeight = _calCategoriesData.xAxisHeight,
- angle = _calCategoriesData.angle;
- config.xAxisHeight = xAxisHeight;
- config._xAxisTextAngle_ = angle;
- opts.area[2] += xAxisHeight;
- opts.chartData.categoriesData = _calCategoriesData;
- } else {
- if (opts.type === 'line' || opts.type === 'area' || opts.type === 'scatter' || opts.type === 'bubble' || opts.type === 'bar') {
- opts.chartData.xAxisData = calXAxisData(series, opts, config, context);
- categories = opts.chartData.xAxisData.rangesFormat;
- var _calCategoriesData2 = calCategoriesData(categories, opts, config, opts.chartData.xAxisData.eachSpacing, context),
- _xAxisHeight = _calCategoriesData2.xAxisHeight,
- _angle = _calCategoriesData2.angle;
- config.xAxisHeight = _xAxisHeight;
- config._xAxisTextAngle_ = _angle;
- opts.area[2] += _xAxisHeight;
- opts.chartData.categoriesData = _calCategoriesData2;
- } else {
- opts.chartData.xAxisData = {
- xAxisPoints: []
- };
- }
- }
- //计算右对齐偏移距离
- if (opts.enableScroll && opts.xAxis.scrollAlign == 'right' && opts._scrollDistance_ === undefined) {
- var offsetLeft = 0,
- xAxisPoints = opts.chartData.xAxisData.xAxisPoints,
- startX = opts.chartData.xAxisData.startX,
- endX = opts.chartData.xAxisData.endX,
- eachSpacing = opts.chartData.xAxisData.eachSpacing;
- var totalWidth = eachSpacing * (xAxisPoints.length - 1);
- var screenWidth = endX - startX;
- offsetLeft = screenWidth - totalWidth;
- _this.scrollOption.currentOffset = offsetLeft;
- _this.scrollOption.startTouchX = offsetLeft;
- _this.scrollOption.distance = 0;
- _this.scrollOption.lastMoveTime = 0;
- opts._scrollDistance_ = offsetLeft;
- }
- if (type === 'pie' || type === 'ring' || type === 'rose') {
- config._pieTextMaxLength_ = opts.dataLabel === false ? 0 : getPieTextMaxLength(seriesMA, config, context, opts);
- }
- switch (type) {
- case 'word':
- this.animationInstance = new Animation({
- timing: opts.timing,
- duration: duration,
- onProcess: function onProcess(process) {
- context.clearRect(0, 0, opts.width, opts.height);
- if (opts.rotate) {
- contextRotate(context, opts);
- }
- drawWordCloudDataPoints(series, opts, config, context, process);
- drawCanvas(opts, context);
- },
- onAnimationFinish: function onAnimationFinish() {
- _this.uevent.trigger('renderComplete');
- }
- });
- break;
- case 'map':
- context.clearRect(0, 0, opts.width, opts.height);
- drawMapDataPoints(series, opts, config, context);
- setTimeout(function () {
- _this2.uevent.trigger('renderComplete');
- }, 50);
- break;
- case 'funnel':
- this.animationInstance = new Animation({
- timing: opts.timing,
- duration: duration,
- onProcess: function onProcess(process) {
- context.clearRect(0, 0, opts.width, opts.height);
- if (opts.rotate) {
- contextRotate(context, opts);
- }
- opts.chartData.funnelData = drawFunnelDataPoints(series, opts, config, context, process);
- drawLegend(opts.series, opts, config, context, opts.chartData);
- drawToolTipBridge(opts, config, context, process);
- drawCanvas(opts, context);
- },
- onAnimationFinish: function onAnimationFinish() {
- _this.uevent.trigger('renderComplete');
- }
- });
- break;
- case 'line':
- this.animationInstance = new Animation({
- timing: opts.timing,
- duration: duration,
- onProcess: function onProcess(process) {
- context.clearRect(0, 0, opts.width, opts.height);
- if (opts.rotate) {
- contextRotate(context, opts);
- }
- drawYAxisGrid(categories, opts, config, context);
- drawXAxis(categories, opts, config, context);
- var _drawLineDataPoints = drawLineDataPoints(series, opts, config, context, process),
- xAxisPoints = _drawLineDataPoints.xAxisPoints,
- calPoints = _drawLineDataPoints.calPoints,
- eachSpacing = _drawLineDataPoints.eachSpacing;
- opts.chartData.xAxisPoints = xAxisPoints;
- opts.chartData.calPoints = calPoints;
- opts.chartData.eachSpacing = eachSpacing;
- drawYAxis(series, opts, config, context);
- if (opts.enableMarkLine !== false && process === 1) {
- drawMarkLine(opts, config, context);
- }
- drawLegend(opts.series, opts, config, context, opts.chartData);
- drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints);
- drawCanvas(opts, context);
- },
- onAnimationFinish: function onAnimationFinish() {
- _this.uevent.trigger('renderComplete');
- }
- });
- break;
- case 'scatter':
- this.animationInstance = new Animation({
- timing: opts.timing,
- duration: duration,
- onProcess: function onProcess(process) {
- context.clearRect(0, 0, opts.width, opts.height);
- if (opts.rotate) {
- contextRotate(context, opts);
- }
- drawYAxisGrid(categories, opts, config, context);
- drawXAxis(categories, opts, config, context);
- var _drawScatterDataPoints = drawScatterDataPoints(series, opts, config, context, process),
- xAxisPoints = _drawScatterDataPoints.xAxisPoints,
- calPoints = _drawScatterDataPoints.calPoints,
- eachSpacing = _drawScatterDataPoints.eachSpacing;
- opts.chartData.xAxisPoints = xAxisPoints;
- opts.chartData.calPoints = calPoints;
- opts.chartData.eachSpacing = eachSpacing;
- drawYAxis(series, opts, config, context);
- if (opts.enableMarkLine !== false && process === 1) {
- drawMarkLine(opts, config, context);
- }
- drawLegend(opts.series, opts, config, context, opts.chartData);
- drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints);
- drawCanvas(opts, context);
- },
- onAnimationFinish: function onAnimationFinish() {
- _this.uevent.trigger('renderComplete');
- }
- });
- break;
- case 'bubble':
- this.animationInstance = new Animation({
- timing: opts.timing,
- duration: duration,
- onProcess: function onProcess(process) {
- context.clearRect(0, 0, opts.width, opts.height);
- if (opts.rotate) {
- contextRotate(context, opts);
- }
- drawYAxisGrid(categories, opts, config, context);
- drawXAxis(categories, opts, config, context);
- var _drawBubbleDataPoints = drawBubbleDataPoints(series, opts, config, context, process),
- xAxisPoints = _drawBubbleDataPoints.xAxisPoints,
- calPoints = _drawBubbleDataPoints.calPoints,
- eachSpacing = _drawBubbleDataPoints.eachSpacing;
- opts.chartData.xAxisPoints = xAxisPoints;
- opts.chartData.calPoints = calPoints;
- opts.chartData.eachSpacing = eachSpacing;
- drawYAxis(series, opts, config, context);
- if (opts.enableMarkLine !== false && process === 1) {
- drawMarkLine(opts, config, context);
- }
- drawLegend(opts.series, opts, config, context, opts.chartData);
- drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints);
- drawCanvas(opts, context);
- },
- onAnimationFinish: function onAnimationFinish() {
- _this.uevent.trigger('renderComplete');
- }
- });
- break;
- case 'mix':
- this.animationInstance = new Animation({
- timing: opts.timing,
- duration: duration,
- onProcess: function onProcess(process) {
- context.clearRect(0, 0, opts.width, opts.height);
- if (opts.rotate) {
- contextRotate(context, opts);
- }
- drawYAxisGrid(categories, opts, config, context);
- drawXAxis(categories, opts, config, context);
- var _drawMixDataPoints = drawMixDataPoints(series, opts, config, context, process),
- xAxisPoints = _drawMixDataPoints.xAxisPoints,
- calPoints = _drawMixDataPoints.calPoints,
- eachSpacing = _drawMixDataPoints.eachSpacing;
- opts.chartData.xAxisPoints = xAxisPoints;
- opts.chartData.calPoints = calPoints;
- opts.chartData.eachSpacing = eachSpacing;
- drawYAxis(series, opts, config, context);
- if (opts.enableMarkLine !== false && process === 1) {
- drawMarkLine(opts, config, context);
- }
- drawLegend(opts.series, opts, config, context, opts.chartData);
- drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints);
- drawCanvas(opts, context);
- },
- onAnimationFinish: function onAnimationFinish() {
- _this.uevent.trigger('renderComplete');
- }
- });
- break;
- case 'column':
- this.animationInstance = new Animation({
- timing: opts.timing,
- duration: duration,
- onProcess: function onProcess(process) {
- context.clearRect(0, 0, opts.width, opts.height);
- if (opts.rotate) {
- contextRotate(context, opts);
- }
- drawYAxisGrid(categories, opts, config, context);
- drawXAxis(categories, opts, config, context);
- var _drawColumnDataPoints = drawColumnDataPoints(series, opts, config, context, process),
- xAxisPoints = _drawColumnDataPoints.xAxisPoints,
- calPoints = _drawColumnDataPoints.calPoints,
- eachSpacing = _drawColumnDataPoints.eachSpacing;
- opts.chartData.xAxisPoints = xAxisPoints;
- opts.chartData.calPoints = calPoints;
- opts.chartData.eachSpacing = eachSpacing;
- drawYAxis(series, opts, config, context);
- if (opts.enableMarkLine !== false && process === 1) {
- drawMarkLine(opts, config, context);
- }
- drawLegend(opts.series, opts, config, context, opts.chartData);
- drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints);
- drawCanvas(opts, context);
- },
- onAnimationFinish: function onAnimationFinish() {
- _this.uevent.trigger('renderComplete');
- }
- });
- break;
- case 'mount':
- this.animationInstance = new Animation({
- timing: opts.timing,
- duration: duration,
- onProcess: function onProcess(process) {
- context.clearRect(0, 0, opts.width, opts.height);
- if (opts.rotate) {
- contextRotate(context, opts);
- }
- drawYAxisGrid(categories, opts, config, context);
- drawXAxis(categories, opts, config, context);
- var _drawMountDataPoints = drawMountDataPoints(series, opts, config, context, process),
- xAxisPoints = _drawMountDataPoints.xAxisPoints,
- calPoints = _drawMountDataPoints.calPoints,
- eachSpacing = _drawMountDataPoints.eachSpacing;
- opts.chartData.xAxisPoints = xAxisPoints;
- opts.chartData.calPoints = calPoints;
- opts.chartData.eachSpacing = eachSpacing;
- drawYAxis(series, opts, config, context);
- if (opts.enableMarkLine !== false && process === 1) {
- drawMarkLine(opts, config, context);
- }
- drawLegend(opts.series, opts, config, context, opts.chartData);
- drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints);
- drawCanvas(opts, context);
- },
- onAnimationFinish: function onAnimationFinish() {
- _this.uevent.trigger('renderComplete');
- }
- });
- break;
- case 'bar':
- this.animationInstance = new Animation({
- timing: opts.timing,
- duration: duration,
- onProcess: function onProcess(process) {
- context.clearRect(0, 0, opts.width, opts.height);
- if (opts.rotate) {
- contextRotate(context, opts);
- }
- drawXAxis(categories, opts, config, context);
- var _drawBarDataPoints = drawBarDataPoints(series, opts, config, context, process),
- yAxisPoints = _drawBarDataPoints.yAxisPoints,
- calPoints = _drawBarDataPoints.calPoints,
- eachSpacing = _drawBarDataPoints.eachSpacing;
- opts.chartData.yAxisPoints = yAxisPoints;
- opts.chartData.xAxisPoints = opts.chartData.xAxisData.xAxisPoints;
- opts.chartData.calPoints = calPoints;
- opts.chartData.eachSpacing = eachSpacing;
- drawYAxis(series, opts, config, context);
- if (opts.enableMarkLine !== false && process === 1) {
- drawMarkLine(opts, config, context);
- }
- drawLegend(opts.series, opts, config, context, opts.chartData);
- drawToolTipBridge(opts, config, context, process, eachSpacing, yAxisPoints);
- drawCanvas(opts, context);
- },
- onAnimationFinish: function onAnimationFinish() {
- _this.uevent.trigger('renderComplete');
- }
- });
- break;
- case 'area':
- this.animationInstance = new Animation({
- timing: opts.timing,
- duration: duration,
- onProcess: function onProcess(process) {
- context.clearRect(0, 0, opts.width, opts.height);
- if (opts.rotate) {
- contextRotate(context, opts);
- }
- drawYAxisGrid(categories, opts, config, context);
- drawXAxis(categories, opts, config, context);
- var _drawAreaDataPoints = drawAreaDataPoints(series, opts, config, context, process),
- xAxisPoints = _drawAreaDataPoints.xAxisPoints,
- calPoints = _drawAreaDataPoints.calPoints,
- eachSpacing = _drawAreaDataPoints.eachSpacing;
- opts.chartData.xAxisPoints = xAxisPoints;
- opts.chartData.calPoints = calPoints;
- opts.chartData.eachSpacing = eachSpacing;
- drawYAxis(series, opts, config, context);
- if (opts.enableMarkLine !== false && process === 1) {
- drawMarkLine(opts, config, context);
- }
- drawLegend(opts.series, opts, config, context, opts.chartData);
- drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints);
- drawCanvas(opts, context);
- },
- onAnimationFinish: function onAnimationFinish() {
- _this.uevent.trigger('renderComplete');
- }
- });
- break;
- case 'ring':
- this.animationInstance = new Animation({
- timing: opts.timing,
- duration: duration,
- onProcess: function onProcess(process) {
- context.clearRect(0, 0, opts.width, opts.height);
- if (opts.rotate) {
- contextRotate(context, opts);
- }
- opts.chartData.pieData = drawPieDataPoints(series, opts, config, context, process);
- drawLegend(opts.series, opts, config, context, opts.chartData);
- drawToolTipBridge(opts, config, context, process);
- drawCanvas(opts, context);
- },
- onAnimationFinish: function onAnimationFinish() {
- _this.uevent.trigger('renderComplete');
- }
- });
- break;
- case 'pie':
- this.animationInstance = new Animation({
- timing: opts.timing,
- duration: duration,
- onProcess: function onProcess(process) {
- context.clearRect(0, 0, opts.width, opts.height);
- if (opts.rotate) {
- contextRotate(context, opts);
- }
- opts.chartData.pieData = drawPieDataPoints(series, opts, config, context, process);
- drawLegend(opts.series, opts, config, context, opts.chartData);
- drawToolTipBridge(opts, config, context, process);
- drawCanvas(opts, context);
- },
- onAnimationFinish: function onAnimationFinish() {
- _this.uevent.trigger('renderComplete');
- }
- });
- break;
- case 'rose':
- this.animationInstance = new Animation({
- timing: opts.timing,
- duration: duration,
- onProcess: function onProcess(process) {
- context.clearRect(0, 0, opts.width, opts.height);
- if (opts.rotate) {
- contextRotate(context, opts);
- }
- opts.chartData.pieData = drawRoseDataPoints(series, opts, config, context, process);
- drawLegend(opts.series, opts, config, context, opts.chartData);
- drawToolTipBridge(opts, config, context, process);
- drawCanvas(opts, context);
- },
- onAnimationFinish: function onAnimationFinish() {
- _this.uevent.trigger('renderComplete');
- }
- });
- break;
- case 'radar':
- this.animationInstance = new Animation({
- timing: opts.timing,
- duration: duration,
- onProcess: function onProcess(process) {
- context.clearRect(0, 0, opts.width, opts.height);
- if (opts.rotate) {
- contextRotate(context, opts);
- }
- opts.chartData.radarData = drawRadarDataPoints(series, opts, config, context, process);
- drawLegend(opts.series, opts, config, context, opts.chartData);
- drawToolTipBridge(opts, config, context, process);
- drawCanvas(opts, context);
- },
- onAnimationFinish: function onAnimationFinish() {
- _this.uevent.trigger('renderComplete');
- }
- });
- break;
- case 'arcbar':
- this.animationInstance = new Animation({
- timing: opts.timing,
- duration: duration,
- onProcess: function onProcess(process) {
- context.clearRect(0, 0, opts.width, opts.height);
- if (opts.rotate) {
- contextRotate(context, opts);
- }
- opts.chartData.arcbarData = drawArcbarDataPoints(series, opts, config, context, process);
- drawCanvas(opts, context);
- },
- onAnimationFinish: function onAnimationFinish() {
- _this.uevent.trigger('renderComplete');
- }
- });
- break;
- case 'gauge':
- this.animationInstance = new Animation({
- timing: opts.timing,
- duration: duration,
- onProcess: function onProcess(process) {
- context.clearRect(0, 0, opts.width, opts.height);
- if (opts.rotate) {
- contextRotate(context, opts);
- }
- opts.chartData.gaugeData = drawGaugeDataPoints(categories, series, opts, config, context, process);
- drawCanvas(opts, context);
- },
- onAnimationFinish: function onAnimationFinish() {
- _this.uevent.trigger('renderComplete');
- }
- });
- break;
- case 'candle':
- this.animationInstance = new Animation({
- timing: opts.timing,
- duration: duration,
- onProcess: function onProcess(process) {
- context.clearRect(0, 0, opts.width, opts.height);
- if (opts.rotate) {
- contextRotate(context, opts);
- }
- drawYAxisGrid(categories, opts, config, context);
- drawXAxis(categories, opts, config, context);
- var _drawCandleDataPoints = drawCandleDataPoints(series, seriesMA, opts, config, context, process),
- xAxisPoints = _drawCandleDataPoints.xAxisPoints,
- calPoints = _drawCandleDataPoints.calPoints,
- eachSpacing = _drawCandleDataPoints.eachSpacing;
- opts.chartData.xAxisPoints = xAxisPoints;
- opts.chartData.calPoints = calPoints;
- opts.chartData.eachSpacing = eachSpacing;
- drawYAxis(series, opts, config, context);
- if (opts.enableMarkLine !== false && process === 1) {
- drawMarkLine(opts, config, context);
- }
- if (seriesMA) {
- drawLegend(seriesMA, opts, config, context, opts.chartData);
- } else {
- drawLegend(opts.series, opts, config, context, opts.chartData);
- }
- drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints);
- drawCanvas(opts, context);
- },
- onAnimationFinish: function onAnimationFinish() {
- _this.uevent.trigger('renderComplete');
- }
- });
- break;
- }
- }
- function uChartsEvent() {
- this.events = {};
- }
- uChartsEvent.prototype.addEventListener = function (type, listener) {
- this.events[type] = this.events[type] || [];
- this.events[type].push(listener);
- };
- uChartsEvent.prototype.delEventListener = function (type) {
- this.events[type] = [];
- };
- uChartsEvent.prototype.trigger = function () {
- for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
- args[_key] = arguments[_key];
- }
- var type = args[0];
- var params = args.slice(1);
- if (!!this.events[type]) {
- this.events[type].forEach(function (listener) {
- try {
- listener.apply(null, params);
- } catch (e) {
- //console.log('[uCharts] '+e);
- }
- });
- }
- };
- var uCharts = function uCharts(opts) {
- opts.pix = opts.pixelRatio ? opts.pixelRatio : 1;
- opts.fontSize = opts.fontSize ? opts.fontSize : 13;
- opts.fontColor = opts.fontColor ? opts.fontColor : config.fontColor;
- if (opts.background == "" || opts.background == "none") {
- opts.background = "#FFFFFF";
- }
- opts.title = assign({}, opts.title);
- opts.subtitle = assign({}, opts.subtitle);
- opts.duration = opts.duration ? opts.duration : 1000;
- opts.yAxis = assign({}, {
- data: [],
- showTitle: false,
- disabled: false,
- disableGrid: false,
- gridSet: 'number',
- splitNumber: 5,
- gridType: 'solid',
- dashLength: 4 * opts.pix,
- gridColor: '#cccccc',
- padding: 10,
- fontColor: '#666666'
- }, opts.yAxis);
- opts.xAxis = assign({}, {
- rotateLabel: false,
- rotateAngle: 45,
- disabled: false,
- disableGrid: false,
- splitNumber: 5,
- calibration: false,
- fontColor: '#666666',
- fontSize: 13,
- lineHeight: 20,
- marginTop: 0,
- gridType: 'solid',
- dashLength: 4,
- scrollAlign: 'left',
- boundaryGap: 'center',
- axisLine: true,
- axisLineColor: '#cccccc',
- titleFontSize: 13,
- titleOffsetY: 0,
- titleOffsetX: 0,
- titleFontColor: '#666666'
- }, opts.xAxis);
- opts.xAxis.scrollPosition = opts.xAxis.scrollAlign;
- opts.legend = assign({}, {
- show: true,
- position: 'bottom',
- float: 'center',
- backgroundColor: 'rgba(0,0,0,0)',
- borderColor: 'rgba(0,0,0,0)',
- borderWidth: 0,
- padding: 5,
- margin: 5,
- itemGap: 10,
- fontSize: opts.fontSize,
- lineHeight: opts.fontSize,
- fontColor: opts.fontColor,
- formatter: {},
- hiddenColor: '#CECECE'
- }, opts.legend);
- opts.extra = assign({
- tooltip: {
- legendShape: 'auto'
- }
- }, opts.extra);
- opts.rotate = opts.rotate ? true : false;
- opts.animation = opts.animation ? true : false;
- opts.rotate = opts.rotate ? true : false;
- opts.canvas2d = opts.canvas2d ? true : false;
- var config$$1 = assign({}, config);
- config$$1.color = opts.color ? opts.color : config$$1.color;
- if (opts.type == 'pie') {
- config$$1.pieChartLinePadding = opts.dataLabel === false ? 0 : opts.extra.pie.labelWidth * opts.pix || config$$1.pieChartLinePadding * opts.pix;
- }
- if (opts.type == 'ring') {
- config$$1.pieChartLinePadding = opts.dataLabel === false ? 0 : opts.extra.ring.labelWidth * opts.pix || config$$1.pieChartLinePadding * opts.pix;
- }
- if (opts.type == 'rose') {
- config$$1.pieChartLinePadding = opts.dataLabel === false ? 0 : opts.extra.rose.labelWidth * opts.pix || config$$1.pieChartLinePadding * opts.pix;
- }
- config$$1.pieChartTextPadding = opts.dataLabel === false ? 0 : config$$1.pieChartTextPadding * opts.pix;
- //屏幕旋转
- config$$1.rotate = opts.rotate;
- if (opts.rotate) {
- var tempWidth = opts.width;
- var tempHeight = opts.height;
- opts.width = tempHeight;
- opts.height = tempWidth;
- }
- //适配高分屏
- opts.padding = opts.padding ? opts.padding : config$$1.padding;
- config$$1.yAxisWidth = config.yAxisWidth * opts.pix;
- config$$1.fontSize = opts.fontSize * opts.pix;
- config$$1.titleFontSize = config.titleFontSize * opts.pix;
- config$$1.subtitleFontSize = config.subtitleFontSize * opts.pix;
- if (!opts.context) {
- throw new Error('[uCharts] 未获取到context!注意:v2.0版本后,需要自行获取canvas的绘图上下文并传入opts.context!');
- }
- this.context = opts.context;
- if (!this.context.setTextAlign) {
- this.context.setStrokeStyle = function (e) {
- return this.strokeStyle = e;
- };
- this.context.setLineWidth = function (e) {
- return this.lineWidth = e;
- };
- this.context.setLineCap = function (e) {
- return this.lineCap = e;
- };
- this.context.setFontSize = function (e) {
- return this.font = e + "px sans-serif";
- };
- this.context.setFillStyle = function (e) {
- return this.fillStyle = e;
- };
- this.context.setTextAlign = function (e) {
- return this.textAlign = e;
- };
- this.context.setTextBaseline = function (e) {
- return this.textBaseline = e;
- };
- this.context.setShadow = function (offsetX, offsetY, blur, color) {
- this.shadowColor = color;
- this.shadowOffsetX = offsetX;
- this.shadowOffsetY = offsetY;
- this.shadowBlur = blur;
- };
- this.context.draw = function () {};
- }
- //兼容NVUEsetLineDash
- if (!this.context.setLineDash) {
- this.context.setLineDash = function (e) {};
- }
- opts.chartData = {};
- this.uevent = new uChartsEvent();
- this.scrollOption = {
- currentOffset: 0,
- startTouchX: 0,
- distance: 0,
- lastMoveTime: 0
- };
- this.opts = opts;
- this.config = config$$1;
- drawCharts.call(this, opts.type, opts, config$$1, this.context);
- };
- uCharts.prototype.updateData = function () {
- var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
- this.opts = assign({}, this.opts, data);
- this.opts.updateData = true;
- var scrollPosition = data.scrollPosition || 'current';
- switch (scrollPosition) {
- case 'current':
- this.opts._scrollDistance_ = this.scrollOption.currentOffset;
- break;
- case 'left':
- this.opts._scrollDistance_ = 0;
- this.scrollOption = {
- currentOffset: 0,
- startTouchX: 0,
- distance: 0,
- lastMoveTime: 0
- };
- break;
- case 'right':
- var _calYAxisData = calYAxisData(this.opts.series, this.opts, this.config, this.context),
- yAxisWidth = _calYAxisData.yAxisWidth;
- this.config.yAxisWidth = yAxisWidth;
- var offsetLeft = 0;
- var _getXAxisPoints0 = getXAxisPoints(this.opts.categories, this.opts, this.config),
- xAxisPoints = _getXAxisPoints0.xAxisPoints,
- startX = _getXAxisPoints0.startX,
- endX = _getXAxisPoints0.endX,
- eachSpacing = _getXAxisPoints0.eachSpacing;
- var totalWidth = eachSpacing * (xAxisPoints.length - 1);
- var screenWidth = endX - startX;
- offsetLeft = screenWidth - totalWidth;
- this.scrollOption = {
- currentOffset: offsetLeft,
- startTouchX: offsetLeft,
- distance: 0,
- lastMoveTime: 0
- };
- this.opts._scrollDistance_ = offsetLeft;
- break;
- }
- drawCharts.call(this, this.opts.type, this.opts, this.config, this.context);
- };
- uCharts.prototype.zoom = function () {
- var val = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.opts.xAxis.itemCount;
- if (this.opts.enableScroll !== true) {
- console.log('[uCharts] 请启用滚动条后使用');
- return;
- }
- //当前屏幕中间点
- var centerPoint = Math.round(Math.abs(this.scrollOption.currentOffset) / this.opts.chartData.eachSpacing) + Math.round(this.opts.xAxis.itemCount / 2);
- this.opts.animation = false;
- this.opts.xAxis.itemCount = val.itemCount;
- //重新计算x轴偏移距离
- var _calYAxisData = calYAxisData(this.opts.series, this.opts, this.config, this.context),
- yAxisWidth = _calYAxisData.yAxisWidth;
- this.config.yAxisWidth = yAxisWidth;
- var offsetLeft = 0;
- var _getXAxisPoints0 = getXAxisPoints(this.opts.categories, this.opts, this.config),
- xAxisPoints = _getXAxisPoints0.xAxisPoints,
- startX = _getXAxisPoints0.startX,
- endX = _getXAxisPoints0.endX,
- eachSpacing = _getXAxisPoints0.eachSpacing;
- var centerLeft = eachSpacing * centerPoint;
- var screenWidth = endX - startX;
- var MaxLeft = screenWidth - eachSpacing * (xAxisPoints.length - 1);
- offsetLeft = screenWidth / 2 - centerLeft;
- if (offsetLeft > 0) {
- offsetLeft = 0;
- }
- if (offsetLeft < MaxLeft) {
- offsetLeft = MaxLeft;
- }
- this.scrollOption = {
- currentOffset: offsetLeft,
- startTouchX: 0,
- distance: 0,
- lastMoveTime: 0
- };
- calValidDistance(this, offsetLeft, this.opts.chartData, this.config, this.opts);
- this.opts._scrollDistance_ = offsetLeft;
- drawCharts.call(this, this.opts.type, this.opts, this.config, this.context);
- };
- uCharts.prototype.dobuleZoom = function (e) {
- if (this.opts.enableScroll !== true) {
- console.log('[uCharts] 请启用滚动条后使用');
- return;
- }
- var tcs = e.changedTouches;
- if (tcs.length < 2) {
- return;
- }
- for (var i = 0; i < tcs.length; i++) {
- tcs[i].x = tcs[i].x ? tcs[i].x : tcs[i].clientX;
- tcs[i].y = tcs[i].y ? tcs[i].y : tcs[i].clientY;
- }
- var ntcs = [getTouches(tcs[0], this.opts, e), getTouches(tcs[1], this.opts, e)];
- var xlength = Math.abs(ntcs[0].x - ntcs[1].x);
- // 记录初始的两指之间的数据
- if (!this.scrollOption.moveCount) {
- var cts0 = {
- changedTouches: [{
- x: tcs[0].x,
- y: this.opts.area[0] / this.opts.pix + 2
- }]
- };
- var cts1 = {
- changedTouches: [{
- x: tcs[1].x,
- y: this.opts.area[0] / this.opts.pix + 2
- }]
- };
- if (this.opts.rotate) {
- cts0 = {
- changedTouches: [{
- x: this.opts.height / this.opts.pix - this.opts.area[0] / this.opts.pix - 2,
- y: tcs[0].y
- }]
- };
- cts1 = {
- changedTouches: [{
- x: this.opts.height / this.opts.pix - this.opts.area[0] / this.opts.pix - 2,
- y: tcs[1].y
- }]
- };
- }
- var moveCurrent1 = this.getCurrentDataIndex(cts0).index;
- var moveCurrent2 = this.getCurrentDataIndex(cts1).index;
- var moveCount = Math.abs(moveCurrent1 - moveCurrent2);
- this.scrollOption.moveCount = moveCount;
- this.scrollOption.moveCurrent1 = Math.min(moveCurrent1, moveCurrent2);
- this.scrollOption.moveCurrent2 = Math.max(moveCurrent1, moveCurrent2);
- return;
- }
- var currentEachSpacing = xlength / this.scrollOption.moveCount;
- var itemCount = (this.opts.width - this.opts.area[1] - this.opts.area[3]) / currentEachSpacing;
- itemCount = itemCount <= 2 ? 2 : itemCount;
- itemCount = itemCount >= this.opts.categories.length ? this.opts.categories.length : itemCount;
- this.opts.animation = false;
- this.opts.xAxis.itemCount = itemCount;
- // 重新计算滚动条偏移距离
- var offsetLeft = 0;
- var _getXAxisPoints0 = getXAxisPoints(this.opts.categories, this.opts, this.config),
- xAxisPoints = _getXAxisPoints0.xAxisPoints,
- startX = _getXAxisPoints0.startX,
- endX = _getXAxisPoints0.endX,
- eachSpacing = _getXAxisPoints0.eachSpacing;
- var currentLeft = eachSpacing * this.scrollOption.moveCurrent1;
- var screenWidth = endX - startX;
- var MaxLeft = screenWidth - eachSpacing * (xAxisPoints.length - 1);
- offsetLeft = -currentLeft + Math.min(ntcs[0].x, ntcs[1].x) - this.opts.area[3] - eachSpacing;
- if (offsetLeft > 0) {
- offsetLeft = 0;
- }
- if (offsetLeft < MaxLeft) {
- offsetLeft = MaxLeft;
- }
- this.scrollOption.currentOffset = offsetLeft;
- this.scrollOption.startTouchX = 0;
- this.scrollOption.distance = 0;
- calValidDistance(this, offsetLeft, this.opts.chartData, this.config, this.opts);
- this.opts._scrollDistance_ = offsetLeft;
- drawCharts.call(this, this.opts.type, this.opts, this.config, this.context);
- };
- uCharts.prototype.stopAnimation = function () {
- this.animationInstance && this.animationInstance.stop();
- };
- uCharts.prototype.addEventListener = function (type, listener) {
- this.uevent.addEventListener(type, listener);
- };
- uCharts.prototype.delEventListener = function (type) {
- this.uevent.delEventListener(type);
- };
- uCharts.prototype.getCurrentDataIndex = function (e) {
- var touches = null;
- if (e.changedTouches) {
- touches = e.changedTouches[0];
- } else {
- touches = e.mp.changedTouches[0];
- }
- if (touches) {
- var _touches$ = getTouches(touches, this.opts, e);
- if (this.opts.type === 'pie' || this.opts.type === 'ring') {
- return findPieChartCurrentIndex({
- x: _touches$.x,
- y: _touches$.y
- }, this.opts.chartData.pieData, this.opts);
- } else if (this.opts.type === 'rose') {
- return findRoseChartCurrentIndex({
- x: _touches$.x,
- y: _touches$.y
- }, this.opts.chartData.pieData, this.opts);
- } else if (this.opts.type === 'radar') {
- return findRadarChartCurrentIndex({
- x: _touches$.x,
- y: _touches$.y
- }, this.opts.chartData.radarData, this.opts.categories.length);
- } else if (this.opts.type === 'funnel') {
- return findFunnelChartCurrentIndex({
- x: _touches$.x,
- y: _touches$.y
- }, this.opts.chartData.funnelData);
- } else if (this.opts.type === 'map') {
- return findMapChartCurrentIndex({
- x: _touches$.x,
- y: _touches$.y
- }, this.opts);
- } else if (this.opts.type === 'word') {
- return findWordChartCurrentIndex({
- x: _touches$.x,
- y: _touches$.y
- }, this.opts.chartData.wordCloudData);
- } else if (this.opts.type === 'bar') {
- return findBarChartCurrentIndex({
- x: _touches$.x,
- y: _touches$.y
- }, this.opts.chartData.calPoints, this.opts, this.config, Math.abs(this.scrollOption.currentOffset));
- } else {
- return findCurrentIndex({
- x: _touches$.x,
- y: _touches$.y
- }, this.opts.chartData.calPoints, this.opts, this.config, Math.abs(this.scrollOption.currentOffset));
- }
- }
- return -1;
- };
- uCharts.prototype.getLegendDataIndex = function (e) {
- var touches = null;
- if (e.changedTouches) {
- touches = e.changedTouches[0];
- } else {
- touches = e.mp.changedTouches[0];
- }
- if (touches) {
- var _touches$ = getTouches(touches, this.opts, e);
- return findLegendIndex({
- x: _touches$.x,
- y: _touches$.y
- }, this.opts.chartData.legendData);
- }
- return -1;
- };
- uCharts.prototype.touchLegend = function (e) {
- var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
- var touches = null;
- if (e.changedTouches) {
- touches = e.changedTouches[0];
- } else {
- touches = e.mp.changedTouches[0];
- }
- if (touches) {
- var _touches$ = getTouches(touches, this.opts, e);
- var index = this.getLegendDataIndex(e);
- if (index >= 0) {
- if (this.opts.type == 'candle') {
- this.opts.seriesMA[index].show = !this.opts.seriesMA[index].show;
- } else {
- this.opts.series[index].show = !this.opts.series[index].show;
- }
- this.opts.animation = option.animation ? true : false;
- this.opts._scrollDistance_ = this.scrollOption.currentOffset;
- drawCharts.call(this, this.opts.type, this.opts, this.config, this.context);
- }
- }
- };
- uCharts.prototype.showToolTip = function (e) {
- var _this3 = this;
- var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
- var touches = null;
- if (e.changedTouches) {
- touches = e.changedTouches[0];
- } else {
- touches = e.mp.changedTouches[0];
- }
- if (!touches) {
- console.log("[uCharts] 未获取到event坐标信息");
- }
- var _touches$ = getTouches(touches, this.opts, e);
- var currentOffset = this.scrollOption.currentOffset;
- var opts = assign({}, this.opts, {
- _scrollDistance_: currentOffset,
- animation: false
- });
- if (this.opts.type === 'line' || this.opts.type === 'area' || this.opts.type === 'column' || this.opts.type === 'scatter' || this.opts.type === 'bubble') {
- var current = this.getCurrentDataIndex(e);
- var index = option.index == undefined ? current.index : option.index;
- if (index > -1 || index.length > 0) {
- var seriesData = getSeriesDataItem(this.opts.series, index, current.group);
- if (seriesData.length !== 0) {
- var _getToolTipData = getToolTipData(seriesData, this.opts, index, current.group, this.opts.categories, option),
- textList = _getToolTipData.textList,
- offset = _getToolTipData.offset;
- offset.y = _touches$.y;
- opts.tooltip = {
- textList: option.textList !== undefined ? option.textList : textList,
- offset: option.offset !== undefined ? option.offset : offset,
- option: option,
- index: index,
- group: current.group
- };
- }
- }
- drawCharts.call(this, opts.type, opts, this.config, this.context);
- }
- if (this.opts.type === 'mount') {
- var index = option.index == undefined ? this.getCurrentDataIndex(e).index : option.index;
- if (index > -1) {
- var opts = assign({}, this.opts, {
- animation: false
- });
- var seriesData = assign({}, opts._series_[index]);
- var textList = [{
- text: option.formatter ? option.formatter(seriesData, undefined, index, opts) : seriesData.name + ': ' + seriesData.data,
- color: seriesData.color,
- legendShape: this.opts.extra.tooltip.legendShape == 'auto' ? seriesData.legendShape : this.opts.extra.tooltip.legendShape
- }];
- var offset = {
- x: opts.chartData.calPoints[index].x,
- y: _touches$.y
- };
- opts.tooltip = {
- textList: option.textList ? option.textList : textList,
- offset: option.offset !== undefined ? option.offset : offset,
- option: option,
- index: index
- };
- }
- drawCharts.call(this, opts.type, opts, this.config, this.context);
- }
- if (this.opts.type === 'bar') {
- var current = this.getCurrentDataIndex(e);
- var index = option.index == undefined ? current.index : option.index;
- if (index > -1 || index.length > 0) {
- var seriesData = getSeriesDataItem(this.opts.series, index, current.group);
- if (seriesData.length !== 0) {
- var _getToolTipData = getToolTipData(seriesData, this.opts, index, current.group, this.opts.categories, option),
- textList = _getToolTipData.textList,
- offset = _getToolTipData.offset;
- offset.x = _touches$.x;
- opts.tooltip = {
- textList: option.textList !== undefined ? option.textList : textList,
- offset: option.offset !== undefined ? option.offset : offset,
- option: option,
- index: index
- };
- }
- }
- drawCharts.call(this, opts.type, opts, this.config, this.context);
- }
- if (this.opts.type === 'mix') {
- var current = this.getCurrentDataIndex(e);
- var index = option.index == undefined ? current.index : option.index;
- if (index > -1) {
- var currentOffset = this.scrollOption.currentOffset;
- var opts = assign({}, this.opts, {
- _scrollDistance_: currentOffset,
- animation: false
- });
- var seriesData = getSeriesDataItem(this.opts.series, index);
- if (seriesData.length !== 0) {
- var _getMixToolTipData = getMixToolTipData(seriesData, this.opts, index, this.opts.categories, option),
- textList = _getMixToolTipData.textList,
- offset = _getMixToolTipData.offset;
- offset.y = _touches$.y;
- opts.tooltip = {
- textList: option.textList ? option.textList : textList,
- offset: option.offset !== undefined ? option.offset : offset,
- option: option,
- index: index
- };
- }
- }
- drawCharts.call(this, opts.type, opts, this.config, this.context);
- }
- if (this.opts.type === 'candle') {
- var current = this.getCurrentDataIndex(e);
- var index = option.index == undefined ? current.index : option.index;
- if (index > -1) {
- var currentOffset = this.scrollOption.currentOffset;
- var opts = assign({}, this.opts, {
- _scrollDistance_: currentOffset,
- animation: false
- });
- var seriesData = getSeriesDataItem(this.opts.series, index);
- if (seriesData.length !== 0) {
- var _getToolTipData = getCandleToolTipData(this.opts.series[0].data, seriesData, this.opts, index, this.opts.categories, this.opts.extra.candle, option),
- textList = _getToolTipData.textList,
- offset = _getToolTipData.offset;
- offset.y = _touches$.y;
- opts.tooltip = {
- textList: option.textList ? option.textList : textList,
- offset: option.offset !== undefined ? option.offset : offset,
- option: option,
- index: index
- };
- }
- }
- drawCharts.call(this, opts.type, opts, this.config, this.context);
- }
- if (this.opts.type === 'pie' || this.opts.type === 'ring' || this.opts.type === 'rose' || this.opts.type === 'funnel') {
- var index = option.index == undefined ? this.getCurrentDataIndex(e) : option.index;
- if (index > -1) {
- var opts = assign({}, this.opts, {
- animation: false
- });
- var seriesData = assign({}, opts._series_[index]);
- var textList = [{
- text: option.formatter ? option.formatter(seriesData, undefined, index, opts) : seriesData.name + ': ' + seriesData.data,
- color: seriesData.color,
- legendShape: this.opts.extra.tooltip.legendShape == 'auto' ? seriesData.legendShape : this.opts.extra.tooltip.legendShape
- }];
- var offset = {
- x: _touches$.x,
- y: _touches$.y
- };
- opts.tooltip = {
- textList: option.textList ? option.textList : textList,
- offset: option.offset !== undefined ? option.offset : offset,
- option: option,
- index: index
- };
- }
- drawCharts.call(this, opts.type, opts, this.config, this.context);
- }
- if (this.opts.type === 'map') {
- var index = option.index == undefined ? this.getCurrentDataIndex(e) : option.index;
- if (index > -1) {
- var opts = assign({}, this.opts, {
- animation: false
- });
- var seriesData = assign({}, this.opts.series[index]);
- seriesData.name = seriesData.properties.name;
- var textList = [{
- text: option.formatter ? option.formatter(seriesData, undefined, index, this.opts) : seriesData.name,
- color: seriesData.color,
- legendShape: this.opts.extra.tooltip.legendShape == 'auto' ? seriesData.legendShape : this.opts.extra.tooltip.legendShape
- }];
- var offset = {
- x: _touches$.x,
- y: _touches$.y
- };
- opts.tooltip = {
- textList: option.textList ? option.textList : textList,
- offset: option.offset !== undefined ? option.offset : offset,
- option: option,
- index: index
- };
- }
- opts.updateData = false;
- drawCharts.call(this, opts.type, opts, this.config, this.context);
- }
- if (this.opts.type === 'word') {
- var index = option.index == undefined ? this.getCurrentDataIndex(e) : option.index;
- if (index > -1) {
- var opts = assign({}, this.opts, {
- animation: false
- });
- var seriesData = assign({}, this.opts.series[index]);
- var textList = [{
- text: option.formatter ? option.formatter(seriesData, undefined, index, this.opts) : seriesData.name,
- color: seriesData.color,
- legendShape: this.opts.extra.tooltip.legendShape == 'auto' ? seriesData.legendShape : this.opts.extra.tooltip.legendShape
- }];
- var offset = {
- x: _touches$.x,
- y: _touches$.y
- };
- opts.tooltip = {
- textList: option.textList ? option.textList : textList,
- offset: option.offset !== undefined ? option.offset : offset,
- option: option,
- index: index
- };
- }
- opts.updateData = false;
- drawCharts.call(this, opts.type, opts, this.config, this.context);
- }
- if (this.opts.type === 'radar') {
- var index = option.index == undefined ? this.getCurrentDataIndex(e) : option.index;
- if (index > -1) {
- var opts = assign({}, this.opts, {
- animation: false
- });
- var seriesData = getSeriesDataItem(this.opts.series, index);
- if (seriesData.length !== 0) {
- var textList = seriesData.map(function (item) {
- return {
- text: option.formatter ? option.formatter(item, _this3.opts.categories[index], index, _this3.opts) : item.name + ': ' + item.data,
- color: item.color,
- legendShape: _this3.opts.extra.tooltip.legendShape == 'auto' ? item.legendShape : _this3.opts.extra.tooltip.legendShape
- };
- });
- var offset = {
- x: _touches$.x,
- y: _touches$.y
- };
- opts.tooltip = {
- textList: option.textList ? option.textList : textList,
- offset: option.offset !== undefined ? option.offset : offset,
- option: option,
- index: index
- };
- }
- }
- drawCharts.call(this, opts.type, opts, this.config, this.context);
- }
- };
- uCharts.prototype.translate = function (distance) {
- this.scrollOption = {
- currentOffset: distance,
- startTouchX: distance,
- distance: 0,
- lastMoveTime: 0
- };
- var opts = assign({}, this.opts, {
- _scrollDistance_: distance,
- animation: false
- });
- drawCharts.call(this, this.opts.type, opts, this.config, this.context);
- };
- uCharts.prototype.scrollStart = function (e) {
- var touches = null;
- if (e.changedTouches) {
- touches = e.changedTouches[0];
- } else {
- touches = e.mp.changedTouches[0];
- }
- var _touches$ = getTouches(touches, this.opts, e);
- if (touches && this.opts.enableScroll === true) {
- this.scrollOption.startTouchX = _touches$.x;
- }
- };
- uCharts.prototype.scroll = function (e) {
- if (this.scrollOption.lastMoveTime === 0) {
- this.scrollOption.lastMoveTime = Date.now();
- }
- var Limit = this.opts.touchMoveLimit || 60;
- var currMoveTime = Date.now();
- var duration = currMoveTime - this.scrollOption.lastMoveTime;
- if (duration < Math.floor(1000 / Limit)) return;
- if (this.scrollOption.startTouchX == 0) return;
- this.scrollOption.lastMoveTime = currMoveTime;
- var touches = null;
- if (e.changedTouches) {
- touches = e.changedTouches[0];
- } else {
- touches = e.mp.changedTouches[0];
- }
- if (touches && this.opts.enableScroll === true) {
- var _touches$ = getTouches(touches, this.opts, e);
- var _distance;
- _distance = _touches$.x - this.scrollOption.startTouchX;
- var currentOffset = this.scrollOption.currentOffset;
- var validDistance = calValidDistance(this, currentOffset + _distance, this.opts.chartData, this.config, this.opts);
- this.scrollOption.distance = _distance = validDistance - currentOffset;
- var opts = assign({}, this.opts, {
- _scrollDistance_: currentOffset + _distance,
- animation: false
- });
- this.opts = opts;
- drawCharts.call(this, opts.type, opts, this.config, this.context);
- return currentOffset + _distance;
- }
- };
- uCharts.prototype.scrollEnd = function (e) {
- if (this.opts.enableScroll === true) {
- var _scrollOption = this.scrollOption,
- currentOffset = _scrollOption.currentOffset,
- distance = _scrollOption.distance;
- this.scrollOption.currentOffset = currentOffset + distance;
- this.scrollOption.distance = 0;
- this.scrollOption.moveCount = 0;
- }
- };
- var _default = uCharts;
- exports.default = _default;
- /***/ }),
- /***/ 1203:
- /*!****************************************************************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/components/qiun-data-charts/js_sdk/u-charts/config-ucharts.js ***!
- \****************************************************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
- "use strict";
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.default = void 0;
- /*
- * uCharts®
- * 高性能跨平台图表库,支持H5、APP、小程序(微信/支付宝/百度/头条/QQ/360)、Vue、Taro等支持canvas的框架平台
- * Copyright (c) 2021 QIUN®秋云 https://www.ucharts.cn All rights reserved.
- * Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
- * 复制使用请保留本段注释,感谢支持开源!
- *
- * uCharts®官方网站
- * https://www.uCharts.cn
- *
- * 开源地址:
- * https://gitee.com/uCharts/uCharts
- *
- * uni-app插件市场地址:
- * http://ext.dcloud.net.cn/plugin?id=271
- *
- */
- // 主题颜色配置:如每个图表类型需要不同主题,请在对应图表类型上更改color属性
- var color = ['#1890FF', '#91CB74', '#FAC858', '#EE6666', '#73C0DE', '#3CA272', '#FC8452', '#9A60B4', '#ea7ccc'];
- //事件转换函数,主要用作格式化x轴为时间轴,根据需求自行修改
- var formatDateTime = function formatDateTime(timeStamp, returnType) {
- var date = new Date();
- date.setTime(timeStamp * 1000);
- var y = date.getFullYear();
- var m = date.getMonth() + 1;
- m = m < 10 ? '0' + m : m;
- var d = date.getDate();
- d = d < 10 ? '0' + d : d;
- var h = date.getHours();
- h = h < 10 ? '0' + h : h;
- var minute = date.getMinutes();
- var second = date.getSeconds();
- minute = minute < 10 ? '0' + minute : minute;
- second = second < 10 ? '0' + second : second;
- if (returnType == 'full') {
- return y + '-' + m + '-' + d + ' ' + h + ':' + minute + ':' + second;
- }
- if (returnType == 'y-m-d') {
- return y + '-' + m + '-' + d;
- }
- if (returnType == 'h:m') {
- return h + ':' + minute;
- }
- if (returnType == 'h:m:s') {
- return h + ':' + minute + ':' + second;
- }
- return [y, m, d, h, minute, second];
- };
- var cfu = {
- //demotype为自定义图表类型,一般不需要自定义图表类型,只需要改根节点上对应的类型即可
- "type": ["pie", "ring", "rose", "word", "funnel", "map", "arcbar", "line", "column", "mount", "bar", "area", "radar", "gauge", "candle", "mix", "tline", "tarea", "scatter", "bubble", "demotype"],
- "range": ["饼状图", "圆环图", "玫瑰图", "词云图", "漏斗图", "地图", "圆弧进度条", "折线图", "柱状图", "山峰图", "条状图", "区域图", "雷达图", "仪表盘", "K线图", "混合图", "时间轴折线", "时间轴区域", "散点图", "气泡图", "自定义类型"],
- //增加自定义图表类型,如果需要categories,请在这里加入您的图表类型,例如最后的"demotype"
- //自定义类型时需要注意"tline","tarea","scatter","bubble"等时间轴(矢量x轴)类图表,没有categories,不需要加入categories
- "categories": ["line", "column", "mount", "bar", "area", "radar", "gauge", "candle", "mix", "demotype"],
- //instance为实例变量承载属性,不要删除
- "instance": {},
- //option为opts及eopts承载属性,不要删除
- "option": {},
- //下面是自定义format配置,因除H5端外的其他端无法通过props传递函数,只能通过此属性对应下标的方式来替换
- "formatter": {
- "yAxisDemo1": function yAxisDemo1(val, index, opts) {
- return val + '元';
- },
- "yAxisDemo2": function yAxisDemo2(val, index, opts) {
- return val.toFixed(2);
- },
- "xAxisDemo1": function xAxisDemo1(val, index, opts) {
- return val + '年';
- },
- "xAxisDemo2": function xAxisDemo2(val, index, opts) {
- return formatDateTime(val, 'h:m');
- },
- "seriesDemo1": function seriesDemo1(val, index, series, opts) {
- return val + '元';
- },
- "tooltipDemo1": function tooltipDemo1(item, category, index, opts) {
- if (index == 0) {
- return '随便用' + item.data + '年';
- } else {
- return '其他我没改' + item.data + '天';
- }
- },
- "pieDemo": function pieDemo(val, index, series, opts) {
- if (index !== undefined) {
- return series[index].name + ':' + series[index].data + '元';
- }
- },
- // 超出换行
- "overwarp": function overwarp(value) {
- console.log(value, 7);
- var str = "";
- var num = 2; //每行显示字数
- var valLength = value.length; //该项x轴字数
- var rowNum = Math.ceil(valLength / num); // 行数
- console.log(rowNum);
- if (rowNum > 1) {
- for (var i = 0; i < rowNum; i++) {
- var temp = "";
- var start = i * num;
- var end = start + num;
- temp = value.substring(start, end) + "\n";
- str += temp;
- }
- return str;
- } else {
- return value;
- }
- }
- },
- //这里演示了自定义您的图表类型的option,可以随意命名,之后在组件上 type="demotype" 后,组件会调用这个花括号里的option,如果组件上还存在opts参数,会将demotype与opts中option合并后渲染图表。
- "demotype": {
- //我这里把曲线图当做了自定义图表类型,您可以根据需要随意指定类型或配置
- "type": "line",
- "color": color,
- "padding": [15, 10, 0, 15],
- "xAxis": {
- "disableGrid": true
- },
- "yAxis": {
- "gridType": "dash",
- "dashLength": 2
- },
- "legend": {},
- "extra": {
- "line": {
- "type": "curve",
- "width": 2
- }
- }
- },
- //下面是自定义配置,请添加项目所需的通用配置
- "pie": {
- "type": "pie",
- "color": color,
- "padding": [5, 5, 5, 5],
- "extra": {
- "pie": {
- "activeOpacity": 0.5,
- "activeRadius": 10,
- "offsetAngle": 0,
- "labelWidth": 15,
- "border": true,
- "borderWidth": 3,
- "borderColor": "#FFFFFF"
- }
- }
- },
- "ring": {
- "type": "ring",
- "color": color,
- "padding": [5, 5, 5, 5],
- "rotate": false,
- "dataLabel": true,
- "legend": {
- "show": true,
- "position": "right",
- "lineHeight": 25
- },
- "title": {
- "name": "收益率",
- "fontSize": 15,
- "color": "#666666"
- },
- "subtitle": {
- "name": "70%",
- "fontSize": 25,
- "color": "#7cb5ec"
- },
- "extra": {
- "ring": {
- "ringWidth": 30,
- "activeOpacity": 0.5,
- "activeRadius": 10,
- "offsetAngle": 0,
- "labelWidth": 15,
- "border": true,
- "borderWidth": 3,
- "borderColor": "#FFFFFF"
- }
- }
- },
- "rose": {
- "type": "rose",
- "color": color,
- "padding": [5, 5, 5, 5],
- "legend": {
- "show": true,
- "position": "left",
- "lineHeight": 25
- },
- "extra": {
- "rose": {
- "type": "area",
- "minRadius": 50,
- "activeOpacity": 0.5,
- "activeRadius": 10,
- "offsetAngle": 0,
- "labelWidth": 15,
- "border": false,
- "borderWidth": 2,
- "borderColor": "#FFFFFF"
- }
- }
- },
- "word": {
- "type": "word",
- "color": color,
- "extra": {
- "word": {
- "type": "normal",
- "autoColors": false
- }
- }
- },
- "funnel": {
- "type": "funnel",
- "color": color,
- "padding": [15, 15, 0, 15],
- "extra": {
- "funnel": {
- "activeOpacity": 0.3,
- "activeWidth": 10,
- "border": true,
- "borderWidth": 2,
- "borderColor": "#FFFFFF",
- "fillOpacity": 1,
- "labelAlign": "right"
- }
- }
- },
- "map": {
- "type": "map",
- "color": color,
- "padding": [0, 0, 0, 0],
- "dataLabel": true,
- "extra": {
- "map": {
- "border": true,
- "borderWidth": 1,
- "borderColor": "#666666",
- "fillOpacity": 0.6,
- "activeBorderColor": "#F04864",
- "activeFillColor": "#FACC14",
- "activeFillOpacity": 1
- }
- }
- },
- "arcbar": {
- "type": "arcbar",
- "color": color,
- "title": {
- "name": "百分比",
- "fontSize": 25,
- "color": "#00FF00"
- },
- "subtitle": {
- "name": "默认标题",
- "fontSize": 15,
- "color": "#666666"
- },
- "extra": {
- "arcbar": {
- "type": "default",
- "width": 12,
- "backgroundColor": "#E9E9E9",
- "startAngle": 0.75,
- "endAngle": 0.25,
- "gap": 2
- }
- }
- },
- "line": {
- "type": "line",
- "color": color,
- "padding": [15, 10, 0, 15],
- "xAxis": {
- "disableGrid": true
- },
- "yAxis": {
- "gridType": "dash",
- "dashLength": 2
- },
- "legend": {},
- "extra": {
- "line": {
- "type": "straight",
- "width": 2,
- "activeType": "hollow"
- }
- }
- },
- "tline": {
- "type": "line",
- "color": color,
- "padding": [15, 10, 0, 15],
- "xAxis": {
- "disableGrid": false,
- "boundaryGap": "justify"
- },
- "yAxis": {
- "gridType": "dash",
- "dashLength": 2,
- "data": [{
- "min": 0,
- "max": 80
- }]
- },
- "legend": {},
- "extra": {
- "line": {
- "type": "curve",
- "width": 2,
- "activeType": "hollow"
- }
- }
- },
- "tarea": {
- "type": "area",
- "color": color,
- "padding": [15, 10, 0, 15],
- "xAxis": {
- "disableGrid": true,
- "boundaryGap": "justify"
- },
- "yAxis": {
- "gridType": "dash",
- "dashLength": 2,
- "data": [{
- "min": 0,
- "max": 80
- }]
- },
- "legend": {},
- "extra": {
- "area": {
- "type": "curve",
- "opacity": 0.2,
- "addLine": true,
- "width": 2,
- "gradient": true,
- "activeType": "hollow"
- }
- }
- },
- "column": {
- "type": "column",
- "color": color,
- "padding": [15, 15, 0, 5],
- "xAxis": {
- "disableGrid": true
- },
- "yAxis": {
- "data": [{
- "min": 0
- }]
- },
- "legend": {},
- "extra": {
- "column": {
- "type": "group",
- "width": 30,
- "activeBgColor": "#000000",
- "activeBgOpacity": 0.08
- }
- }
- },
- "mount": {
- "type": "mount",
- "color": color,
- "padding": [15, 15, 0, 5],
- "xAxis": {
- "disableGrid": true
- },
- "yAxis": {
- "data": [{
- "min": 0
- }]
- },
- "legend": {},
- "extra": {
- "mount": {
- "type": "mount",
- "widthRatio": 1.5
- }
- }
- },
- "bar": {
- "type": "bar",
- "color": color,
- "padding": [15, 30, 0, 5],
- "xAxis": {
- "boundaryGap": "justify",
- "disableGrid": false,
- "min": 0,
- "axisLine": false
- },
- "yAxis": {},
- "legend": {},
- "extra": {
- "bar": {
- "type": "group",
- "width": 30,
- "meterBorde": 1,
- "meterFillColor": "#FFFFFF",
- "activeBgColor": "#000000",
- "activeBgOpacity": 0.08
- }
- }
- },
- "area": {
- "type": "area",
- "color": color,
- "padding": [15, 15, 0, 15],
- "xAxis": {
- "disableGrid": true
- },
- "yAxis": {
- "gridType": "dash",
- "dashLength": 2
- },
- "legend": {},
- "extra": {
- "area": {
- "type": "straight",
- "opacity": 0.2,
- "addLine": true,
- "width": 2,
- "gradient": false,
- "activeType": "hollow"
- }
- }
- },
- "radar": {
- "type": "radar",
- "color": color,
- "padding": [5, 5, 5, 5],
- "dataLabel": false,
- "legend": {
- "show": true,
- "position": "right",
- "lineHeight": 25
- },
- "extra": {
- "radar": {
- "gridType": "radar",
- "gridColor": "#CCCCCC",
- "gridCount": 3,
- "opacity": 0.2,
- "max": 200,
- "labelShow": true
- }
- }
- },
- "gauge": {
- "type": "gauge",
- "color": color,
- "title": {
- "name": "66Km/H",
- "fontSize": 25,
- "color": "#2fc25b",
- "offsetY": 50
- },
- "subtitle": {
- "name": "实时速度",
- "fontSize": 15,
- "color": "#1890ff",
- "offsetY": -50
- },
- "extra": {
- "gauge": {
- "type": "default",
- "width": 30,
- "labelColor": "#666666",
- "startAngle": 0.75,
- "endAngle": 0.25,
- "startNumber": 0,
- "endNumber": 100,
- "labelFormat": "",
- "splitLine": {
- "fixRadius": 0,
- "splitNumber": 10,
- "width": 30,
- "color": "#FFFFFF",
- "childNumber": 5,
- "childWidth": 12
- },
- "pointer": {
- "width": 24,
- "color": "auto"
- }
- }
- }
- },
- "candle": {
- "type": "candle",
- "color": color,
- "padding": [15, 15, 0, 15],
- "enableScroll": true,
- "enableMarkLine": true,
- "dataLabel": false,
- "xAxis": {
- "labelCount": 4,
- "itemCount": 40,
- "disableGrid": true,
- "gridColor": "#CCCCCC",
- "gridType": "solid",
- "dashLength": 4,
- "scrollShow": true,
- "scrollAlign": "left",
- "scrollColor": "#A6A6A6",
- "scrollBackgroundColor": "#EFEBEF"
- },
- "yAxis": {},
- "legend": {},
- "extra": {
- "candle": {
- "color": {
- "upLine": "#f04864",
- "upFill": "#f04864",
- "downLine": "#2fc25b",
- "downFill": "#2fc25b"
- },
- "average": {
- "show": true,
- "name": ["MA5", "MA10", "MA30"],
- "day": [5, 10, 20],
- "color": ["#1890ff", "#2fc25b", "#facc14"]
- }
- },
- "markLine": {
- "type": "dash",
- "dashLength": 5,
- "data": [{
- "value": 2150,
- "lineColor": "#f04864",
- "showLabel": true
- }, {
- "value": 2350,
- "lineColor": "#f04864",
- "showLabel": true
- }]
- }
- }
- },
- "mix": {
- "type": "mix",
- "color": color,
- "padding": [15, 15, 0, 15],
- "xAxis": {
- "disableGrid": true
- },
- "yAxis": {
- "disabled": false,
- "disableGrid": false,
- "splitNumber": 5,
- "gridType": "dash",
- "dashLength": 4,
- "gridColor": "#CCCCCC",
- "padding": 10,
- "showTitle": true,
- "data": []
- },
- "legend": {},
- "extra": {
- "mix": {
- "column": {
- "width": 20
- }
- }
- }
- },
- "scatter": {
- "type": "scatter",
- "color": color,
- "padding": [15, 15, 0, 15],
- "dataLabel": false,
- "xAxis": {
- "disableGrid": false,
- "gridType": "dash",
- "splitNumber": 5,
- "boundaryGap": "justify",
- "min": 0
- },
- "yAxis": {
- "disableGrid": false,
- "gridType": "dash"
- },
- "legend": {},
- "extra": {
- "scatter": {}
- }
- },
- "bubble": {
- "type": "bubble",
- "color": color,
- "padding": [15, 15, 0, 15],
- "xAxis": {
- "disableGrid": false,
- "gridType": "dash",
- "splitNumber": 5,
- "boundaryGap": "justify",
- "min": 0,
- "max": 250
- },
- "yAxis": {
- "disableGrid": false,
- "gridType": "dash",
- "data": [{
- "min": 0,
- "max": 150
- }]
- },
- "legend": {},
- "extra": {
- "bubble": {
- "border": 2,
- "opacity": 0.5
- }
- }
- }
- };
- var _default = cfu;
- exports.default = _default;
- /***/ }),
- /***/ 1290:
- /*!************************************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/components/zb-table/js/summary.js ***!
- \************************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
- "use strict";
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.default = void 0;
- var _default2 = {
- props: {
- scrollbarSize: {
- type: Number,
- default: 0
- },
- fixedLeftColumns: {
- type: Array,
- default: function _default() {
- return [];
- }
- },
- data: {
- type: Array,
- default: function _default() {
- return [];
- }
- },
- transColumns: {
- type: Array,
- default: function _default() {
- return [];
- }
- },
- border: {
- type: Boolean,
- default: false
- },
- showSummary: {
- type: Boolean,
- default: false
- },
- summaryMethod: {
- type: Function
- },
- sumText: {
- type: String,
- default: '合计'
- },
- headerFooterTableLeft: {
- type: Number,
- default: 0
- },
- handleFooterTableScrollLeft: Function
- },
- data: function data() {
- return {
- sums: []
- };
- },
- watch: {
- 'data': {
- deep: true,
- immediate: true,
- handler: function handler(newValue, oldValue) {
- var _this = this;
- var sums = [];
- if (this.summaryMethod) {
- sums = this.summaryMethod({
- columns: this.transColumns,
- data: this.data
- });
- } else {
- this.transColumns.forEach(function (column, index) {
- if (index === 0) {
- sums[index] = _this.sumText;
- return;
- }
- var values = _this.data.map(function (item) {
- return Number(item[column.name]);
- });
- var precisions = [];
- var notNumber = true;
- values.forEach(function (value) {
- if (!isNaN(value)) {
- notNumber = false;
- var decimal = ('' + value).split('.')[1];
- precisions.push(decimal ? decimal.length : 0);
- }
- });
- var precision = Math.max.apply(null, precisions);
- if (!notNumber) {
- sums[index] = values.reduce(function (prev, curr) {
- var value = Number(curr);
- if (!isNaN(value)) {
- return parseFloat((prev + curr).toFixed(Math.min(precision, 20)));
- } else {
- return prev;
- }
- }, 0);
- } else {
- sums[index] = '';
- }
- });
- }
- this.sums = sums;
- }
- }
- }
- };
- exports.default = _default2;
- /***/ }),
- /***/ 436:
- /*!*************************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/static/mine/mzicon.png ***!
- \*************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,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"
- /***/ }),
- /***/ 461:
- /*!************************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/word.png ***!
- \************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,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"
- /***/ }),
- /***/ 478:
- /*!************************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/addw.png ***!
- \************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAMAAACeyVWkAAAARVBMVEUAAABHdepPbu5HdepHdetHdutHdupGdetGdepGdetGc+lHdepHdepHdOpGdepGdepGdOlHdOpFdepFdfJGdOpGc+xHdeqKTaPWAAAAFnRSTlMAawj6ZJpHTulzHvXq23puZlhVEpEoGiHVBAAAAHBJREFUGNOt0DkOgDAMRNExmGzsm+9/VBARIYkiRMEvXLzCsoyrhZImr10dJwJfFTcLVspzVQ2SvOZUftW26QpqsRSUoT4rQafaDsy8w03Mowm64ckGNbNSymE9p+7TvSP0j5dJUDP0t8KWfgaASnoAbWwWhwFdwMcAAAAASUVORK5CYII="
- /***/ }),
- /***/ 487:
- /*!************************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/static/mine/hello.png ***!
- \************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAH4AAAAbCAMAAACNxMtTAAAAgVBMVEUAAABHdepGdOhHdepGdOpEdexEculHdepHdepGdOpFdOpHdOpFdOtGdepGcOdCd/A+bO1HdepGdepHdetGdepHdetGdepGdepGdepGdOpHdOtGdOpHdepHdepHdOtGdetHdepCdexGdOpGdepGdOpHdepHdOpGdOpId+lGdOxHder+7/p5AAAAKnRSTlMA/RberikL8ul5UcMgTxwSCPXo8GyzYX515aOJ1ZtWu8cm9M834DCTR0O5wJNSAAACgElEQVRIx7WXDZeqIBCGRXSwVNS01LS07WN3/f8/8ApoczG66d3tPadz4hXOAzIMoxW4QqfIUopOss3Ff+6i0NT7GywUcDfcCYUuB7QR41oOFaqzWNpxVsv2Ieq7HCgKTewvNbVQsVs4tPSESuoUrnqsYWqrJV2vJAfpQ56IJtnalmVvSYdCE/tL6RYKdueU4OD0vBufIya1fNmFrQb8iknfESRHw6OJ/aXQ0ujZdTL8mgGuPpVW+zb8mnZT0TU+9YRB/CX47Xw8DiYsZQTnPyjczMWTD2/jCW320Xx8WCpk2uRF3qSqUYaT1TcjvhjwxQM+2R/DtdQlno2HKlH0nAMAzxU/qUBbPft8vXpW4ImZjbebTsVWIJuBonTN+PZPVA6pBB6XGB73yQM+57ZUtAAfUG25kDMVfMH4HPG4wf3vg0zxpN46QtuDPR9/UVufFjEetF7lxYzXpeNH0WAeHve2844YakKbUMOn+Us8agkecfp0xpPPGyKau7fiEYftcUz3N56gnuKvv7h6e58yxuiAx/iqydO0c/7B3h8n04Hdqld2k3g8XTx/nna+4P8jv9AiXzggFI/4ez/2r9sFzQIM1vNzXyUYPprMWU/H/zzrtZj1lMDmAY9m4DHnf4HxIjBY9+WyKgCA4CHnR5lTU//zNvfGU7FnvAYN1j32CGuromoVHSPP+qZEzvgVXj95xiLAWBdwf2wmLBn/+nx5tYOiJrxjGyxx1AzVznAMEeO/DQ9ZOaGXmWBoZUU7p9LFl28sfw2Wiq5JpZtF07REmiV1vs+Nxb/BGuv85l7nN6LOR/H9deOV52zJV84pNpjcaClBcBu+cm4BWJr4d++68AcyldpO18CCuAAAAABJRU5ErkJggg=="
- /***/ }),
- /***/ 488:
- /*!*************************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/static/mine/mjicon.png ***!
- \*************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADTCAMAAADzl6z0AAAC8VBMVEUAAAD/367836/936/936/84K/83a/6zqT936/836/936/836/736793q/936/94K/936/84K/836/84bb+3632hX7836/836/836/94K/83q/836/84K/83q/94K/9367836/836783q73hn7837D836//7uX837D/7OP3hn/84K/3hn//7OP2hn/3hoD/8On/7OP3hYD3hX7/6+P2hX7/6+H2hH//6uT937D2eXL+6t35pp32d3H91cz836//7OPXm4mtbVr3hn/329D/19//////7OT/7uX94nD/6uLXmojWmYf73q73g3z328763K2sbFn96+L+6t//5uKra1j/7+fUmIX9189CAGKraVf837Kub1z/6NPIlHf86N/42KrjtpT5mpPYnYvz0aX94Wz43NL/4+HWm4ezdWD64tj/2N/21ajbpozrxp3erI/3gXq+hGv/3+A+AF+xcF3/8OX439X8x8D/+fX/9Oj/7+T/8ejYoYn/3OD//Pv6q6TwzaLqwpv4j4n/7OL/2t/85tz63bjitqfuyJ/3iIH63bvgqpv84onReGv55NriyNDtzMDWrZ7nv5nmuJjXnoj/8+vs1Nby183Vtsb63cD5pp7cpJPZn47dso3Fj3TBim9GBGT+5t7/69rqxrnKmorSo4P84XZQEmu4fWi2emT/9PL75Nr+6M/+58r428n43MTpv7HarIlxOYL5hoDKlnn34d3x0MPhsaDgr5HOnH3+5nD45t/qw7Xlu5fQopTyhHz2enL2eHHZfHC6f2rEdGXy1MjjvK76sqySYZh7RYnFjnxjJ3m/h3bnwmv+6ef95MHMq8D7v7v95Zzdp5aFUo/sgnnifnS6cWC1cF7737X5nJXOk4FcHnT42m7huWjEj1/+7u315uDy3Nr80czAm7f957Tx0rH6trGxiq6cbp/etGq9mLaofqfy0nLasGbTpWS2elzEorv956z636HkvqHll4v84n6+hlzFo7u5k7TMnGPLmWP85L48AAAAPnRSTlMABvff0csYFHORilInNuxE8Lf7IQ79q4J35PO6vqKefWhf8+s82DuX38qiopN1T3Lo2Li2jIE4KvLkuaysdIcLypIAABHjSURBVHja3NZJbuJAGAXgvzyAwRMYxBim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"
- /***/ }),
- /***/ 489:
- /*!*************************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/static/mine/mticon.png ***!
- \*************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,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"
- /***/ }),
- /***/ 490:
- /*!**************************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/static/mine/mxgicon.png ***!
- \**************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADJCAMAAABR2o0JAAAC9FBMVEUAAADn59nr49br49bs5dj36tLr49bs5Nbr49br49bs49bs49br5Nbr49bs49fr49bt593r49bu59vs5Nbt4tjs5Njt5dvt49bs49br49br49br49bs49br4tjs5Nbs49fr5Nfr49fs5Nbr49Xs5Nbo5NTj49Hq4dXr49ZGUF5GUF7r49br49br5NZGUV5GUF1HUF1FUVv09PTj5OVHUF5HUV5GUV5HUV7y8vLz8/P4+Pjz8/NHUF3z8/Pz8/NHUFx0e4RASmBDTlnz8/Py8vLz8/Pr49b/7ONcanxHUV7329Dz8/P/////7uX+6+L86+JGUF1aaHtZZ3pET1z229D29vbs4tZebH1pdYRDAWNDTVtib4Dy8fD/8OXpbmZXZnn56d/s5dllcYHo4dT13NE/AGBBTFnz59v4hn/+7ePt5Nd7g45sd4aAiJL//Pv4+Pju4dXl3tLi4+T36N7r6+z/8ef64df53NL15d7z3tLf2M/9/v709fTw39NNVmPm5+jw7ef04d3x49vPysS+vLpwe4nw7+7u4NqNk5tPEGpRW2e5ubegoqeSl57UzcfMx8OzsLOpqqyXm6GJj5ju2dlnc4PpamNKU2Du6OD85Nrh2tDz2M7a1cvCv7ykpqn96ODHwMCFjJXqc2z/9fDt5tz539TY08q5vMB1fottdH7pgn1aHnJaY27v6+Pa293w3Nvq3tfp09bau8dJCGf99PPx7urc1s2ws7j7h4D3hX1UXmr/+ffj3NGrra+jp662q62uhaubnqN+SIt5f4d0e4T3gntkbHfz7ezz5N7Gyc3HxL/re3ReZ3JWGXD77ur00tD1trK/srGZa534kIrm2dTNz9LfxM3bz8vKqb/Go7y8mLaVZZvxnpqQX5eKWJOHU5FzO4RhanSNZmvi4ODT1Nj2xcLzqaWjd6SidqNsMX5nb3pVVWH7+frs29Dc1c3vx8XIvLu3kLGspKeZc3fLeHZqW2X02djtqKWjeKTtpqKfc6Hfioe+IHazAAAARnRSTlMABMtzJwaR+/e3iqDs8/DeQWQhEg7jURergnc1Ohq909D34NB9FQlW2M91SPmX+LKiQOHz8u3k4965tpKMgXFWNxgX6piR7yhFZwAAEFxJREFUeNrU1ktKI1EYBeC/3u9UUpWUqVSeJEZBexuH3oENDjPNxKlTFYSAQcSJJA7FFWTUK8iq2m5oEJuuPOpW1Z9vB4fLueenfBy1TxTbseTThjs4B84HbuNUthxbOWkf0WE4Oms5socUnuy0zljHkRKl2cCWGk0lkYghVbE87MizFJU4kaq6jz35epuYaH9zkUmDQ5Yg9iGAHwdUIimyDAhiWFFZ3a8rPoTylToVr2NXIFzF7lCxOrqJXAz0IqOEtoncmHZIxdBaFeSq0tKoAJGP3PkR5U21UAhLpTxpIxMFMUca5Sbpo0C9hPIhxQYKZcQS5UCVUThZJeFqHkrg1UissYOSOGMSKBiiNMOAhKm6KJFbFVYPA6UyBBVFR+l0yk5rgoGmRhnVu2ChW6dMQhlMyCFlcNwHG/3jDDl6YKS3d5KQ0Xv81g/37Dmbfvwl79V4jcl/9VlXo92x2I+vmge550I2vgamarSTqgGmjCrtIHDBlhvQ1sZDMDYc07YcsOYcfNF3LLzqgTlPpS1I7C6Tf8kSbRbjAMS0UcJ2QT4zEtpAY3a6/09Po3QjHIgRpVJNiDJ5Wb093KyXy9vZ7Ha5XN88vK1eJhDFVCmNBSGurhfz2ev9+/TDjz+mH97vX2fzxfUVhLAoRYTsJj9X88enu+nz5cX3Ly4un6d3T4/rhZCXiVKa7iOrX8zav27aQBzAcaep1LRNaVW1pU3ToVlaqe1r/LgFIXu5k04VkT0h2wPKEnnkj0AyYBvkBQEKC2LMlIkMbFXmSH2LPkONWsmoTfD9zjjK5w2++vnHHYbFqNGxLZ3cjnJm9v26k7rl+e37fgDpGM5Vx2ScJOK61XZHC0jn4Na3JjlIozpy2xYngmhoT67SjSV321uVJ5BCtRfYISUY3Oo2hpDCE+VGH/ZAmjG6NHWCRq1lvQrS9j5s+XWDceFPdSKFz4ORAShJryLy0gMZNtohkaYP3CFI2stvcUOM3pJRkgJl/V7CUDBb8ioHUqrjKScpcdtdgJTcK+VfuyBl6DcpSY1agQNSdpV/7ByBjFmHka3Q+zOQcbSzjVuWUbc52RI+7YGMN1u49hrunJKtoWYdkiVdgl8+AjTDbZKtkip59DLFG4e44x6UvFPW4VfdaEQd96HkSFlzCFhGY04IuRclh0rsG2BdmWTlPpR8WztE9gFpNqAkG/YMkPbjo+QFIDlLTjLClw4gvZC+wC+CkGSG+VXAiS/zzwHFcC2SIathAMpz5a+HgOPhFj37hX8od/G9aFOSKdq+AJRdqXtWNdBJxvQAsSbxfWvnGWB4c5K5uQcYz3aUlfeA4fQ5yRzvO4DxHr8ihsvIHWCuAQi7+H/PjAaU3AE6GAHCW2XlNYirXurkTuiXmH1/rUTygNAzyR0xe4CQj0K+QCTTgahq5iP5gvwt4WIqk7FC0KaYU/EA98cTo8HwHWVu2lzDlzDMletpFPIAhA27FJuhaWxyfh4wDZ1Cu0MQ9iAKyYEwr4keB7XHP75/Pz0zKbqk6YGwHOpDqzrh2HGEnetSsVAoln4t9TKyhE8Q657HvHcY2dhxmG4tylgp1nyLIIdij0DYofIJhI0Zahwq6/w6jjr+lpx43VBFpbCxAaI+IW5a1YATYZqmt89+VAprKq3GlJe1bJ6tXcTvO8M2FR8Hnfut1XasKx5fB03E80XbDoh6gjhGZnPhDMKWvZM4I045rfeZeMp8BuIHyWPEighndM9qlcJNipXaWTc5BX8mPlYebHVF1D8Z8VP1f0qp9SdFFVmShfiJ+BkEOQOaPIzyWkZCSjl5LHTggKDP4t9GZs3kCt7sxxmbU/pNntzSFF6S18o+CKpbmys0ygb+z1qcsTml9tMfMKqVNz5izANB+8peil2PK1SqmxOvdVyIM5JSCsctb2KGVNswl1B42z8Khxh+ePN2l8uEM7szvj4tFYsFhGKxdHo97tghV6MWNd23q68KSN8Y1WgSq1FYbb/XiiuwLedeMLA4Vcs3TIZ3FiBIOGTYp+sJWnk1Cd2yOw2ndlKJKyRafnNzLi1OQ1EcR6viAx8L34+FbtWvkUrg5qKEaJBglISSYiFSYlMhi1RFAyqKcVEFH4tZZZFJ+wFau3LTRbsYxxnmsVMXgroSV95opQpT7zkzNRX/i1LI4ubHuefec3PPOeVb9+6/ZGl3Z09dYDSpcYZnkmtgkBPQ1ffF6TNMDCA1w9nzl87dvP3g+ePUFBwKAIulv7r1+sbThzfPXTp/NjVOCpSqBAU5AfaRKyX28kyPzl2+Wbp75/6Ne9M1DgQOJk/d2vS9G/fv3C3dvHwuHer8+bOlK1Bnhy6/yofW51ar1+t9vH5t+lbNLVOLC4GHIRYtu7Vb09euf+z1Wi025AcFuvzugXFU5SffJdclohEMA56GDSDVf45XtWEbIixEsQ1ZrKQSK8/ymehZZTCgbNiwEGU9yB7iQHJ2ILI4UFUBBY1bQPNK/KkpKZ+JpCnxp2QIyRbIwcqWxUmCiLINOFhBjrrVX0CuZgVy9ReQKuSomwN4ujhZEBHg7znA5yBPnjSI7AE+Bx3murohThpENBT+B7p9OJB6ViB1HAi76dnOXbMmD8Jdt7YDrhW8f2FqeYBrhW3/A8g2wNWb/S+A2ICrt+NcH8Euv8TRtNFPNaIR7PLL9ZHjgOtpm23sqBBF8pOZmI56SsNG4kqoEEXkx/L7hgkDsA1RrnDfQXPb76OFxggSa2YxWm67GhekIiM2xD3DFA6ok/DDeCdZNs3g7crvSvR2YJrvE4cfxmNcZD8sqea3uVXPc2TNdk1V7cTOiuaKO6pqdmetPEd1ERM05mBpTraB2BEJfROkIOGKIE6YggRvKOHth6iY8RAw8czDxPGkEZmmuhhrK1rEn2+aZrdhYaJ4D5R4xrRlrEdELV4I1GhOJyPsFanBYqghDoieAi29yAkAEri308aX/hvfGmEvf26hPUP5vo456Obg6bKKZ8jgsJG6/h98QPd1CxwyyhAOYQMmgdmryuC9nWiE8xDoIrLhATh2QlPKh0aRGcxUBh+E6FRqDIZhCwBtwib5K7ZXNQxD/+txo6SzYaqerQgg7VpF2YXCVKB5iIbx4TCSBIoWFGUIASy7wBfCXISCWGEjpGTAQZOZ0IKCXBQQOrna0qRiWYJxJItRZ853NEI0x59bjhYSGIlULgoIHV51sRhsbml+v2mq3XfJK113k3dd1Wz2fQ02swSEjq2+fK+o5wFywmUzjas6/U+fvnaC9P97FoABpKMMcgBXUIk3CXHb7O2ZmkHQVNWU6Z2vIQ2CKagExlt4k5Cw/4PE/PEbzIdk/AbZsqai44IE8pLwbTSgYL/R21ADuXpBwGgvugwcbxLm77NL3aDJFERLszBPRxrk2Lq1FeYDN0VixY32/NLSfLsRWwS4GQoY5dbYKkEB7iVEI2U/jn2d/QHuIYqA0I7da21eUUxNAmRxHEYBFOVMLECLlyNHBY5wkwsv/MTavA/b4AU/ufDCTyxh0zha7hR1a9wcFmfFArXcwbd4qdGxT6yagNLW8bSlUgo0GwdBtqXCNwpTXDpeDkVA6SCkdRv6ZJI9x7GNkGZ6mZHgT1PDG+k/6Ft7ZxLSRhQG4ElrVGyxVq10obalC+jBpfu+N+UxUQeG6SEMQS+DrTSBEE8J0VoIJXSjhcRbMRaCIYZSLGqkucRqJUEFkV68uB600EM3Si99mRn9E03NxPZFC/1OSiLky7+890Z4f7EGUGZSs14exX/3wsk7f6fia1L2OJCRwhWgxHsX1Ad4KOQQtTpqxXMhwKS2+k8fYymvc7iUlcA1uS1gsjaPFk2qZO0hcHExFArptAJ2EbhKGtKLfFrBVdLELvfGfbh6DRqpdSu43Jvgdeu3WmpBRalGbQuEIwW2k7kAHyqltgYO5smP8zW1UB0psYX4SIK61g+vbt+sThoY/I7brx631mnWxMEjpIdE1DVPh0L3h6tuVq/iUo25WTX8JNTvb16TydZ8UmM7wIMeCgjzM4b2xirpAyeUwP8pae8bHxAcHv7NS03KZOWRGqQCHlZ70CYwbWaLoa8dy0gfHRAro6q9vc9gaWpgBdszs/VN6jHZTmy0DcSDawohVucIWrVai8HQF7VprFqisRE79BkMWq3W/sjGMkx/E0ennF2ZpIYNgQdPc36fgBhdwPNRixFtRLq65B8sWhEu6NAxSPD5OZpP0WQn8fFPnTxtpT0OHUKMEJmxaAFL18hIlzYGy5BPYBDSOTz4T/hOTQoUq0kP5GrladpqfmjDIogV+k0xJl1z4fBojInF1IE9sIjtodlK03yrRjGbCkmPSKuz0zQukbuIRRid65Fdu4hh1u10hkcsSx7mu4z4LhbdxUWCTRS3rv0FxIbWQaFjONMATn0Mo3N0G7UyL7xOvd7pfaGV4YK2xXcNmKIiigt+32FyYwShQDDW8YCARBjBNySHYHhCj3HqJ4ZjC0RECIzj1FKcXPsPEx/s+NIuevBircsmk+OcWOijbqc+intOLBPjzKTsIVY7b6WVJtemApKjNiGxsIi9WxYRC94X9HOWj7NhyQMn1z2LhfO/jQgsWhLptltphclVXEh++GkrL4mYcfajRRidK+KhuU9uWcT9Y9DId0ek+pBFbEGzJGJPmlw71eTH0da9oUU48zMbi8BEYNvMxvdeScTp/hTtajoBPBCLNykcLZJsq5JJfEAwBASLPHeBiNiV/MbB71JInOH3HOcXuxqIuJ6LIknrPWs7+ZHNEBD8hTcgWQSKmRsJ691ut949McjJzQBEUANeSJKHZGse4SHaEBBZJMQwKO4bf2A23ht7F6V+dNBofuCKE2WYEBZJGpKD+cTHmkPLktbD/ngRhu0wcSNjvfX19b1RkekOlokX6ccrokzzb8+1R9IzaP4lT8sYTfBBob/O1osivRODNHRnEDXSMvZEuQWD5smP/u+MEZnXxYswqGF6FItg3o0N4xJa9rJuHkRidsGERv8Dql1ZiUodRCaXi+gCT+d6ZJFvnsCKlydBJFFIsnapKDLs2Zcgs0DEJ6B4WNTxs6c+Su/Y6xD+NR7BByIJ9in79lDEUB/KXpFZIBKRRQDGNeUVTXq8n22yByBEYkU640OSfUhNkSSjePl2EURgvYN6dn329mC8UzboBLBigsjyfUpxBkWaom0JAwJdK95kYeqL1/sFPFZ0rUTlvq2ISgPq3bkamWYa4JpgHYmLycLXrwsowUvSc5QlYA+cu1tNpYeCnOz41RC2KCthRRCwYosSv03Jzimg0sfezAOLR3UQaYMtSCzLowFbmLZFEWjABzL3Uullb06u2HxBBPZSyYC9mCgCDTg3BzTSR+HmHSAC5xFlwHkERHZsLqTWB1XRmRgR6bGWcvCDrViRM0Uqah3Jv3CUlrDysCtUApzZMUcv5FPrTt71a5LJUEBAKSAEhmSLG3nUxkCVd+40LT3DVo70FJs+fW6jWMhkXDx7DJb21YCF/djZixnUBkR1ubT8JFLIyfLSyypqA3OlsrSi5DhaheMlFaWVV6h/g6uVl0rPV5SXlJw6UVaGUFnZiVMlJeUV50svVV6l/rMavwCDQ9UpsYxDbAAAAABJRU5ErkJggg=="
- /***/ }),
- /***/ 491:
- /*!**************************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/static/mine/shwicon.png ***!
- \**************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAMAAACelLz8AAAAe1BMVEUAAABGdetGdepFcutBd+xHdOpGdepHdelHdepGdepHdOpHdeo+beZGdepEdO5GdepHdepGdetGdetGdOtGcOpHdOpFdOlEc+pEdepHdetFdepAgP9HdepBcuxGdOtGdepGdepGdOlFdOlHdOpEc+tGdOlGdOpGdetHdeqAJ8LnAAAAKHRSTlMA4YEfB/zvQfTsxZkQ0w68zstjORPWZzw0MjAEoxq9tJFdUU0lroZx9XNJogAAAQZJREFUKM+FUtlywyAMFNgQnzEEnNO52rTd///CDsKasTvTdl8QrLToIsFJD6qq1KBPtMamAWDq2gBoNguibAGlDx1Rd9AKaEthooPdX+R22Vu4OMd4jMVSvRjhc1yLvmOXZzt9vpLV9Wg5A9hi9u3vtXlj2yLl0mBHxOeTqPN2my47NERnKGaO+Mga73xVOJOGpuz3lSlW5OcbAtvbFys9kJMNuJEy6UlwNHfKnkZRVS8Zq6TCulpRV2aEWgk+cnoiOCCQwJlSzICBsxSMEIqfuWT568qHlMyNkgRDipJGSXsZFdcr7ZWhMKYp0nIoVDr061H2cLNy9D8XwMff1+afZftjRb8BPGwVH6n9sVwAAAAASUVORK5CYII="
- /***/ }),
- /***/ 492:
- /*!**********************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/static/mine/tip.png ***!
- \**********************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAeCAMAAAB+ITwmAAAAclBMVEUAAABGdetHdetIdetGdepGdepCcexHdetHdepGdepHdOpDce9GdepHdetGdOpGdepGdOpGdOpGdetGdepGdetGdOtGdetGdetHdepFc+s6aPRHdepHdOtGdOpFdOhHdepFdepGc+dEcupEc+xGduxHdeplmheAAAAAJXRSTlMATLCk3Ygb/duQFQ/31Me5tqxC6eOndGQ9NgfynZZ6a1VJMSBq/htRZwAAAL5JREFUOMvV08kOgjAUheFbK1LK0IF5nrzv/4qSYqRxYWPUhf+Kk3zkJiRAkfh4lAV9ak0/KTiAeWIipzKO8F4US5oLZt5lG2k7wsHUVB5DjD0d7puTrsXzRhRYzYizvZUhJ7AiiMTepxekrF2kxCh0EB3FjesQbxyHiiAIHIcSRLx8TELPSeDPCHF+OtMvCF8qXa8HWWtdLfxB5JRn+3+SimFEHAeRmulndJKGOPoaoXYKtxS16+GpK2MlvN8NSWYtefR/6CAAAAAASUVORK5CYII="
- /***/ }),
- /***/ 509:
- /*!***************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/api/mine/class.js ***!
- \***************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
- "use strict";
- var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4);
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.getclassAddFn = getclassAddFn;
- exports.getclassDelFn = getclassDelFn;
- exports.getclassDetFn = getclassDetFn;
- exports.getclassListFn = getclassListFn;
- exports.getclassPutFn = getclassPutFn;
- var _request = _interopRequireDefault(__webpack_require__(/*! @/utils/request */ 44));
- // 获取查询老师-班级 列表 formal:class:list
- function getclassListFn(data) {
- return (0, _request.default)({
- 'url': '/formal/class/list',
- 'method': 'get',
- 'data': data
- });
- }
- // 老师-班级详情 formal:class:list
- function getclassDetFn(data) {
- return (0, _request.default)({
- 'url': '/formal/class/' + data,
- 'method': 'get'
- });
- }
- // 老师-班级新增 formal:class:add
- function getclassAddFn(data) {
- return (0, _request.default)({
- 'url': '/formal/class',
- 'method': 'post',
- 'data': data
- });
- }
- // 老师-班级修改 formal:class:edit
- function getclassPutFn(data) {
- return (0, _request.default)({
- 'url': '/formal/class/put',
- 'method': 'post',
- 'data': data
- });
- }
- //删除老师-班级formal/class:remove
- function getclassDelFn(data) {
- return (0, _request.default)({
- 'url': '/formal/class/delete/' + data,
- 'method': 'get'
- });
- }
- /***/ }),
- /***/ 510:
- /*!**********************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/static/mine/del.png ***!
- \**********************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAMAAACelLz8AAAAY1BMVEUAAAD+Wg3/Wg3/VgP+WQ3+WQ3/WQz/PwD/Wg7/Wg7+Wg7+Wg7/Vgz/Vg7/VQD+WQ7/Wg7/Vwn+Wg3/Wg7+WQ3+Wgz/WQ39WQz/WA3+WQ7+WQ3+Wg3/WQ79WQ3/WQ77WAv+Wg6bt9NBAAAAIHRSTlMAem4M54xWBKUz3uEVEQncxxvvp5lQTUEn89SzpodZQ1SPMpIAAACXSURBVCjPzZLZDoIwEEWHbljQLojg7v3/r3SwIdQAib4Yz8Nt05N0JpmhDA0oSYvsAWxpovVVXSVOrIZ7zSgVqMEaZMUFKMQcQ0RFqmAPxMR7yelM5ByVa9ATlR7Fq9dzpiRgWCno1Oua2nykdv+h5A+V+1LlHw4DU7i9qyMfQjvOro2cYVLXzmb0/JLUAwuEcTVneC7xBNzQHxmqxI0/AAAAAElFTkSuQmCC"
- /***/ }),
- /***/ 511:
- /*!*************************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/static/mine/update.png ***!
- \*************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAZCAMAAAAYAM5SAAAAbFBMVEUAAABGdepHdepHdeo/butHdetHdepHdOpDces+YeVGdepGdepGdepGdelDdOtGdepHdOpHdepHdepGdetGc+1FdOlHdOlGdepGdelGdepGdepHdupHdOlHdOlGdOpGc+pGdOxHduxFdutHdervoBctAAAAI3RSTlMAlfiRDN/QnhQH1It4dCnrw72AaVRNIvfHta6ppZqEX0I2Gom0/aAAAACgSURBVCjPpdJJDoMwEETRImYyYyBA5rHuf8c0siNh1Mkmf9d6i94UmoSLEgtXXjXYMij3UjDBniyy6NPgJSVbbHjAuliEo1C0Fjs/GaCQ7UTu0OgosoNGZycKZSI1NLqK9NDIiNwgPWsbUilSYq5lFVBP+ismzZIqkQwaTSIXqPQiT9AJjxoKBf1LqUKTo3kAQcaYlCzR8UujjE2XCD96AzK9Ga0RNNuYAAAAAElFTkSuQmCC"
- /***/ }),
- /***/ 553:
- /*!*****************************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/static/trends/taddicon.png ***!
- \*****************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAG4AAABuCAMAAADxhdbJAAAARVBMVEX09PTz8/Pz8/Opqamnp6fp6em0tLT19fWwsLDi4uLt7e26urqsrKzs7Oyzs7Px8fHy8vLm5ua4uLjMzMza2trY2NjCwsLD3av6AAAAAnRSTlP38JDTSF4AAAEYSURBVGje7drNjsIgFIbhDj/2tOUAdtT7v9SBaaNyGhMXQKL5XtPNt3nCBpOmw8/Qr4ypjg3gwIEDBw4cOHDgwCkFDhy4141bStaGi2yZ0xPF3oizC3nvabFib8SdyeToLPZWnDdaa+M7cfb0z52s2MGBA5cCB24s451jsdfh4sxz0bT/I0zlzHOswfFtXYpWp3NOzjeuwI1MRh9yx8kQj204l59WnH/zdL4e58RPH6ZanCUj2k8nZ7I1OF4dlektsbqVK3AqTKILmXw2ukyi0OISe7pVlKgJd78zBfehVzS4FDhw4FLfwXV/FeByvU4Xrr+5axB7Iy6GrahE3/HGDxw4GThw4FLgwIFLgQMHLgUO3IPr/An9H/heaJLYr7hoAAAAAElFTkSuQmCC"
- /***/ }),
- /***/ 578:
- /*!**********************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/static/images/ysicon.png ***!
- \**********************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB8AAAAdCAYAAABSZrcyAAAAAXNSR0IArs4c6QAABKJJREFUSEu1Vm+IVFUU/5331pXddluc3r0jkmVFf5GgQijU6IMllGih9kGyiMggBEWk2AWlMlbdiugPEhVUZFD2ByqKSjT6UBRo2Aezf0apmXPum2m23dh22rknzvBGXrM7b8ay++m9e8/v/M4599xzDqHN1dfXN6Ozs/NeIloJ4FIAnQAqInIQwK5qtbqjVCr93qa6mhi1I2yMWQjgVSKa1UxeRI5671cWi8Uv2tHZFnk+n1/kvX+fiKbVlYpImYiOichsIupLkY157xfGcby/HQMyPe/t7T2rq6vrEACjykTkWyJax8x7AfyloY+iaHEQBE8DOCchPOK9nxvH8UgrAzLJrbWPANiYEB+qVCrzh4eHf2tUaq3NA/gMwPl65r3fHMfxliiKLiKiBwGcQUSS6CEiOj4+Pt6fRR5aa38BoIpV4bw4jvc180avR0R2J+c/MfN51tq3ASydCiMiA03JrbWXA/gqAR5g5itahdFa+wOAC1RuYmJibhiGS4hoWyNORDyAm5qSG2NuJaLXEuBzzLymDfJXAKxKIrUsjuN3oii6WMOexnrvXalUOtqUPIqiu4MgeDYBDTHz/W2Qn8wRAKuZeWcWJivstwF4+RQ9V3nF6VrOzG/9K/JcLndZR0eHVi99Yt855zR8WStIEnSmClUqlTnlcvlnANOstc8DWFAHi8ivExMTq7Kynay1xwDUqhoRXVMoFD5vxm6MuZGI3kvODzLzXP2Ooui6IAg+ngL3QOY7N8YMElF/AnyTmVdkkH9CRNcmkVrnnHtSv3O53JlhGO4loqtS2AKAxZnkPT09pru7+yiA6QlwATN/2miAtXY5gDeS/RIznw1gLC2n1TL5p5GRkWGtkC0bi7V2O4D7EuDXzKzvv1pXHEVRLxF9U2863vsNcRw/3upl1K6ylZAxpoeIvgdQSyTv/dI4jt+t44wxdxGRJpQm5iHnnN61FpFJS3WNjY11jY6OltvyXDUYY9YS0VOJti3MvDlF/iIR3aH/1Wr15mKxqCV10oqiaH0QBFrtpovIcQBLWnquWtKhF5FNzrmH69qttc8AuCfxvN85N6mcJg58SUTpEt0y2y8EoBmfzvJ/JJ0xZgURvV43RkR2EdEAMx9Ou2+tvQXAQwC6ReRItVq9fUrPtUWqhwDWpIcIADuZefUU2f4hgBtS+zpe7QjDcPDEiROuWV41kncbY9ZrdjdMKKMist05N9gkmTqttQNJ7z/ZRJKJZysz65v/s9GIk+T5fH6ZiDwB4NxUCDVrX/LebyoWi9rbM1cul5vd0dGhd17rbKl1WETWOuc+SG/WyK21jwHY0ADYIyIbnXMHWpE2nudyuavDMHyUiOanz0Rkm3OuXjFBDSVUZX8kog2FQmHKJ3MqhhhjVhLREIA5qWgOOOe26r82j/FkBvciMuSc05lr0v2cCmmDbJcxZoiI1ibPcdg5F+mwo+T1wW6fc27efyDJhBpj9hPRlYnQTGYuKLkmld79HyKiNTo83QaISJWILqmPU5VKZUa5XC4r+UcArj/dhBn6djNzrSZQFEWzgiB4QUQWEVHwfxmReL/He39nHMda2/E35u3zseJs5XAAAAAASUVORK5CYII="
- /***/ }),
- /***/ 595:
- /*!***************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/api/mine/score.js ***!
- \***************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
- "use strict";
- var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4);
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.getscoreAddFn = getscoreAddFn;
- exports.getscoreAddimpFn = getscoreAddimpFn;
- exports.getscoreDelFn = getscoreDelFn;
- exports.getscoreDetFn = getscoreDetFn;
- exports.getscoreListFn = getscoreListFn;
- exports.getscoreavgRank = getscoreavgRank;
- exports.getscoreavgRankZheXian = getscoreavgRankZheXian;
- exports.getscorebingTuRank = getscorebingTuRank;
- exports.getscoreclassRank = getscoreclassRank;
- exports.getscoregradeRank = getscoregradeRank;
- exports.getscorexuekeRank = getscorexuekeRank;
- var _request = _interopRequireDefault(__webpack_require__(/*! @/utils/request */ 44));
- // 成绩导入 score:data:add
- function getscoreAddimpFn(data) {
- return (0, _request.default)({
- 'url': '/score/data',
- 'method': 'post',
- 'data': data
- });
- }
- function getscoreAddFn(data) {
- return (0, _request.default)({
- 'url': '/score/data/add',
- 'method': 'post',
- 'data': data
- });
- }
- // 成绩详情 score:data:query
- function getscoreDetFn(data) {
- return (0, _request.default)({
- 'url': '/score/data/query',
- 'method': 'post',
- 'data': data
- });
- }
- // 成绩列表 score:data:list
- function getscoreListFn(data) {
- return (0, _request.default)({
- 'url': '/score/data/list',
- 'method': 'get',
- 'data': data
- });
- }
- //删除成绩
- function getscoreDelFn(data) {
- return (0, _request.default)({
- 'url': '/score/data/delete/' + data,
- 'method': 'get'
- });
- }
- // 统计
- // 总分排名
- function getscoregradeRank(data) {
- return (0, _request.default)({
- 'url': '/score/data/gradeRank',
- 'method': 'post',
- 'data': data
- });
- }
- // 成绩学科统计
- function getscorexuekeRank(data) {
- return (0, _request.default)({
- 'url': '/score/data/xuekeRank',
- 'method': 'post',
- 'data': data
- });
- }
- // 班级总分平均分排名统计
- function getscoreclassRank(data) {
- return (0, _request.default)({
- 'url': '/score/data/classRank',
- 'method': 'post',
- 'data': data
- });
- }
- // 班级总分平均分人数统计
- function getscoreavgRank(data) {
- return (0, _request.default)({
- 'url': '/score/data/avgRank',
- 'method': 'post',
- 'data': data
- });
- }
- // 班级总分平均分人数统计折线图
- function getscoreavgRankZheXian(data) {
- return (0, _request.default)({
- 'url': '/score/data/avgRankZheXian',
- 'method': 'post',
- 'data': data
- });
- }
- // 年级分数段统计
- function getscorebingTuRank(data) {
- return (0, _request.default)({
- 'url': '/score/data/bingTuRank',
- 'method': 'post',
- 'data': data
- });
- }
- /***/ }),
- /***/ 596:
- /*!*************************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/check.png ***!
- \*************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAZCAMAAAAYAM5SAAAAflBMVEUAAABHdetGdepHdepGdetFdOtHdOpGdepHdOtGdOtFdepGdOtEcOgqbOVHdepGdepGdepGdepGdepGdepGdepGdepGdepFdOpHdutIc+tAbe5GdOpGdepGdepEcuZHdelHdOpGdOlHdOtHc+lGdOtGdOtHdOtGc+xAdepHder9tQD2AAAAKXRSTlMA+u3471pB8zpINSISBPXo5dGthHZuYlJMLwnayboe39ulopSKf2UoGFANZa4AAADUSURBVCjPdZLXEsIgEEVvSCBRU9Q0E3t3//8H3cEESPE8wAwHWPYO6GirY0CMfyg+cEkKQQb/Hluz2tAAsejNMqAxVXcmpCk7XWdDMwQrVgXNsgXacSHvedFzBEkjXojPxOS4jowE3hkxGfZDUwNN1z7SX4E81NPC6RI/o6B8jkgBkYkMvLtbS8OIR/tgrmVuagCVklU3N5mdb83a9OXVQO2RJUcreicr19ASKP9lyMwmL05gTmJq+MWaZuqk+RuHocgUDEm5tiJ8xHBJ5FZbcSx78QU5aUeOEwLQZAAAAABJRU5ErkJggg=="
- /***/ }),
- /***/ 597:
- /*!***********************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/add.png ***!
- \***********************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUBAMAAAB/pwA+AAAAElBMVEUAAABIdOpHdepHdepIdetHdeokhAJrAAAABXRSTlMAq/fjpExiOj4AAAAtSURBVAjXYwABIUUGGBANpJTpGgKmBIHANBhEMqiGQkEQMhOhAKqNSm5AeAgAU6EOv2/YxaQAAAAASUVORK5CYII="
- /***/ }),
- /***/ 598:
- /*!*************************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/draft.png ***!
- \*************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAMAAAC7IEhfAAAAk1BMVEUAAAAUFBQWFhYAAAAVFRUWFhYVFRUVFRUVFRUZGRkVFRUWFhYWFhYVFRUAAAAUFBQVFRUVFRUVFRUVFRUVFRUNDQ0WFhYVFRUUFBQXFxcTExMVFRUWFhYWFhYVFRUUFBQVFRUVFRUUFBQWFhYVFRUVFRUVFRUWFhYVFRUUFBQUFBQREREVFRUVFRUWFhYUFBQWFhYrUJhtAAAAMHRSTlMAMy4I8iLwYWQK/PbSzwRE5NbCuzoS7LGgLCjo3op/V1EwGJmWkHl0bUs+DsmnWxrZjup/AAABRElEQVQ4y+3TyZaCMBCF4YsgCAgok4DzPPVQ7/90LSlaiHTE02v/BasvJylygip959JfjQaQm5CqpeRiUjaW4IDILfrtjkSG/gBNHe2sG7QlyCsLrdHaVsL9w+lsFRyTXKyCi9RsFvoqCF9vphpGNbWP3+xgPxMwWQ1Ey00DOtkqQVl/YhKRgCFVDWtY5kZrQBOM4YiqUr+GTDX+JVNPwKU3FHmn5tZTvnEiGsW+9WyYIL0hlNycH57AiUMMORUUSdDdtJh/9iRoRcQHKCSWnJiZ23MFe4j5HBRd7mydufxoDgl6dwjkn0zDQLAgIpFn6YAEgf7OoLKP1dXiPZ2IVzUg9z03eSz+bgugDblkkRI3XWwABRRdj+WFDy0bUEPODr40cCpY94b/gXkXzCuYaR1lJZzRS81wMV5xRgzkodPFnLCHH3drccsOw3EoAAAAAElFTkSuQmCC"
- /***/ }),
- /***/ 599:
- /*!************************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/static/mine/check.png ***!
- \************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFoAAAAyCAMAAADr0TwHAAAAjVBMVEUAAABHdetIdOlGb99HdOtGdOpHdepHdOtGdepGdetGdOpGdepGdupGdOpHcOtGdOpHdepHdulHdelEdO9HdOtHdepGdOpHdetHdutHder////19/79/f5Meeptke5pj+7g5/vM2fnI1viuwvZhie3i6fu4yfZ4me9xle/x9P3w9P2lu/Sku/Tj6vu4yvb2x7BxAAAAGXRSTlMA/SINv/Pe2K+llmJbMhnvvpqCIMibe+6Ce7MSPAAAAadJREFUWMO1mOlugzAMgAMFylVo6bGRpJSjHD2293+8JYs0belBzOrvJ7I+IeM4NuQWOwodz7VyQyzXc8LIJqOsd/N8EvPd+ql44Vv5ZCx/8VCcBPk/CZL75jiFefbDtW4Z5+e2vg579SyN75lXMPGhY/QXrDuo5yuiM1vCxBW9oVLy5Uwzb0CpaDi9A2++07L56wa987GkDyiP2nsD81yc6UPOhZbvGGIeGH0CG2RM/FPPb5BsnOhTTjInaUIUAeQLlnSEUn7LQJkXOYCGjtLIOHXmfUg983E1l/XtS7MN6UgVNaCSvUr2wQxSd9QIWYGZUEP6c2em7mT/FvmAlAczUzNZJDaJAOqeGtKL4IiEAPXFVH0RwSFxAOraVF2LYId4AHVrqm5FsEdcgJqZqpkIdgnkwHBTNZeHBlENSsgJlBDEz4hYfIhHBvGgI7YnvKaKdxW8y2Ed6QLDu3YRhwXsEYckKcJghjZOog3BW8C6AR7d8RcO5XZetSY5M6KzzUEU2nL3Wajn25espL1aSdlHfe21lRR/kcZf/xV2NvWnRWZrKsRfLV/4Qootq+v7ogAAAABJRU5ErkJggg=="
- /***/ }),
- /***/ 608:
- /*!***************************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/example.png ***!
- \***************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,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"
- /***/ }),
- /***/ 609:
- /*!***********************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/exc.png ***!
- \***********************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAkCAMAAADbwBjtAAABLFBMVEUAAADAxtDIzdbs7PHq6/DJ0NcJzQPBx9DBx9AVkSsLhh3w8PS21r0VkSq32L+h1qgLiRzJztbI384IhBjL6svV2d6/xc7AyNAAxwAHyQDO1NoamRocjhwAcQDh4+jFytLEytPr7PG/xc7j5ekKyQTs7PAJyQTAxs/r6/Dr7PAKyQUDxgDBx9AExwHT6dTQ6dHu7/L////j5eq+xM0HyAPb99uz7rKU55IIyQQExQK677mw7a40zzEbyhjf+N/c99uR54+N5ot44Hcvzy0kzSHq++rY9tfN9MyE5IJx3m9n3WZj2WMgzB4VyRMKxQgBwgD8/vzj+ePF8sTB8cCt7K2Y6JZj3GJh1WFV1VNM1Es81Do60TkqzSkRxw/2/fbz/PKm66Ra2ldF0UQCvwFXKMbxAAAAKXRSTlMA+PG5+B39297B/fv69/b29fDUwb+2sDApIxsKCQn49vTax72wrq6mM/i0dZkAAAFySURBVDjLvdJnT8JAGMDxcwCy9wb3oqXqQVtoS9l7743z+38H77SgoJe+Mf7TNLnnfklzlwLU7dnhVsfnAbDTVWS7WFyn2SEHP0gUGTWCjCqJHmnUCDZqBBs1go0qwYZMlHQBAolE4+tuSCQSW3exIcQO/pKEHWTiCGMRcprIxOQMARDUGyxkYjHog0BvtlnviFltZj3QarUMTYxB24CiKBYv0ItiaJaiBYZKfgzwCodJM5HNJoq5XLueKLSqfH7VwoNFPSFvSAqmJT5Vg6Mu36k8Drt9GZYkfibB4jcyyI9pQYTp1gLm3l6qMiznax1+i6TFZ0EYwnJ7BvP08rUJS6KISJNlN4SfNIoNKMLc6qk87fVkWJk0lhKsjefsJylkOC4z5SptKV2Y90uDgowH9RHHcVUak69DJ9HDCozAKofG94I/dIlugSFGJ6lrAPw+1z0xl8//r38dcBsfCBndCvGc2vd/zX7iUYhXt0dI50Xb73/BqcfAcR0uAAAAAElFTkSuQmCC"
- /***/ }),
- /***/ 610:
- /*!************************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/down.png ***!
- \************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAASCAMAAABsDg4iAAAAYFBMVEUAAABGc+pGdOpHduxHdetGdOtDc+tAc/NOYuxGdOpHdetHdepGdOpHdOtGdOpDdOpDdO5HdOpHdetGdetHdOpHdetGdOpGc+pFdepAd+1HdepGdelGdelHdexDb+lHderZnHu+AAAAH3RSTlMAX3U12zkcCgT08OfItGwsIeKmop1+VE4lDs2ui14XYbvcQgAAAIJJREFUGNOFzNsSgiAUheGVRhAaaOap03r/t2xD40hw0X/FfLMX2HpbTshTZFVg/R9Xt6SonQdwpa131C2tBp7kWW24tuTRhFNR/0Uj1ncIXcjGK0EdXmKxm9y+yPEu2xOwayi1+EOsSQ3mEaxfgB8dZNshbxySrTpkzcDMIoepxOoDzqUPJewX+jIAAAAASUVORK5CYII="
- /***/ }),
- /***/ 619:
- /*!***************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/api/mine/files.js ***!
- \***************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
- "use strict";
- var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4);
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.getleaveAddFn = getleaveAddFn;
- exports.getleaveDelFn = getleaveDelFn;
- exports.getleaveListFn = getleaveListFn;
- exports.getliveAddFn = getliveAddFn;
- exports.getliveDelFn = getliveDelFn;
- exports.getliveListFn = getliveListFn;
- exports.getmindAddFn = getmindAddFn;
- exports.getmindDelFn = getmindDelFn;
- exports.getmindListFn = getmindListFn;
- exports.getoldechFn = getoldechFn;
- exports.getoldlistFn = getoldlistFn;
- exports.getstuAddtFn = getstuAddtFn;
- exports.getstuCountFn = getstuCountFn;
- exports.getstuDelFn = getstuDelFn;
- exports.getstuDetFn = getstuDetFn;
- exports.getstuListFn = getstuListFn;
- exports.getstuPutFn = getstuPutFn;
- exports.getstunoListFn = getstunoListFn;
- exports.getteaAddtFn = getteaAddtFn;
- exports.getteaDelFn = getteaDelFn;
- exports.getteaDetFn = getteaDetFn;
- exports.getteaListFn = getteaListFn;
- exports.getteaPutFn = getteaPutFn;
- exports.getteanoListFn = getteanoListFn;
- var _request = _interopRequireDefault(__webpack_require__(/*! @/utils/request */ 44));
- // 学生档案信息 student:info:list
- function getstuCountFn(data) {
- return (0, _request.default)({
- 'url': '/student/info/statistics',
- 'method': 'get',
- 'data': data
- });
- }
- // 学生档案信息 student:info:list
- function getstuListFn(data) {
- return (0, _request.default)({
- 'url': '/student/info/list',
- 'method': 'get',
- 'data': data
- });
- }
- // 学生档案信息详情 student:info:query
- function getstuDetFn(data) {
- return (0, _request.default)({
- 'url': '/student/info/' + data,
- 'method': 'get'
- });
- }
- // 新增学生档案信息 student:info:add
- function getstuAddtFn(data) {
- return (0, _request.default)({
- 'url': '/student/info',
- 'method': 'post',
- 'data': data
- });
- }
- //修改学生档案信息 student:info:edit
- function getstuPutFn(data) {
- return (0, _request.default)({
- 'url': '/student/info/put',
- 'method': 'post',
- 'data': data
- });
- }
- //删除学生档案信息 student:info:remove
- function getstuDelFn(data) {
- return (0, _request.default)({
- 'url': '/student/info/delete/' + data,
- 'method': 'get'
- });
- }
- // 老师档案信息 teacher:info:list
- function getteaListFn(data) {
- return (0, _request.default)({
- 'url': '/teacher/info/list',
- 'method': 'get',
- 'data': data
- });
- }
- // 老师档案信息详情 teacher:info:query
- function getteaDetFn(data) {
- return (0, _request.default)({
- 'url': '/teacher/info/' + data,
- 'method': 'get'
- });
- }
- // 新增老师档案信息 teacher:info:add
- function getteaAddtFn(data) {
- return (0, _request.default)({
- 'url': '/teacher/info',
- 'method': 'post',
- 'data': data
- });
- }
- //修改老师档案信息 teacher:info:edit
- function getteaPutFn(data) {
- return (0, _request.default)({
- 'url': '/teacher/info/put',
- 'method': 'post',
- 'data': data
- });
- }
- //删除老师档案信息 teacher:info:remove
- function getteaDelFn(data) {
- return (0, _request.default)({
- 'url': '/teacher/info/delete/' + data,
- 'method': 'get'
- });
- }
- // echarts student/old/echarts
- function getoldechFn(data) {
- return (0, _request.default)({
- 'url': '/student/old/echarts',
- 'method': 'get',
- data: data
- });
- }
- // 历史信息
- function getoldlistFn(data) {
- return (0, _request.default)({
- 'url': '/student/old/list',
- 'method': 'get',
- data: data
- });
- }
- //班级学生信息
- function getstunoListFn(data) {
- return (0, _request.default)({
- 'url': '/system/student/noPage/list',
- 'method': 'get',
- data: data
- });
- }
- //老师信息
- function getteanoListFn(data) {
- return (0, _request.default)({
- 'url': '/formal/class/noPage/list',
- 'method': 'get',
- data: data
- });
- }
- //心理健康-新增学生信息mind:old:add
- function getmindAddFn(data) {
- return (0, _request.default)({
- 'url': '/mind/old',
- 'method': 'post',
- data: data
- });
- }
- //心理健康-历史信息mind:old:list
- function getmindListFn(data) {
- return (0, _request.default)({
- 'url': '/mind/old/list',
- 'method': 'get',
- data: data
- });
- }
- //心理健康-删除学生信息mind:old:add
- function getmindDelFn(data) {
- return (0, _request.default)({
- 'url': '/mind/old/delete/' + data,
- 'method': 'get'
- });
- }
- //身高体重-新增学生信息live:old:add
- function getliveAddFn(data) {
- return (0, _request.default)({
- 'url': '/live/old',
- 'method': 'post',
- data: data
- });
- }
- //身高体重-历史信息live:old:list
- function getliveListFn(data) {
- return (0, _request.default)({
- 'url': '/live/old/list',
- 'method': 'get',
- data: data
- });
- }
- //身高体重-删除学生信息live:old:add
- function getliveDelFn(data) {
- return (0, _request.default)({
- 'url': '/live/old/delete/' + data,
- 'method': 'get'
- });
- }
- //请假-新增system:leave:add
- function getleaveAddFn(data) {
- return (0, _request.default)({
- 'url': '/record/leave',
- 'method': 'post',
- data: data
- });
- }
- //请假-历史信息system:leave:list
- function getleaveListFn(data) {
- return (0, _request.default)({
- 'url': '/record/leave/list',
- 'method': 'get',
- data: data
- });
- }
- //请假-删除学生信息system:leave:list
- function getleaveDelFn(data) {
- return (0, _request.default)({
- 'url': '/system/leave/' + data,
- 'method': 'get'
- });
- }
- /***/ }),
- /***/ 620:
- /*!************************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/edit.png ***!
- \************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAQCAMAAAA/D5+aAAAAXVBMVEUAAABmZmZjY2NlZWVmZmZlZWVlZWVmZmZlZWVmZmZhYWFmZmZmZmZmZmZmZmZmZmZkZGRjY2NlZWVVVVVlZWVmZmZmZmZmZmZoaGhjY2NeXl5jY2NmZmZmZmZmZmbqCpSBAAAAHnRSTlMAQxpr3za1juRmBPXPoGxeTzEsBvTxZFBAHxMSwZis3nxfAAAAj0lEQVQY033Q3Q6DIAwF4DMEFUHEn839nvd/zNFxsRAj31XT5LRpIeaWpXZB1qTaXv5sS9dATNQGJaM5AVCuVyhIs99Ss2PE0c4OQ6+lfD0ADPMgiScSrbFwlOFXBqyefsWN2x3ASJiUlKn0qSQN3uTn16mkKrskueMosju9y6nKNyo/rH9eqGhDkwUb8+4vVFINAmMNZmAAAAAASUVORK5CYII="
- /***/ }),
- /***/ 645:
- /*!************************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/scbg.png ***!
- \************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,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"
- /***/ }),
- /***/ 646:
- /*!*************************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/share.png ***!
- \*************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAAfCAMAAAAhm0ZxAAAAn1BMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8Kd3m4AAAANHRSTlMA9vrwDhbn7OQsECcTCQSql3Nu/NSyehvht6WAaDMivrqckYhOINzGXdnLrkE4z86gi1ZI9mLUFwAAAW5JREFUKM91ketigjAMhZuGtlQQZFwFERC86y6O93+2RVFxG5w/afqR0OSwX3KaMrLZsCYzMN+MYWZXvCU4Vsd9giPsvRhpa6wgzY/c9Cb/iMhdXgir5PIPtM9ZscH2EDM95/K1rXH6TJCj3GQGI/hauf5KOO5dr9G3KyskKDqUhwBBZNlTRuogyPp2Om+5mmkCvZauj9eotzRv18F5fBBXHCiIlJsL4wpEvvNy5/b/FPFINwuFkUFxvQsTha64dkwBZ0uK7zyMabzdVnGEdktnywVVU5wu0DxRWilfzj0XCsF0yFV2Kz9AajNdAhQXIVZQCl3eEWukujgWLaJeO8yYQXqi8938DPfr2KWXTjqPgg/+9CiEeRyhorRjfpvQQJ0CqM8BVKLz4pMTei4owa8VBvrhLW52/e428CExeuR53fSIHXzuB1bvo8N6HaGFasIGlWGL3nSYNbKV32xYOmhNPcKMSO2XI4wMWdnD5Ad0NBrccbfqBwAAAABJRU5ErkJggg=="
- /***/ }),
- /***/ 647:
- /*!*************************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/total.png ***!
- \*************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB8AAAAeCAMAAADjLDWuAAAAflBMVEUAAABHdelGdepHdepEcelHdOpEd+5HdetIdOtGc+tHdepBbOdHdepGdepHdepGdelFdOlDZ+hGdOpHdetFdOpGdetHdOpGc+pGdepHdepGdOpGdepGdelGdOpGdOpGdepFdOtHdOpGc+lDb+lHdetGdetGc+pIdO1Da+RHderTVGztAAAAKXRSTlMA+YNSLIQPsXIjzQfjuqpoHwrXdjDwkV/05sGoi35bynFsQBfimEk5EyM9pQ0AAADPSURBVCjPxdDJEsIgEEXRBsUpRgU1JmZwHt7//6ChKe1siBurvCuqzmPTFOmiuDLq4BYxt6Z27NGOYK+qO0mD5P1aA+7auoIRXiJNPjyfOnbdYYRBYHKKXdi3t28ma6134e0jbQdJYM678IaSFHCBxYWJB4HFhXnAPD2dnuLnwGFQ+t8NsBGnOg8slwKGHacVXz3LzhHnRsD6i0++e3Yoe32M2e+9KYpVn++AP3nN3ni3wNH7oet74xsDmamAVGuHQpsFcDNGt96Xolz1lb8AViUpuOriqMgAAAAASUVORK5CYII="
- /***/ }),
- /***/ 657:
- /*!***********************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/one.png ***!
- \***********************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB8AAAAnCAMAAADAWWPLAAABpFBMVEUAAADWFhaaeUb5tkP6uEL5uUD4tkL4t0L6ukf6wEn7tUL6uD/4tUP4tkGekYGZdj+KGBeJLCuEGBj4tkIiGBT4tkP4t0IiFxT4tkL3t0JMFxX4tEH4tUP5tkIjFxX4tULoFxf7uUIbEhL4tUP4tkL4tUP4tkIjGBUhGBX/+J74tkP6zGD4tUEiGBXYGRkAAAD/+6T96sj4szv3sjeKhlY3NiL+9pgZEBD//ar5x1TcOjr80WD++/X++dL/+Jr/95f3sDX4sz7/+Zz60IUbFxT836z+9KT/+Z///Pf++/D++uz/++r979f+9r7+9Lj726L+9Z/72Z3/+Jj6zX/6zHv5wl/4vlj5x1b4ukz5u0TdGRnWERb++ub//OL+9qn//Kj70ouFgVL++fL++PD+9eb+9uD+8+D++dz+9dL97dL+9s/85sD84bD+867f3ZTFwoD6yHL5xWn5yVz8zFT5wVL6wUXynDzhOzvbLy/nYizcLR4YDQz++db/+Lv84rT//rP+9qv+85/S0ZDQzoq5uXv6zWH5wFFycU9eWzr3sDNPTTIsKxuGlcvpAAAAKXRSTlMAWPv7XA3ofkc0JBfhYv778O/t68i4ta+qpJuWkXduaFc+HOLR0G1sbEy7HVwAAAJQSURBVDjLxdFnX9pAAMfxs4CAe2+t2snfK5jEptUGEkSUvTfuvfe2e4833SNAceDj/h5d8r1c7j5HCGl/cV/tJFcLG01MTFy9KnXFntnbFtUHn/d1NTQ11tU/KFZf19jU0NX3bJAU6s9kzrijN8WOuLNMpp+UqjCbx7jRoWKj3JjZXPFf/Nt9fr6RHDpMHn8/Th4OJTfO73iWS4PmQ5rL3vLs5akAUF75pfAUEE4vszf84gQQ6EFwi9sKHlABOLm47p1p8Cnn4rTV/85vnV50pnikO0rcAQjz0mZItJlMJpsY2pTmBaCzyL2Mt92zDAvZZt3vFaA3z1UaKNteMU9Tw1PqDK9TgKZK9VbYHZ4Cz31d2FMniB6HHa05NtpBlyZVHd79bbEsDKvjySUKu5F5N/jwekTlEQtrJO+R9TCPbuY1EJbzn8/9sfx4qbq6wLKAR2x3QMIt5pf/+flDyUV3AqgiBkodM3Jhd6bXJZdnHJQaiJbyQeu4Kd91H7cGeaolteCd97iTRy3Rwh622sq4zRq2Q0sGQGMzchmXp2MUA6Rag5QklnFRSkFTTcgTKL6dMr7jU/CYEKIHja7Id1xeiVLombMfCKuBOx5YFXLLs3pA49Jk0Qv380mKU/SQXLpK8FHX7Lh6/V/2dqfY2T+6YjwqdUTNAPAxyS+aiol+KcoDBlLoKWBP+DyBkByxReRQwONLMH5I/lWrARX2OZd37e2a18XtCxQaxqWMNQBVEHfMO+JQKFBjJDfS6ZvBopSC1azXkdvptG2VyFXZpi3pX61cw+FRBQmyAAAAAElFTkSuQmCC"
- /***/ }),
- /***/ 658:
- /*!***********************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/two.png ***!
- \***********************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB8AAAAnCAMAAADAWWPLAAABoVBMVEUAAACCn66LjIyew/iexPhXY2qew/eewveewvciFxWeyvqfw/qjwvWfwveal5eJi4tgam+ewveewvedwvc4Njiewfafwfedwvefw/afwviKrbyBn6uoy/idwfSgwfefv/mdv/QbEhKZzP+dwvaewvgiGBQjGBUjFxQiFxSgwPeewPefwvjd7Peewvfh6+3b6/cAAAEjGBWCoK+dwfeYvvbZ6vbr9vybwPcZDQrt9fv09/jf7fmav/fd6Ov7/P7l7/KRrLk0Nzr5+/72+v7k8Pm81fn0+P3x9/3m8PrS3ODr8v3V5fvN4PvA1/rc7PceEQ0GBwfg7/msyvioyfijxve7w8WEo7OAnqs8QEPv9v3l9Pzj7fygxPvh7/rD2vrX5e6nrrFucXQXGRre6vzY5vzn9PvP4fv1+fq20fmwzvja6vefv/awzfLi7fHB1/HK3PCZvOqPsNDDy86yur2UsL2utbiFpLiMqLZiZ2kRExQhFhLz+P3p8vbd7PPc6/K+1fLK09i/xciapaqWnqKKlJd7f4J4fH9SV1k/Q0cuMTQPEBCncEgcAAAALHRSTlMAWPv7XO/o4qdtNBcMYv777+u4tJuRf313aFdVSUY+KCEcD9HQycevr5aWberuDwgAAAKKSURBVDjLzY/3V9pQFICfRUFwb+vW7pZLHrwXUkiMli1LNrj33rvavcdf3Rswgvb0934nJ7k5352EkCf2f/GUaDyy268mJydfVoL/V3b746IfNpvba2qaG5vu6TQ1NtfUtJvNw+SanlzudGNvTGdv4zSX6yFlqhyOcfeoTWfUPe5wVP1f/sJtsy0c7H/YP1iw2dwXf/l8aBcURZIkRYHdUP6Oz58fcgZM4pxL+OWH5/lK33s0C8DZVnRlZiW6xTjA7FFvha8FkDIRT8AVCoVcbzyRjASztbc0n/e4BFGwxq34dnnmscVNQjfqiEcWrDqC7FnFhO6SHjQAX/WKmnC+m3jvlK3WuOCNcDAMFn0rSLGi9mULCZooZH0Yi96YBK2atuwA82q95RNKl3/9pvQsqc3wMtixoH8GSjSs+bVluvTWNfaDLvs0H44q8By9CXgQNdYvFjAQRinNFpcMcjARMgSQ9uB0RJ7W8qYv6aKsbeBJAwyRPonFAuh14seUfrRqPhBjUh+pZsq6q+J0109acJaidYVVkwZQImUvOF/Ty4l4yUcUaMB6KYq+rBPZ5HWnqIT1A8D8AVHXSzRxgteV5vsZDJA6A2RUsazPUJe8mgFDHSEPgYflol77Tuki6hJymMMDQkgXDgiK2uHfKP0yobGglQexfRd6HMCn5nDlT1Tn6xyWT3GtPdIBLKUKgvX4lc7nOWFbTTHoIBojRlD8qlVIOnWSgqz6JTCOkCL9ANyvhkScUUIMqX4O0E+ueQEgpcNenyCK+Gz7vOG0BHCf3NBgwBabM2ogOBUMqDObWGxAXcZiAmAcUrH5WAo4AzBZyC3qO1sAYYwB0tJZT+5SX91mBA1jW3XZ/gE0kM5164XMqwAAAABJRU5ErkJggg=="
- /***/ }),
- /***/ 659:
- /*!*************************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/three.png ***!
- \*************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB8AAAAnCAMAAADAWWPLAAAByFBMVEUAAAC/SxeMXUL8woL8wYH8woH9wYH8wYD8woH8woH/yoH/w4H1wnv8wYCaiX6KWDx7NRd9QSt3NRj8wYH7wYEiFxT8wYH7wYFHJBX8voH7wYD9wYEjFxUiGBX9woHNTxe6RRL8x4H/wX//wYT/v4D8v4EbEhL/zIgiGBQjGBX9wIH/5r/8wYHcjFcAAAAiGBX/5b2/TBn/5Lr8wID8v3z8vXkZEQ/Zg0r/68P8wH7//Pny1sT/5bv/7cX9xIPgjlf/+vX/9ur8vHiJfGjHYjr/8uH/8Mj/+O7/88v95Mj/58McFRT/+fL/8+T/8uD/7dT91qr91Kf/7M//7MX94cH93779167LxKX8ypP8yI/8xIeUiXKThW5uZlZHQDXDTRn/+PD/88//6Mf/6MCmn4jspWsNCwn/+/j+7dr+6tT65tT+5sz78cr/6Mnz2MXs4Lvg2LX92LD80KD8zpuzrZD9yYjvrnDwq2yPg2zmnWWBdmPgk1x1bFtlX07dhUrXgEhYUEJRSz/LZDvHYzvEWy/HWyYtKiO8RhS7RBL+7Nj/+9f03s/03c/u58n268jy6MT92bPczKrZyqippYqUjXc3MiklIRwREA1Wm8OPAAAAK3RSTlMAWPtc/Pno4rd+NBcMYv778O/t69GvqqSblpF3bmxoV1VJRj4oIRwPycdtt/r3eAAAAsFJREFUOMu9kWdXGkEUhifB3ns3dk2y1wnuDLqLaAAFRKXYK2CvsffeS3pP/m7uLBAsJ1/znLPnzMxz37t3dgkh2a/+RTYRPMdVR0dH/V1wj6cvNF9dXJSXlpGekvo0TGpKekZaXlFxNQlREgicLx+/DnO8fB4IlJAIT+rqWhsbasM0NLbW1T35v/7inr945C8/nNQe7E1PT+8d1J68v3zkbxd2WHMQtrNw+8DfXG0bABi3Wq2cARi2r27u+tKGLTxkG73zb+d7NxiWbjWU3vG5zYwPO80Om8fjcTvMzmHOmnMiOgfDa7NuSTZJkmSSJffsGrbIDetC1E7zBMoQpgnzIhYUBnVlNFgXO2VJmmwK0iPpTWNOA0RXaj4OeL/Q0rf9Fo1RRZLkzn4OcUInMGDmdgmZokHq7bhpN+N5Avp84H02Wfivu6Ojoy2U7jfhRrb1cchHHwsGh4jj+3sU5eM1PWzTi127wwCxhFQBDJlFXKD/9JP6UAtk8xBAFSljar9FDuk3fup7J7Twln6VlREd4702U0ifUXp9OtCjVZhsvZzpSDJwpzsYUUYo/Y3zTylatdvJIZnoVN7nCuXbDgeU1SM6s6IXeVcfV3WkAtQuR/j9dnzGf9ER0UB2dKlQQRKjYNgoB/WkyLWdUp9deOMwRCUSkgVW21Kw/ab4MON+2iLySzYrZBFC4kH1ahe0++nUuGIfoHRAu55XhXj0idFgsHRjZ+UHpWe7vhnqb8Nm3Rb8gYkEKQA2aGzX43QjMxQ5+oxryTjIoIAIamKAe7WCnpXNke+rdlxNGLs4xNQQjXIA3mX0yGJ6RQwqe4SGchLiJRYMuTq7JVk2ybK+u9M1hPoZ+UtyFDDD+pxxzOKyjBnn1g0MolBHSIgFUK0w6P3iHWRWFSA2gdwjKT4TEKYyQDLjk8hDknRxMSCIidNF7B/WTNeSjcp0DAAAAABJRU5ErkJggg=="
- /***/ }),
- /***/ 660:
- /*!*************************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/onebg.png ***!
- \*************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfAAAABGCAMAAAAEljYIAAAApVBMVEUAAAD////89cr+9Mb99cb/////////+/f+9Mf+9Mb////////99cb/+OH//8z////////99MH99cf++uT988X////////+9cf///////////////3//vn//////fP//PD99cn//vv+99P+9s7//O3++d7++uP//fX+++j+++r++eH++Nj++Nr+9tD+99X++ub99Mf//ff+9cz++uX++Nz99cv+99fHLBzNAAAAG3RSTlMA8j+tjK1BBvHRimZmEQXTHR34VHl43t7Ll5MtL5SDAAACnklEQVR42u2daVLCQBhERxZRMS7BBcQo7uIa1/sfTWgsCibzzfA3Tb8c4dVL0lOpijPIuu2TjWLOMMpVkPMoH3MeKlxYXBrcBhkv8+jzDsDXjPsqTx53Ab5nvCzx7PE75W2R6yCvS9yE+JzzA0YG5QL5abPhTLIzyK6t8PH0kvDSo5kZvnsT3bUWrsJB6bPdcSF2iqLmwlU4KCu0XIBBUXvhKtwQnmeuwnFRf+EqHJRVes6nMSQQrsIt4UfOp18QCFfhKwvfLBiEq3BL+K7zaFMIV+GWcP/wpbNBIVyFG8K39ip3dArhKtwQ3qycuXAIV+FghUf4PodwFW4IP/R8HxQcwlW4cZbuPLokwlU4SB+lt0mEq3CwwigjEa7CwQqjjES4CgfpUcYiXIWD9ChjEa7CQXqUsQhX4SA5ymiEq3CQHGU0wlU4SI4yGuEqHCRHGY1wFQ5So4xHuAoHqVHGI1yFg9Qo4xGuwkFilBEJV+EgMcqIhKtwkBhlRMJVOEiMMiLhKhzERxmTcBUO4qOMSbgKB/FRxiRchYPoKKMSrsJBdJRRCVfhIDrKqISrcBAdZVTCVTiIjTIu4SocxEYZl3AVDmKjjEu4CgeRUUYmXIWDyCgjE67CQWSUkQlX4SAyysiEq3BgjzI24Soc2KOMTbgKB/YoYxOuwoE5yuiEq3BgjjI64SocmKOMTrgKB+YooxOuwoE1yviEq3BgjTI+4SocWKOMT7gKB8YoIxSuwoExygiFq3BgjDJC4SocGKOMULgKB8FR1mUUrsKBf0cHx4zCVTjAO/paCFfh/8LzhvPpMQpX4QD/pfPJ9JZOK3zUcgF2CIWrcAQO3xU6fT7hKnzCVs+Fyfg+gFDho7yVOZPNwcmQSviaF56fNnct3X/kFP1t/2vziAAAAABJRU5ErkJggg=="
- /***/ }),
- /***/ 661:
- /*!*************************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/twobg.png ***!
- \*************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfAAAABGCAMAAAAEljYIAAAAllBMVEUAAADf6O/f6O/f6O7f6O/////i6fD////7+/v////////////////e5u7x8fjM///////c5e3r8PX////p7/Pp7vT////////////9/v7////19/rn7fPl7PLr8PXp7/Tj6/H7/P3x9fj4+vzh6fDg6O/2+fv8/f3y9vnv8/f6+/3t8fbw9Pf09vnu8/b4+fvf5+7j6vCreNb9AAAAGXRSTlMA89OtjIpkQQbx1q5mQhEFHR14+FM1y52zZmPV+wAAAkZJREFUeNrtndlO40AUBdt2EkIgnpksMGn2fQfz/z+HQAiCz22JVw51/Amlcqv6pVNh7fbWZJ6/bvXdXfV2Eu92fWfRnj52Kdsr7uFz172dhrtf282XPX7ubn2HhR0Vtl/aQWnHhT2/71x3oes+VtXNNBXXDudZt3r7AP4jgb+uaVO80WZ+G4Z7Ae/qcch7+EoXww2Bd4OI927OGcM9gVet8p7ljOGuwLuF8F6uMob7Ap8J8J2M4b8J+EbOGG4MfNQHvpUx3Bn4ssd7vInhzsCrP/JHx3Bn4I3euWC4M3A5wicYbg38X4/334zhzsDr1Nt2xnBn4AOJMgy3Bj6VKMNwZ+BBlGG4M/AgyjDcGbhGGYZbA9cow3Bn4EGUYbgzcI0yDLcGrlGG4c7AgyjDcGfgQZRhuDNwjTIMtwauUYbhzsCDKMNwZ+AaZRhuDVyjDMOdgQdRhuHOwIMow3Bn4BplGG4NXKMMw52BB1GG4c7ANcow3Bq4RhmGOwMPogzDnYEHUYbhzsA1yjDcGrhGGYY7Aw+iDMOdgWuUYbg1cI0yDHcGHkQZhjsDD6IMw52Ba5RhuDVwjTIMdwYeRBmGOwPXKMNwa+AaZRjuDDyIMgx3Bh5EGYY7A9cow3Br4BplGO4MPIgyDHcGrlGG4dbANcow3Bl4EGUY7gy80SMcw52BT6XCMdwZeK0PEWK4M/ClAF9guDHwWZK1cwy3BT5IwYYY7go85J3GOxhuCbxapHjtfwz3A14N2lTcxu5kjuE+wLu6GZVwvwDnhXl46t0T0wAAAABJRU5ErkJggg=="
- /***/ }),
- /***/ 662:
- /*!***************************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/threebg.png ***!
- \***************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfAAAABGCAMAAAAEljYIAAAAk1BMVEUAAAD///n79vH////58OP58OP58eb68OP////58OP////////58eP////////////58OT9+vX49Oz////9+/b58eL////9+/b79ez////58eT9+PH+/fv//v368eT+/Pj9+vb79ev79On68ub89/D9+fT8+PH79u39+/f68+f////58OP+/Pr89u////7+/vz8+fOpdnllAAAAHHRSTlMABR2tjK5A8dHRimZmQfH4+BMN8pl5eFVK3t4zjQyP5QAAAhtJREFUeNrt3UtS20AYRWGBbcAxINkxsYG832knDvtfHcWAAnRbgvHh3C18A9X5S1XdDGy5mFy2+4d9eMn+3+/9i/b3yT6N73dln8f2Y3g3d/s5sO8j+/d4v6r7MravY/vT37exfXxmu966q/VRM7jlui1lvxecA3632WrAe3NeiuA88N28Lv6mFMGR4LtpzXtdBKeCd6v0flcEx4LvtuF93QoOBr8I8JMi+GsC3xbByeCnffCJ4Gjw/vHl4K3gZPDjgx74WRGcDD6Lm4vgaPD4hJ8IjgY/7HkfFsHJ4POmt4XgaPBpRJngaPCMMsHJ4JUoE5wMnlEmOBo8o0xwNHhGmeBk8IwywdHgGWWCo8EzygQng1eiTHAyeEaZ4GjwjDLB0eAZZYKTwTPKBEeDZ5QJjgaPKDsXnAxeiTLByeAZZYKjwTPKBEeDZ5QJTgbPKBMcDZ5RJjgaPKNMcDJ4JcoEJ4NnlAmOBs8oExwNnlEmOBk8o0xwNHhGmeBo8IwywcnglSgTnAyeUSY4GjyjTHA0eEaZ4GTwjDLB0eAZZYKjwTPKBCeDV6JMcDJ4RpngaPCMMsHR4BllgpPBM8oER4NnlAmOBs8oE5wMHlF2VAQng0eULQRHg2/jXTrByeDzRvDXBN5dB/hGcDD4RRNbtYJjwafVx6MFp4JXvZuVt3Qm+PGmqW/pDxBA8G66bAZ3NrlsBeeAd1ez0yHuW9K9NGlw3UfkAAAAAElFTkSuQmCC"
- /***/ }),
- /***/ 663:
- /*!************************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/secm.png ***!
- \************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAbCAMAAABY1h8eAAAAb1BMVEUAAABGdOtHdOpEc+pHdestfdhHdepHdOpHdepGdetHdelFdetFc+tGdepHdepGdepGc+pGcuVAc+pHdetHdOpGdetGdetGdehGdOpHdepGdepGdOtEc+lJbedHdepHdutFdOlFcutGdOhHceNHdepo/Jr8AAAAJHRSTlMAf/Q84wa3k9GjdkId4IusZw4M8ca8mCTOoHJMNBXlc1xOLBIOewftAAAAqklEQVQoz5XP2Q7CIBCF4VOsrVpK7WZ3177/M0ocEcigid/tnxwG3KOAI0ixhkiKWagleEt5q6WJVc4iPRkebuE4+U3QqD/MR/lwA4sNiwd8pTMcVyB8uJGm8WHRoRwPZFw+w/ErXoBoNQo7bC6dakFq50+tjhm0rQEr0XEDD4+LSomSPCp7EI9ZHpP8yqLrzyiHPRk6G9tfB93OFOd+R/oJVql0/G7u4HkCOK4nvl2japsAAAAASUVORK5CYII="
- /***/ }),
- /***/ 664:
- /*!************************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/line.png ***!
- \************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJcAAAAICAMAAADDcZ3dAAAAM1BMVEUAAADm5ubm5ubk5OTMzMzl5eXl5eXl5eXl5eXl5eXl5eXp6enj4+Pl5eXm5ubl5eXl5eXN0wjDAAAAEHRSTlMAKcj6BbIc7tefSCMSwTw7uVnzSgAAAFxJREFUOMvN1DkOwDAIBEAMxvfB/1+bKGmoEQVTUqEFLXjJg2vlkSGYiyRCeMFJspoZlNVJXtSXznAmK9hoxAWU0uTTih4yGm2fvPReTnn50HeM5fx/fyAY5554AIiFBP8jQkGWAAAAAElFTkSuQmCC"
- /***/ }),
- /***/ 681:
- /*!*************************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/enter.png ***!
- \*************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,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"
- /***/ }),
- /***/ 682:
- /*!***************************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/fzicona.png ***!
- \***************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAAZCAMAAADkFeWYAAAAilBMVEUAAAD+TA7+TA3+TA3+TA3/SAr+Sw3+TA3/Sgr+Sw7+Sw3/Qwn+TA7+TA3+TA7/SAj/PgD/SQ3+Sw3+Sw3+TA3+Sw7/TA39Sgz+Swz/Sw3+Sgv/Rgn+Sw3+Sw3+TA3+Sw3+Sw3+Sw3/SQz+Sw79Sw39Sw3+Sg3/SQz/SA3+TA3/TA//TA39TAz+TA4RQoK0AAAALXRSTlMA8Or87Bj35RP0xQ3gwLseBzjkkIpvWlhVTEMa59nQsn91Priell4qJ8qem2jjVwU/AAAA60lEQVQY02WRV3LDMAwFITaxq3erxi2F979eHFNybHm/MDt4QwKAjegnieEFdc1D2fDVKqVo1E6DcDj9qi4dVwqmPBuHMHB/MKTNMZsACYbdE0wQQG6PgHCtMEmZr4KHC+ZF7h1q+Mebq6l9y5675ywOECG67CQhKMDeobmuyjqK27KqC3RzB+d0QmlHY+CU0kR7x6S1Zmx5bq2V7Oa085Bz9Lm9IfHqKmq22U5i/+cUln7tKxLpozmomfgdIL8DbK4A9NunPXhY7tfJ0EMx08IdXvTMNx1OF1iJk0wLh9FYcviHN8feFJG/5S8Khy8D8+MbXwAAAABJRU5ErkJggg=="
- /***/ }),
- /***/ 683:
- /*!***************************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/fziconb.png ***!
- \***************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAAZCAMAAADkFeWYAAAAdVBMVEUAAABGdOtGdepFdOpHdepHdepEePBHdepGdOpEcudEceZGdutEb+ZGdOpHdOpHdepHdOpHdOtFdepGdOpGc+pGc+pGdetFc+hFduhGdOlGdOpEc+dGb+dGdepHdepHdOpHdelGdepHdepGdelHdepGdOhHdeqAH/wRAAAAJnRSTlMAf+6g9M4J4IU1KBkP17SriG9mYl9UUU1DOi8lH/bnw7uukHRrId8lSB4AAACaSURBVBjTrY5HFgIhEERLYHLO0azc/4jykCG59W+A/+iugiYM4ZOXZe6asIs4jzr1dU+WqbkTLiHVc1oSnPgPf3TXtfIce4mn64oUsTd7y9HofWQcRGcKjCajyLAHD2BjVm60AYLA6XJJALMZrTzOA96m86ouLdVObzEEwOy7GUDsqhgQ1Laq8aUnhyE9DjIVSjNYpJQxmkLyAWbWLjfdOpy8AAAAAElFTkSuQmCC"
- /***/ }),
- /***/ 684:
- /*!***************************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/fziconc.png ***!
- \***************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAMAAADXqc3KAAAASFBMVEUAAACqqqqpqamqqqqqqqqqqqqqqqqurq6qqqqqqqqqqqqqqqqqqqqpqamrq6uqqqqrq6upqampqamqqqqpqamqqqqqqqqqqqojF4HZAAAAF3RSTlMA8hn4j+kiHaHtE5yJp5N+eSYttIO+uQAgW8MAAAC1SURBVCjPZdBREoMgDATQBFGgCBa15f43bYqMC5jPTeaFQGaziYYyXic6Z7eqPn+9ZxcpcJbOkOfpQ0lz5qiafJXc7kTq31lVN2+Xa9WlIQ9LfcSlwak5NDiloHUOtFmfzTw0l1nAO0cnTlnmzR3gLpaGV498E3+SPWqAJOfgZY8242p5T7nUm9Ypeb1UKzjlrnopNHFwFzQ4paAtcIigJQqM+Ub7UnTPf4vMgVI8dhoqHXb/AWl5CnBHZiZnAAAAAElFTkSuQmCC"
- /***/ }),
- /***/ 685:
- /*!***************************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/fzicond.png ***!
- \***************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAMAAABF0y+mAAAAV1BMVEUAAAD/IzL+Kjn/Kjr+Kjr+Kzn+Kzr+Kjn+Kzr/KDX/Kjn+Kjn+KDn/KDf+Kzn+Kjn/Kjn/Kjr/KTn+Kjn/Kjr+Kzr+Kjr+Kzn8KDj/Kzr/KDn/KTP+Kjp3JfQrAAAAHHRSTlMAClmm8vXvgGAcnXg/Mvmyq5FPTEHYvo9SNS0Z0DZZVwAAAMdJREFUKM+F0VmOhDAMBNCyswPD1nt33f+cMyA0hCaI9xNLlqy4jI37Hce8xzFrcSwEfBttxJdox6VqSJ1eaWJsZKqUbLB4tj2QKss/tkpA3z7xLwnU0pu6Np5WIQk5JYPMswOp2EiOFywudAm5iiFbiNVSvVU/EOdlbYp3go/qG47scKVBxvCKjnTQYXghskamZsRrGBSTUnNVGLvaf+hklfMQzuPDNvid7GQ767GLRjMbUdJx1qFEfmaCssft9sCRvm17ZH4BOPULz3LXQwAAAAAASUVORK5CYII="
- /***/ }),
- /***/ 694:
- /*!**********************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/bg.png ***!
- \**********************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,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"
- /***/ }),
- /***/ 703:
- /*!*************************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/mooda.png ***!
- \*************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,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"
- /***/ }),
- /***/ 704:
- /*!**************************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/moodan.png ***!
- \**************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,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"
- /***/ }),
- /***/ 705:
- /*!*************************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/moodb.png ***!
- \*************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,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"
- /***/ }),
- /***/ 706:
- /*!**************************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/moodbn.png ***!
- \**************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,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"
- /***/ }),
- /***/ 707:
- /*!*************************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/moodc.png ***!
- \*************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGIAAABWCAMAAAADkLOHAAAC5VBMVEUAAAD4tiP4tyT/1jX////5wSX6yy/3tSP////4uST4uST+0TD+yyf7yij/1jT4tyP5uiX/1jT5vCT5vyf////9yS/+zzD6zSv/////1yz////4tiP/1jT/1jT///35uiX5uSX5viX/1jD////////6wyX6yCn////4xSz///7/1jT4uST/1jT4uCT/1jT4uSX/////////1zT4uiX/1jT4uSX/1jT/////1jT////4uST5vSf7vyf/////1TT/1jj////9wyj/1TP7wSf///v/////1jX4tCX9zzD////3tiX////4uCX/1jT/////////////1TP5uyX4vCb4uiX4vCX6wSn5uyX/////1jL/1jT/1TX9zC76vyj/2TL71Cf4tiL/3Vj7yS37wyr/////////1zX/4Gn/2UT/////1jT4vCf/1TH/1jX98dL/1jT7wSr4xkn/////1zP/////////1jX////3tSP/1TP3tCL/1TGUNDb//PD/1jf/+eL/71f2tCL/+uj/+uX/6JD/1S+RLzb/2TX+1jT+0TKSMTb3tB/8yy73tyT/2zX+2DX6wyr4uyX/2DX7yCyTMzb40TX9zzD//fr/4EOTMjaNKjaqVjX3sxz//v761obzyDXksDX6wSj2sRj/50v/40b/2Tn/3TX71TX/1Cz/4Gj/8Fj5xVP/2D3/3DydQTaWNzbAdzWyYTWkTDX3uS74uST/++3/+N7/99X+8c//9Mr/5Hv/4m7/3lv/7FOZOzbqvjXntzW+czWoUzWfRTX8xSr6wCb+9+f+9N/98db86Lv/7az74KP/6qL/43b6zm7/6lD/2UX4vTuPLDb/3zXuxDXvwTXhqzXcpjXUmTXKiDW7bzWmTzWjSjX++/T/99v/8r7/6pb62I3/5of/5oT/8Fn/3FL4wET/4EHaoTXOkDX//PP868T857j74qj73Jj61ID5y2T4yV6IIjb0zDXRkjXIgzW3aTVnBgwbAAAAdnRSTlMA9/P76iMG/PvbujQaCPfmoXBwTDApJhMODgf449TPzJeRhYB1VRcRC/f04NrWxsXDubm0s62rpn55d2BdVlBJRjswLycY8vLv7uzcw8CfmY+OioeCfGZmZWJgW0VCKx39+vj24+DLxcKs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"
- /***/ }),
- /***/ 708:
- /*!**************************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/moodcn.png ***!
- \**************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGIAAABWCAMAAAADkLOHAAACxFBMVEUAAADR0dHx8fHd3d3t7e3x8fHS0tL39/f4+PjR0dH9/f3R0dHZ2dn////Q0ND////R0dHx8fHR0dH08/PR0dH29vbT09P7+/vQ0NDm5ub+/v3R0dHR0dHS0tLR0dHx8fHS0tLR0dHR0dH////x8fHR0dH4+Pj29vb5+fnS0tLR0dHx8fHx8fHx8fH////////////x8fHR0dHx8fHQ0ND////Q0NDR0dHR0dHR0dHQ0ND////////////////z8/Hx8fH////////Q0NDR0dH////x8fH////x8fHx8fH////w8PDy8vLQ0dH////////y8vL////S0tL5+fn////Q0ND39/fPz8/y8vLz8/P09PTy8vHq6un08+zy8evy8vLX19fQ0NDw8PDx8fH////k5OTS0tLS0tLQ0NDR0dHx8fHp6en////p5uDS0tLR0dHy8vLT09PR0dP////x8fHT08/////x8fH////R0dHw7+7Q0NDx7+vw8fKenp79/f38+vD9/Prx8PD9/Pby8vP29Ozt7e3s7OucnJ3Pz8/c3Nudnp7o6Oj//vzV1dSbmprx8O729fTS0tLv7u7z8enl5eTk5OL7+O/08uf09fbz9PT08/Hv7+/y8Ozr6urf397Z2djT09OwrayZlpb+/fj18+vt6ufo5+bo4t/d3d3i3trQ0M3Hv7qcmZj7+fTw7ur49Oja2tnW1tXV0860tLG2rKero52gmpn8+vf8+/bz9PX08uv18+ni4uHZ2dnf3NPRyMLEubT29/b49vP29O/49uzw7efu6+Xn5OPq5t3m4trl4djg2dPb2NHW1M/a1M3S0My5r6uon5uknpufnJuim5n9+/Lt6eLq5uHk3tjf3NfQ0NLb1M/WzMXIvLS+ta+zrqispqOypqGYmJmWk5Pb29rZ1tDMy8jLwLuxqaWuqqSsoqHdgb0QAAAAd3RSTlMA+fgNBeonEQ7KMS8K+/Hr6byVZ1wbGRQJB/7k3dXEoaGafnhvYltAJiP79fHZz7mmlI6BenV0aVES9/bv6OLg3dzCuqifnpmZkI+MhYOBgHZlWFVHPjg3Lyoh+Pjv6OXd2s/KxsXAurSysLCspJiWiXNvaktFREd7qSAAAAaISURBVGjezZhlX9tA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"
- /***/ }),
- /***/ 717:
- /*!*************************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/adddj.png ***!
- \*************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGIAAABiCAMAAACce/Y8AAAASFBMVEX////m5uaqqqrl5eXr6+vq6uqrq6u2trbHx8fW1tbd3d3j4+Pg4ODQ0NC5ubmysrKvr6/8/PzT09PAwMC9vb3ExMTy8vLMzMwf+wTOAAABwElEQVRo3u2a7Y6CMBBFmV5boKUF+dD3f9NVK2qbTQwtdTeze0xI/KEn9l4GSqxEJS5U5Y7XV1nYKHjAIwseCh7wyIKHggc8suCh4AGPLH5McTwdNnM6bkniiCQCxxsOoARw2NAoSmRDFqAkwFlRlVR43ivgD8mKtwsF2dllOeuCWZhZ3HCaUEahB3FHjVRCAeMNHl2iUXIWL/SE3RuFTgSMBRplQ8Uk6UbXRhgkZ7GECucVRomInnZWdCJmSFecRcDsFdQ2ETq5UdChwpaYUXWwHECBGaXVN50FIYKQMUDs09HIVVGriInSFSDd31dpJJBHixiVqvAOGifnZgsCrVlMdcQ5vVHGGQLJC1fXtKxaGUFIbtQkVGOkT9j2QnXYuVF+0ZXriKi5xe4Iu14vIJ0/p19OwjYsba6CRnFhXZ3leckwvbrTmywFyNe18Z/G4N+FpW3zrnr2PkTxMhIHG5R2RtaMAun6Mfr8j1INXYWQD5A9o8ahpgft3BH2vgMBoQu+4tfeNv+VO/NcxWeyKL+dLLop9orCW/tQkP+AYhP/z6N4KnjAIwseCh7wyIKHggc8suCh4MEnshBV4T9hfQGpgRlTQ4rqdgAAAABJRU5ErkJggg=="
- /***/ }),
- /***/ 742:
- /*!*****************************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/components/zb-table/all.js ***!
- \*****************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
- "use strict";
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.column4 = exports.column3 = exports.column2 = exports.column1 = void 0;
- var column1 = [{
- type: 'index',
- fixed: true,
- width: 100
- }, {
- name: 'name',
- label: '姓名',
- fixed: true,
- width: 160,
- emptyString: '--'
- }, {
- name: 'yw',
- label: '语文',
- sorter: true
- },
- // { name: 'sex', label: '性别',filters:{0:'男',1:'女'}},
- {
- name: 'sx',
- label: '数学',
- sorter: true
- }, {
- name: 'yy',
- label: '英语',
- sorter: true
- }, {
- name: 'operation',
- type: 'operation',
- label: '操作',
- renders: [{
- name: '编辑',
- func: 'edit' // func 代表子元素点击的事件 父元素接收的事件 父元素 @edit
- }, {
- name: '删除',
- type: 'warn',
- func: "dele"
- }]
- }];
- // 历史
- exports.column1 = column1;
- var column2 = [{
- name: 'updateTime',
- label: '更新日期',
- fixed: true,
- width: 180
- }, {
- name: 'height',
- label: '身高(cm)'
- }, {
- name: 'weight',
- label: '体重(kg)'
- }
- // { name: 'degreeMyopia', label: '视力'},
- ];
- exports.column2 = column2;
- var column3 = [{
- type: 'selection',
- fixed: true,
- width: 100
- }, {
- name: 'name',
- label: '姓名',
- fixed: true,
- width: 160,
- emptyString: '--'
- }, {
- name: 'age',
- label: '年纪'
- }, {
- name: 'sex',
- label: '性别',
- filters: {
- 0: '男',
- 1: '女'
- }
- }, {
- name: 'address',
- label: '地址'
- }, {
- name: 'date',
- label: '日期'
- }, {
- name: 'province',
- label: '省份'
- }, {
- name: 'city',
- label: '城市'
- }, {
- name: 'zip',
- label: '邮编'
- }];
- // 添加的时候
- exports.column3 = column3;
- var column4 = [
- // { type:'selection', fixed:true,width:50 },
- {
- type: 'index',
- fixed: true,
- width: 60,
- align: 'center'
- }, {
- name: 'scoreDataName',
- label: '姓名',
- fixed: true,
- width: 140,
- emptyString: '--',
- align: 'center'
- }, {
- name: 'yuwen',
- label: '语文',
- sorter: true,
- align: 'center',
- width: 112
- }, {
- name: 'shuxue',
- label: '数学',
- sorter: true,
- align: 'center',
- width: 112
- }, {
- name: 'yingyu',
- label: '英语',
- sorter: true,
- align: 'center',
- width: 112
- }, {
- name: 'wuli',
- label: '物理',
- sorter: true,
- align: 'center',
- width: 112
- }, {
- name: 'huaxue',
- label: '化学',
- sorter: true,
- align: 'center',
- width: 112
- }, {
- name: 'shengwu',
- label: '生物',
- sorter: true,
- align: 'center',
- width: 112
- }, {
- name: 'lishi',
- label: '历史',
- sorter: true,
- align: 'center',
- width: 112
- }, {
- name: 'dili',
- label: '地理',
- sorter: true,
- align: 'center',
- width: 112
- }, {
- name: 'zhengzhi',
- label: '政治',
- sorter: true,
- align: 'center',
- width: 112
- }, {
- name: 'tiyu',
- label: '体育',
- sorter: true,
- align: 'center',
- width: 112
- }, {
- name: 'kexue',
- label: '科学',
- sorter: true,
- align: 'center',
- width: 112
- }, {
- name: 'meishu',
- label: '美术',
- sorter: true,
- align: 'center',
- width: 112
- }, {
- name: 'yinyue',
- label: '音乐',
- sorter: true,
- align: 'center',
- width: 112
- }, {
- name: 'yishu',
- label: '艺术',
- sorter: true,
- align: 'center',
- width: 112
- }, {
- name: 'wenzong',
- label: '文综',
- sorter: true,
- align: 'center',
- width: 112
- }, {
- name: 'lizong',
- label: '理综',
- sorter: true,
- align: 'center',
- width: 112
- }, {
- name: 'zongfen',
- label: '总分',
- sorter: true,
- align: 'center',
- width: 112
- }, {
- name: 'scoreSort',
- label: '排名',
- sorter: true,
- align: 'center',
- width: 112
- }];
- exports.column4 = column4;
- /***/ }),
- /***/ 751:
- /*!*************************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/serch.png ***!
- \*************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACMAAAAnCAMAAACylgF9AAAAjVBMVEUAAAA0NDQgICAzMzM0NDQzMzMxMTEzMzMzMzM0NDQxMTEzMzM0NDQzMzMyMjIzMzMyMjIxMTExMTEvLy8uLi4zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM0NDQyMjIzMzM0NDQ0NDQzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMyMjIzMzM0NDQ0NDQVWlV2AAAALnRSTlMA+wTr2vUaLvDgDea3dmdROSYgEgijmI1v0cerhoRWSsvDvK+Rgn9jYFtAM0ZOerpDzwAAAWVJREFUOMuVktl2wiAURSFARjWTMY5Va61Tu///81qjdYghWT0Pgcva4dwDiP8p320iAFSvnzUSbmkAP5hoBchZ+ooMfJj0Ped36qSDNciF80wMZ7A+Pix4G1i5T8gUM6htHCv0I9RDnV7cM40Ob9UWc2pKEbC5eUsOjVFPkrfr9J3CcmJ9gku4BJMLizSXKCNKYdOA6XlwFIn9eiRuZaUcYdW66npPT9hVMq96H7Uwe2a/308WLcwb7xUzb2c6vXaV16G154/KxcMf2pkV8XmI+LIiLjK/bFdYmf61kRSZWZBhRHyZFdauSyZ/poZxI3KE4/0FyGUDkvp83KsR5hXyIqbOvXQK2NZOaWwIwqeVBejDw19fU6B+28sAolGchiLMlnMNgYZ6lnCsAaQyANE2dANgX+8yKVdKgj8p4uE5lwK+X/M6oZs7t2Q+mES0K5Hgex1QDKisA9oBn6JDY3QmuuTl4gc6pSOV5GyoYQAAAABJRU5ErkJggg=="
- /***/ }),
- /***/ 752:
- /*!**************************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/adress.png ***!
- \**************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAaCAMAAACaYWzBAAAAVFBMVEUAAABHdepHdOpGdepGdepHdepGdepGd+9GdOpGc+pHdOlGdetGdOpGdOpGdepDc+dAYN85VeRHdepGdepHdOpHdepHdutHdOlEc+lHdeZIeO9Hdeps1OsvAAAAG3RSTlMA8+fMu6yYD/qKdG9mVTwVCATr6NvYjX1HMiAqV6yTAAAAsklEQVQoz23RWRKEIAwE0HZB1HHfte9/z2GwEkf0fVFU6FQITrZMcjp5Ulr8qQaqoYLoDG9MB69PGUh7/GR8yOBsfLEBSPgiARq+aq4Ocd22daxdNCk64ByRZklNAa+Q95CSGl4tARh5+sD78DRCxp57OP0sw2sJjQWsoQbYiBKbptfZAitfrAC6iQ9TB2fPGch3eBUDusOCNwVUFm5JLVQLbkq5LxFoYv+pDR5aQ5oW4gtuKypZStzUxgAAAABJRU5ErkJggg=="
- /***/ }),
- /***/ 753:
- /*!***********************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/map.png ***!
- \***********************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,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"
- /***/ }),
- /***/ 762:
- /*!****************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/plugins/amap-wx.js ***!
- \****************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
- /* WEBPACK VAR INJECTION */(function(wx) {function AMapWX(a) {
- this.key = a.key, this.requestConfig = {
- key: a.key,
- s: "rsx",
- platform: "WXJS",
- appname: a.key,
- sdkversion: "1.2.0",
- logversion: "2.0"
- };
- }
- AMapWX.prototype.getWxLocation = function (a, b) {
- wx.getLocation({
- type: "gcj02",
- success: function success(a) {
- var c = a.longitude + "," + a.latitude;
- wx.setStorage({
- key: "userLocation",
- data: c
- }), b(c);
- },
- fail: function fail(c) {
- wx.getStorage({
- key: "userLocation",
- success: function success(a) {
- a.data && b(a.data);
- }
- }), a.fail({
- errCode: "0",
- errMsg: c.errMsg || ""
- });
- }
- });
- }, AMapWX.prototype.getRegeo = function (a) {
- function c(c) {
- var d = b.requestConfig;
- wx.request({
- url: "https://restapi.amap.com/v3/geocode/regeo",
- data: {
- key: b.key,
- location: c,
- extensions: "all",
- s: d.s,
- platform: d.platform,
- appname: b.key,
- sdkversion: d.sdkversion,
- logversion: d.logversion
- },
- method: "GET",
- header: {
- "content-type": "application/json"
- },
- success: function success(b) {
- var d, e, f, g, h, i, j, k, l;
- b.data.status && "1" == b.data.status ? (d = b.data.regeocode, e = d.addressComponent, f = [], g = "", d && d.roads[0] && d.roads[0].name && (g = d.roads[0].name + "附近"), h = c.split(",")[0], i = c.split(",")[1], d.pois && d.pois[0] && (g = d.pois[0].name + "附近", j = d.pois[0].location, j && (h = parseFloat(j.split(",")[0]), i = parseFloat(j.split(",")[1]))), e.provice && f.push(e.provice), e.city && f.push(e.city), e.district && f.push(e.district), e.streetNumber && e.streetNumber.street && e.streetNumber.number ? (f.push(e.streetNumber.street), f.push(e.streetNumber.number)) : (k = "", d && d.roads[0] && d.roads[0].name && (k = d.roads[0].name), f.push(k)), f = f.join(""), l = [{
- iconPath: a.iconPath,
- width: a.iconWidth,
- height: a.iconHeight,
- name: f,
- desc: g,
- longitude: h,
- latitude: i,
- id: 0,
- regeocodeData: d
- }], a.success(l)) : a.fail({
- errCode: b.data.infocode,
- errMsg: b.data.info
- });
- },
- fail: function fail(b) {
- a.fail({
- errCode: "0",
- errMsg: b.errMsg || ""
- });
- }
- });
- }
- var b = this;
- a.location ? c(a.location) : b.getWxLocation(a, function (a) {
- c(a);
- });
- }, AMapWX.prototype.getWeather = function (a) {
- function d(d) {
- var e = "base";
- a.type && "forecast" == a.type && (e = "all"), wx.request({
- url: "https://restapi.amap.com/v3/weather/weatherInfo",
- data: {
- key: b.key,
- city: d,
- extensions: e,
- s: c.s,
- platform: c.platform,
- appname: b.key,
- sdkversion: c.sdkversion,
- logversion: c.logversion
- },
- method: "GET",
- header: {
- "content-type": "application/json"
- },
- success: function success(b) {
- function c(a) {
- var b = {
- city: {
- text: "城市",
- data: a.city
- },
- weather: {
- text: "天气",
- data: a.weather
- },
- temperature: {
- text: "温度",
- data: a.temperature
- },
- winddirection: {
- text: "风向",
- data: a.winddirection + "风"
- },
- windpower: {
- text: "风力",
- data: a.windpower + "级"
- },
- humidity: {
- text: "湿度",
- data: a.humidity + "%"
- }
- };
- return b;
- }
- var d, e;
- b.data.status && "1" == b.data.status ? b.data.lives ? (d = b.data.lives, d && d.length > 0 && (d = d[0], e = c(d), e["liveData"] = d, a.success(e))) : b.data.forecasts && b.data.forecasts[0] && a.success({
- forecast: b.data.forecasts[0]
- }) : a.fail({
- errCode: b.data.infocode,
- errMsg: b.data.info
- });
- },
- fail: function fail(b) {
- a.fail({
- errCode: "0",
- errMsg: b.errMsg || ""
- });
- }
- });
- }
- function e(e) {
- wx.request({
- url: "https://restapi.amap.com/v3/geocode/regeo",
- data: {
- key: b.key,
- location: e,
- extensions: "all",
- s: c.s,
- platform: c.platform,
- appname: b.key,
- sdkversion: c.sdkversion,
- logversion: c.logversion
- },
- method: "GET",
- header: {
- "content-type": "application/json"
- },
- success: function success(b) {
- var c, e;
- b.data.status && "1" == b.data.status ? (e = b.data.regeocode, e.addressComponent ? c = e.addressComponent.adcode : e.aois && e.aois.length > 0 && (c = e.aois[0].adcode), d(c)) : a.fail({
- errCode: b.data.infocode,
- errMsg: b.data.info
- });
- },
- fail: function fail(b) {
- a.fail({
- errCode: "0",
- errMsg: b.errMsg || ""
- });
- }
- });
- }
- var b = this,
- c = b.requestConfig;
- a.city ? d(a.city) : b.getWxLocation(a, function (a) {
- e(a);
- });
- }, AMapWX.prototype.getPoiAround = function (a) {
- function d(d) {
- var e = {
- key: b.key,
- location: d,
- s: c.s,
- platform: c.platform,
- appname: b.key,
- sdkversion: c.sdkversion,
- logversion: c.logversion
- };
- a.querytypes && (e["types"] = a.querytypes), a.querykeywords && (e["keywords"] = a.querykeywords), wx.request({
- url: "https://restapi.amap.com/v3/place/around",
- data: e,
- method: "GET",
- header: {
- "content-type": "application/json"
- },
- success: function success(b) {
- var c, d, e, f;
- if (b.data.status && "1" == b.data.status) {
- if (b = b.data, b && b.pois) {
- for (c = [], d = 0; d < b.pois.length; d++) {
- e = 0 == d ? a.iconPathSelected : a.iconPath, c.push({
- latitude: parseFloat(b.pois[d].location.split(",")[1]),
- longitude: parseFloat(b.pois[d].location.split(",")[0]),
- iconPath: e,
- width: 22,
- height: 32,
- id: d,
- name: b.pois[d].name,
- address: b.pois[d].address
- });
- }
- f = {
- markers: c,
- poisData: b.pois
- }, a.success(f);
- }
- } else a.fail({
- errCode: b.data.infocode,
- errMsg: b.data.info
- });
- },
- fail: function fail(b) {
- a.fail({
- errCode: "0",
- errMsg: b.errMsg || ""
- });
- }
- });
- }
- var b = this,
- c = b.requestConfig;
- a.location ? d(a.location) : b.getWxLocation(a, function (a) {
- d(a);
- });
- }, AMapWX.prototype.getStaticmap = function (a) {
- function f(b) {
- c.push("location=" + b), a.zoom && c.push("zoom=" + a.zoom), a.size && c.push("size=" + a.size), a.scale && c.push("scale=" + a.scale), a.markers && c.push("markers=" + a.markers), a.labels && c.push("labels=" + a.labels), a.paths && c.push("paths=" + a.paths), a.traffic && c.push("traffic=" + a.traffic);
- var e = d + c.join("&");
- a.success({
- url: e
- });
- }
- var e,
- b = this,
- c = [],
- d = "https://restapi.amap.com/v3/staticmap?";
- c.push("key=" + b.key), e = b.requestConfig, c.push("s=" + e.s), c.push("platform=" + e.platform), c.push("appname=" + e.appname), c.push("sdkversion=" + e.sdkversion), c.push("logversion=" + e.logversion), a.location ? f(a.location) : b.getWxLocation(a, function (a) {
- f(a);
- });
- }, AMapWX.prototype.getInputtips = function (a) {
- var b = this,
- c = b.requestConfig,
- d = {
- key: b.key,
- s: c.s,
- platform: c.platform,
- appname: b.key,
- sdkversion: c.sdkversion,
- logversion: c.logversion
- };
- a.location && (d["location"] = a.location), a.keywords && (d["keywords"] = a.keywords), a.type && (d["type"] = a.type), a.city && (d["city"] = a.city), a.citylimit && (d["citylimit"] = a.citylimit), wx.request({
- url: "https://restapi.amap.com/v3/assistant/inputtips",
- data: d,
- method: "GET",
- header: {
- "content-type": "application/json"
- },
- success: function success(b) {
- b && b.data && b.data.tips && a.success({
- tips: b.data.tips
- });
- },
- fail: function fail(b) {
- a.fail({
- errCode: "0",
- errMsg: b.errMsg || ""
- });
- }
- });
- }, AMapWX.prototype.getDrivingRoute = function (a) {
- var b = this,
- c = b.requestConfig,
- d = {
- key: b.key,
- s: c.s,
- platform: c.platform,
- appname: b.key,
- sdkversion: c.sdkversion,
- logversion: c.logversion
- };
- a.origin && (d["origin"] = a.origin), a.destination && (d["destination"] = a.destination), a.strategy && (d["strategy"] = a.strategy), a.waypoints && (d["waypoints"] = a.waypoints), a.avoidpolygons && (d["avoidpolygons"] = a.avoidpolygons), a.avoidroad && (d["avoidroad"] = a.avoidroad), wx.request({
- url: "https://restapi.amap.com/v3/direction/driving",
- data: d,
- method: "GET",
- header: {
- "content-type": "application/json"
- },
- success: function success(b) {
- b && b.data && b.data.route && a.success({
- paths: b.data.route.paths,
- taxi_cost: b.data.route.taxi_cost || ""
- });
- },
- fail: function fail(b) {
- a.fail({
- errCode: "0",
- errMsg: b.errMsg || ""
- });
- }
- });
- }, AMapWX.prototype.getWalkingRoute = function (a) {
- var b = this,
- c = b.requestConfig,
- d = {
- key: b.key,
- s: c.s,
- platform: c.platform,
- appname: b.key,
- sdkversion: c.sdkversion,
- logversion: c.logversion
- };
- a.origin && (d["origin"] = a.origin), a.destination && (d["destination"] = a.destination), wx.request({
- url: "https://restapi.amap.com/v3/direction/walking",
- data: d,
- method: "GET",
- header: {
- "content-type": "application/json"
- },
- success: function success(b) {
- b && b.data && b.data.route && a.success({
- paths: b.data.route.paths
- });
- },
- fail: function fail(b) {
- a.fail({
- errCode: "0",
- errMsg: b.errMsg || ""
- });
- }
- });
- }, AMapWX.prototype.getTransitRoute = function (a) {
- var b = this,
- c = b.requestConfig,
- d = {
- key: b.key,
- s: c.s,
- platform: c.platform,
- appname: b.key,
- sdkversion: c.sdkversion,
- logversion: c.logversion
- };
- a.origin && (d["origin"] = a.origin), a.destination && (d["destination"] = a.destination), a.strategy && (d["strategy"] = a.strategy), a.city && (d["city"] = a.city), a.cityd && (d["cityd"] = a.cityd), wx.request({
- url: "https://restapi.amap.com/v3/direction/transit/integrated",
- data: d,
- method: "GET",
- header: {
- "content-type": "application/json"
- },
- success: function success(b) {
- if (b && b.data && b.data.route) {
- var c = b.data.route;
- a.success({
- distance: c.distance || "",
- taxi_cost: c.taxi_cost || "",
- transits: c.transits
- });
- }
- },
- fail: function fail(b) {
- a.fail({
- errCode: "0",
- errMsg: b.errMsg || ""
- });
- }
- });
- }, AMapWX.prototype.getRidingRoute = function (a) {
- var b = this,
- c = b.requestConfig,
- d = {
- key: b.key,
- s: c.s,
- platform: c.platform,
- appname: b.key,
- sdkversion: c.sdkversion,
- logversion: c.logversion
- };
- a.origin && (d["origin"] = a.origin), a.destination && (d["destination"] = a.destination), wx.request({
- url: "https://restapi.amap.com/v4/direction/bicycling",
- data: d,
- method: "GET",
- header: {
- "content-type": "application/json"
- },
- success: function success(b) {
- b && b.data && b.data.data && a.success({
- paths: b.data.data.paths
- });
- },
- fail: function fail(b) {
- a.fail({
- errCode: "0",
- errMsg: b.errMsg || ""
- });
- }
- });
- }, module.exports.AMapWX = AMapWX;
- /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/wx.js */ 1)["default"]))
- /***/ }),
- /***/ 821:
- /*!*************************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/static/mine/ncheck.png ***!
- \*************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFoAAAAyCAMAAADr0TwHAAAAY1BMVEUAAADBwcHBwcHCwsLBwcHCwsLBwcHBwcHBwcHAwMDBwcHBwcHCwsK6urq5ubnBwcHAwMDCwsLCwsLDw8PBwcH////7+/vOzs7Ly8vm5ubh4eH19fX09PTu7u7s7OzQ0NDDw8PI8bSPAAAAFHRSTlMA8b8i3tivpZaAWzIZDQZim8iaYc5rcBAAAAFuSURBVFjDtZjbkoJADERnELkqIE4id/3/r9w1lBSrIIluzgvKQxfVCT0J5pXdOfJ869hY34vOO7PJLt67j9jH79XTwH1BkK4KH0L3JeFhWTmZ/L02Q4uA2A7NVaZtkwXhrHQjlxphBtYXkXiZPSsfPUdUPbzQVxJt7/ikfKLbtxoWqW8C7dMf7cwbH7mDFbpK8txzT4rRZYRVUOJ4MeuNDWWxdjL1syU3EN6CAk/so79DqmAHG3SCWoaGSOlPA5s0jk9K0gHZAQwElgSUdfSzBwa943PPwZi6A1gIuiT+laZ8roFFLcjvhx8ILFDkSE4pCkwEGZubiNd58v6LDAXTAEwGQUgZ/35pgUnLl/aN5VVRXkdr6AJsHJ9RGjWkFQ1RLKNi8ym+MoovumI86YWq4lGgeIDpHbuKw4LeiKM4mCmPk0SpMAQrje6qC4f+mkRkxf8sd0XGWEnho5VUf5HWX//1P1pM6rn8U0u+oPsDYeQ8WPlAThkAAAAASUVORK5CYII="
- /***/ }),
- /***/ 838:
- /*!*****************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/api/mine/payslip.js ***!
- \*****************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
- "use strict";
- var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4);
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.getpayDelFn = getpayDelFn;
- exports.getpayImporttFn = getpayImporttFn;
- exports.getpayListFn = getpayListFn;
- var _request = _interopRequireDefault(__webpack_require__(/*! @/utils/request */ 44));
- // 工资条 xiaoYuan:data:importData
- function getpayListFn(data) {
- return (0, _request.default)({
- 'url': '/xiaoYuan/pay/list',
- 'method': 'get',
- 'data': data
- });
- }
- // 导入 xiaoYuan:data:importData
- function getpayImporttFn(data) {
- return (0, _request.default)({
- 'url': '/xiaoYuan/pay/importData',
- 'method': 'post',
- 'data': data
- });
- }
- // 删除 xiaoYuan:data:remove
- function getpayDelFn(data) {
- return (0, _request.default)({
- 'url': '/xiaoYuan/pay/delete/' + data,
- 'method': 'get'
- });
- }
- /***/ }),
- /***/ 839:
- /*!*********************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/work/static/pay/pbg.png ***!
- \*********************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,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"
- /***/ }),
- /***/ 840:
- /*!*********************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/work/static/pay/pup.png ***!
- \*********************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAKCAMAAACOlf6TAAAAM1BMVEUAAADs7Ozt7e3r6+vs7Ozt7e3t7e3t7e3r6+vs7Ozs7Ozt7e3t7e3u7u7q6ur////s7Ozzj75WAAAAEHRSTlMA6t0pHY6Sfn79v4GASTwHvAVcpQAAAD9JREFUCNdNy1kOgCAAA9FxQXHv/U9rQkhpP1+m8D3k1hdO1ZT5gE3aQzTRrIYs4C4EinQNsd0p/Vsso7PYLD/mbwJbt27+MwAAAABJRU5ErkJggg=="
- /***/ }),
- /***/ 841:
- /*!************************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/work/static/pay/noicon.png ***!
- \************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,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"
- /***/ }),
- /***/ 858:
- /*!*************************************************************************!*\
- !*** D:/work/work/boman/school/qs_cfschool/mine/static/score/expay.png ***!
- \*************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = "data:image/png;base64,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"
- /***/ })
- }]);
- //# sourceMappingURL=../../../.sourcemap/mp-weixin/mine/common/vendor.js.map
|