123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307 |
- <template>
- <div class="hcfdlab">
- <div class="scal">
- <div class="toolbar-part-detail lbg_color1 ">
- <!-- 工具栏 -->
- <!-- <transformtool ref="transform" :servertype="servertype" :projectId='project.projectId' :wstep='wstep' :bStep='bStep' :vStep='vStep'></transformtool> -->
- <el-tabs
- v-model="activeName"
- type="card"
- @tab-click="handleClick"
- class="tabsel"
- >
- <!-- <el-tab-pane label="几何建模" name="one"><geometry></geometry></el-tab-pane> -->
- <!-- 几何导入 -->
- <el-tab-pane
- label="几何导入"
- name="one"
- >
- <div class="imgzong">
- <div
- class="listitem lbg_color3 bkcolor3"
- v-for="(item,index) in geometrylist"
- :key="'one0-'+ index"
- :class="{activeOrange:active=='one0-'+ index}"
- @click="clickgeometry($event,index,'one0-'+ index)"
- >
- <div class="item2 ">
- <el-image
- :src="item.icon"
- fit="cover"
- />
- <span>{{item.titlie}}</span>
- </div>
- </div>
- </div>
- </el-tab-pane>
- <!-- 网格划分 -->
- <el-tab-pane
- label="网格划分"
- name="twos"
- >
- <div class="imgzong">
- <div
- class="listitem lbg_color3 bkcolor3"
- v-for="(item,index) in meshlist"
- :key="'one-'+ index"
- :class="{activeOrange:active=='one-'+ index}"
- @click="clickgeometry($event,index,'one-'+ index)"
- >
- <div class="item2 ">
- <el-image
- :src="item.icon"
- fit="cover"
- />
- <span>{{item.titlie}}</span>
- </div>
- </div>
- </div>
- </el-tab-pane>
- <!-- 通用设置 -->
- <el-tab-pane
- :label="$t('HCFD.geneal.geneal')"
- name="two"
- >
- <div class="imgzong">
- <div class="listitem lbg_color3 bkcolor3">
- <div
- class="item1"
- v-for="(itemcj,index) in twolist"
- :key="'two-'+ index"
- :class="{activeOrange:active=='two-'+ index}"
- @click="clickgeometry($event,index,'two-'+ index)"
- >
- <el-image
- :src="itemcj.icon"
- fit="cover"
- />
- <span>{{itemcj.titlie}}</span>
- </div>
- </div>
- <!--分析类型 -->
- <div class="listitem lbg_color3 radiocontent bkcolor3">
- <div class="item1">
- <el-form>
- <div class="radio_text text_color">
- <div class="classfelx">
- <el-tooltip
- class="item"
- effect="dark"
- content="分析类型"
- placement="bottom"
- >
- <el-radio
- v-model="parameterObj.nmlParam.analysis_Type"
- label="Steady"
- >{{ $t("HCFD.geneal.steady") }}</el-radio>
- </el-tooltip>
- </div>
- <div class="classfelx">
- <el-tooltip
- class="item"
- effect="dark"
- content="分析类型"
- placement="bottom"
- >
- <el-radio
- v-model="parameterObj.nmlParam.analysis_Type"
- label="Unsteady"
- >{{ $t("HCFD.geneal.unsteady") }}</el-radio>
- </el-tooltip>
- </div>
- </div>
- </el-form>
- </div>
- </div>
- <!-- 并行类型 -->
- <div class="listitem lbg_color3 radiocontent bkcolor3">
- <div class="item1">
- <el-form>
- <div class="radio_text text_color">
- <el-radio-group
- v-model="parameterObj.nmlParam.parallel_Optional"
- @input="leixingchange($event)"
- >
- <div>
- <el-tooltip
- class="item"
- effect="dark"
- content="并行类型"
- placement="bottom"
- >
- <el-radio label="Serial">
- {{ $t("HCFD.geneal.serial") }}</el-radio>
- </el-tooltip>
- </div>
- <div>
- <el-tooltip
- class="item"
- effect="dark"
- content="并行类型"
- placement="bottom"
- >
- <el-radio label="MPI Parallel">{{
- $t("HCFD.geneal.mpi")
- }}</el-radio>
- </el-tooltip>
- </div>
- </el-radio-group>
- </div>
- </el-form>
- </div>
- </div>
- </div>
- </el-tab-pane>
- <!-- 物理模型 -->
- <el-tab-pane
- :label="$t('HCFD.physics.physics')"
- name="three"
- >
- <div class="imgzong">
- <div
- class="listitem lbg_color3 bkcolor3"
- v-for="(item,index) in physicslist"
- :key="'three-'+ index"
- :class="{activeOrange:active=='three-'+ index}"
- @click="clickgeometry($event,index,'three-'+ index)"
- >
- <div class="item2 ">
- <el-image
- :src="item.icon"
- fit="cover"
- />
- <span>{{item.titlie}}</span>
- </div>
- </div>
- <div class="listitem lbg_color3 bkcolor3">
- <div
- class="item1"
- v-for="(item,index) in physicslist2"
- :key="'three2-'+ index"
- :class="{activeOrange:active=='three2-'+ index}"
- @click="clickgeometry($event,index,'three2-'+ index)"
- >
- <el-image
- :src="item.icon"
- fit="cover"
- />
- <span>{{item.titlie}}</span>
- </div>
- </div>
- <div class="listitem lbg_color3 bkcolor3">
- <div
- class="item1"
- v-for="(item,index) in physicslist1"
- :key="'three1-'+ index"
- :class="{activeOrange:active=='three1-'+ index}"
- @click="clickgeometry($event,index,'three1-'+ index)"
- >
- <el-image
- :src="item.icon"
- fit="cover"
- />
- <span>{{item.titlie}}</span>
- </div>
- </div>
- </div>
- </el-tab-pane>
- <!-- 求解控制 -->
- <el-tab-pane
- :label="$t('HCFD.solution.solution')"
- name="four"
- >
- <div class="imgzong">
- <div
- class="listitem lbg_color3 bkcolor3"
- v-for="(item,index) in solutionlist"
- :key="'four-'+ index"
- :class="{activeOrange:active=='four-'+ index}"
- @click="clickgeometry($event,index,'four-'+ index)"
- >
- <div class="item2 ">
- <el-image
- :src="item.icon"
- fit="cover"
- />
- <span>{{item.titlie}}</span>
- </div>
- </div>
- <div
- class="listitem lbg_color3 bkcolor3 imgsolution"
- v-for="(item,index) in solutionlist2"
- :key="'four2-'+ index"
- :class="{activeOrange:active=='four2-'+ index}"
- @click="clickgeometry($event,index,'four2-'+ index)"
- >
- <div class="item2 ">
- <div class="itemimg">
- <el-image
- :src="item.icon"
- fit="cover"
- />
- </div>
- <span>{{item.titlie}}</span>
- </div>
- </div>
- <div
- class="listitem lbg_color3 bkcolor3 imgsolution"
- v-for="(item,index) in solutionlist21"
- :key="'four2-1'+ index"
- :class="{activeOrange:active=='four2-1'+ index}"
- @click="clickgeometry($event,index,'four2-1'+ index)"
- >
- <div class="item2 ">
- <el-image
- :src="item.icon"
- fit="cover"
- />
- <span>{{item.titlie}}</span>
- </div>
- </div>
- <div class="listitem lbg_color3 bkcolor3">
- <div
- class="item1"
- v-for="(item,index) in solutionlist3"
- :key="'four3-'+ index"
- :class="{activeOrange:active=='four3-'+ index}"
- @click="clickgeometry($event,index,'four3-'+ index)"
- >
- <el-image
- :src="item.icon"
- fit="cover"
- />
- <span>{{item.titlie}}</span>
- </div>
- </div>
- <div
- class="listitem lbg_color3 bkcolor3 imgsolution"
- v-for="(item,index) in runlist"
- :key="'four41'+ index"
- :class="{activeOrange:active=='four41'+ index}"
- @click="clickgeometry($event,index,'four41'+ index)"
- >
- <div class="item2 ">
- <el-image
- :src="item.icon"
- fit="cover"
- />
- <span>{{item.titlie}}</span>
- </div>
- </div>
- </div>
- </el-tab-pane>
- <!-- 结果显示 -->
- <el-tab-pane
- :label=" $t('HCFD.results.results')"
- name="five"
- >
- <div
- class="imgzong"
- v-if="lsolverState=='2'"
- >
- <div class="listitem lbg_color3 bkcolor3">
- <div
- class="item1 "
- v-for="(item,index) in resultslist"
- :key="'five-'+ index"
- :class="{activeOrange:active=='five-'+ index}"
- @click="clickgeometry($event,index,'five-'+ index)"
- >
- <el-image
- :src="item.icon"
- fit="cover"
- />
- <span>{{item.titlie}}</span>
- </div>
- </div>
- <!-- <div class="listitem lbg_color3 bkcolor3" style=" display: flex" >
- <div>
- <div class="item1 " v-for="(item,index) in plotslsit" :key="'five1-'+ index" :class="{activeOrange:active=='five1-'+ index}" @click="clickgeometry($event,index,'five1-'+ index)" >
- <el-image :src="item.icon" fit="cover" />
- <span >{{item.titlie}}</span>
- </div>
- </div>
- <div>
- <div class="item1 " v-for="(item,index) in plotslsit1" :key="'five2-'+ index" :class="{activeOrange:active=='five2-'+ index}" @click="clickgeometry($event,index,'five2-'+ index)" >
- <el-image :src="item.icon" fit="cover" />
- <span >{{item.titlie}}</span>
- </div>
- </div>
- <div>
- <div class="item1 " v-for="(item,index) in plotslsit2" :key="'five3-'+ index" :class="{activeOrange:active=='five3-'+ index}" @click="clickgeometry($event,index,'five3-'+ index)" >
- <el-image :src="item.icon" fit="cover" />
- <span >{{item.titlie}}</span>
- </div>
- </div>
- </div> -->
- <!-- <div class="listitem lbg_color3 bkcolor3" >
- <div class="item1 " v-for="(item,index) in samplelist" :key="'five4-'+ index" :class="{activeOrange:active=='five4-'+ index}" @click="clickgeometry($event,index,'five4-'+ index)" >
- <el-image :src="item.icon" fit="cover" />
- <span >{{item.titlie}}</span>
- </div>
-
- </div> -->
- <!-- <div class="listitem lbg_color3 bkcolor3" style=" display: flex" >
- <div>
- <div class="item1 " v-for="(item,index) in generatelist" :key="'five5-'+ index" :class="{activeOrange:active=='five5-'+ index}" @click="clickgeometry($event,index,'five5-'+ index)" >
- <el-image :src="item.icon" fit="cover" />
- <span >{{item.titlie}}</span>
- </div>
- </div>
- <div>
- <div class="item1 " v-for="(item,index) in generatelist2" :key="'five6-'+ index" :class="{activeOrange:active=='five6-'+ index}" @click="clickgeometry($event,index,'five6-'+ index)" >
- <el-image :src="item.icon" fit="cover" />
- <span >{{item.titlie}}</span>
- </div>
- </div>
-
- </div> -->
- <div
- class="listitem lbg_color3 bkcolor3"
- style=" display: flex"
- >
- <div>
- <div
- class="item1 "
- v-for="(item,index) in displaylist"
- :key="'five7-'+ index"
- :class="{activeOrange:active=='five7-'+ index}"
- @click="clickgeometry($event,index,'five7-'+ index)"
- >
- <el-image
- :src="item.icon"
- fit="cover"
- />
- <span>{{item.titlie}}</span>
- </div>
- </div>
- <div>
- <div
- class="item1 "
- v-for="(item,index) in displaylist2"
- :key="'five8-'+ index"
- :class="{activeOrange:active=='five8-'+ index}"
- @click="clickgeometry($event,index,'five8-'+ index)"
- >
- <el-image
- :src="item.icon"
- fit="cover"
- />
- <span>{{item.titlie}}</span>
- </div>
- </div>
- </div>
- <!-- <div class="listitem lbg_color3 bkcolor3" >
- <div class="item1 " v-for="(item,index) in animationlist" :key="'five9-'+ index" :class="{activeOrange:active=='five9-'+ index}" @click="clickgeometry($event,index,'five9-'+ index)" >
- <el-image :src="item.icon" fit="cover" />
- <span >{{item.titlie}}</span>
- </div>
- </div> -->
- <div
- class="listitem lbg_color3 bkcolor3"
- v-for="(item,index) in animationlist"
- :key="'five9-'+ index"
- :class="{activeOrange:active=='five9-'+ index}"
- @click="clickgeometry($event,index,'five9-'+ index)"
- >
- <div class="item2 ">
- <el-image
- :src="item.icon"
- fit="cover"
- />
- <span>{{item.titlie}}</span>
- </div>
- </div>
- <div
- class="listitem lbg_color3 bkcolor3 imgsolution"
- v-for="(item,index) in solutionlist22"
- :key="'four44-'+ index"
- :class="{activeOrange:active=='four44-'+ index}"
- @click="clickgeometry($event,index,'four44-'+ index)"
- >
- <div class="item2 ">
- <el-image
- :src="item.icon"
- fit="cover"
- />
- <span>{{item.titlie}}</span>
- </div>
- </div>
- <!-- <div class="listitem lbg_color3 bkcolor3" >
- <div class="item1 " v-for="(item,index) in Cuelist" :key="'five9-'+ index" :class="{activeOrange:active=='five10-'+ index}" @click="clickgeometry($event,index,'five10-'+ index)" >
- <el-image :src="item.icon" fit="cover" />
- <span >{{item.titlie}}</span>
- </div>
- </div> -->
- </div>
- </el-tab-pane>
- <!-- 工具 -->
- <el-tab-pane
- :label="$t('HCFD.tool.unitConversion')"
- name="six"
- >
- <div class="imgzong">
- <div
- class="item1"
- v-for="(item,index) in unitlist "
- :key="'six-'+ index"
- :class="{activeOrange:active=='six-'+ index}"
- @click="clickgeometry($event,index,'six-'+ index)"
- >
- <el-tooltip
- class="item"
- effect="dark"
- :content="item.titlie"
- placement="bottom"
- >
- <el-image
- :src="item.icon"
- fit="cover"
- />
- </el-tooltip>
- </div>
- </div>
- </el-tab-pane>
- </el-tabs>
- </div>
- </div>
- <!-- 几何导入 -->
- <el-dialog
- v-if="active=='one0-0'"
- :visible.sync="dialog.geometry_upload"
- :close-on-click-modal="false"
- @close='activecleer()'
- class="dialog"
- :modal='false'
- custom-class='dialoglocation dialog_color'
- width="385px"
- v-draggable
- v-draggleft='[styX.left]'
- >
- <div
- slot="title"
- class=dialog_header
- >
- <el-image
- class="imge"
- :src="p22"
- fit="cover"
- />
- <span class="text-color">几何导入</span>
- </div>
- <el-form>
- <vue-uploader
- ref="geometryugrid"
- :projectId="project.projectId"
- :solverType="'hcfd'"
- :accept="'.igs,stp,sat'"
- :name="'Load File'"
- :upId="'3'"
- ></vue-uploader>
- </el-form>
- <div
- slot="footer"
- class="dialog-footer"
- >
- <el-button @click="dialog.geometry_upload = false">{{ $t("HCFD.file.cancel")}}</el-button>
- <el-button
- type="primary"
- @click="geometryup();dialog.geometry_upload = false"
- >{{ $t("HCFD.file.ok")}}</el-button>
- </div>
- </el-dialog>
- <!-- 文件上传 -->
- <el-dialog
- v-if="active=='one-0'"
- :visible.sync="dialog.upload_visiable"
- :close-on-click-modal="false"
- @close='activecleer()'
- class="dialog"
- :modal='false'
- custom-class='dialoglocation dialog_color'
- width="385px"
- v-draggable
- v-draggleft='[styX.left]'
- >
- <div
- slot="title"
- class=dialog_header
- >
- <el-image
- class="imge"
- :src="q4"
- fit="cover"
- />
- <span class="text-color">文件上传</span>
- </div>
- <el-form>
- <el-form-item label="File Type">
- <el-radio
- disabled
- v-model="project.fileType"
- label="binary"
- >{{ $t("HCFD.file.binary") }}</el-radio>
- <el-radio
- v-model="project.fileType"
- label="ascii"
- >{{ $t("HCFD.file.ascii")}}</el-radio>
- </el-form-item>
- <vue-uploader
- ref="ugrid"
- :projectId="project.projectId"
- :solverType="'hcfd'"
- :accept="'.ugrid'"
- :name="'Load Grid File'"
- :upId="'2'"
- ></vue-uploader>
- </el-form>
- <div
- slot="footer"
- class="dialog-footer"
- >
- <el-button @click="dialog.upload_visiable = false">{{ $t("HCFD.file.cancel")}}</el-button>
- <el-button
- type="primary"
- @click="runugrid();dialog.upload_visiable = false"
- >{{ $t("HCFD.file.ok")}}</el-button>
- </div>
- </el-dialog>
- <!-- 网格自动划分 -->
- <el-dialog
- v-if="active=='one-2'"
- :visible.sync="dialog.mesh_generation"
- :close-on-click-modal="false"
- @close='activecleer()'
- class="dialog"
- :modal='false'
- custom-class='dialoglocation dialog_color'
- width="385px"
- v-draggable
- v-draggleft='[styX.left]'
- >
- <div
- slot="title"
- class=dialog_header
- >
- <el-image
- class="imge"
- :src="p21"
- fit="cover"
- />
- <span class="text-color">网格自动划分</span>
- </div>
- <div class="selecr">
- <el-form>
- <el-form-item
- label="格式选择"
- :label-width="formLabelWidth5"
- >
- <el-select
- v-model="objmesh.strResultFormat"
- placeholder="请选择"
- >
- <el-option
- v-for="item in strResultFormatlist"
- :key="item.value"
- :label="item.name"
- :value="item.value"
- >
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item
- label="划分类型"
- :label-width="formLabelWidth5"
- >
- <el-select
- v-model="meshval"
- placeholder="请选择"
- @change="Partitiontype"
- >
- <el-option
- v-for="item in meshvallist"
- :key="item.value"
- :label="item.name"
- :value="item.value"
- >
- </el-option>
- </el-select>
- </el-form-item>
- <div v-if="meshval=='0'">
- <div class="radio_text text_color liangf">
- <div class="classfelx" style="text-align: center;">
- <el-radio
- v-model="meshface"
- label="物理尺寸模型"
- >物理尺寸模型</el-radio>
- </div>
- <div class="classfelx">
- <el-radio
- v-model="meshface"
- label="几何尺寸模型"
- >几何尺寸模型</el-radio
- >
- </div>
- </div>
- <el-form-item
- label="面网格类型"
- :label-width="formLabelWidth5"
- >
- <el-select
- v-model="objmesh.surfParam.surfStyle"
- placeholder="请选择"
- >
- <el-option
- v-for="item in meshvallist1"
- :key="item.value"
- :label="item.name"
- :value="item.value"
- >
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item
- label="模式类型"
- :label-width="formLabelWidth5"
- >
- <el-select
- v-model="patternval"
- placeholder="请选择"
- >
- <el-option
- v-for="item in patternlist"
- :key="item.value"
- :label="item.name"
- :value="item.value"
- >
- </el-option>
- </el-select>
- </el-form-item>
- <div class="radio_text text_color liangf" v-if="patternval=='1'" style="display:none">
- <div class="classfelx" style="text-align: center;">
- <el-checkbox
- v-model="setface"
- label="on"
- >面设置大小</el-checkbox >
- </div>
- <div class="classfelx">
- <el-checkbox
- v-model="meshbrim"
- label="off"
- >边设置大小</el-checkbox
- >
- </div>
- </div>
- <div class='selecttype' v-if="setface==true">
- <span class="meshcalss"> <el-checkbox v-model="facecheckbox" label="局部面Id设置大小" @change="facechange"></el-checkbox></span>
- <div class="listbtn">
- <el-button plain class="anniu">添加</el-button>
- <el-button plain class="anniu">删除</el-button>
- <el-button plain class="anniu">插入</el-button>
- </div>
- <el-form>
- <el-table
- :data="meshtableData"
- style="width: 100%"
- border
- >
- <el-table-column
- type="index"
- width="50">
- </el-table-column>
- <el-table-column align="center" label="ID">
- <!-- //slot-scope="scope" -->
- <template slot-scope="scope" >
- <el-input v-model="scope.id" autocomplete="off"></el-input>
- </template>
- </el-table-column>
- <el-table-column align="center" label="大小">
- <template slot-scope="scope">
- <el-input v-model="scope.da" autocomplete="off"></el-input>
- </template>
- </el-table-column>
- </el-table>
- </el-form>
- </div>
- <div class='selecttype' v-if="meshbrim==true">
- <span class="meshcalss"> <el-checkbox v-model="facecheckbox" label="局部边Id设置大小" @change="facechange"></el-checkbox></span>
- <div class="listbtn">
- <el-button plain class="anniu">添加</el-button>
- <el-button plain class="anniu">删除</el-button>
- <el-button plain class="anniu">插入</el-button>
- </div>
- </div>
- <el-form-item label="最大尺寸" :label-width="formLabelWidth5">
- <el-input v-model="objmesh.surfParam.max_size" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item label="最小尺寸" :label-width="formLabelWidth5">
- <el-input v-model="objmesh.surfParam.min_size" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item label="相邻网格边比率" :label-width="formLabelWidth5">
- <el-input v-model="form.name" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item label="全局几何大小" :label-width="formLabelWidth5">
- <el-input v-model="objmesh.surfParam.global_physical_size" autocomplete="off"></el-input>
- </el-form-item>
- <div v-if="meshface=='几何尺寸模型'">
- <el-form-item label="弦误差" :label-width="formLabelWidth5">
- <el-input v-model="objmesh.surfParam1.chordal_error" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item label="逼近角度" :label-width="formLabelWidth5">
- <el-input v-model="objmesh.surfParam1.geometric_approximation_angle" autocomplete="off"></el-input>
- </el-form-item>
- </div>
- <div class='selecttype'>
- <span class="meshcalss">优化设置选择</span>
- <!-- <el-checkbox-group @change="checksetchange"> -->
- <el-checkbox v-model="objmesh.surfParam2.correct_surface_intersections" true-label="yes" false-label="no" @change="checksetchange" label="纠正表面相交"></el-checkbox>
- <el-checkbox v-model="objmesh.surfParam2.optimisation" true-label="yes" false-label="no" label="优化网络" :disabled='disabledset'></el-checkbox>
- <el-checkbox v-model="objmesh.surfParam2.remove_duplicate_cad_faces" true-label="yes" false-label="no" label="移除重复CAD面"></el-checkbox>
- <!-- </el-checkbox-group> -->
- <el-form-item
- label="单元阶数选择:"
- :label-width="formLabelWidth5"
- >
- <el-select
- v-model="objmesh.surfParam2.element_order"
- placeholder="请选择"
- >
- <el-option
- v-for="item in elsementlist"
- :key="item.value"
- :label="item.name"
- :value="item.value"
- >
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="雅可比数值:" :label-width="formLabelWidth5">
- <el-input v-model="objmesh.surfParam2.scaled_jacobian_threshold_value" autocomplete="off"></el-input>
- </el-form-item>
- </div>
- <div class='selecttype'>
- <span class="meshcalss"> <el-checkbox v-model="facecheckbox" label="面网格生成后的优化设置选择" @change="facechange"></el-checkbox></span>
- <div class="jieguo">
- <div class="jiegleft">
- <div class="radio_text text_color liangf" style="line-height: 160px;">
- <div class="classfelx" style="text-align: center;">
- <el-radio
- v-model="cleanerParam1.use_default_settings_for"
- label="structure"
- :disabled="disabledface"
- >结构</el-radio>
- </div>
- <div class="classfelx">
- <el-radio
- v-model="cleanerParam1.use_default_settings_for"
- label="fluid"
- :disabled="disabledface"
- >流体</el-radio
- >
- </div>
- </div>
- </div>
- <div class="jiegright">
- <div class='selecttype' v-if="cleanerParam1.use_default_settings_for=='structure'">
- <span class="meshcalss "> <el-checkbox :disabled="disabledface" label="结构使用默认值" v-model="jiegradioval" @change="jiegchange"></el-checkbox></span>
- <el-form-item label="重叠角度" :label-width="formLabelWidth2" >
- <el-input v-model="cleanerParam1.overlap_angle" autocomplete="off" :disabled='jiegdisabled' ></el-input>
- </el-form-item>
- <el-form-item label="长度阀值" :label-width="formLabelWidth2" >
- <el-input v-model="cleanerParam1.resolution_length" autocomplete="off" :disabled='jiegdisabled'></el-input>
- </el-form-item>
- </div>
- <div class='selecttype' v-else>
- <span class="meshcalss"> <el-checkbox label="流体使用默认值" v-model="jiegradioval"></el-checkbox></span>
- <el-form-item label="重叠角度" :label-width="formLabelWidth2 ">
- <el-input v-model="cleanerParam1.overlap_angle" autocomplete="off" :disabled='jiegdisabled'></el-input>
- </el-form-item>
- <el-form-item label="长度阀值" :label-width="formLabelWidth2" >
- <el-input v-model="cleanerParam1.resolution_length" autocomplete="off" :disabled='jiegdisabled'></el-input>
- </el-form-item>
- </div>
- </div>
- </div>
- </div>
-
- </div>
- <div v-if="meshval=='1'">
- <el-form-item
- label="组件"
- :label-width="formLabelWidth5"
- >
- <el-select
- v-model="tetraParam1.components"
- placeholder="请选择"
- >
- <el-option
- v-for="item in tetrahedron"
- :key="item.value"
- :label="item.name"
- :value="item.value"
- >
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="级配" :label-width="formLabelWidth5" >
- <el-input v-model="tetraParam1.gradation" autocomplete="off"></el-input>
- </el-form-item>
- </div>
- <div v-if="meshval=='2'">
- <el-form-item
- label="组件"
- :label-width="formLabelWidth5"
- >
- <el-select
- v-model="hexaParam1.components"
- placeholder="请选择"
- >
- <el-option
- v-for="item in hexahedral "
- :key="item.value"
- :label="item.name"
- :value="item.value"
- >
- </el-option>
- </el-select>
- </el-form-item>
- </div>
- <div v-if="meshval=='3'">
- <el-form-item
- label="网格生成"
- :label-width="formLabelWidth5"
- >
- <el-select
- v-model="hybridParam1.element_generation"
- placeholder="请选择"
- >
- <el-option
- v-for="item in mixture"
- :key="item.value"
- :label="item.name"
- :value="item.value"
- >
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item
- label="边界层增长方向"
- :label-width="formLabelWidth5"
- >
- <el-select
- v-model="hybridParam1.normal_direction"
- placeholder="请选择"
- >
- <el-option
- v-for="item in boundarylayer "
- :key="item.value"
- :label="item.name"
- :value="item.value"
- >
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="边界层层数" :label-width="formLabelWidth5" >
- <el-input v-model="hybridParam1.number_of_boundary_layers" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item label="边界层增长参数" :label-width="formLabelWidth5" >
- <el-input v-model="hybridParam1.boundary_layer_geometric_progression" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item label="初始层高度" :label-width="formLabelWidth5" >
- <el-input v-model="hybridParam1.boundary_layer_global_initial_height" autocomplete="off"></el-input>
- </el-form-item>
- </div>
- <!-- <div class="heigeinput">
- <div class="listbtn">
- <el-button plain class="anniu">写入参数文件</el-button>
- <el-button plain class="anniu">进行网格划分</el-button>
- </div>
- </div> -->
- </el-form>
- </div>
- <div
- slot="footer"
- class="dialog-footer"
- >
- <el-button @click="dialog.mesh_generation = false">{{ $t("HCFD.file.cancel")}}</el-button>
- <el-button
- type="primary"
- @click="meshSplitok()"
- >网格划分</el-button>
- </div>
- </el-dialog>
- <!-- 缩放 -->
- <el-dialog
- v-if="active=='two-0'"
- :visible.sync="dialog.scale_visiable"
- :close-on-click-modal="false"
- @close='activecleer()'
- class="dialog"
- :modal='false'
- custom-class='dialoglocation dialog_color'
- width="385px"
- v-draggable
- v-draggleft=[styX.left]
- >
- <div
- slot="title"
- class=dialog_header
- >
- <el-image
- class="imge"
- :src="t1"
- fit="cover"
- />
- <span class="text-color">{{$t('HCFD.geneal.scale')}}</span>
- </div>
- <el-form>
- <el-form-item
- label="名称"
- :label-width="formLabelWidth2"
- >
- <el-input
- v-model="mcnames"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- label="类型"
- :label-width="formLabelWidth2"
- >
- <el-input
- value="suofang"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <div class="line">
- <div class="linetext">相交/延长</div>
- </div>
- <el-form-item
- :label="$t('HCFD.geneal.factor')"
- :label-width="formLabelWidth2"
- >
- <el-input
- v-model="geneal.MeshTransform.Scale.Factor"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- </el-form>
- <div
- slot="footer"
- class="dialog-footer"
- >
- <el-button @click="dialog.scale_visiable = false">{{ $t("HCFD.file.cancel")}}</el-button>
- <el-button
- type="primary"
- @click="hcfdparam(); dialog.scale_visiable = false"
- >{{ $t("HCFD.file.ok")}}</el-button>
- </div>
- </el-dialog>
- <!-- 翻译 -->
- <el-dialog
- v-if="active=='two-1'"
- :visible.sync="dialog.translation_visiable"
- :close-on-click-modal="false"
- @close='activecleer()'
- :modal='false'
- custom-class='dialoglocation dialog_color'
- width="385px"
- v-draggable
- v-draggleft=[styX.left]
- >
- <div
- slot="title"
- class=dialog_header
- >
- <el-image
- class="imge"
- :src="t2"
- fit="cover"
- />
- <span class="text-color">{{$t('HCFD.geneal.translation')}}</span>
- </div>
- <el-form class="div64">
- <el-form-item
- label="名称"
- :label-width="formLabelWidth2"
- >
- <el-input
- v-model="mcnames"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- label="类型"
- :label-width="formLabelWidth2"
- >
- <el-input
- value="PingYi"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <div class="line">
- <div class="linetext">属性</div>
- </div>
- <div class="liitem">
- <el-form-item
- :label="$t('HCFD.geneal.distance')"
- :label-width="formLabelWidth7"
- >
- <el-input
- v-model="geneal.MeshTransform.Translation.Distance"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- </div>
- <div class="liitem">
- <el-form-item
- :label="$t('HCFD.geneal.translationx')"
- :label-width="formLabelWidth7"
- >
- <el-input
- v-model="geneal.MeshTransform.Translation.X"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- </div>
- <div class="liitem">
- <el-form-item
- :label=" $t('HCFD.geneal.translationy')"
- :label-width="formLabelWidth7"
- >
- <el-input
- v-model="geneal.MeshTransform.Translation.Y"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- </div>
- <div class="liitem">
- <el-form-item
- :label="$t('HCFD.geneal.translationz')"
- :label-width="formLabelWidth7"
- >
- <el-input
- v-model="geneal.MeshTransform.Translation.Z"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- </div>
- </el-form>
- <div
- slot="footer"
- class="dialog-footer"
- >
- <el-button @click="dialog.translation_visiable = false"> {{ $t("HCFD.file.cancel")}} </el-button>
- <el-button
- type="primary"
- @click="hcfdparam(); dialog.translation_visiable = false"
- >{{ $t("HCFD.file.ok")}}</el-button>
- </div>
- </el-dialog>
- <!-- 旋转 -->
- <el-dialog
- v-if="active=='two-2'"
- :close-on-click-modal="false"
- @close='activecleer()'
- :modal='false'
- custom-class='dialoglocation dialog_color'
- :visible.sync="dialog.rotation_visiable"
- width="385px"
- v-draggable
- v-draggleft=[styX.left]
- >
- <div
- slot="title"
- class=dialog_header
- >
- <el-image
- class="imge"
- :src="t3"
- fit="cover"
- />
- <span class="text-color">{{$t('HCFD.geneal.rotation')}}</span>
- </div>
- <el-form class="div64">
- <el-form-item
- label="名称"
- :label-width="formLabelWidth2"
- >
- <el-input
- v-model="mcnames"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- label="类型"
- :label-width="formLabelWidth2"
- >
- <el-input
- value="xuanzuan"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <div class="line">
- <div class="linetext">属性</div>
- </div>
- <el-form-item
- :label="$t('HCFD.geneal.angle')"
- :label-width="formLabelWidth7"
- >
- <el-input
- v-model="geneal.MeshTransform.Rotation.Angle"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- :label="$t('HCFD.geneal.rotationx')"
- :label-width="formLabelWidth7"
- >
- <el-input
- v-model="geneal.MeshTransform.Rotation.X"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- :label="$t('HCFD.geneal.rotationy')"
- :label-width="formLabelWidth7"
- >
- <el-input
- v-model="geneal.MeshTransform.Rotation.Y"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- :label="$t('HCFD.geneal.rotationz')"
- :label-width="formLabelWidth7"
- >
- <el-input
- v-model="geneal.MeshTransform.Rotation.Z"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- :label="$t('HCFD.geneal.rotationx1')"
- :label-width="formLabelWidth7"
- >
- <el-input
- v-model="geneal.MeshTransform.Rotation.X1"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- :label="$t('HCFD.geneal.rotationy1')"
- :label-width="formLabelWidth7"
- >
- <el-input
- v-model="geneal.MeshTransform.Rotation.Y1"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- :label="$t('HCFD.geneal.rotationz1')"
- :label-width="formLabelWidth7"
- >
- <el-input
- v-model="geneal.MeshTransform.Rotation.Z1"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- </el-form>
- <div
- slot="footer"
- class="dialog-footer"
- >
- <el-button @click="dialog.rotation_visiable = false">{{ $t("HCFD.file.cancel")}}</el-button>
- <el-button
- type="primary"
- @click="hcfdparam(); dialog.rotation_visiable = false"
- >{{ $t("HCFD.file.ok")}} </el-button>
- </div>
- </el-dialog>
- <!-- 分析类型 -->
- <!-- <el-dialog
- class="lg-y-z"
- :visible.sync="dialog.type_visiable "
- :close-on-click-modal="false"
- @close='activecleer()'
- v-if="active=='two-3'"
- :modal='false'
- custom-class='dialoglocation dialog_color'
- width="385px"
- :style="styX"
- >
- <div slot="title" class=dialog_header>
- <el-image class="imge" :src="t4" fit="cover" />
- <span class="text-color">{{$t('HCFD.geneal.analysis')}}</span>
- </div>
- <el-form>
- <div class="radio_text text_color liangf">
- <div class="classfelx">
- <el-tooltip class="item" effect="dark" content="分析类型" placement="bottom">
- <el-radio
- v-model="parameterObj.nmlParam.analysis_Type"
- label="Steady"
- >{{ $t("HCFD.geneal.steady") }}</el-radio
- >
- </el-tooltip>
- </div>
- <div class="classfelx">
- <el-tooltip class="item" effect="dark" content="分析类型" placement="bottom">
- <el-radio
- v-model="parameterObj.nmlParam.analysis_Type"
- label="Unsteady"
- >{{ $t("HCFD.geneal.unsteady") }}</el-radio
- >
- </el-tooltip>
- </div>
- </div>
- </el-form>
- <div slot="footer" class="dialog-footer">
- <el-button
- @click="referencevisiable((dialog.type_visiable = false))"
- >{{ $t("HCFD.file.cancel")}} </el-button
- >
- <el-button type="primary" @click="hcfdparam(); dialog.type_visiable = false"
- >{{ $t("HCFD.file.ok")}}</el-button
- >
- </div>
- </el-dialog> -->
- <!-- 并行类型 -->
- <el-dialog
- class="lg-y-z"
- :visible.sync="dialog.parallel_visiable "
- :close-on-click-modal="false"
- @close='activecleer()'
- :modal='false'
- custom-class='dialoglocation dialog_color'
- width="385px"
- v-draggable
- v-draggleft=[styX.left]
- >
- <div
- slot="title"
- class=dialog_header
- >
- <el-image
- class="imge"
- :src="t5"
- fit="cover"
- />
- <span class="text-color">{{$t('HCFD.geneal.parallel')}}</span>
- </div>
- <el-form>
- <div class="radio_text text_color">
- <el-form-item
- :label="$t('HCFD.geneal.number')"
- :label-width="formLabelWidth2"
- v-if="
- parameterObj.nmlParam.parallel_Optional == 'MPI Parallel'
- "
- >
- <el-input
- v-model="parameterObj.nmlParam.number_of_Processors"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- </div>
- </el-form>
- <div
- slot="footer"
- class="dialog-footer"
- >
- <el-button @click="referencevisiable((dialog.parallel_visiable = false))">{{ $t("HCFD.file.cancel")}} </el-button>
- <el-button
- type="primary"
- @click="hcfdparam(); dialog.parallel_visiable = false"
- >{{ $t("HCFD.file.ok")}}</el-button>
- </div>
- </el-dialog>
- <!-- 控制方程 -->
- <el-dialog
- v-if="active=='three-0'"
- :visible.sync="dialog.equation_visiable"
- :close-on-click-modal="false"
- @close='activecleer()'
- class="dialog"
- :modal='false'
- custom-class='dialoglocation dialog_color'
- width="385px"
- v-draggable
- v-draggleft=[styX.left]
- >
- <div
- slot="title"
- class=dialog_header
- >
- <el-image
- class="imge"
- :src="w1"
- fit="cover"
- />
- <span class="text-color">{{$t('HCFD.physics.gover')}}</span>
- </div>
- <el-form>
- <el-radio-group
- v-model="parameterObj.nmlParam.eqn_type"
- size="mini"
- >
- <el-radio
- label="cal_perf_compress"
- style="display: block; padding:15px 0;"
- >{{
- $t("HCFD.physics.compress")
- }}</el-radio>
- <el-radio label="cal_perf_incompress">{{
- $t("HCFD.physics.incompress")
- }}</el-radio>
- </el-radio-group>
- <div
- class="disflex text_color"
- v-if="parameterObj.nmlParam.eqn_type=='cal_perf_incompress'"
- >
- <span class="text_color formLabelWidth8">{{ $t("HCFD.physics.artifical") }}</span>
- <el-input
- class='inpw75'
- size="mini"
- v-model="parameterObj.nmlParam.artificial_compress"
- ></el-input>
- </div>
- </el-form>
- <div
- slot="footer"
- class="dialog-footer"
- >
- <el-button @click="dialog. equation_visiable = false"> {{ $t("HCFD.file.cancel")}} </el-button>
- <el-button
- type="primary"
- @click="hcfdparam(); dialog.equation_visiable = false"
- >{{ $t("HCFD.file.ok")}} </el-button>
- </div>
- </el-dialog>
- <!-- 粘性模型 -->
- <el-dialog
- class="lg-y-z"
- :visible.sync="dialog.inviscid_visiable"
- :close-on-click-modal="false"
- @close='activecleer()'
- v-if="active=='three2-0'"
- :modal='false'
- custom-class='dialoglocation dialog_color'
- width="385px"
- heigth="385px"
- v-draggable
- v-draggleft=[styX.left]
- >
- <div
- slot="title"
- class=dialog_header
- >
- <el-image
- class="imge"
- :src="w2"
- fit="cover"
- />
- <span class="text-color">{{$t('HCFD.physics.viscous')}}</span>
- </div>
- <el-form>
- <div class="selecr">
- <el-form-item
- label="模型类型"
- :label-width="formLabelWidth5"
- >
- <el-select
- v-model="parameterObj.nmlParam.viscous_terms"
- placeholder="请选择"
- >
- <el-option
- v-for="item in selectlist1"
- :key="item.value"
- :label="item.name"
- :value="item.value"
- >
- </el-option>
- </el-select>
- </el-form-item>
- <div class="line">
- <div class="linetext">属性</div>
- </div>
- <div v-if="parameterObj.nmlParam.viscous_terms=='laminar'">
- <el-form-item
- :label="$t('HCFD.physics.molecular')"
- :label-width="formLabelWidth5"
- >
- <el-input
- v-model="parameterObj.nmlParam.prandtlnumber_molecular"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- </div>
- <div v-if="parameterObj.nmlParam.viscous_terms=='turbulent'">
- <el-form-item
- label="湍流模型"
- :label-width="formLabelWidth5"
- >
- <el-select
- v-model="parameterObj.nmlParam.turb_model"
- placeholder="请选择"
- >
- <el-option
- v-for="item in selectlist2"
- :key="item.value"
- :label="item.name"
- :value="item.value"
- >
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item
- :label="$t('HCFD.physics.Molecular')"
- :label-width="formLabelWidth5"
- >
- <el-input
- v-model="parameterObj.nmlParam.prandtlnumber_molecular"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- :label="$t('HCFD.physics.turbulents')"
- :label-width="formLabelWidth5"
- >
- <el-input
- v-model="Physics.Turbulent.TurbulentPrandtlNumber"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- </div>
- </div>
- </el-form>
- <div
- slot="footer"
- class="dialog-footer"
- >
- <el-button @click="dialog.inviscid_visiable= false">{{ $t("HCFD.file.cancel")}} </el-button>
- <el-button
- type="primary"
- @click="hcfdparam(); dialog.inviscid_visiable = false"
- >{{ $t("HCFD.file.ok")}}</el-button>
- </div>
- </el-dialog>
- <!-- 运动网格 -->
- <el-dialog
- class="lg-y-z"
- :visible.sync="dialog.dynamic_visiable "
- :close-on-click-modal="false"
- @close='activecleer()'
- v-if="active=='three2-2'"
- :modal='false'
- custom-class='dialoglocation dialog_color'
- width="385px"
- v-draggable
- v-draggleft=[styX.left]
- >
- <div
- slot="title"
- class=dialog_header
- >
- <el-image
- class="imge"
- :src="w4"
- fit="cover"
- />
- <span class="text-color">{{$t('HCFD.physics.dynamic')}}</span>
- </div>
- <el-form>
- <div class="radio_text text_color liangf">
- <div class="classfelx">
- <el-radio
- v-model="parameterObj.nmlParam.dynamic_Mesh"
- label="on"
- >on</el-radio>
- </div>
- <div class="classfelx">
- <el-radio
- v-model="parameterObj.nmlParam.dynamic_Mesh"
- label="off"
- >off</el-radio>
- </div>
- </div>
- <div
- class="selecr"
- v-if="parameterObj.nmlParam.dynamic_Mesh=='on'"
- >
- <el-form-item
- label="运动模型"
- :label-width="formLabelWidth7"
- >
- <el-select
- v-model="ydval"
- placeholder="请选择"
- >
- <el-option
- v-for="item in ydlist"
- :key="item.value"
- :label="item.name"
- :value="item.value"
- >
- </el-option>
- </el-select>
- </el-form-item>
- <div class="line">
- <div class="linetext">定义运动体</div>
- </div>
- <el-form-item
- label="数量"
- :label-width="formLabelWidth7"
- >
- <el-input
- v-model="form.name"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- label="名字"
- :label-width="formLabelWidth7"
- >
- <el-input
- v-model="form.name"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- label="运动机理"
- :label-width="formLabelWidth7"
- >
- <el-select
- v-model="ydval2"
- placeholder="请选择"
- >
- <el-option
- v-for="item in ydlist2"
- :key="item.value"
- :label="item.name"
- :value="item.value"
- >
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item
- label="类型"
- :label-width="formLabelWidth7"
- >
- <el-select
- v-model="ydval3"
- placeholder="请选择"
- >
- <el-option
- v-for="item in ydlist3"
- :key="item.value"
- :label="item.name"
- :value="item.value"
- >
- </el-option>
- </el-select>
- </el-form-item>
- <div v-if="ydval2=='0'&&ydval3=='0'||ydval2=='1'&&ydval3=='0'">
- <el-form-item
- label="无量刚速率"
- :label-width="formLabelWidth7"
- >
- <el-input
- v-model="form.name"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- label="无量刚速率"
- :label-width="formLabelWidth7"
- >
- <el-input
- v-model="form.name"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- </div>
- <div v-if="ydval2=='1'&&ydval3=='0'||ydval2=='1'&&ydval3=='1'">
- <el-form-item
- label="相位/度"
- :label-width="formLabelWidth7"
- >
- <el-input
- v-model="form.name"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- label="幅值/度"
- :label-width="formLabelWidth7"
- >
- <el-input
- v-model="form.name"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- </div>
- <div v-if="ydval2=='1'&&ydval3=='0'||ydval2=='1'&&ydval3=='1'">
- <el-form-item
- label="旋转中心坐标X"
- :label-width="formLabelWidth7"
- >
- <el-input
- v-model="form.name"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- label="旋转中心坐标Y"
- :label-width="formLabelWidth7"
- >
- <el-input
- v-model="form.name"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- label="旋转中心坐标Z"
- :label-width="formLabelWidth7"
- >
- <el-input
- v-model="form.name"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- </div>
- <el-form-item
- label="旋转轴单位矢量X分量"
- :label-width="formLabelWidth7"
- >
- <el-input
- v-model="form.name"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- label="旋转轴单位矢量Y分量"
- :label-width="formLabelWidth7"
- >
- <el-input
- v-model="form.name"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- label="旋转轴单位矢量Z分量"
- :label-width="formLabelWidth7"
- >
- <el-input
- v-model="form.name"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- label="无量纲旋转起始时间"
- :label-width="formLabelWidth7"
- >
- <el-input
- v-model="form.name"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- label="无量纲旋转持续时间"
- :label-width="formLabelWidth7"
- >
- <el-input
- v-model="form.name"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <div class="line">
- <div class="linetext">t=0时刻力矩中心</div>
- </div>
- <el-form-item
- label="X-coordinate"
- :label-width="formLabelWidth7"
- >
- <el-input
- v-model="form.name"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- label="Y-coordinate"
- :label-width="formLabelWidth7"
- >
- <el-input
- v-model="form.name"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- label="Z-coordinate"
- :label-width="formLabelWidth7"
- >
- <el-input
- v-model="form.name"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- label="力矩中心状态"
- :label-width="formLabelWidth7"
- >
- <el-select
- v-model="ydval4"
- placeholder="请选择"
- >
- <el-option
- v-for="item in ydlist4"
- :key="item.value"
- :label="item.name"
- :value="item.value"
- >
- </el-option>
- </el-select>
- </el-form-item>
- <div class="line">
- <div class="linetext">力/力矩无量纲化</div>
- </div>
- <el-form-item
- label="无量纲参考面积"
- :label-width="formLabelWidth7"
- >
- <el-input
- v-model="form.name"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- label="无量纲参考弦长"
- :label-width="formLabelWidth7"
- >
- <el-input
- v-model="form.name"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- label="无量纲参考展长"
- :label-width="formLabelWidth7"
- >
- <el-input
- v-model="form.name"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <div class="line">
- <div class="linetext">有量纲物理量</div>
- </div>
- <div class="liangf">
- <div
- class="classfelx text_color"
- style="line-height: 2;"
- >
- 输出运动体有量纲物理量
- </div>
- <div class="classfelx">
- <el-radio
- v-model="parameterObj.nmlParam.dynamic_Mesh"
- label="on"
- >on</el-radio>
- <el-radio
- v-model="parameterObj.nmlParam.dynamic_Mesh"
- label="off"
- >off</el-radio>
- </div>
- </div>
- <el-checkbox v-model="checked">预览网格运动</el-checkbox>
- </div>
- </el-form>
- <div
- slot="footer"
- class="dialog-footer"
- >
- <el-button @click="dialog.dynamic_visiable = false">{{ $t("HCFD.file.cancel")}} </el-button>
- <el-button
- type="primary"
- @click="hcfdparam(); dialog.dynamic_visiable = false"
- >{{ $t("HCFD.file.ok")}}</el-button>
- </div>
- </el-dialog>
- <!--非惯性参考条件 -->
- <el-dialog
- class="lg-y-z"
- :visible.sync="dialog.nonitertial_visiable"
- :close-on-click-modal="false"
- @close='activecleer()'
- v-if="active=='three1-1'"
- :modal='false'
- custom-class='dialoglocation dialog_color'
- width="385px"
- v-draggable
- v-draggleft=[styX.left]
- >
- <div
- slot="title"
- class=dialog_header
- >
- <el-image
- class="imge"
- :src="w6"
- fit="cover"
- />
- <span class="text-color">{{$t('HCFD.physics.nonitertial')}}</span>
- </div>
- <el-form>
- <div class="radio_text text_color liangf">
- <div class="classfelx">
- <el-radio
- v-model="parameterObj.nmlParam.noninertial_Reference_Frame"
- label="on"
- >on</el-radio>
- </div>
- <div class="classfelx">
- <el-radio
- v-model="parameterObj.nmlParam.noninertial_Reference_Frame"
- label="off"
- >off</el-radio>
- </div>
- </div>
- <div v-if="parameterObj.nmlParam.noninertial_Reference_Frame=='on'">
- <div class="line">
- <div class="linetext">旋转中心</div>
- </div>
- <el-form-item
- label="坐标X"
- :label-width="formLabelWidth2"
- >
- <el-input
- v-model="form.name"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- label="坐标Y"
- :label-width="formLabelWidth2"
- >
- <el-input
- v-model="form.name"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- label="坐标Z"
- :label-width="formLabelWidth2"
- >
- <el-input
- v-model="form.name"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <div class="line">
- <div class="linetext">旋转矢量</div>
- </div>
- <el-form-item
- label="X方向分量"
- :label-width="formLabelWidth2"
- >
- <el-input
- v-model="form.name"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- label="Y方向分量"
- :label-width="formLabelWidth2"
- >
- <el-input
- v-model="form.name"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- label="Z方向分量"
- :label-width="formLabelWidth2"
- >
- <el-input
- v-model="form.name"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- </div>
- </el-form>
- <div
- slot="footer"
- class="dialog-footer"
- >
- <el-button @click="dialog.nonitertial_visiable = false">{{ $t("HCFD.file.cancel")}} </el-button>
- <el-button
- type="primary"
- @click="hcfdparam(); dialog.nonitertial_visiable = false"
- >{{ $t("HCFD.file.ok")}}</el-button>
- </div>
- </el-dialog>
- <!-- 通量残差构造方法 -->
- <el-dialog
- class="lg-Solution"
- :visible.sync="dialog.fluxrc_visiable"
- :close-on-click-modal="false"
- @close='activecleer()'
- v-if="active=='four-0'"
- :modal='false'
- custom-class='dialoglocation dialog_color'
- width="385px"
- v-draggable
- v-draggleft=[styX.left]
- >
- <div
- slot="title"
- class=dialog_header
- >
- <el-image
- class="imge"
- :src="q1"
- fit="cover"
- />
- <span class="text-color">{{$t('HCFD.solution.invis')}}</span>
- </div>
- <el-form class="groupradio selecr">
- <div class="line">
- <div class="linetext">属性</div>
- </div>
- <el-form-item
- label="通量残差构造方法"
- :label-width="formLabelWidth7"
- >
- <el-select
- v-model="parameterObj.nmlParam.flux_construction"
- placeholder="请选择"
- >
- <el-option
- v-for="item in qjklist"
- :key="item.value"
- :label="item.name"
- :value="item.value"
- >
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item
- label="通量雅可比构造方法"
- :label-width="formLabelWidth7"
- >
- <el-select
- v-model="parameterObj.nmlParam.flux_construction_lhs"
- placeholder="请选择"
- >
- <el-option
- v-for="item in qjklist3"
- :key="item.value"
- :label="item.name"
- :value="item.value"
- >
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item
- label="MUSCL重构格式"
- :label-width="formLabelWidth7"
- >
- <el-input
- v-model="form.name"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- label="通量限制"
- :label-width="formLabelWidth7"
- >
- <el-select
- v-model="parameterObj.nmlParam.flux_limiter"
- placeholder="请选择"
- >
- <el-option
- v-for="item in qjklist2"
- :key="item.value"
- :label="item.name"
- :value="item.value"
- >
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item
- :label="$t('HCFD.solution.firstOrderNum') "
- :label-width="formLabelWidth7"
- >
- <el-input
- v-model="parameterObj.nmlParam.first_order_iterations"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- </el-form>
- <div
- slot="footer"
- class="dialog-footer"
- >
- <el-button @click="referencevisiable((dialog.fluxrc_visiable = false))"> {{ $t("HCFD.file.cancel")}} </el-button>
- <el-button
- type="primary"
- @click="hcfdparam(); dialog.fluxrc_visiable = false"
- >{{ $t("HCFD.file.ok")}}</el-button>
- </div>
- </el-dialog>
- <!-- 时间格式 -->
- <el-dialog
- :visible.sync="dialog.time_visiable"
- class="lg-Solution"
- :close-on-click-modal="false"
- @close='activecleer()'
- v-if="active=='four-1'"
- :modal='false'
- custom-class='dialoglocation dialog_color'
- width="385px"
- v-draggable
- v-draggleft=[styX.left]
- >
- <div
- slot="title"
- class=dialog_header
- >
- <el-image
- class="imge"
- :src="q2"
- fit="cover"
- />
- <span class="text-color">{{$t('HCFD.solution.timeScheme')}}</span>
- </div>
- <el-form class="lg-form">
- <div class="line">
- <div class="linetext">属性</div>
- </div>
- <el-form-item
- label="时间格式"
- :label-width="formLabelWidth7"
- class="shijianges"
- >
- <el-select
- v-model="parameterObj.nmlParam.time_accuracy"
- placeholder="请选择"
- >
- <el-option
- v-for="item in tlist1"
- :key="item.value"
- :label="item.name"
- :value="item.value"
- >
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item
- :label="$t('HCFD.solution.stepping')"
- :label-width="formLabelWidth61"
- class="iemradio shijianges"
- >
- <el-radio-group v-model="parameterObj.nmlParam.pseudo_time_stepping">
- <el-radio label="off">Off</el-radio>
- <el-radio
- label="on"
- class="radiooff"
- >On</el-radio>
- </el-radio-group>
- </el-form-item>
- <li class="disflex liitem liangf">
- <span class="formLabelWidth8">{{$t('HCFD.solution.nondim')}}</span>
- <el-input v-model="parameterObj.nmlParam.time_step_nondim"></el-input>
- </li>
- <li class="disflex liitem liangf">
- <span class="formLabelWidth8">{{$t('HCFD.solution.subiterations')}}</span>
- <el-input v-model="parameterObj.nmlParam.subiterations"></el-input>
- </li>
- <li class="disflex liitem liangf">
- <span class="formLabelWidth9">{{$t('HCFD.solution.cfl')}}</span>
- <el-input v-model="parameterObj.nmlParam.schedule_iteration[0]"></el-input>
- <el-input v-model="parameterObj.nmlParam.schedule_iteration[1]"></el-input>
- </li>
- <li class="disflex liitem liangf">
- <span class="formLabelWidth9">{{$t('HCFD.solution.Schedulecfl')}}</span>
- <el-input v-model="parameterObj.nmlParam.schedule_cfl[0]"></el-input>
- <el-input v-model="parameterObj.nmlParam.schedule_cfl[1]"></el-input>
- </li>
- <li class="disflex liitem liangf">
- <span class="formLabelWidth9">{{$t('HCFD.solution.cflturb')}}</span>
- <el-input v-model="parameterObj.nmlParam.schedule_cflturb[0]"></el-input>
- <el-input v-model="parameterObj.nmlParam.schedule_cflturb[1]"></el-input>
- </li>
- </el-form>
- <div
- slot="footer"
- class="dialog-footer"
- >
- <el-button @click="referencevisiable((dialog.time_visiable = false))">{{ $t("HCFD.file.cancel")}} </el-button>
- <el-button
- type="primary"
- @click="hcfdparam(); dialog.time_visiable = false"
- >{{ $t("HCFD.file.ok")}}</el-button>
- </div>
- </el-dialog>
- <!-- 边界条件 -->
- <el-dialog
- class="dialog-block"
- :visible.sync="dialog.border_visiable"
- :close-on-click-modal="false"
- @close='activecleer()'
- v-if="active=='three2-1'"
- :modal='false'
- custom-class='dialoglocation dialog_color'
- width="384px"
- v-draggable
- v-draggleft=[styX.left]
- >
- <div
- slot="title"
- class=dialog_header
- >
- <el-image
- class="imge"
- :src="w2"
- fit="cover"
- />
- <span class="text-color">{{$t('HCFD.physics.boundary')}}</span>
- </div>
- <el-form>
- <div class="selecr">
- <div>
- <vue-uploader
- ref="mapbc"
- :projectId="project.projectId"
- :solverType="'hcfd'"
- :accept="'.mapbc,.dat'"
- :name="'Load BC File'"
- :upId="'1'"
- @changedesc="changedesc1($event)"
- ></vue-uploader>
- </div>
- <div class="desc">
- <li
- class="descitem"
- v-for="(item,index) in desclist"
- :key="index"
- >{{item.id}}--{{item.conditionsCode}}--{{item.name}}</li>
- </div>
- <el-form-item
- label=" 边界类型"
- :label-width="formLabelWidth2"
- >
- <el-select
- size="mini"
- @change="boundaryChange"
- v-model="Physics.Boundary.bquery"
- placeholder="select boundary"
- >
- <el-option
- v-for="hcfdBoundary in parameterObj.hcfdBoundarys"
- :key="hcfdBoundary.id"
- :label="hcfdBoundary.name"
- :value="hcfdBoundary.id"
- >
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item
- label=" 外流类型"
- :label-width="formLabelWidth2"
- >
- <el-select
- size="mini"
- @change="conditionsChange"
- v-model="Physics.Boundary.cquery"
- placeholder="select Conditions"
- >
- <el-option
- v-for="Condition in Physics.Boundary.Conditions"
- :key="Condition.conditionsCode"
- :label="Condition.name"
- :value="Condition.conditionsCode"
- >
- </el-option>
- </el-select>
- </el-form-item>
- <div v-if="Physics.Boundary.bquery=='WING1'">
- <el-form-item
- label=" 总压比"
- :label-width="formLabelWidth"
- >
- <el-input
- v-model="form.name"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- label=" 总温比"
- :label-width="formLabelWidth"
- >
- <el-input
- v-model="form.name"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- label="法向"
- :label-width="formLabelWidth"
- >
- <el-input
- v-model="form.name"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- label="入流角(Alpha)"
- :label-width="formLabelWidth"
- >
- <el-input
- v-model="form.name"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- label="入流角(Beta)"
- :label-width="formLabelWidth"
- >
- <el-input
- v-model="form.name"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- label=" 欧拉角(Theta1)"
- :label-width="formLabelWidth"
- >
- <el-input
- v-model="form.name"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- label=" 欧拉角(Theta2)"
- :label-width="formLabelWidth"
- >
- <el-input
- v-model="form.name"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- label="欧拉角(Theta3)"
- :label-width="formLabelWidth"
- >
- <el-input
- v-model="form.name"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- </div>
- </div>
- </el-form>
- <div
- slot="footer"
- class="dialog-footer"
- >
- <el-button @click="dialog.border_visiable = false">{{ $t("HCFD.file.cancel")}} </el-button>
- <el-button
- type="primary"
- @click="hcfdparam(); dialog.border_visiable = false"
- >{{ $t("HCFD.file.ok")}} </el-button>
- </div>
- </el-dialog>
- <!-- 参考条件 -->
- <el-dialog
- class="dialog-block"
- :visible.sync="dialog.reference_visiable"
- :close-on-click-modal="false"
- @close='activecleer()'
- v-if="active=='three1-0'"
- :modal='false'
- custom-class='dialoglocation dialog_color heightclass'
- width="385px"
- height="400px"
- v-draggable
- v-draggleft=[styX.left]
- >
- <div
- slot="title"
- class=dialog_header
- >
- <el-image
- class="imge"
- :src="w5"
- fit="cover"
- />
- <span class="text-color">{{$t('HCFD.physics.reference')}}</span>
- </div>
- <el-form class="groupradio">
- <div class="line">
- <div class="linetext">属性</div>
- </div>
- <li class="disflex liitem liangf">
- <span class="formLabelWidth8">{{ $t("HCFD.physics.machNum") }}</span>
- <el-input
- class="inpw50"
- size="mini"
- v-model="parameterObj.nmlParam.mach_number"
- ></el-input>
- </li>
- <li class=" liitem liangf">
- <span class="formLabelWidth8">{{ $t("HCFD.physics.reyNum") }}</span>
- <el-input
- class="inpw50"
- size="mini"
- v-model="parameterObj.nmlParam.reynolds_number"
- ></el-input>
- </li>
- <li class=" liitem liangf">
- <span class="formLabelWidth8">{{ $t("HCFD.physics.temperature") }}</span>
- </li>
- <li class=" liitem liangf">
- <el-radio-group
- v-model="parameterObj.nmlParam.temperature_units"
- style=" width: 100%;"
- >
- <el-radio :label="'Kelvin'">{{ $t("HCFD.physics.kelvin") }}</el-radio>
- <el-radio :label="'Rankine'">{{ $t("HCFD.physics.rankine") }}</el-radio>
- </el-radio-group>
- <el-input v-model="parameterObj.nmlParam.temperature"></el-input>
- </li>
- <li class=" liitem liangf">
- <span class="formLabelWidth8">{{ $t("HCFD.physics.attack") }}</span>
- <el-input v-model="parameterObj.nmlParam.angle_of_attack"></el-input>
- </li>
- <li class=" liitem liangf">
- <span class="formLabelWidth8">{{ $t("HCFD.physics.yaw") }} </span>
- <el-input v-model="parameterObj.nmlParam.angle_of_yaw"></el-input>
- </li>
- <li class=" liitem liangf">
- <span class="formLabelWidth8">{{ $t("HCFD.physics.area") }}</span>
- <el-input v-model="parameterObj.nmlParam.area_reference"></el-input>
- </li>
- <li class=" liitem liangf">
- <span class="formLabelWidth8">{{ $t("HCFD.physics.yaxis") }}</span>
- <el-input v-model="parameterObj.nmlParam.x_moment_length"></el-input>
- </li>
- <li class=" liitem liangf">
- <span class="formLabelWidth8">{{ $t("HCFD.physics.zaxis") }}</span>
- <el-input v-model="parameterObj.nmlParam.y_moment_length"></el-input>
- </li>
- <li class=" liitem liangf">
- <span class="formLabelWidth8">{{ $t("HCFD.physics.momentc") }}</span>
- <el-input v-model="parameterObj.nmlParam.x_moment_center"></el-input>
- </li>
- <li class=" liitem liangf">
- <span class="formLabelWidth8">{{ $t("HCFD.physics.xcoordinate") }}</span>
- <el-input v-model="parameterObj.nmlParam.x_moment_center"></el-input>
- </li>
- <li class=" liitem liangf">
- <span class="formLabelWidth8">{{ $t("HCFD.physics.ycoordinate") }}</span>
- <el-input v-model="parameterObj.nmlParam.y_moment_center"></el-input>
- </li>
- <li class=" liitem liangf">
- <span class="formLabelWidth8">{{ $t("HCFD.physics.zcoordinate") }}</span>
- <el-input v-model="parameterObj.nmlParam.z_moment_center"></el-input>
- </li>
- </el-form>
- <div
- slot="footer"
- class="dialog-footer"
- >
- <el-button @click="dialog.reference_visiable = false">{{ $t("HCFD.file.cancel")}} </el-button>
- <el-button
- type="primary"
- @click="hcfdparam(); dialog.reference_visiable = false"
- >{{ $t("HCFD.file.ok")}}</el-button>
- </div>
- </el-dialog>
- <!-- 线性方程组求解参数 -->
- <el-dialog
- class="lg-Solution"
- :visible.sync="dialog.xian_visiable"
- :close-on-click-modal="false"
- @close='activecleer()'
- v-if="active=='four2-0'"
- :modal='false'
- custom-class='dialoglocation dialog_color'
- width="385px"
- v-draggable
- v-draggleft=[styX.left]
- >
- <div
- slot="title"
- class=dialog_header
- >
- <el-image
- class="imge"
- :src="q3"
- fit="cover"
- />
- <span class="text-color">{{$t('HCFD.solution.linearSol')}}</span>
- </div>
- <el-form>
- <li class="disflex liitem liangf ">
- <span class="formLabelWidth8">
- {{ $t("HCFD.solution.meanflow") }}
- </span>
- <el-input
- class="inpw75"
- size="mini"
- v-model="parameterObj.nmlParam.meanflow_sweeps"
- ></el-input>
- </li>
- <li class="disflex liitem liangf ">
- <span class="formLabelWidth8">
- {{ $t("HCFD.solution.turbulence") }}
- </span>
- <el-input
- class="inpw75"
- size="mini"
- v-model="parameterObj.nmlParam.turbulence_sweeps"
- ></el-input>
- </li>
- <el-form-item
- :label="$t('HCFD.solution.gcr')"
- :label-width="formLabelWidth61"
- class="iemradio"
- >
- <el-radio-group v-model="parameterObj.nmlParam.line_implicit">
- <el-radio label="off">Off</el-radio>
- <el-radio
- label="on"
- class="radiooff"
- >On</el-radio>
- </el-radio-group>
- </el-form-item>
- </el-form>
- <div
- slot="footer"
- class="dialog-footer"
- >
- <el-button @click="referencevisiable((dialog.xian_visiable = false))">{{ $t("HCFD.file.cancel")}} </el-button>
- <el-button
- type="primary"
- @click="hcfdparam(); dialog.xian_visiable = false"
- >{{ $t("HCFD.file.ok")}} </el-button>
- </div>
- </el-dialog>
- <!-- 初始化 -->
- <el-dialog
- class="lg-y-z"
- :visible.sync="dialog.initialization_visiable "
- :close-on-click-modal="false"
- @close='activecleer()'
- v-if="active=='four2-10'"
- :modal='false'
- custom-class='dialoglocation dialog_color'
- width="385px"
- v-draggable
- v-draggleft=[styX.left]
- >
- <div
- slot="title"
- class=dialog_header
- >
- <el-image
- class="imge"
- :src="q4"
- fit="cover"
- />
- <span class="text-color">{{$t('HCFD.solution.initialization')}}</span>
- </div>
- <el-form>
- <div class="radio_text text_color liangf radiogroup ">
- <el-radio-group
- v-model="initialization"
- size="mini"
- >
- <el-radio
- label="freestreams"
- style="flex:1"
- >{{
- $t("HCFD.solution.freestreams")
- }}</el-radio>
- <el-radio
- label="specified"
- style="flex:1"
- >{{
- $t("HCFD.solution.specified")
- }}</el-radio>
- </el-radio-group>
- </div>
- <div v-if="initialization=='specified'">
- <div class="line">
- <div class="linetext">属性</div>
- </div>
- <el-form-item
- label="区域数量"
- :label-width="formLabelWidth2"
- >
- <el-input
- v-model="form.name"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <div class="selecr">
- <el-form-item
- label=" 区域类型"
- :label-width="formLabelWidth2"
- >
- <el-select
- @change="changest"
- v-model="loadval"
- placeholder="请选择"
- >
- <el-option
- v-for="item in loadlist"
- :key="item.value"
- :label="item.name"
- :value="item.value"
- >
- </el-option>
- </el-select>
- </el-form-item>
- <div v-if="loadval=='0'">
- <el-form-item
- label="顶点1"
- :label-width="formLabelWidth2"
- >
- <el-input
- v-model="form.name"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- label="顶点2"
- :label-width="formLabelWidth2"
- >
- <el-input
- v-model="form.name"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- </div>
- <div v-if="loadval=='1'">
- <el-form-item
- label="球心"
- :label-width="formLabelWidth2"
- >
- <el-input
- v-model="form.name"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- label="半径"
- :label-width="formLabelWidth2"
- >
- <el-input
- v-model="form.name"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- </div>
- <div v-if="loadval=='2'">
- <el-form-item
- label="球心"
- :label-width="formLabelWidth2"
- >
- <el-input
- v-model="form.name"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- label="端点1"
- :label-width="formLabelWidth2"
- >
- <el-input
- v-model="form.name"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- label="端点2"
- :label-width="formLabelWidth2"
- >
- <el-input
- v-model="form.name"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- </div>
- <div v-if="loadval=='2'">
- <el-form-item
- label="端点1"
- :label-width="formLabelWidth2"
- >
- <el-input
- v-model="form.name"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- label="半径1"
- :label-width="formLabelWidth2"
- >
- <el-input
- v-model="form.name"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- label="端点2"
- :label-width="formLabelWidth2"
- >
- <el-input
- v-model="form.name"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- label="半径2"
- :label-width="formLabelWidth2"
- >
- <el-input
- v-model="form.name"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- </div>
- </div>
- <div class="line">
- <div class="linetext">区域变量</div>
- </div>
- <el-form-item
- label="无量纲密度"
- :label-width="formLabelWidth7"
- >
- <el-input
- v-model="form.name"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- label="无量纲声速"
- :label-width="formLabelWidth7"
- >
- <el-input
- v-model="form.name"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- label="X方向无量纲速度分量"
- :label-width="formLabelWidth7"
- >
- <el-input
- v-model="form.name"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- label="Y方向无量纲速度分量"
- :label-width="formLabelWidth7"
- >
- <el-input
- v-model="form.name"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- label="Z方向无量纲速度分量"
- :label-width="formLabelWidth7"
- >
- <el-input
- v-model="form.name"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- </div>
- </el-form>
- <div
- slot="footer"
- class="dialog-footer"
- >
- <el-button @click="dialog.initialization_visiable = false">{{ $t("HCFD.file.cancel")}} </el-button>
- <el-button
- type="primary"
- @click="hcfdparam(); dialog.initialization_visiable = false"
- >{{ $t("HCFD.file.ok")}}</el-button>
- </div>
- </el-dialog>
- <!-- 运行控制Run Control -->
- <el-dialog
- :visible.sync="dialog.runc_visiable"
- :close-on-click-modal="false"
- @close='activecleer()'
- v-if="active=='four3-0'"
- :modal='false'
- custom-class='dialoglocation dialog_color'
- width="385px"
- v-draggable
- v-draggleft=[styX.left]
- >
- <div
- slot="title"
- class=dialog_header
- >
- <el-image
- class="imge"
- :src="q5"
- fit="cover"
- />
- <span class="text-color">{{$t('HCFD.solution.run')}}</span>
- </div>
- <el-form class="lg-form text_color">
- <el-form-item
- :label="$t('HCFD.solution.iterNum')"
- :label-width="formLabelWidth6"
- >
- <el-input
- v-model="parameterObj.nmlParam.steps"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- :label="$t('HCFD.solution.stopToler')"
- :label-width="formLabelWidth6"
- >
- <el-input
- v-model="parameterObj.nmlParam.stopping_tolerance"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- :label="$t('HCFD.solution.writeFreq')"
- :label-width="formLabelWidth6"
- >
- <el-input
- v-model="parameterObj.nmlParam.restart_write_freq"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- :label="$t('HCFD.solution.evaluate')"
- :label-width="formLabelWidth6"
- >
- <el-input
- v-model="parameterObj.nmlParam.jacobian_eval_freq"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- :label="$t('HCFD.solution.Restart')"
- :label-width="formLabelWidth6"
- class="iemradio"
- >
- <el-radio-group
- class="inpw35"
- v-model="parameterObj.nmlParam.restart_read"
- >
- <el-radio label="off">Off</el-radio>
- <el-radio label="on" class="radiooff">On</el-radio>
- </el-radio-group>
- </el-form-item>
- <!-- <el-button type="info" @click="hcfdparam()"> 运行</el-button> -->
- </el-form>
- <div
- slot="footer"
- class="dialog-footer"
- >
- <el-button @click="runcvisiable()"> {{ $t("HCFD.file.cancel")}} </el-button>
- <el-button
- type="primary"
- @click="Runsolve()"
- >{{ $t("HCFD.file.ok")}}</el-button>
- </div>
- </el-dialog>
- <!-- 物面输出 -->
- <el-dialog
- :visible.sync="dialog.boundaryo_visiable"
- :close-on-click-modal="false"
- @close='activecleer()'
- class="Conditions lg-out-h"
- v-if="active=='four3-1'"
- :modal='false'
- custom-class='dialoglocation dialog_color'
- width="385px"
- v-draggable
- v-draggleft=[styX.left]
- >
- <div
- slot="title"
- class=dialog_header
- >
- <el-image
- class="imge"
- :src="q6"
- fit="cover"
- />
- <span class="text-color">{{$t('HCFD.solution.bounOut')}}</span>
- </div>
- <el-form>
- <div class="selecr">
- <el-form-item
- label=" 特征"
- :label-width="formLabelWidth2"
- >
- <el-select
- @change="changest"
- v-model="objectplaneval"
- placeholder="请选择"
- >
- <el-option
- v-for="item in objectplanelist"
- :key="item.value"
- :label="item.name"
- :value="item.value"
- >
- </el-option>
- </el-select>
- </el-form-item>
- </div>
- <div v-if="objectplaneval=='0'">
- <el-form-item
- :label=" $t('HCFD.solution.outputfreq')"
- :label-width="formLabelWidth2"
- >
- <el-input
- v-model="parameterObj.nmlParam.animation_freq"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- </div>
- <div v-else>
- <el-form-item
- :label=" $t('HCFD.solution.outputfreq')"
- :label-width="formLabelWidth2"
- >
- <el-input
- v-model="parameterObj.nmlParam.volume_animation_freq"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- </div>
- <div class="line">
- <div class="linetext">{{ $t("HCFD.solution.Variables")}}</div>
- </div>
- <div v-if="objectplaneval=='0'">
- <el-checkbox
- :indeterminate="Solution.boundaryout.isIndeterminate"
- v-model="Solution.boundaryout.checkAll"
- @change="solutionbCheckAllChange"
- >{{ $t("HCFD.solution.all")}}</el-checkbox>
- <div class="displanblock">
- <el-checkbox v-model="parameterObj.nmlParam.a_u">
- {{ $t("HCFD.solution.Xcomponent")}}</el-checkbox>
- <el-checkbox v-model="parameterObj.nmlParam.a_v">{{ $t("HCFD.solution.Ycomponent")}}</el-checkbox>
- <el-checkbox v-model="parameterObj.nmlParam.a_w">{{ $t("HCFD.solution.Zcomponent")}}</el-checkbox>
- <el-checkbox v-model="parameterObj.nmlParam.a_p">{{ $t("HCFD.solution.Press")}}</el-checkbox>
- <el-checkbox v-model="parameterObj.nmlParam.a_cp">{{ $t("HCFD.solution.presscoefficient")}}</el-checkbox>
- <el-checkbox v-model="parameterObj.nmlParam.a_mach">{{ $t("HCFD.solution.mnumber")}}</el-checkbox>
- <el-checkbox v-model="parameterObj.nmlParam.a_vort_mag">{{ $t("HCFD.solution.magnitude")}}</el-checkbox>
- <el-checkbox v-model="parameterObj.nmlParam.a_vort_x ">{{ $t("HCFD.solution.Xvorticity")}}</el-checkbox>
- <el-checkbox v-model="parameterObj.nmlParam.a_vort_y">{{ $t("HCFD.solution.Yvorticity")}}</el-checkbox>
- <el-checkbox v-model="parameterObj.nmlParam.a_vort_z ">{{ $t("HCFD.solution.Zvorticity")}}</el-checkbox>
- <el-checkbox v-model="parameterObj.nmlParam.a_q_criterion">{{ $t("HCFD.solution.Criterion")}}</el-checkbox>
- </div>
- </div>
- <div v-else>
- <el-checkbox
- :indeterminate="Solution.volumout.isIndeterminate"
- v-model="Solution.volumout.checkAll"
- @change="solutionvCheckAllChange"
- >{{ $t("HCFD.solution.all")}}</el-checkbox>
- <div class="displanblock">
- <el-checkbox v-model="parameterObj.nmlParam.v_u">{{ $t("HCFD.solution.Xcomponent")}}</el-checkbox>
- <el-checkbox v-model="parameterObj.nmlParam.v_v ">{{ $t("HCFD.solution.Ycomponent")}}</el-checkbox>
- <el-checkbox v-model="parameterObj.nmlParam.v_w">{{ $t("HCFD.solution.Zcomponent")}}</el-checkbox>
- <el-checkbox v-model="parameterObj.nmlParam.v_p ">{{ $t("HCFD.solution.Press")}}</el-checkbox>
- <el-checkbox v-model="parameterObj.nmlParam.v_cp">{{ $t("HCFD.solution.presscoefficient")}}</el-checkbox>
- <el-checkbox v-model="parameterObj.nmlParam.v_mach">{{ $t("HCFD.solution.mnumber")}}</el-checkbox>
- <el-checkbox v-model="parameterObj.nmlParam.v_vort_mag">{{ $t("HCFD.solution.magnitude")}}</el-checkbox>
- <el-checkbox v-model="parameterObj.nmlParam.v_vort_x ">{{ $t("HCFD.solution.Xvorticity")}}</el-checkbox>
- <el-checkbox v-model="parameterObj.nmlParam.v_vort_y">{{ $t("HCFD.solution.Yvorticity")}}</el-checkbox>
- <el-checkbox v-model="parameterObj.nmlParam.v_vort_z ">{{ $t("HCFD.solution.Zvorticity")}}</el-checkbox>
- <el-checkbox v-model="parameterObj.nmlParam.v_q_criterion">{{ $t("HCFD.solution.Criterion")}}</el-checkbox>
- </div>
- </div>
- </el-form>
- <div
- slot="footer"
- class="dialog-footer"
- >
- <el-button @click="referencevisiable(dialog.boundaryo_visiable = false)">{{ $t("HCFD.file.cancel")}} </el-button>
- <el-button
- type="primary"
- @click="hcfdparam(); dialog.boundaryo_visiable = false"
- >{{ $t("HCFD.file.ok")}}</el-button>
- </div>
- </el-dialog>
- <!-- 流场输出 -->
- <el-dialog
- class="lg-y-z"
- :title="$t('HCFD.solution.specialPara')"
- :visible.sync="dialog.specialp_visiable"
- :close-on-click-modal="false"
- @close='activecleer()'
- v-if="active=='four4-0'"
- :modal='false'
- custom-class='dialoglocation dialog_color'
- width="385px"
- v-draggable
- v-draggleft=[styX.left]
- >
- <el-form>
- <el-radio-group v-model="parameterObj.nmlParam.large_angle_fix">
- <el-radio label="off">Off</el-radio>
- <el-radio label="on">On</el-radio>
- </el-radio-group>
- </el-form>
- <div
- slot="footer"
- class="dialog-footer"
- >
- <el-button @click="referencevisiable((dialog.specialp_visiable = false))">{{ $t("HCFD.file.cancel")}} </el-button>
- <el-button
- type="primary"
- @click="dialog.specialp_visiable = false"
- >{{ $t("HCFD.file.ok")}}</el-button>
- </div>
- </el-dialog>
- <el-dialog
- title="Swap Y-Z Axres"
- :visible.sync="dialog.swap_visiable"
- class="lg-y-z"
- :close-on-click-modal="false"
- @close='activecleer()'
- v-if="active=='four4-1'"
- :modal='false'
- custom-class='dialoglocation dialog_color'
- width="385px"
-
- v-draggable
- v-draggleft=[styX.left]
- >
- <el-form>
- <el-radio-group v-model="parameterObj.nmlParam.swap_yz_axes">
- <el-radio label="false">Off</el-radio>
- <el-radio label="true">On</el-radio>
- </el-radio-group>
- </el-form>
- <div
- slot="footer"
- class="dialog-footer"
- >
- <el-button @click="referencevisiable((dialog.swap_visiable = false))"> {{ $t("HCFD.file.cancel")}} </el-button>
- <el-button
- type="primary"
- @click="dialog.swap_visiable = false"
- >{{ $t("HCFD.file.ok")}}</el-button>
- </div>
- </el-dialog>
- <!-- 资源选择 -->
- <el-dialog
- :close-on-click-modal="false"
- @close='activecleer()'
- :title="$t('HCFD.solution.Resource')"
- :visible.sync="dialog.ziyuan"
- width="45%"
- class="dialog"
- custom-class='dialog_color'
- >
- <el-form>
- <el-table
- :data="ziyprojects"
- border
- :row-key="getRowKeys"
- height="250"
- row-class-name='table-color'
- ref="multipleTable"
- @selection-change="ziySelectionChange"
- @select="ziySelectionSelect"
- size="mini"
- :fit="true"
- >
- <el-table-column
- type="selection"
- label="选择"
- :reserve-selection="true"
- />
- <el-table-column
- property="id"
- label="ID"
- />
- <el-table-column
- property="resIp"
- label="资源内网IP"
- />
- <el-table-column
- property="resShortname"
- label="资源简称"
- />
- </el-table>
- </el-form>
- <div class="pagination">
- <Pagination
- :pagination-config="paginationConfig"
- @putPagination="getPagination"
- ></Pagination>
- </div>
- <div
- slot="footer"
- class="dialog-footer"
- >
- <el-button @click="dialog.ziyuan = false"> {{ $t("HCFD.file.cancel")}} </el-button>
- <el-button
- type="primary"
- @click='resourceOK()'
- >{{ $t("HCFD.file.ok")}} </el-button>
- </div>
- </el-dialog>
- <!-- 表面网格 -->
- <el-dialog
- :visible.sync="dialog.SurfaceGrid_visiable"
- class="lg-y-z"
- :close-on-click-modal="false"
- :modal-append-to-body="false"
- :append-to-body="false"
- @close='activecleer()'
- v-if="active=='five-0'"
- :modal='false'
- custom-class='dialoglocation dialog_color'
- width="385px"
-
- v-draggable
- v-draggleft=[styX.left]
- >
- <div
- slot="title"
- class=dialog_header
- >
- <el-image
- class="imge"
- :src="j1"
- fit="cover"
- />
- <span class="text-color">{{$t('HCFD.results.Surfacegrid')}}</span>
- </div>
- <div class="flexpad30">
- <div class="selecr">
- <el-form>
- <el-form-item
- :label="$t('HCFD.results.steps') "
- :label-width="formLabelWidth2"
- >
- <el-select
- size="mini"
- v-model="bStep"
- @change="bStepChange"
- placeholder="请选择"
- >
- <el-option
- v-for="setep in boundaryStep"
- :key="setep"
- :label="setep"
- :value="setep"
- >
- </el-option>
- </el-select>
- </el-form-item>
- </el-form>
- </div>
- </div>
- <div
- slot="footer"
- class="dialog-footer"
- >
- <el-button @click="dialog.SurfaceGrid_visiable = false">{{ $t("HCFD.file.cancel")}} </el-button>
- <el-button
- type="primary"
- @click="bStepok('ResultImport','','');dialog.SurfaceGrid_visiable = false"
- >{{ $t("HCFD.file.ok")}}</el-button>
- </div>
- </el-dialog>
- <!-- 流场数据 -->
- <el-dialog
- :visible.sync="dialog.VolumeGrid_visiable"
- class="lg-y-z"
- :close-on-click-modal="false"
- @close='activecleer()'
- v-if="active=='five-1'"
- :modal='false'
- custom-class='dialoglocation dialog_color'
- width="385px"
- v-draggable
- v-draggleft=[styX.left]
- >
- <div
- slot="title"
- class=dialog_header
- >
- <el-image
- class="imge"
- :src="j2"
- fit="cover"
- />
- <span class="text-color">{{$t('HCFD.results.volume')}}</span>
- </div>
- <div class="selecr">
- <el-form>
- <el-form-item
- :label="$t('HCFD.results.steps') "
- :label-width="formLabelWidth2"
- >
- <el-select
- size="mini"
- v-model="vStep"
- @change="vStepChange"
- placeholder="请选择"
- >
- <el-option
- v-for="setep in volumStep"
- :key="setep"
- :label="setep"
- :value="setep"
- >
- </el-option>
- </el-select>
- </el-form-item>
- <!-- <el-form-item :label="$t('HCFD.results.scalar') " :label-width="formLabelWidth2">
- <el-select size="mini" v-model="vSalar" placeholder="请选择">
- <el-option
- v-for="scalar in volumScalars"
- :key="scalar"
- :label="scalar"
- :value="scalar"
- >
- </el-option>
- </el-select>
- </el-form-item> -->
- <!-- <div>
- <li class="disflex lheig34 liitem">
- <span class="span100 marb5 formLabelWidth15">{{ $t("HCFD.results.vector")}} </span>
- <el-checkbox checked>Velocity</el-checkbox>
- </li>
- <el-form-item :label=" $t('HCFD.results.contour')" :label-width="formLabelWidth2">
- <el-input-number v-model="Volumenum" @change="VolumenumChange" :min="1" :max="10" label="描述文字"></el-input-number>
- </el-form-item>
- <li class="disflex lheig34 liitem">
- <span class="span100 marb5 formLabelWidth15">{{ $t("HCFD.results.show")}}</span>
- <el-checkbox-group v-model="velementCheckeds" style="display:flex">
- <el-checkbox
- label="Mesh"
- @change="ContourvalVolume('Mesh')"
- ></el-checkbox>
- <el-checkbox
- label="Contour"
- @change="ContourvalVolume('Contour')"
- ></el-checkbox>
- </el-checkbox-group>
- </li>
- </div> -->
- <!-- <el-button
- type="primary"
- size="mini"
- style="margin:30px 0 30px 40%"
- @click="showVolume()"
- >{{ $t("HCFD.results.ShowVolume")}}</el-button
- > -->
- </el-form>
- </div>
- <div
- slot="footer"
- class="dialog-footer"
- >
- <el-button @click="dialog.VolumeGrid_visiable = false">{{ $t("HCFD.file.cancel")}}</el-button>
- <el-button
- type="primary"
- @click="bStepok('ResultImport','',''); dialog.VolumeGrid_visiable = false"
- >{{ $t("HCFD.file.ok")}}</el-button>
- </div>
- </el-dialog>
- <!--轮廓显示 Contour Displsy-->
- <el-dialog
- :visible.sync="dialog.contour_visiable"
- v-if="active=='five7-0'"
- :modal='false'
- :close-on-click-modal="false"
- @close='activecleer()'
- custom-class='dialoglocation dialog_color'
- width="385px"
- v-draggable
- v-draggleft=[styX.left]
- >
- <div
- slot="title"
- class=dialog_header
- >
- <el-image
- class="imge"
- :src="p3"
- fit="cover"
- />
- <span class="text-color">轮廓显示</span>
- </div>
- <el-form>
- <div class="line">
- <div class="linetext">轮廓</div>
- </div>
- <div class="Squareline selecr">
- <el-form-item
- label="名称"
- :label-width="formLabelWidth2"
- >
- <el-input
- v-model="outlineobj.scalarName"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- label="类型"
- :label-width="formLabelWidth2"
- >
- <el-input
- v-model="outlineobj.leixing"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- :label="$t('HCFD.results.scalar') "
- :label-width="formLabelWidth2"
- >
- <el-select
- size="mini"
- v-model="vSalar"
- placeholder="select boundary"
- @change="bmScalarschange()"
- >
- <el-option
- v-for="scalar in outlineobj.bmScalars"
- :key="scalar"
- :label="scalar"
- :value="scalar"
- >
- </el-option>
- </el-select>
- </el-form-item>
- </div>
- <div class="line">
- <div class="linetext"> 标量集</div>
- </div>
- <el-form-item
- label="level"
- :label-width="formLabelWidth2"
- >
- <el-input
- v-model="outlineobj.level"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <!-- @change="ContourvalVolume('Mesh')" @change="ContourvalVolume('Contour')" -->
- <!-- <div class="disflex lheig34 liitem">
- <el-checkbox-group v-model="velementCheckeds" style="display:flex">
- <el-checkbox
- label="Horizontal"
-
- ></el-checkbox>
- <el-checkbox
- label="Velocity"
-
- ></el-checkbox>
- </el-checkbox-group>
- </div> -->
- <div class="line">
- <div class="linetext"> 范围</div>
- </div>
- <el-form-item
- label="最大范围"
- :label-width="formLabelWidth2"
- >
- <el-input
- v-model="outlineobj.range1"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- label="最小范围"
- :label-width="formLabelWidth2"
- >
- <el-input
- v-model="outlineobj.range0"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- </el-form>
- <div
- slot="footer"
- class="dialog-footer"
- >
- <el-button @click="dialog.contour_visiable= false">{{ $t("HCFD.file.cancel")}}</el-button>
- <el-button
- type="primary"
- @click="changeblur();dialog.contour_visiable = false"
- >{{ $t("HCFD.file.ok")}}</el-button>
- </div>
- </el-dialog>
- <!--线条显示 Line Displsy-->
- <el-dialog
- :visible.sync="dialog.Line_visiable"
- v-if="active=='five7-1'"
- :modal='false'
- :close-on-click-modal="false"
- @close='activecleer()'
- custom-class='dialoglocation dialog_color'
- width="385px"
- v-draggable
- v-draggleft=[styX.left]
- >
- <div
- slot="title"
- class=dialog_header
- >
- <el-image
- class="imge"
- :src="p9"
- fit="cover"
- />
- <span class="text-color">线显示</span>
- </div>
- <el-form>
- <div class="line">
- <div class="linetext">线</div>
- </div>
- <div class="Squareline selecr">
- <el-form-item
- label="名称"
- :label-width="formLabelWidth2"
- >
- <el-input
- v-model="outlineobj.scalarName"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- label="类型"
- :label-width="formLabelWidth2"
- >
- <el-input
- v-model="outlineobj.leixing"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- :label="$t('HCFD.results.scalar') "
- :label-width="formLabelWidth2"
- >
- <el-select
- size="mini"
- v-model="vSalar"
- placeholder="select boundary"
- @change="bmScalarschange()"
- >
- <el-option
- v-for="scalar in outlineobj.bmScalars"
- :key="scalar"
- :label="scalar"
- :value="scalar"
- >
- </el-option>
- </el-select>
- </el-form-item>
- </div>
- <div class="line">
- <div class="linetext"> 标量集</div>
- </div>
- <el-form-item
- label="level"
- :label-width="formLabelWidth2"
- >
- <el-input
- v-model="outlineobj.level"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <div class="line">
- <div class="linetext"> 范围</div>
- </div>
- <el-form-item
- label="最大范围"
- :label-width="formLabelWidth2"
- >
- <el-input
- v-model="outlineobj.range1"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- label="最小范围"
- :label-width="formLabelWidth2"
- >
- <el-input
- v-model="outlineobj.range0"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- </el-form>
- <div
- slot="footer"
- class="dialog-footer"
- >
- <el-button @click="dialog.Line_visiable= false">{{ $t("HCFD.file.cancel")}}</el-button>
- <el-button
- type="primary"
- @click="vchangeblur(); dialog.Line_visiable = false"
- >{{ $t("HCFD.file.ok")}}</el-button>
- </div>
- </el-dialog>
- <!--Vector 矢量 -->
- <el-dialog
- :visible.sync="dialog.Vector_visiable"
- v-if="active=='five7-2'"
- :modal='false'
- :close-on-click-modal="false"
- @close='activecleer()'
- custom-class='dialoglocation dialog_color'
- width="385px"
- v-draggable
- v-draggleft=[styX.left]
- >
- <div
- slot="title"
- class=dialog_header
- >
- <el-image
- class="imge"
- :src="p4"
- fit="cover"
- />
- <span class="text-color">矢量</span>
- </div>
- <el-form>
- <div class="line">
- <div class="linetext">矢量</div>
- </div>
- <div class="Squareline selecr">
- <el-form-item
- label="u"
- :label-width="formLabelWidth2"
- >
- <el-select
- size="mini"
- v-model="vectorobj.dataU"
- placeholder="select boundary"
- >
- <el-option
- v-for="scalar in vectorobj.dataUarr"
- :key="scalar"
- :label="scalar"
- :value="scalar"
- >
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item
- label="v"
- :label-width="formLabelWidth2"
- >
- <el-select
- size="mini"
- v-model="vectorobj.dataV"
- placeholder="select boundary"
- >
- <el-option
- v-for="scalar in vectorobj.dataVarr"
- :key="scalar"
- :label="scalar"
- :value="scalar"
- >
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item
- label="w"
- :label-width="formLabelWidth2"
- >
- <el-select
- size="mini"
- v-model="vectorobj.dataW"
- placeholder="select boundary"
- >
- <el-option
- v-for="scalar in vectorobj.dataWarr"
- :key="scalar"
- :label="scalar"
- :value="scalar"
- >
- </el-option>
- </el-select>
- </el-form-item>
- </div>
- <div class="line">
- <div class="linetext"> 参数设置</div>
- </div>
- <el-form-item
- label="标度因子"
- :label-width="formLabelWidth2"
- >
- <el-input
- v-model="vectorobj.scaleFactor"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- </el-form>
- <div
- slot="footer"
- class="dialog-footer"
- >
- <el-button @click="dialog.Vector_visiable= false">{{ $t("HCFD.file.cancel")}}</el-button>
- <el-button
- type="primary"
- @click="vectorOK(); dialog.Vector_visiable = false"
- >{{ $t("HCFD.file.ok")}}</el-button>
- <!-- <el-button type="primary" @click="dialog.Vector_visiable = false"
- >Apply</el-button
- > -->
- </div>
- </el-dialog>
- <!--Solid Surface实体表面 -->
- <el-dialog
- :visible.sync="dialog.Solid_Surface"
- v-if="active=='five8-0'"
- :modal='false'
- :close-on-click-modal="false"
- @close='activecleer()'
- custom-class='dialoglocation dialog_color'
- width="385px"
- v-draggable
- v-draggleft=[styX.left]
- >
- <div
- slot="title"
- class=dialog_header
- >
- <el-image
- class="imge"
- :src="p14"
- fit="cover"
- />
- <span class="text-color">实体表面</span>
- </div>
- <el-form :model="form">
- <div class="heigeinput">
- <el-form-item label="颜色">
- <div class="saninput titleinput"> R
- <el-input
- v-model="colorobj.R"
- autocomplete="off"
- ></el-input>G
- <el-input
- v-model="colorobj.G"
- autocomplete="off"
- ></el-input>B
- <el-input
- v-model="colorobj.B"
- autocomplete="off"
- ></el-input>
- <el-color-picker
- v-model="lineColor"
- show-alpha
- @change="colorchange()"
- :predefine="predefineColors"
- >
- </el-color-picker>
- </div>
- </el-form-item>
- <div class="yiinpu heigeinput">
- <el-form-item
- label="透明度"
- :label-width="formLabelWidth2"
- >
- <el-input
- v-model="colorobj.transparency"
- autocomplete="off"
- ></el-input>
- <span style="width:80px">值范围0~1</span>
- </el-form-item>
- </div>
- <div class="radio_text text_color liangf">
- <div
- class="classfelx"
- style="text-align: center;"
- >
- <el-radio
- v-model="colorobj.showHideState"
- label="0"
- >hide</el-radio>
- </div>
- <div class="classfelx">
- <el-radio
- v-model="colorobj.showHideState"
- label="1"
- >show</el-radio>
- </div>
- </div>
- </div>
- </el-form>
- <div
- slot="footer"
- class="dialog-footer"
- >
- <el-button @click="dialog.Solid_Surface= false">{{ $t("HCFD.file.cancel")}}</el-button>
- <el-button
- type="primary"
- @click="colorsolid();dialog.Solid_Surface= false "
- >{{ $t("HCFD.file.ok")}}</el-button>
- <!-- <el-button type="primary" @click="dialog.Solid_Surface = false"
- >Apply</el-button
- > -->
- </div>
- </el-dialog>
- <!--Slice片 -->
- <el-dialog
- :visible.sync="dialog.Slice_Surface"
- v-if="active=='five8-1'"
- :modal='false'
- :close-on-click-modal="false"
- @close='activecleer()'
- custom-class='dialoglocation dialog_color'
- width="385px"
- v-draggable
- v-draggleft=[styX.left]
- >
- <div
- slot="title"
- class=dialog_header
- >
- <el-image
- class="imge"
- :src="p15"
- fit="cover"
- />
- <span class="text-color">切片</span>
- </div>
- <el-form :model="form">
- <div class="heigeinput">
- <div class="listbtn">
- <el-button
- plain
- class="anniu"
- @click="addTab(editableTabsValue) "
- >添加</el-button>
- <el-button
- plain
- class="anniu"
- @click="updata()"
- >updata</el-button>
- <el-button
- plain
- class="anniu"
- @click="removeclear(editableTabsValue)"
- >清除</el-button>
- </div>
- <el-tabs
- v-model="editableTabsValue"
- type="card"
- closable
- @tab-remove="removeTab"
- @tab-click="handletabclick"
- >
- <el-tab-pane
- v-for="ruleForm in editableTabs"
- :key="ruleForm.index"
- :label="ruleForm.index"
- :name="ruleForm.index"
- >
- <!-- {{item.content}}:is=item.content -->
- <Addtabs
- ref="addtabs"
- :variableNamearr1="variableNamearr"
- :ruleForm="ruleForm"
- ></Addtabs>
- </el-tab-pane>
- </el-tabs>
- </div>
- </el-form>
- <div
- slot="footer"
- class="dialog-footer"
- >
- <el-button @click="dialog.Slice_Surface= false">{{ $t("HCFD.file.cancel")}}</el-button>
- <el-button
- type="primary"
- @click=" liceOK();"
- >{{ $t("HCFD.file.ok")}}</el-button>
- <el-button
- type="primary"
- @click="dialog.Slice_Surface = false"
- >Apply</el-button>
- </div>
- </el-dialog>
- <!-- Stream流线 -->
- <el-dialog
- :visible.sync="dialog.Stream_Surface"
- v-if="active=='five8-2'"
- :modal='false'
- :close-on-click-modal="false"
- @close='activecleer()'
- custom-class='dialoglocation dialog_color'
- width="385px"
- v-draggable
- v-draggleft=[styX.left]
- >
- <div
- slot="title"
- class=dialog_header
- >
- <el-image
- class="imge"
- :src="p16"
- fit="cover"
- />
- <span class="text-color">流线</span>
- </div>
- <el-form :model="form">
- <div class="heigeinput">
- <div class='selecttype'>
- <span class="texttype">流线</span>
- <div class='selecttype'>
- <span class="texttype">矢量</span>
- <div class="selecr">
- <el-form-item
- label="u"
- :label-width="formLabelWidth4"
- >
- <el-select
- size="mini"
- v-model="streamobj.dataU"
- placeholder="select boundary"
- >
- <el-option
- v-for="scalar in streamobj.dataUarr"
- :key="scalar"
- :label="scalar"
- :value="scalar"
- >
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item
- label="v"
- :label-width="formLabelWidth4"
- >
- <el-select
- size="mini"
- v-model="streamobj.dataV"
- placeholder="select boundary"
- >
- <el-option
- v-for="scalar in streamobj.dataVarr"
- :key="scalar"
- :label="scalar"
- :value="scalar"
- >
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item
- label="w"
- :label-width="formLabelWidth4"
- >
- <el-select
- size="mini"
- v-model="streamobj.dataW"
- placeholder="select boundary"
- >
- <el-option
- v-for="scalar in streamobj.dataWarr"
- :key="scalar"
- :label="scalar"
- :value="scalar"
- >
- </el-option>
- </el-select>
- </el-form-item>
- </div>
- <div class="listbtn">
- <el-button
- plain
- class="anniu"
- @click="CreateStream()"
- >创建</el-button>
- </div>
- </div>
- <div class='selecttype'>
- <span class="texttype">seed</span>
- <div class="listbtn"> <el-button
- plain
- class="anniu"
- >选择</el-button></div>
- <div class="listbtn"> <el-button
- plain
- class="anniu"
- >删除最后一个</el-button></div>
- <div class="listbtn"> <el-button
- plain
- class="anniu"
- >删除全部</el-button></div>
- </div>
- <div class="selecr">
- <div class="line">
- <div class="linetext"> 方向</div>
- </div>
- <el-form-item
- label="方向"
- :label-width="formLabelWidth5"
- >
- <el-select
- size="mini"
- v-model="streamres.direction"
- placeholder="select boundary"
- >
- <el-option
- v-for="scalar in directionlist"
- :key="scalar"
- :label="scalar"
- :value="scalar"
- >
- </el-option>
- </el-select>
- </el-form-item>
- <div class="line">
- <div class="linetext"> 样式</div>
- </div>
- <el-form-item
- label="StreamStyle"
- :label-width="formLabelWidth5"
- >
- <el-select
- size="mini"
- v-model="streamres.streamstyle"
- placeholder="select boundary"
- >
- <el-option
- v-for="scalar in streamstylelist"
- :key="scalar"
- :label="scalar"
- :value="scalar"
- >
- </el-option>
- </el-select>
- </el-form-item>
- <div class="line">
- <div class="linetext"> intergration</div>
- </div>
- <el-form-item
- label="InitialStep"
- :label-width="formLabelWidth6"
- >
- <el-input
- v-model="streamres.initialstep"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- label="MaxPropagation"
- :label-width="formLabelWidth6"
- >
- <el-input
- v-model="streamres.maxpropagation"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- label="MinimumStep"
- :label-width="formLabelWidth6"
- >
- <el-input
- v-model="streamres.minimumstep"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <div class="radio_text text_color liangf">
- <div
- class="classfelx"
- style="text-align: center;"
- >
- <el-checkbox
- v-model="streamres.showstate"
- label="show"
- ></el-checkbox>
- </div>
- <div class="classfelx">
- <el-checkbox
- v-model="streamres.toolstate"
- label="tool"
- ></el-checkbox>
- </div>
- </div>
- </div>
- </div>
- </div>
- </el-form>
- <div
- slot="footer"
- class="dialog-footer"
- >
- <el-button @click="dialog.Stream_Surface= false">{{ $t("HCFD.file.cancel")}}</el-button>
- <el-button
- type="primary"
- @click="streamOK();dialog.Stream_Surface= false"
- >{{ $t("HCFD.file.ok")}}</el-button>
- </div>
- </el-dialog>
- <!-- an_Animation -->
- <el-dialog
- :visible.sync="dialog.an_Animation"
- :modal='false'
- :close-on-click-modal="false"
- custom-class='dialoglocation dialog_color'
- width="385px"
- v-draggable
- v-draggleft=[styX.left]
- >
- <div
- slot="title"
- class=dialog_header
- >
- <el-image
- class="imge"
- :src="p17"
- fit="cover"
- />
- <span class="text-color">动画</span>
- </div>
- <el-form :model="form">
- <div class="heigeinput">
- <div class="selecttype">
- <span class="texttype">动画</span>
- <el-form>
- <el-form-item
- :label="$t('HCFD.results.steps') "
- :label-width="formLabelWidth2"
- >
- <el-select
- size="mini"
- v-model="animaval"
- @change="animationclick"
- placeholder="请选择"
- style="width:100%"
- >
- <el-option
- v-for="setep in classlist"
- :key="setep.val"
- :label="setep.titlie"
- :value="setep.val"
- >
- </el-option>
- </el-select>
- </el-form-item>
- </el-form>
- <div class='selecttype'>
- <span class="texttype">zoom</span>
- <ul style="padding:0">
- <li>
- <el-checkbox-group v-model="checkList">
- <el-checkbox
- v-for="(item,key) in animationobj.zoomarr"
- @change="zoomList(item,key)"
- :key="key"
- :label="item"
- >{{item}}</el-checkbox>
- </el-checkbox-group>
- </li>
- </ul>
- </div>
- <div class="yiinpu loadclass">
- <el-button
- plain
- class="anniu"
- @click="loadonclick()"
- >Load</el-button>
- <el-progress
- :percentage="percentage"
- v-if="!isNaN(parseInt(percentage))"
- :stroke-width="5"
- ></el-progress>
- </div>
- </div>
- <div class="line">
- <div class="linetext">通用场景</div>
- </div>
- <el-form-item
- label="第一步"
- :label-width="formLabelWidth2"
- >
- <el-input
- v-model="animationobj.firststep"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- label="最后一步"
- :label-width="formLabelWidth2"
- >
- <el-input
- v-model="animationobj.laststep"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- label="当前步"
- :label-width="formLabelWidth2"
- >
- <el-input
- v-model="animationobj.currentstep"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <!-- <animation :animationobj='animationobj' :solverConfigid="solverConfigid" :action="animaval"></animation> -->
- <div
- class="block1"
- style="dispaly:flex"
- >
- <div class="listbtn">
- <el-button
- plain
- class="anniu"
- @click="lowclick()"
- >low</el-button>
- <el-slider
- :max='Number(animationobj.laststep)'
- :min="Number(animationobj.firststep)"
- :step="median"
- v-model.number="value1"
- @change="sliderchange"
- style="width:50%;margin: 0 10px 0 15px;"
- ></el-slider>
- <el-button
- plain
- class="anniu"
- @click="Quickclick()"
- >Quick</el-button>
- </div>
- <div class="listbtn anbtn">
- <el-button
- plain
- class="anniu"
- @click="Startclick()"
- >Start</el-button>
- <el-button
- plain
- class="anniu"
- @click="Lastclick();signnum=false;"
- >Last</el-button>
- <el-button
- plain
- class="anniu"
- @click="Playstop()"
- >Play/stop</el-button>
- <el-button
- plain
- class="anniu"
- @click="Nextclick();signnum=false;"
- >Next</el-button>
- <el-button
- plain
- class="anniu"
- @click="Endclick();signnum=false;"
- >End</el-button>
- </div>
- </div>
- <!-- <div class="timeanmiantion">
- <ul>
- <li>Time<span>1</span></li>
- <li style="flex:2;">
- <el-form-item label="FileType" :label-width="formLabelWidth2">
- <el-select v-model="fileTypeval" disabled placeholder="请选择">
- <el-option
- v-for="item in fileTypeli"
- :key="item.value"
- :label="item.name"
- :value="item.value"
- >
- </el-option>
- </el-select>
- </el-form-item>
- </li>
-
- </ul>
- </div> -->
- </div>
- </el-form>
- <div
- slot="footer"
- class="dialog-footer"
- >
- <el-button @click="dialog.an_Animation= false">{{ $t("HCFD.file.cancel")}}</el-button>
- <el-button
- type="primary"
- @click="dialog.an_Animation= false"
- >{{ $t("HCFD.file.ok")}}</el-button>
- <!-- <el-button type="primary" @click="dialog.an_Animation = false"
- >Apply</el-button
- > -->
- </div>
- </el-dialog>
- <!--Curve Select曲线选择 -->
- <el-dialog
- :visible.sync="dialog.Curve_Select"
- v-if="active=='five10-0'"
- :modal='false'
- :close-on-click-modal="false"
- @close='activecleer()'
- custom-class='dialoglocation dialog_color'
- width="385px"
- v-draggable
- v-draggleft=[styX.left]
- >
- <div
- slot="title"
- class=dialog_header
- >
- <el-image
- class="imge"
- :src="p9"
- fit="cover"
- />
- <span class="text-color"> 选择</span>
- </div>
- <el-form :model="form">
- <div class="heigeinput selecr">
- <div class="line">
- <div class="linetext">结果曲线</div>
- </div>
- <el-form-item
- label="选择区域"
- :label-width="formLabelWidth2"
- >
- <el-select
- size="mini"
- v-model="vSalar"
- placeholder="select boundary"
- >
- <el-option
- v-for="scalar in volumScalars"
- :key="scalar"
- :label="scalar"
- :value="scalar"
- >
- </el-option>
- </el-select>
- </el-form-item>
- <div class="line">
- <div class="linetext">类型</div>
- </div>
- <div class="listbtn">
- <el-button
- plain
- class="anniu"
- >点</el-button>
- <el-button
- plain
- class="anniu"
- >Cells</el-button>
- </div>
- <el-form-item
- label="标量名称"
- :label-width="formLabelWidth2"
- >
- <el-select
- size="mini"
- v-model="vSalar"
- placeholder="select boundary"
- >
- <el-option
- v-for="scalar in volumScalars"
- :key="scalar"
- :label="scalar"
- :value="scalar"
- >
- </el-option>
- </el-select>
- </el-form-item>
- <div class="listbtn">
- <el-button
- plain
- class="anniu"
- >清除</el-button>
- <el-button
- plain
- class="anniu"
- >输出量</el-button>
- </div>
- </div>
- </el-form>
- <div
- slot="footer"
- class="dialog-footer"
- >
- <el-button @click="dialog.Curve_Select= false">{{ $t("HCFD.file.cancel")}}</el-button>
- <el-button
- type="primary"
- @click="dialog.Curve_Select= false"
- >{{ $t("HCFD.file.ok")}}</el-button>
- <el-button
- type="primary"
- @click="dialog.Curve_Select = false"
- >Apply</el-button>
- </div>
- </el-dialog>
- <!--Curve Disp1ay曲线
- 曲线选择 -->
- <!-- :modal='false'
- :close-on-click-modal="false"
- :modal-append-to-body='false'
- @close='activecleer()'
- :style="styX"
- -->
- <el-dialog
- :visible.sync="dialog.Curve_Disp1ay"
- v-if="active=='five10-1'"
- :modal='false'
- :close-on-click-modal="false"
- :modal-append-to-body='false'
- @close='activecleer()'
- v-draggable
- v-draggleft=[styX.left]
- custom-class='dialoglocation dialog_color'
- width="385px"
- >
- <div
- slot="title"
- class=dialog_header
- >
- <el-image
- class="imge"
- :src="p13"
- fit="cover"
- />
- <span class="text-color"> 选择</span>
- </div>
- <el-form :model="form">
- <div class="Squareline selecr ">
- <div class="line">
- <div class="linetext">结果曲线</div>
- </div>
- </div>
- <div class="heigeinput selecr">
- <div class='selecttype'>
- <span class="texttype">选择类型</span>
- <div class="divselect">
- <div>
- <el-radio-group
- v-model="zobj.lineType"
- @change="changeline()"
- >
- <el-radio label="Point">点</el-radio>
- <el-radio label="Line">曲线</el-radio>
- </el-radio-group>
- </div>
- <div>
- <el-form-item
- label="点大小"
- :label-width="formLabelWidth2"
- >
- <el-input
- v-model="zobj.pointvalue"
- @blur="pointclick()"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- label="曲线大小"
- :label-width="formLabelWidth2"
- >
- <el-input
- v-model="zobj.linevalue"
- @blur="lineclick()"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- </div>
- </div>
- </div>
- <div class='selecttype'>
- <span class="texttype">zoom</span>
- <div class="liangf">
- <el-form-item
- label="X_最小值"
- :label-width="formLabelWidth2"
- >
- <el-input
- value="0"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- label="Y_最大值"
- :label-width="formLabelWidth2"
- >
- <el-input
- value="0"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- </div>
- </div>
- </div>
- </el-form>
- <div
- slot="footer"
- class="dialog-footer"
- >
- <el-button @click="dialog.Curve_Disp1ay= false">{{ $t("HCFD.file.cancel")}}</el-button>
- <el-button
- type="primary"
- @click="lineoclick();dialog.Curve_Disp1ay= false"
- >{{ $t("HCFD.file.ok")}}</el-button>
- <el-button
- type="primary"
- @click="dialog.Curve_Disp1ay = false"
- >Apply</el-button>
- </div>
- </el-dialog>
- <!-- 单位计算开始 -->
- <el-dialog
- :visible.sync="visiable"
- v-if="active=='six-0'"
- :modal='false'
- :close-on-click-modal="false"
- @close='activecleer()'
- custom-class='dialoglocation dialog_color'
- width="385px"
- v-draggable
- v-draggleft=[styX.left]
- >
- <div
- slot="title"
- class=dialog_header
- >
- <el-image
- class="imge"
- :src="d1"
- fit="cover"
- />
- <span class="text-color">单位换算</span>
- </div>
- <el-form :model="form1">
- <el-form-item
- label="kelvin"
- :label-width="formLabelWidth1"
- >
- <el-input
- v-model="form1.kelvins"
- type="number"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- label="℃"
- :label-width="formLabelWidth1"
- >
- <el-input
- v-model="form1.ssd"
- type="number"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <div>
- <el-button
- @click="dialogbtnkew"
- style="margin:10px 0 0 65px"
- size="mini"
- >摄氏度</el-button>
- <el-button
- @click="dialogbtnssd"
- size="mini"
- >开尔文</el-button>
- </div>
- </el-form>
- </el-dialog>
- <!-- Y+ Calculator -->
- <el-dialog
- :visible.sync="Yvisiable"
- :close-on-click-modal="false"
- @close='activecleer()'
- v-if="active=='six-1'"
- :modal='false'
- custom-class='dialoglocation dialog_color'
- width="385px"
- v-draggable
- v-draggleft=[styX.left]
- >
- <div
- slot="title"
- class=dialog_header
- >
- <el-image
- class="imge"
- :src="d2"
- fit="cover"
- />
- <span class="text-color">Y+值计算</span>
- </div>
- <el-form
- :model="form"
- class="gongju"
- >
- <!-- Freestream velocity流速度U∞ -->
- <el-form-item
- label="自由流速度U∞(m/s):"
- :label-width="formLabelWidth3"
- >
- <el-input
- v-model="form.u_freestream"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <!--Density 自由氣流密度ρ -->
- <el-form-item
- label="自由氣流密度ρ(kg/m^3):"
- :label-width="formLabelWidth3"
- >
- <el-input
- v-model="form.rho"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <!-- Characteristic length 特征长度L-->
- <el-form-item
- label="特征长度L:(m):"
- :label-width="formLabelWidth3"
- >
- <el-input
- v-model="form.L"
- type="number"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <!-- Dynamic viscosity表流运动粘贴系数μ: -->
- <el-form-item
- label="表流运动粘贴系数μ(Pa·s):"
- :label-width="formLabelWidth3"
- >
- <el-input
- v-model="form.mu"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <!-- Desired Y+ value: -->
- <el-form-item
- label="Y+:"
- :label-width="formLabelWidth3"
- >
- <el-input
- v-model="form.y_plus_desired"
- type="number"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <!-- Reynolds number -->
- <h3 class="Rex">雷诺数: {{ form.Rex }}</h3>
- <!-- Estimated wall distance: -->
- <h3 class="Rex">估计墙距: {{ form.dtc }}</h3>
- <el-form-item style="margin-left: 0">
- <!-- <el-input v-model="form.lys" type="number" autocomplete="off"></el-input> -->
- <el-button
- type="primary"
- @click="dialogbtny"
- style="margin:0 0 0 55px"
- >计算</el-button>
- </el-form-item>
- </el-form>
- </el-dialog>
- <!-- r雷诺数计算 -->
- <el-dialog
- :visible.sync="llsvisiable"
- :close-on-click-modal="false"
- v-if="active=='six-2'"
- :modal='false'
- custom-class='dialoglocation dialog_color'
- width="385px"
- v-draggable
- v-draggleft=[styX.left]
- >
- <div
- slot="title"
- class=dialog_header
- >
- <el-image
- class="imge"
- :src="d3"
- fit="cover"
- />
- <span class="text-color">雷诺数计算</span>
- </div>
- <el-form
- :model="form"
- class="leiluoshu"
- >
- <el-form-item
- label="流速v(m/s):"
- :label-width="formLabelWidth3"
- >
- <el-input
- v-model="form.lls"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- label="密度ρ(kg/m^3)"
- :label-width="formLabelWidth3"
- >
- <el-input
- v-model="form.lmi"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- label="动力黏性系数η(Pa·s)"
- :label-width="formLabelWidth3"
- >
- <el-input
- v-model="form.ldlzxxs"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item
- label="特征长度(内径)d(m):"
- :label-width="formLabelWidth3"
- >
- <el-input
- v-model="form.lld"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <el-form-item label="">
- <!-- <el-input v-model="form.lys" type="number" autocomplete="off"></el-input> -->
- <h3 class="Rex">雷诺数Re:{{ form.Re }}</h3>
- <el-button
- type="primary"
- style="margin:0 0 0 60px"
- @click="leinsdialogbtny"
- >计算</el-button>
- </el-form-item>
- </el-form>
- </el-dialog>
- <!-- 组件 -->
- <filesload
- ref="filesload"
- :fileurls="fileurls"
- @fileLoadeState="fileLoadeState($event)"
- ></filesload>
- <loading
- ref="loading"
- :loadObjs="loadObjs"
- ></loading>
- <!-- <hcfd-Calculator ref="Calculator"></hcfd-Calculator> -->
- </div>
- </template>
- <script>
- // 引入组件
- import geometry from "../geometry/index.vue";
- import meshindex from "../meshindex/index.vue";
- import t1 from "@/assets/icon/u9588.png";
- import t2 from "@/assets/icon/u9616.png";
- import t3 from "@/assets/icon/u9637.png";
- import t4 from "@/assets/icon/u212.png";
- import t5 from "@/assets/icon/u3284.png";
- import w1 from "@/assets/icon/u3250.png";
- import w2 from "@/assets/icon/u9700.png";
- import w3 from "@/assets/icon/u9872.png";
- import w4 from "@/assets/icon/u3877.png";
- import w5 from "@/assets/icon/u9823.png";
- import w6 from "@/assets/icon/u3742.png";
- import d1 from "@/assets/icon/u10148.png";
- import d2 from "@/assets/icon/u10152.png";
- import d3 from "@/assets/icon/u10156.png";
- import d4 from "@/assets/icon/u10160.png";
- import j1 from "@/assets/icon/u10140.png";
- import j2 from "@/assets/icon/u10144.png";
- import q1 from "@/assets/icon/u9681.png";
- import q2 from "@/assets/icon/u10115.png";
- import q3 from "@/assets/icon/u9987.png";
- import q4 from "@/assets/icon/u3868.png";
- import q5 from "@/assets/icon/u10048.png";
- import q6 from "@/assets/icon/u10068.png";
- import qq from "@/assets/icon/14.png";
- import p1 from "@/assets/icon/7.png";
- import p2 from "@/assets/icon/zoomtowindow.png";
- import p3 from "@/assets/icon/result_contour.png";
- import p4 from "@/assets/icon/result_vector.png";
- import p5 from "@/assets/icon/13.png";
- import p6 from "@/assets/icon/14.png";
- import p7 from "@/assets/icon/19.png";
- import p8 from "@/assets/icon/12.png";
- import p9 from "@/assets/icon/result_line.png";
- import p10 from "@/assets/icon/6.png";
- import p11 from "@/assets/icon/9.png";
- import p12 from "@/assets/icon/2.png";
- import p13 from "@/assets/icon/18.png";
- import p14 from "@/assets/icon/solid_surface.png";
- import p15 from "@/assets/icon/result_slice.png";
- import p16 from "@/assets/icon/result_stream.png";
- import p17 from "@/assets/icon/animation.png";
- import p18 from "@/assets/icon/result_curve.png";
- import p19 from "@/assets/hcfd_images/run.png";
- import p20 from "@/assets/icon/u3313.png";
- import p21 from "@/assets/icon/u854.png";
- import p22 from "@/assets/icon/u237.png";
- import adilog from "@/assets/hcfd_images/adilog.png";
- import Pagination from "@/components/Pagination";
- import { Message, MessageBox } from "element-ui";
- import store from "@/store";
- import UgridLoad from "./loads/UgridLoad.vue";
- import VolumLoad from "./loads/VolumLoad.vue";
- import { request, uploadFile } from "@/utils/request";
- import vueUploader from "./fileupload.vue";
- import filesload from "./filesload.vue";
- import { Caegw_ProUrl } from "@/settings"; // 引入settings.js
- import loading from "./loading.vue";
- import transformtool from "./loads/transformtool.vue";
- import echartsHFCD from "./echartsHFCD.vue";
- import Addtabs from "./addtabs.vue";
- import animation from "../compoents/animation.vue";
- export default {
- components: {
- geometry,
- meshindex,
- vueUploader,
- animation,
- filesload,
- loading,
- UgridLoad,
- VolumLoad,
- transformtool,
- Pagination,
- echartsHFCD,
- Addtabs,
- },
- props: {
- objopp: String,
- pid: String,
- femnum: String,
- elodingfalse: {
- type: Boolean,
- default() {
- return false;
- },
- },
- ytdata: {
- type: Object,
- default() {
- return {};
- },
- },
- vectorparam: {
- type: Object,
- default() {
- return {};
- },
- },
- },
- data() {
- return {
- funbool:true,
- objmesh:{
- strResultFormat:".vtk",
- surfParam:{
- max_size:"10",
- min_size:"1",
- surfStyle:"triangle",
- global_physical_size:"1.0"
- },
- surfParam1:{
- gradation:"1",
- anisotropic_ratio:"0",
- chordal_error:"0",
- debug:"no",
- closed_geometry:"no",
- enforce_cad_edge_sizes:"1",
- force_bad_surface_element_removal:"no",
- discard_input_topology:"no",
- create_tag_on_collision:"yes"
- },
- surfParam2:{
- element_order:"linear",
- remove_duplicate_cad_faces:"yes",
- scaled_jacobian_threshold_value:"0.001",
- optimisation:"no",
- correct_surface_intersections:"yes"
- },
- cleanerParam:null,
- tetraParam:null,
- hexaParam:null,
- hybridParam:null,
- },
- cleanerParam1:{
- folding_angle:"1",
- min_hole_size:"1",
- overlap_distance:"1",
- use_default_settings_for:"structure",
- overlap_angle:"15",
- resolution_length:"5"
- },
- tetraParam1:{
- components:"outside_components",
- gradation:"1.0"
- },
- hexaParam1:{
- components:"all",
- },
- hybridParam1:{
- element_generation:"tetra_dominant",
- normal_direction:'1',
- boundary_layer_global_initial_height:'',
- boundary_layer_geometric_progression:'',
- number_of_boundary_layers:'',
- },
-
- meshtableData:[{
- id:0,
- da:1
- },{
- id:2,
- da:33
- },
- ],
- setface:false,
- meshbrim:false,
- meshface:'物理尺寸模型',
- jiegradioval:false,
- facecheckbox:true,
- disabledface:false,
- jiegdisabled:true,
- jiegradio:"结构",
- checkListset:['纠正表面相交'],
- disabledset:true,
- lowbool: false,
- Quickbool: false,
- Startbool: false,
- sign: "low",
- signnum: false,
- countnum: 100,
- numan: true,
- slidermax: Number,
- median: Number,
- checkList: [],
- // 云图参数
- Stepe: "", //步数
- isVolume: "",
- outlineobj: {
- scalarName: "",
- range0: "",
- range1: "",
- leixing: "",
- level: "10",
- bmScalars: [],
- nameTypes: "",
- scalarmax: "",
- },
- percentage: 0,
- animationType: "ContourDisplay",
- hideZones: "",
- checkList: [],
- animationobj: {
- firststep: "",
- laststep: "",
- currentstep: "",
- zoomarr: [],
- },
- colorobj: {
- R: "0",
- G: "0",
- B: "0",
- showHideState: "1",
- transparency: "1",
- },
- variableNamearr: [],
- vector: {
- u: "r",
- v: "r",
- w: "r",
- },
- vectorobj: {
- dataU: "r",
- dataV: "r",
- dataW: "r",
- dataUarr: [],
- dataVarr: [],
- dataWarr: [],
- scaleFactor: "",
- },
- streamobj: {
- dataU: "r",
- dataV: "r",
- dataW: "r",
- dataUarr: [],
- dataVarr: [],
- dataWarr: [],
- },
- // 折线图的参数
- zobj: {
- lineType: "Line",
- pointvalue: "1",
- linevalue: "1",
- },
- target: "",
- editableTabsValue: "1",
- editableTabs: [
- // {
- // title: '1',
- // name: '1',
- // ruleForm: {
- // fw:'1',
- // slicecheck:'Solid',
- // sx:'',
- // sy:'',
- // sx:'',
- // rx:'',
- // yx:'',
- // zx:'',
- // con:'0',
- // colorlevel:'Sectionalplane',
- // secheck:'',
- // },
- // },
- ],
- tabIndex: 0,
- value1: 3,
- radio: "",
- desclist: [],
- boundaryid: "",
- desc: "",
- checked: false,
- solverConfigid: "",
- mcnames: "apply1",
- formLabelWidth: "60px",
- formLabelWidth2: "73px",
- formLabelWidth4: "37px",
- formLabelWidth5: "100px",
- formLabelWidth6: "120px",
- formLabelWidth61: "134px",
- formLabelWidth7: "170px",
- formLabelWidth9: "407px",
- switchvalue: "1",
- styX: {
- left: "",
- },
- t1,
- t2,
- t3,
- t4,
- t5,
- w1,
- w2,
- w3,
- w4,
- w5,
- w6,
- d1,
- d2,
- d3,
- d4,
- j1,
- j2,
- q1,
- q2,
- q3,
- q4,
- q5,
- q6,
- qq,
- p1,
- p2,
- p3,
- p4,
- p5,
- p6,
- p7,
- p8,
- p9,
- p10,
- p11,
- p12,
- p13,
- p14,
- p15,
- p16,
- p17,
- p18,
- p19,
- p20,
- p21,
- p22,
- visibles: false,
- restime: "",
- numzhexian: "",
- newlog: "",
- luobj: {
- projectName: "",
- projectId: "",
- projectDesc: "",
- },
- // 颜色选择
- r: "",
- g: "",
- b: "",
- lineColor: "rgba(255, 69, 0, 0.68)",
- predefineColors: [
- "#ff4500",
- "#ff8c00",
- "#ffd700",
- "#90ee90",
- "#00ced1",
- "#1e90ff",
- "#c71585",
- "rgba(255, 69, 0, 0.68)",
- "rgb(255, 120, 0)",
- "hsv(51, 100, 98)",
- "hsva(120, 40, 94, 0.5)",
- "hsl(181, 100%, 37%)",
- "hsla(209, 100%, 56%, 0.73)",
- "#c7158577",
- ],
- // current:0,
- lsolverState: "2",
- footerShow: true,
- bMesh: 0,
- bContour: 1,
- vMesh: 0,
- vContour: 1,
- name: "New",
- xiugai: {},
- Surfacenum: 3,
- Volumenum: 3,
- clearobj: {
- projectId: "",
- fileType: "",
- step: Number,
- },
- servertype: "ugrid",
- tstep: Number,
- wstep: "0",
- step: "0",
- srsurl: "ugrid",
- footerval: "on",
- top: "50px",
- formLabelWidth1: "70px",
- formLabelWidth3: "180px",
- visiable: false,
- dialogFormVisible: false,
- form1: {
- ssd: "",
- kelvins: "",
- delivery: false,
- type: [],
- resource: "",
- desc: "",
- },
- sum: "",
- formLabelWidth: "120px",
- adilog: adilog,
- activeName: "twos",
- tabPosition: "bottom",
- showtrue: true,
- drawer: true,
- direction: "rtl",
- twolist: [
- { icon: t1, titlie: "缩放" },
- { icon: t2, titlie: "平移" },
- { icon: t3, titlie: "旋转" },
- // {icon:t4, titlie:'分析类型'},
- // {icon:t5, titlie:'并行类型'},
- ],
- classlist: [
- { val: "ContourDisplay", titlie: " 轮廓显示" },
- { val: "LineDisplay", titlie: "线" },
- { val: "VectorDisplay", titlie: "矢量" },
- { val: "SolidSurfaceDisplay", titlie: "实体表面" },
- ],
- animaval: "ContourDisplay",
- meshlist: [
- { icon: q4, titlie: "文件上传" },
- { icon: p20, titlie: "几何网格检测" },
- { icon: p21, titlie: "网格自动划分" },
- ],
- geometrylist: [{ icon: p22, titlie: "几何导入" }],
- physicslist: [{ icon: w1, titlie: "控制方程" }],
- physicslist2: [
- { icon: w2, titlie: "粘性模型" },
- // {icon:"icon-d-glassware", titlie:'层流'},
- // {icon:"icon-xunhuanbofang", titlie:'湍流'},
- { icon: w3, titlie: "边界条件" },
- { icon: w4, titlie: "运动网格" },
- ],
- physicslist1: [
- { icon: w5, titlie: "参考条件" },
- { icon: w6, titlie: "非惯性参考系" },
- ],
- solutionlist: [
- { icon: q1, titlie: "无粘通量方法" },
- { icon: q2, titlie: "时间推进格式" },
- ],
- solutionlist2: [{ icon: q3, titlie: "线性方程组求解参数" }],
- solutionlist21: [{ icon: q4, titlie: "初始化" }],
- solutionlist22: [{ icon: p18, titlie: "折线图" }],
- solutionlist3: [
- { icon: q5, titlie: "运行控制" },
- { icon: q6, titlie: "输出控制" },
- ],
- runlist: [{ icon: p19, titlie: "求解" }],
- solutionlist4: [
- {
- icon: "icon-xitongcanshupeizhi",
- titlie: "Advanced Option_特殊的参数",
- },
- { icon: "icon-icon", titlie: "Advanced Option_Swap Y-Z Axres" },
- { icon: "icon-yunhang", titlie: "运行" },
- { icon: "icon-quxiantu", titlie: "Monitor" },
- { icon: "icon-tuxingtuxiangchuli", titlie: "资源选择" },
- ],
- resultslist: [
- // { icon:"icon-cankaowenjian", titlie:'下载求解结果'},
- { icon: j1, titlie: "物面数据" },
- { icon: j2, titlie: "流场数据" },
- ],
- plotslsit: [
- { icon: p1, titlie: "Model plot" },
- { icon: p2, titlie: "path plot" },
- { icon: p3, titlie: "Global variables" },
- ],
- plotslsit1: [
- { icon: p4, titlie: "Design plot" },
- { icon: p5, titlie: "Gentralized Y Plot" },
- { icon: p6, titlie: "Import" },
- ],
- plotslsit2: [
- { icon: p6, titlie: "Length Unit" },
- { icon: p7, titlie: "History rlot" },
- { icon: p6, titlie: "Import IYPlot" },
- ],
- samplelist: [{ icon: p8, titlie: "采样点" }],
- generatelist: [
- { icon: p9, titlie: "工具" },
- { icon: p10, titlie: "动画" },
- { icon: p11, titlie: "Movies" },
- ],
- generatelist2: [
- { icon: p3, titlie: "报告" },
- { icon: p4, titlie: "几何距离" },
- ],
- displaylist: [
- { icon: p3, titlie: "轮廓显示" },
- { icon: p9, titlie: "线" },
- { icon: p4, titlie: "矢量" },
- ],
- displaylist2: [
- { icon: p14, titlie: "实体表面" },
- { icon: p15, titlie: "切片" },
- { icon: p16, titlie: "流线" },
- ],
- animationlist: [{ icon: p17, titlie: "动画" }],
- Cuelist: [
- { icon: p9, titlie: "Curve Select" },
- { icon: p13, titlie: "Curve Display" },
- ],
- unitlist: [
- { icon: d1, titlie: "单位换算" },
- { icon: d2, titlie: "Y+计算器" },
- { icon: d3, titlie: "雷诺数计算" },
- ],
- selectlist1: [
- { value: "inviscid", name: "无粘" },
- { value: "laminar", name: "层流" },
- { value: "turbulent", name: "湍流" },
- ],
- strResultFormatlist:[
- { value: ".vtk", name: ".vtk" },
- { value: ".mesh", name: ".mesh" },
- { value: ".ugrid", name: ".ugrid" },
- { value: ".bdf", name: ".bdf" },
- { value: ".neu", name: ".neu" },
-
- ],
- meshval:'0',
- meshvallist:[
- { value: "0", name: "面网格" },
- { value: "1", name: "四面体网格" },
- { value: "2", name: "六面体网格" },
- { value: "3", name: "混合网格" },
- ],
- meshvallist1:[
- { value: "triangle", name: "三角形" },
- { value: "quad_dominant", name: "四边形" },
- { value: "full_quad", name: "全四边形" },
- { value: "local", name: "局部" },
- ],
- meshval1:'0',
- patternlist:[
- { value: "global", name: "global" },
- { value: "local", name: "local" },
- { value: "none", name: "none" },
- ],
- patternval:'0',
- elsementlist:[
- { value: "linear", name: "linear" },
- { value: "quadratic", name: "quadratic" },
- ],
- eleval:'0',
- tetrahedron:[
- { value: "outside_components", name: "outside_components" },
- { value: "all", name: "all" },
- ],
- hexahedral:[
- { value: "outside_components", name: "outside_components" },
- { value: "outside_skin_only", name: "outside_skin_only" },
- { value: "all", name: "all" },
- ],
- mixture:[
- { value: "tetra_dominant", name: "tetra_dominant" },
- { value: "hexa_dominant", name: "hexa_dominant" },
- { value: "extrusion_only", name: "extrusion_only" },
- { value: "cartesian_core", name: "cartesian_core" },
- ],
- mixval:'0',
- hemxval:'0',
- boundarylayer :[
- { value: "1", name: "正" },
- { value: "-1", name: "负" },
-
- ],
- layerval:'0',
- fileTypeli: [
- { value: "timestep", name: "timestep" },
- { value: "model", name: "model" },
- ],
- fileTypeval: "timestep",
- selectlist2: [
- { value: "sa", name: "SA" },
- { value: "k-omega-sst", name: "Menter-SST" },
- { value: "sa-des", name: "SA-DES" },
- { value: "k-omega-des", name: "k-omega-DES" },
- { value: "linear-k-epsilon", name: "Linear-k-epsilon" },
- { value: "abid-k-epsilon", name: "Abid-k-epsilon" },
- { value: "menter-sst-les", name: "Menter-SST-LES" },
- { value: "Wilcox-les", name: "Wilcox-LES" },
- ],
- qjklist: [
- { value: "roe", name: "Roe" },
- { value: "vanleer", name: "vanleer" },
- { value: "hllc", name: "HLLC" },
- { value: "aufs", name: "AUFS" },
- { value: "central_diss", name: "Central_Diss" },
- { value: "dlfss", name: "LDFSS" },
- { value: "stvd", name: "STVD" },
- { value: "stvd_modified", name: "STVD_modified" },
- ],
- qjklist2: [
- { value: "none", name: "none" },
- { value: "barth", name: "barth" },
- { value: "venkat", name: "venkat" },
- { value: "minmod", name: "minmod" },
- { value: "vanleer", name: "vanleer" },
- { value: "vanalbada", name: "vanalbada" },
- { value: "smooth", name: "smooth" },
- { value: "hminmod", name: "hminmod" },
- { value: "hvanleer", name: "hvanleer" },
- { value: "hvanalbada", name: "hvanalbada" },
- { value: "hsmooth", name: "hsmooth" },
- { value: "hvenkat", name: "hvenkat" },
- ],
- qjklist3: [
- { value: "roe", name: "Roe" },
- { value: "central_difference", name: "Central_Difference" },
- { value: "hllc", name: "HLLC" },
- { value: "aufs", name: "AUFS" },
- { value: "dlfss", name: "LDFSS" },
- ],
- ydlist: [
- { value: "0", name: "刚体" },
- { value: "1", name: "变形" },
- ],
- tlist1: [
- { value: "steady", name: "定常" },
- { value: "1storder", name: "1阶差分" },
- { value: "2ndorder", name: "2阶差分" },
- { value: "2ndorderOPT", name: "最优2阶差分" },
- { value: "3rdorder", name: "4阶差分" },
- { value: "4thorderMEBDF4", name: "4阶差分" },
- { value: "4thorderESDIRK4", name: "4阶差分" },
- ],
- ydval: "0",
- ydlist2: [
- { value: "0", name: "平动" },
- { value: "1", name: "转动" },
- ],
- directionlist: ["Both", "Forward", "Backward"],
- streamstylelist: ["Line", "Ribbon", "Tube"],
- streamres: {
- direction: "Both",
- streamstyle: "Line",
- initialstep: 0.2,
- maxpropagation: 1.2,
- minimumstep: 0.3,
- showstate: true,
- toolstate: true,
- },
- ydval2: "0",
- ydlist3: [
- { value: "0", name: "匀速" },
- { value: "1", name: "正弦" },
- ],
- ydval3: "0",
- ydlist4: [
- { value: "0", name: "随体运动" },
- { value: "1", name: "空间固定" },
- ],
- ydval4: "0",
- loadlist: [
- { value: "0", name: "盒子" },
- { value: "1", name: "球" },
- { value: "2", name: "圆柱" },
- { value: "4", name: "圆锥" },
- ],
- loadval: "0",
- objectplanelist: [
- { value: "0", name: " 物面输出" },
- { value: "1", name: "流场输出" },
- ],
- objectplaneval: "0",
- active: "",
- //大对象
- ziyprojects: [],
- paginationConfig: {
- hideSinglePage: false,
- page: 1,
- size: 15,
- sizeList: [10, 15, 30, 50],
- layout: "total, sizes, prev, pager, next, jumper",
- total: 0,
- },
- getRowKeys(row) {
- return row.id;
- },
- selsectid: [],
- missType: true,
- initialization: "freestreams",
- upVisible: false,
- Yvisiable: false,
- llsvisiable: false,
- newload: true,
- runMonitor: true,
- contourLevel: 3,
- form: {
- u_freestream: "",
- rho: "",
- L: "",
- mu: "",
- y_plus_desired: "",
- dtc: "",
- md: "",
- ls: "",
- cd: "",
- Rex: "",
- Re: "",
- lys: "",
- lmi: "",
- ldlzxxs: "",
- lld: "",
- Re: "",
- dtc: "",
- lls: "",
- },
- uploadlist: [
- {
- name: "mapbc",
- percentage: 0,
- },
- {
- name: "ugrid",
- percentage: 0,
- },
- ],
- ContourSurface: false,
- adilog: adilog,
- loading: loading,
- headMenu_2Show: false,
- leftMenu_2Show: false,
- gennealShow: false,
- physicsShow: false,
- solutionShow: false,
- resultShow: false,
- Consoleshow: true,
- openshow: false,
- TaskGenealshow: false,
- TaskPhysicsshow: false,
- TaskSolutionshow: false,
- TaskSurfaceshow: false,
- TaskVolumeshow: false,
- ugridUrl: "",
- bload: null,
- websock: null,
- logs: "欢迎来到HCFD",
- islogload: true, //控制log请求(ture 发起 false 不发起)
- outline: "OutLine",
- fileNames: [],
- belementCheckeds: ["Contour"],
- boundaryStep: [],
- bStep: "0",
- boundaryScalars: [],
- hcfdSteplist: [],
- bScalar: "cp",
- velementCheckeds: ["Contour"],
- vStep: "0",
- volumStep: [],
- volumScalars: [],
- vSalar: "",
- isSolverEnd: false, //判断是否求解完成
- solverState: "0", //求解状态(0-未求解 1-求解中 2-求解完成)
- menuList: [
- {
- id: "1",
- label: "Setup",
- children: [
- {
- id: "2",
- label: "General",
- },
- {
- id: "3",
- label: "Physics",
- },
- {
- id: "4",
- label: "Solution",
- },
- ],
- },
- {
- id: "5",
- label: "Results",
- children: [
- {
- id: "6",
- label: "Monitor",
- },
- {
- id: "7",
- label: "Surface Grid",
- },
- {
- id: "8",
- label: "Volume Grid",
- },
- {
- id: "9",
- label: "Ugrid",
- },
- ],
- },
- ],
- dialog: {
- //弹出框 控制
- new_visiable: false,
- load_visiable: false,
- ziyuan: false,
- geometry_upload: false,
- upload_visiable: false,
- mesh_generation:false,
- scale_visiable: false,
- translation_visiable: false,
- rotation_visiable: false,
- type_visiable: false,
- parallel_visiable: false,
- equation_visiable: false,
- inviscid_visiable: false,
- laminar_visiable: false,
- turbulent_visiable: false,
- dynamic_visiable: false,
- nonitertial_visiable: false,
- border_visiable: false,
- reference_visiable: false,
- fluxrc_visiable: false,
- time_visiable: false,
- timeasm_visiable: false,
- xian_visiable: false,
- initialization_visiable: false,
- specified_visiable: false, //未完成
- runc_visiable: false,
- boundaryo_visiable: false,
- volumeo_visiable: false,
- specialp_visiable: false,
- swap_visiable: false,
- SurfaceGrid_visiable: false,
- VolumeGrid_visiable: false,
- contour_visiable: false,
- Line_visiable: false,
- Vector_visiable: false,
- Solid_Surface: false,
- Slice_Surface: false,
- Stream_Surface: false,
- Curve_Select: false,
- Curve_Disp1ay: false,
- an_Animation: false,
- },
- geneal: {
- //数据存储
- MeshTransform: {
- Scale: {
- Factor: 0,
- },
- Translation: {
- Distance: 0,
- X: 1,
- Y: 0,
- Z: 0,
- },
- Rotation: {
- Angle: 0,
- X: 0,
- Y: 0,
- Z: 0,
- X1: 1,
- Y1: 0,
- Z1: 0,
- },
- },
- },
- Physics: {
- Turbulent: {
- TurbulentPrandtlNumber: 0.9,
- },
- Boundary: {
- bquery: null, //hcfdBoundary 选中数据 id
- hcfdBoundaryquery: null, //hcfdBoundary 选中数据
- cquery: null,
- /* 黎曼远场边界(Farfield) 5000
- * 自由来流边界(Freestream)5050
- * 无粘壁面(Inviscous Wall) 3000
- * 粘性壁面(Viscous Wall)4000
- * X-对称平面(X-symmetry Plane)6661
- * Y-对称平面(Y-symmetry Plane ) 6662
- * Z-对称平面Z-symmetry Plane) 6663
- * 周期边界(Periodic) 6100*/
- Conditions: [
- { conditionsCode: 5000, name: "Farfield" },
- { conditionsCode: 5050, name: "Freestream" },
- { conditionsCode: 3000, name: "Inviscous Wall" },
- { conditionsCode: 4000, name: "Viscous Wall" },
- { conditionsCode: 6661, name: "X-symmetry Plane" },
- { conditionsCode: 6662, name: "Y-symmetry Plane" },
- { conditionsCode: 6663, name: "Z-symmetry Plane" },
- { conditionsCode: 6100, name: "Periodic" },
- ],
- },
- },
- Solution: {
- boundaryout: {
- checkAll: false,
- checkeds: [],
- lists: [
- "X-component of velocity",
- "Y-component of velocity",
- "Z-component of velocity",
- "Press",
- "Press coefficient",
- "Mach Number",
- "Vorticity magnitude",
- "X-component of vorticity",
- "Y-component of vorticity",
- "Z-component of vorticity",
- "Q Criterion",
- ],
- isIndeterminate: true,
- },
- volumout: {
- checkAll: false,
- checkeds: [],
- lists: [
- "X-component of velocity",
- "Y-component of velocity",
- "Z-component of velocity",
- "Press",
- "Press coefficient",
- "Mach Number",
- "Vorticity magnitude",
- "X-component of vorticity",
- "Y-component of vorticity",
- "Z-component of vorticity",
- "Q Criterion",
- ],
- isIndeterminate: true,
- },
- },
- //state -1,0 ,1
- //message
- //type 1 一般 2 下载
- state: "", //求解状态(0-为求解,1-求解成功,-1-是求解失败)
- loadObjs: [],
- loadVVisiable: false,
- loading: false,
- fileurls: [],
- project: {
- projectId: "",
- lesseeId: "",
- projectName: "",
- projectType: "hcfd",
- projectDesc: "",
- fileType: "ascii",
- solverfiles: [],
- solverVolumUrls: [],
- solverBoundaryUrls: [],
- loadfils: [],
- converge: "",
- uid: "",
- },
- projects: [],
- parameterObjclone: [],
- parameterObj: {
- hcfdBoundarys: [
- // {
- // name: "WING1",
- // id: 1,
- // conditionsCode: 3000,
- // },
- ],
- nmlParam: {
- a_vort_mag: "false",
- case_title: "case_name",
- angle_of_yaw: 0,
- x_moment_center: 0,
- eqn_type: "cal_perf_incompress",
- schedule_cfl: [0, 0],
- swap_yz_axes: "false",
- v_vort_mag: "false",
- pseudo_time_stepping: "on",
- meanflow_sweeps: 15,
- a_p: "true",
- a_u: true,
- a_w: "true",
- a_v: "true",
- dynamic_Mesh: "off",
- jacobian_eval_freq: 10,
- turb_model: "menter-sst",
- grid_format: "aflr3",
- turbulence_sweeps: 10,
- mach_number: 0.5,
- y_moment_length: 1,
- area_reference: 1,
- flux_limiter: "none",
- a_cp: "true",
- viscous_terms: "turbulent",
- volume_animation_freq: 100,
- steps: 1500,
- flux_construction_lhs: "roe",
- stopping_tolerance: 2.0e-1,
- prandtlnumber_molecular: 0.72,
- restart_write_freq: 250,
- v_vort_x: "false",
- schedule_iteration: [1, 50],
- v_vort_y: "false",
- v_vort_z: "false",
- line_implicit: "off",
- temperature_units: "Rankine",
- number_of_Processors: 2,
- x_moment_length: 1,
- time_accuracy: "steady",
- angle_of_attack: 0,
- subiterations: 0,
- artificial_compress: 15,
- a_q_criterion: "false",
- schedule_cflturb: [50, 50],
- schedule: 1,
- first_order_iterations: 0,
- restart_read: "off",
- temperature: 490,
- input_version: 2.2,
- namelist_verbosity: "off",
- ignore_euler_number: "false",
- data_format: "ascii",
- v_cp: "true",
- time_step_nondim: 0,
- a_mach: "true",
- large_angle_fix: "off",
- v_p: "true",
- animation_freq: 100,
- v_mach: "true",
- project_rootname: "tf",
- v_v: "true",
- v_q_criterion: "false",
- v_u: "true",
- y_moment_center: 0,
- v_w: true,
- z_moment_center: 0,
- parallel_Optional: "Serial",
- analysis_Type: "Steady",
- noninertial_Reference_Frame: "off",
- flux_construction: "roe",
- a_vort_z: "false",
- a_vort_y: "false",
- a_vort_x: "false",
- reynolds_number: 1000000,
- },
- },
- renderer_hight: 500,
- renderer_width: 500,
- showUgridflag: false, //ugrid 是否显示过
- showSurfaceflag: false, //surface 是否显示过
- showVolumeflage: false, //Volume 是否显示过
- showMonitorflage: false, //Monitor是否显示过
- };
- },
- created() {},
- mounted() {
- this.init();
- },
- watch: {},
- // destroyed() {
- // this.websock.close() //离开路由之后断开websocket连接
- // },
- methods: {
- // 折线图对线的控制
- changeline() {
- let obj = JSON.stringify(this.zobj);
- this.$parent.changelines(obj);
- if (this.zobj.ineType == "line") {
- }
- },
- lineclick() {
- let num = Number(this.zobj.linevalue);
- if (
- (num < 0 && this.zobj.lineType == "Line") ||
- (num < 10 && this.zobj.lineType == "Line")
- ) {
- this.$parent.linezhexian(this.zobj.linevalue);
- }
- },
- pointclick() {
- let num = Number(this.zobj.pointvalue);
- if (
- (num < 0 && this.zobj.pointvalue == "Point") ||
- (num < 10 && this.zobj.pointvalue == "Point")
- ) {
- this.$parent.linezhexian(this.zobj.pointvalue);
- }
- },
- geometryup() {
- // this.$parent.startimg("init",'loaddata');
- },
- // 上传文件,加载图片
- runugrid() {
- this.$parent.startimg("init", "loaddata");
- },
- // 添加div
- addTab(targetName) {
- this.target = targetName;
- let newTabName = ++this.tabIndex + "";
- this.bStepok("SliceDisplayAdd", newTabName, "");
- this.editableTabs.push({
- index: newTabName,
- type: "line",
- variableName: "r",
- level: "10",
- normal_x: "",
- normal_y: "",
- normal_z: "",
- position_x: "1",
- position_y: "",
- position_z: "",
- scalar_value_state: false,
- solid_state: true,
- sectional_plane_state: true,
- sectional_contour_state: true,
- areaRange: "",
- });
- this.editableTabsValue = newTabName;
- },
- //add的参数
- addparam() {
- console.log(22222);
- let dataslicedisplay = JSON.parse(
- sessionStorage.getItem("dataslicedisplay")
- );
- let data = JSON.parse(dataslicedisplay);
- let that = this;
- that.variableNamearr = data.variableName.split(",");
- let arr = this.editableTabs;
- that.$nextTick(() => {
- for (var i = 0; i < arr.length; i++) {
- arr[i].position_x = data.position_x;
- arr[i].position_y = data.position_y;
- arr[i].position_z = data.position_z;
- arr[i].areaRange = data.areaRange;
- that.$refs.addtabs[i].getarrs(this.variableNamearr);
- that.$refs.addtabs[i].range.xrange = data.xrange;
- that.$refs.addtabs[i].range.yrange = data.yrange;
- that.$refs.addtabs[i].range.zrange = data.zrange;
- }
- });
- },
- updata() {
- this.bStepok("SliceDisplayUpdate", "", "");
- },
- //updata的参数
- updataparam() {
- let updateparam = JSON.parse(sessionStorage.getItem("updateparam"));
- let edarr = this.editableTabs;
- let updatadata = JSON.parse(updateparam);
- let updatarr = updatadata.update_param;
- console.log(updatarr);
- for (var i = 0; i < edarr.length; i++) {
- for (var j = 0; j < updatarr.length; j++) {
- edarr[i].normal_x = updatarr[j].normal_x;
- edarr[i].normal_y = updatarr[j].normal_y;
- edarr[i].normal_z = updatarr[j].normal_z;
- edarr[i].position_x = updatarr[j].position_x;
- edarr[i].position_y = updatarr[j].position_y;
- edarr[i].position_z = updatarr[j].position_z;
- }
- }
- },
- // 参数的编辑
- //删除新增的tab
- removeclear(val) {
- let tabs = this.editableTabs;
- let activeName = this.editableTabsValue;
- if (activeName === val) {
- tabs.forEach((tab, index) => {
- if (tab.index === val) {
- let nextTab = tabs[index + 1] || tabs[index - 1];
- if (nextTab) {
- activeName = nextTab.index;
- }
- }
- });
- }
- this.editableTabsValue = activeName;
- this.editableTabs = tabs.filter((tab) => tab.index !== val);
- this.bStepok("SliceDisplayDel", val, "");
- },
- removeTab(targetName) {
- console.log(targetName);
- let tabs = this.editableTabs;
- let activeName = this.editableTabsValue;
- if (activeName === targetName) {
- tabs.forEach((tab, index) => {
- if (tab.index === targetName) {
- let nextTab = tabs[index + 1] || tabs[index - 1];
- if (nextTab) {
- activeName = nextTab.index;
- }
- }
- });
- }
- this.editableTabsValue = activeName;
- this.editableTabs = tabs.filter((tab) => tab.index !== targetName);
- this.bStepok("SliceDisplayDel", targetName, "");
- },
- handletabclick(el) {
- console.log(el);
- },
- liceOK() {
- let paramJson = JSON.stringify(this.editableTabs);
- this.bStepok("SliceDisplayApply", "", paramJson);
- this.dialog.Slice_Surface = false;
- },
- changedesc1(val) {
- this.desclist = JSON.parse(val);
- this.parameterObj.hcfdBoundarys = this.desclist;
- },
- leixingchange(val) {
- if (val == "MPI Parallel") {
- this.dialog.parallel_visiable = true;
- } else {
- this.dialog.parallel_visiable = false;
- }
- console.log(val);
- },
- //数据加载参数配置obj
- hcfdchange(obj, solverConfigid, datas) {
- this.parameterObj = JSON.parse(obj);
- console.log(this.parameterObj);
- this.desclist = this.parameterObj.hcfdBoundarys;
- sessionStorage.setItem("res", obj);
- this.solverConfigid = solverConfigid;
- this.state = datas.state; //-1-为求解 ,0-是求解中,1-求解完成
- sessionStorage.setItem("solverConfigid", solverConfigid);
- },
- //更新参数配置
- hcfdparam() {
- const params = {
- transCode: "C00004",
- solverConfigid: this.solverConfigid,
- parameterObj: JSON.stringify(this.parameterObj),
- };
- request(params)
- .then((res) => {
- this.$parent.solverchange1(this.femnum, "1");
- })
- .catch((err) => {});
- },
- // 新版求解控制
- Runsolve() {
- this.hcfdparam();
- this.dialog.runc_visiable = false;
- },
- hcfdExe() {
- var _this = this;
- let params = {
- transCode: "C00005",
- solverConfigId: this.solverConfigid,
- };
- request(params)
- .then((res) => {
- Message({
- type: "success",
- message: res.returnMsg,
- });
- })
- .catch((err) => {
- this.$emit("exlodingfalse", false);
- setTimeout(function () {
- _this.$refs.loading.visiable = false;
- }, 4000);
- if (err.returnCode == "EB8100017") {
- MessageBox.confirm("你还未分配资源?", "提示", {
- confirmButtonText: "分配资源",
- cancelButtonText: "取消",
- type: "warning",
- })
- .then(() => {
- let errUril =
- _this.$store.getters.proUrl +
- "?projectId=" +
- _this.project.projectId;
- let params2 = {
- transCode: "A00118",
- lesseeId: _this.$store.getters.lesseeId,
- };
- request(params2)
- .then((res) => {
- window.location.href =
- errUril + "&authCode=" + res.authCode;
- })
- .catch((err) => {});
- })
- .catch(() => {
- _this.$refs.loading.visiable = false;
- Message({
- type: "info",
- message: "已取消",
- });
- });
- }
- });
- },
- reUpload() {
- this.$refs.mapbc.uploader.upload();
- this.$refs.ugrid.uploader.upload();
- },
- /**
- * 更新配置 并求解
- */
- async hcfdrun() {
- if (this.state == "1") {
- //求解状态(0-求解中,1-求解成功,-1-没有求解)
- //上次求解完成
- MessageBox.confirm("已完成计算,是否放弃上次结果重新计算?", "提示", {
- confirmButtonText: "重新计算",
- cancelButtonText: "取消",
- type: "warning",
- })
- .then(() => {
- MessageBox.close();
- this.isSolverEnd = false;
- this.hcfdExe();
- let _this = this;
- let isStop = false;
- this.$parent.funagain();
- this.$emit("exlodingfalse", true);
- })
- .catch(() => {
- Message.info("已取消!");
- MessageBox.close();
- this.$emit("exlodingfalse", false);
- this.funbool=false;
- });
- } else {
- this.$emit("exlodingfalse", true);
- this.isSolverEnd = false;
- this.hcfdExe();
- let _this = this;
- let isStop = false;
- isStop = true;
- this.$parent.funagain();
- }
- },
- // 求解的日志
- getlog() {
- let params = {
- transCode: "C00006",
- pid: this.project.projectId,
- };
- request(params)
- .then((res) => {
- let rows = res.rows;
- console.log(rows);
- })
- .catch((err) => {});
- },
- handleClick(tab, event) {},
- activecleer() {
- this.active = 11;
- },
- // 获取物面数据的步数
- setpnum() {
- let steplist = this.boundaryStep;
- let len = steplist.length;
- if (len == 0) {
- let params = {
- transCode: "AFT002",
- pid: this.project.projectId,
- solverConfigId: this.solverConfigid,
- };
- request(params).then((res) => {
- let steps = res.steps.split(",");
- this.boundaryStep = steps;
- this.hcfdSteplist = steps;
- this.volumStep = steps;
- this.slidermax = Number(this.boundaryStep.length);
- this.median =
- Number(this.hcfdSteplist[2]) - Number(this.hcfdSteplist[1]);
- });
- }
- },
- // 获取轮廓数据
- bStepok(action, index, paramJson) {
- const params = {
- transCode: "AFT001",
- pid: this.project.projectId,
- solverConfigId: this.solverConfigid,
- action: action,
- paramJson: paramJson,
- step: this.Stepe,
- scalarName: this.outlineobj.scalarName,
- level: this.outlineobj.level,
- range0: this.outlineobj.range0,
- range1: this.outlineobj.range1,
- isVolume: this.isVolume,
- dataU: this.vector.u,
- dataV: this.vector.v,
- dataW: this.vector.w,
- scaleFactor: this.vectorobj.scaleFactor,
- index: index,
- animationType: this.animationType,
- hideZones: this.hideZones,
- };
- request(params)
- .then((res) => {
- console.log(res);
- })
- .catch((err) => {});
- },
- //level颜色的数据
- changeblur() {
- this.bStepok("ContourDisplay", "", "");
- },
- vchangeblur() {
- this.bStepok("LineDisplay", "", "");
- },
- // 获取轮廓数据
- outlinedata(data) {
- let scalarrange1 = "";
- let ytdata = JSON.parse(data);
- this.outlineobj.scalarName = ytdata.scalarName;
- this.vSalar = ytdata.scalarName;
- let ress = ytdata.scalarNames;
- this.outlineobj.scalarmax = ytdata.scalarrange;
- if (ress == undefined) {
- Message({
- type: "info",
- message: "请择物面数据",
- });
- } else {
- this.outlineobj.bmScalars = Array.from(ress.split(","));
- this.outlineobj.nameTypes = ytdata.nameTypes;
- this.strnumchange(ytdata.nameTypes);
- this.outlinemax(this.vSalar);
- }
- },
- // 获取轮廓数据的最大值和最小值
- outlinemax(val) {
- let arrmax = Array.from(this.outlineobj.scalarmax.split(","));
- arrmax.forEach((item, index) => {
- let arrval = arrmax[index].split("#");
- if (arrval.includes(val)) {
- this.outlineobj.range0 = arrval[1];
- this.outlineobj.range1 = arrval[2];
- }
- });
- },
- //矢量数据
- vectordata(data) {
- //let vectorparam= JSON.parse(sessionStorage.getItem("vectorparam"));
- let vectorparam = JSON.parse(data);
- console.log(vectorparam);
- let datau = vectorparam.dataU;
- let datav = vectorparam.dataV;
- let dataw = vectorparam.dataW;
- this.vectorobj.dataUarr = datau.split(",");
- this.vectorobj.dataVarr = datav.split(",");
- this.vectorobj.dataWarr = dataw.split(",");
- this.vectorobj.scaleFactor = vectorparam.scaleFactor;
- }, // zoom
- zoomanimation(data) {
- let zoomparam = JSON.parse(data);
- this.animationobj.zoomarr = zoomparam.zonename.split(",");
- console.log(this.animationobj.zoomarr);
- },
- //拿到勾选数据
- zoomList(data, index) {
- console.log(this.checkList);
- console.log(data + index);
- },
- // 动画
- loadonclick() {
- // console.log(this.paramJson);
- // console.log(this.animationType);
- this.hideZones = this.checkList.toString();
- this.bStepok("animation", "", "");
- },
- // 矢量的OK按钮
- vectorOK() {
- (this.vector.u = this.vectorobj.dataU),
- (this.vector.v = this.vectorobj.dataV),
- (this.vector.w = this.vectorobj.dataW),
- this.bStepok("VectorDisplay", "", "");
- },
- //stream 数据
- streamdata(data) {
- console.log(data);
- let streamparam = JSON.parse(data);
- let datau = streamparam.dataU;
- let datav = streamparam.dataV;
- let dataw = streamparam.dataW;
- this.streamobj.dataUarr = datau.split(",");
- this.streamobj.dataVarr = datav.split(",");
- this.streamobj.dataWarr = dataw.split(",");
- },
- // stream创建数据
- CreateStream() {
- this.vector.u = this.streamobj.dataU;
- this.vector.v = this.streamobj.dataV;
- this.vector.w = this.streamobj.dataW;
- if (
- this.vector.u == this.vector.v ||
- this.vector.u == this.vector.w ||
- this.vector.v == this.vector.w
- ) {
- Message({
- type: "warning",
- message: "矢量值,各不相同才能创建!",
- });
- } else {
- this.bStepok("StreamDisplayCreate", "", "");
- }
- },
- //stream提交数据
- streamOK() {
- console.log(this.streamres);
- let parae = JSON.stringify(this.streamres);
- this.bStepok("StreamDisplayApply", "", parae);
- },
- // 字符串的裁剪
- strnumchange(val) {
- let strnum = val;
- let num_caj = strnum.split(",");
- for (var i = 0; i < num_caj.length; i++) {
- if (num_caj[i].includes(this.vSalar)) {
- let ster = num_caj[i];
- let str = ster.charAt(ster.length - 1);
- if (str == "0") {
- this.outlineobj.leixing = "point scalar";
- } else {
- this.outlineobj.leixing = "cell scalar";
- }
- }
- }
- },
- // 标量选择名称跟着边
- bmScalarschange(val) {
- this.outlineobj.scalarName = this.vSalar;
- this.strnumchange(this.outlineobj.nameTypes);
- this.outlinemax(this.vSalar);
- },
- //实体的颜色的控制
- colorchange(val) {
- if (this.lineColor != null) {
- let str = this.lineColor.slice(5, -1);
- let colorstr = str.split(",");
- this.colorobj.R = colorstr[0];
- this.colorobj.G = colorstr[1];
- this.colorobj.B = colorstr[2];
- this.colorobj.transparency = colorstr[3];
- console.log(colorstr);
- }
- },
- colorsolid() {
- let r = (Number(this.colorobj.R) / 255).toFixed(4);
- let g = (Number(this.colorobj.G) / 255).toFixed(4);
- let b = (Number(this.colorobj.B) / 255).toFixed(4);
- const params = {
- transCode: "AFT001",
- pid: this.project.projectId,
- solverConfigId: this.solverConfigid,
- action: "SolidSurfaceDisplay",
- paramJson: "",
- step: this.bStep,
- scalarName: this.outlineobj.scalarName,
- level: "",
- range0: this.outlineobj.range0,
- range1: this.outlineobj.range1,
- isVolume: this.isVolume,
- dataU: this.vectorobj.dataU,
- dataV: this.vectorobj.dataV,
- dataW: this.vectorobj.dataW,
- scaleFactor: this.vectorobj.scaleFactor,
- r: r,
- g: g,
- b: b,
- transparency: this.colorobj.transparency,
- showHideState: this.colorobj.showHideState,
- };
- request(params)
- .then((res) => {
- console.log(res);
- })
- .catch((err) => {});
- },
- //
- //模块选择
- clickgeometry(e, index, key) {
- var e = e || window.Event;
- this.styX.left = e.clientX + "px";
- this.active = key;
- // document.querySelector('.el-dialog').style.left='265px';
- // console.log(typeof this.styX.left);
- console.log(key);
- if(key=='four44-0'){
- sessionStorage.setItem('keyactive',"four44-0");
- }else{
- sessionStorage.setItem('keyactive',"");
- }
-
- // console.log(document.querySelector('.el-dialog').style.left)
- switch (key) {
- case "info1-0":
- this.name = "New";
- this.clickNew();
- break;
- case "info1-1":
- this.loadProjects();
- break;
- case "info1-2":
- this.name = "amend";
- this.clickNew();
- break;
- case "one0-0":
- this.dialog.geometry_upload = true;
- break;
- case "one-0":
- this.dialog.upload_visiable = true;
- break;
- case "one-2":
- this.dialog.mesh_generation = true;
- break;
- case "two-0":
- this.dialog.scale_visiable = true;
- break;
- case "two-1":
- this.dialog.translation_visiable = true;
- break;
- case "two-2":
- this.dialog.rotation_visiable = true;
- case "two-3":
- this.dialog.type_visiable = true;
- break;
- case "two-4":
- this.dialog.parallel_visiable = true;
- break;
- case "three-0":
- this.dialog.equation_visiable = true;
- break;
- case "three2-0":
- this.dialog.inviscid_visiable = true;
- break;
- case "three2-1":
- this.dialog.border_visiable = true;
- break;
- case "three2-2":
- this.dialog.dynamic_visiable = true;
- break;
- case "three1-0":
- this.dialog.reference_visiable = true;
- break;
- case "three1-1":
- this.dialog.nonitertial_visiable = true;
- break;
- case "four-0":
- this.dialog.fluxrc_visiable = true;
- break;
- case "four-1":
- this.dialog.time_visiable = true;
- break;
- case "four2-0":
- this.dialog.xian_visiable = true;
- break;
- case "four2-10":
- this.dialog.initialization_visiable = true;
- break;
- case "four3-0":
- this.dialog.runc_visiable = true;
- break;
- case "four3-1":
- this.dialog.boundaryo_visiable = true;
- break;
- case "four4-0":
- this.dialog.specialp_visiable = true;
- break;
- case "four4-1":
- this.dialog.swap_visiable = true;
- break;
- case "four44-0":
- this.$parent.fun();
-
- break;
- case "four410":
- this.funbool=true;
- this.hcfdrun();
- break;
- case "five-0":
- this.isVolume = "1";
- this.setpnum();
- this.dialog.SurfaceGrid_visiable = true;
- break;
- case "five-1":
- this.isVolume = "2";
- this.setpnum();
- this.dialog.VolumeGrid_visiable = true;
- break;
- case "five7-0":
- this.dialog.contour_visiable = true;
- break;
- case "five7-1":
- this.dialog.Line_visiable = true;
- break;
- case "five7-2":
- this.dialog.Vector_visiable = true;
- break;
- case "five8-0":
- this.dialog.Solid_Surface = true;
- break;
- case "five8-1":
- this.dialog.Slice_Surface = true;
- break;
- case "five8-2":
- this.dialog.Stream_Surface = true;
- break;
- case "five9-0":
- this.stepfun();
- this.value1 = Number(this.animationobj.currentstep);
- this.dialog.an_Animation = true;
- let that = this;
- setTimeout(function () {
- that.active = "five7-0";
- that.dialog.contour_visiable = true;
- }, 100);
- break;
- case "five10-0":
- this.dialog.Curve_Select = true;
- break;
- case "five10-1":
- this.dialog.Curve_Disp1ay = true;
- break;
- }
- },
- animationclick(val) {
- this.percentage = 0;
- console.log(val);
- this.animationType = val;
- switch (val) {
- case "ContourDisplay":
- this.active = "five7-0";
- this.dialog.contour_visiable = true;
- break;
- case "LineDisplay":
- this.active = "five7-1";
- this.dialog.Line_visiable = true;
- break;
- case "VectorDisplay":
- this.active = "five7-2";
- this.dialog.Vector_visiable = true;
- break;
- case "SolidSurfaceDisplay":
- this.active = "five8-0";
- this.dialog.Solid_Surface = true;
- break;
- }
- },
- //清除相关信息
- clearAll() {
- this.showUgridflag = false; //ugrid 是否显示过
- this.showSurfaceflag = false; //surface 是否显示过
- this.showVolumeflage = false; //Volume 是否显示过
- this.showMonitorflage = false;
- this.islogload = true;
- this.boundaryStep = [];
- this.logs = "";
- this.project = {
- projectId: "",
- projectName: "",
- projectType: "hcfd",
- projectDesc: "",
- fileType: "ascii",
- solverfiles: [],
- solverVolumUrls: [],
- solverBoundaryUrls: [],
- loadfils: [],
- converge: "",
- };
- },
- init() {
- this.project.projectId = this.pid; //获取url 参数
- this.project.lesseeId = this.$store.getters.lesseeId; //获取url 参数
- this.missType = true;
- },
- logtime() {
- let self = this;
- let projectId = self.project.projectId;
- if (projectId != null && projectId != "" && self.islogload) {
- self.islogload = false;
- let params = {
- transCode: "A00112",
- projectId: projectId,
- page: 0,
- count: 30,
- };
- request(params)
- .then((res) => {
- console.log(res);
- let rows = res.rows;
- self.logs = ""; //只显示最新的数据
- rows.forEach((row) => {
- self.logs = row.log + "\n" + self.logs;
- if (row.log.indexOf("Solver end") > 0) {
- self.isSolverEnd = true;
- }
- });
- self.islogload = true;
- })
- .catch((err) => {
- self.islogload = true;
- });
- }
- },
- setVolumScalars(scalars) {
- console.log(scalars);
- this.volumScalars = scalars;
- },
- // 工具栏的点击事件
- yCalchange() {
- this.Yvisiable = true;
- },
- reyCalchange() {
- this.llsvisiable = true;
- },
- atmoCalchange() {},
- // 弹框执行事件
- // 弹框执行事件
- referencevisiable() {
- this.parameterObjclone = JSON.parse(sessionStorage.getItem("res"));
- this.parameterObj.nmlParam = this.parameterObjclone.nmlParam;
- },
- timeasmvisiable() {
- this.parameterObjclone = JSON.parse(sessionStorage.getItem("res"));
- this.parameterObj.nmlParam = this.parameterObjclone.nmlParam;
- this.dialog.timeasm_visiable = false;
- },
- runcvisiable() {
- this.parameterObjclone = JSON.parse(sessionStorage.getItem("res"));
- this.parameterObj.nmlParam = this.parameterObjclone.nmlParam;
- this.dialog.runc_visiable = false;
- },
- dialogbtnkew() {
- this.form1.ssd = "";
- var kelvins = parseFloat(this.form1.kelvins);
- this.form1.ssd = this.accAdd(kelvins, 273.15);
- // this.form.ssd = Math.floor((parseInt(this.form.kelvins) * 100) / 100)-273.15
- if (this.form1.ssd < 0) {
- this.form1.ssd = 0;
- }
- },
- accAdd(arg1, arg2) {
- var r1, r2, m;
- try {
- r1 = arg1.toString().split(".")[1].length;
- } catch (e) {
- r1 = 0;
- }
- try {
- r2 = arg2.toString().split(".")[1].length;
- } catch (e) {
- r2 = 0;
- }
- m = Math.pow(10, Math.max(r1, r2));
- return (arg1 * m - arg2 * m) / m;
- },
- dialogbtnssd() {
- this.form1.kelvins = "";
- var ssd = parseFloat(this.form1.ssd);
- this.form1.kelvins = this.accAdd(ssd, -273.15);
- //this.form.kelvins = Math.floor((parseInt(this.form.ssd) * 100) / 100) +273.15
- },
- dialogbtny() {
- let u_freestream = eval(this.form.u_freestream);
- if (u_freestream <= 0.0) {
- alert("Free stream velocity must be greater than zero");
- return;
- }
- let rho = eval(this.form.rho);
- if (rho <= 0.0) {
- alert("Density must be greater than zero");
- return;
- }
- let L = eval(this.form.L);
- if (L <= 0.0) {
- alert("Boundary layer reference length must be greater than zero");
- return;
- }
- let mu = eval(this.form.mu);
- if (mu <= 0.0) {
- alert("Dynamic viscosity must be greater than zero");
- return;
- }
- let y_plus_desired = eval(this.form.y_plus_desired);
- if (y_plus_desired <= 0.0) {
- alert("Desired y+ value must be greater than zero");
- return;
- }
- let Re = (rho * u_freestream * L) / mu;
- let C_f = 0.026 * Math.pow(Re, -(1.0 / 7.0));
- C_f = 0.0576 * Math.pow(Re, -1.0 / 5.0);
- C_f = 0.37 * Math.pow(Math.log(Re) / Math.log(10), -2.584);
- C_f = Math.pow((2 * Math.log(Re)) / Math.log(10) - 0.65, -2.3);
- let tau_w = C_f * 0.5 * rho * u_freestream * u_freestream;
- let U_f = Math.sqrt(tau_w / rho);
- let wall_distance_estimation = (y_plus_desired * mu) / (U_f * rho);
- this.form.Rex = Re.toExponential(1);
- this.form.dtc = wall_distance_estimation.toExponential(1);
- },
- leinsdialogbtny() {
- this.form.Re =
- (this.form.lmi * this.form.lls * this.form.lld) / this.form.ldlzxxs;
- // console.log(this.form.Re);
- },
- unitConversion() {
- this.$refs.Calculator.visiable = true;
- },
- taskchangGeneal() {
- this.TaskGenealshow = false;
- },
- taskchangPhysics() {
- this.TaskPhysicsshow = false;
- },
- taskchangSolution() {
- this.TaskSolutionshow = false;
- },
- taskchangSurface() {
- this.TaskSurfaceshow = false;
- },
- taskchangVolume() {
- this.TaskVolumeshow = false;
- },
- // Contour
- showLeftMenu(emt) {
- this.leftMenu_2Show = true;
- },
- uploadRequest1(params) {
- let param = new FormData();
- param.append("transCode", "A00102");
- param.append("file", params.file);
- param.append("projectId", this.project.projectId);
- uploadFile(param)
- .then((res) => {
- this.findParam();
- this.getHCFDLoadFiles();
- })
- .catch((err) => {});
- },
- uploadRequest2(params) {
- let param = new FormData();
- param.append("transCode", "A00102");
- param.append("file", params.file);
- param.append("projectId", this.project.projectId);
- uploadFile(param)
- .then((res) => {
- this.findParam();
- })
- .catch((err) => {});
- },
- //获取上传文件
- async getHCFDLoadFiles() {
- let params = {
- transCode: "A00110",
- projectId: this.project.projectId,
- };
- await request(params)
- .then((res) => {
- this.project.loadfils = res.files;
- this.fileNames = [];
- res.files.forEach((url) => {
- let names = url.filepath.split("/");
- let name = names[names.length - 1];
- this.fileNames.push(name);
- });
- })
- .catch((err) => {});
- },
- /**
- * 更新配置 并求解
- */
- //选择step
- bStepChange(val) {
- console.log(val);
- this.Stepe = val;
- let numstepe = 0;
- if (this.Stepe == 0) {
- Message({
- type: "warning",
- message: "请选择setp有效值",
- });
- }
- this.animationobj.firststep = this.boundaryStep[0];
- this.animationobj.laststep =
- this.boundaryStep[this.boundaryStep.length - 1];
- this.animationobj.currentstep = this.bStep;
- },
- //选择step
- vStepChange(val) {
- this.Stepe = val;
- if (val == 0) {
- Message({
- type: "warning",
- message: "请选择setp有效值",
- });
- }
- this.animationobj.firststep = this.volumStep[0];
- this.animationobj.laststep = this.volumStep[this.volumStep.length - 1];
- this.animationobj.currentstep = val;
- // for(let i=0;i<=this.boundaryStep.length-1;i++){
- // if(this.Stepe==this.boundaryStep[i]){
- // this.countnum= i;
- // }
- // }
- },
- // 表面加载
- SurfaceChange(value) {
- // 选择色条个数
- this.Surfacenum = value;
- },
- // 体积
- VolumenumChange(value) {
- // 选择色条个数
- this.Volumenum = value;
- },
- async reUpload() {
- this.$refs.mapbc.uploader.upload();
- this.$refs.ugrid.uploader.upload();
- },
- async ugridShow() {
- if (
- this.project.projectId == "" ||
- this.project.projectId == undefined ||
- this.project.projectId == null
- ) {
- Message({
- type: "error",
- message: "缺少文件,请检查修改",
- });
- } else {
- this.dialog.new_visiable = false;
- this.tstep = 0;
- this.clearserver();
- this.initWebSocket();
- }
- },
- async findParam() {
- let params = {
- transCode: "A00107",
- projectId: this.project.projectId,
- };
- await request(params)
- .then((res) => {
- this.project.projectName = res.projectName;
- this.project.uid = res.uid;
- let cjuserid = this.$route.query.cjuserid;
- sessionStorage.setItem("projectName", res.projectName);
- if (res.missionType === "3" || res.missionType === "4") {
- this.missType = false;
- } else {
- this.missType = true;
- }
- console.log(this.parameterObj);
- this.parameterObj = JSON.parse(res.parameterObj);
- sessionStorage.setItem("res", res.parameterObj);
- this.lsolverState = res.solverState;
- })
- .catch((err) => {});
- },
- //上传配置参数
- async updateParam() {
- delete this.parameterObj.nmlParam.initialization;
- let params = {
- transCode: "A00104",
- parameterObj: JSON.stringify(this.parameterObj),
- projectId: this.project.projectId,
- lesseeId: this.$store.getters.lesseeId,
- };
- // console.log(this.parameterObj.nmlParam.a_u);
- // console.log(this.parameterObj);
- await request(params)
- .then((res) => {
- this.solverState = res.solverState;
- })
- .catch((err) => {});
- },
- loadProjects() {
- this.dialog.load_visiable = true;
- let params = {
- transCode: "A00101",
- page: 1,
- size: 1,
- projectType: "hcfd",
- lesseeId: this.$store.getters.lesseeId,
- };
- this.loading = true;
- request(params)
- .then((res) => {
- this.projects = res.rows;
- this.loading = false;
- })
- .catch((err) => {});
- },
- projectsSelectionChange(val) {
- this.clearAll();
- if (val.length == 1) {
- this.project.projectId = val[0].projectId;
- this.project.projectName = val[0].projectName;
- this.project.projectDesc = val[0].projectDesc;
- this.xiugai = val[0];
- } else if (val.length > 1) {
- this.project.projectId = val[1].projectId;
- this.project.projectName = val[1].projectName;
- this.project.projectDesc = val[1].projectDesc;
- this.xiugai = val[1];
- }
- },
- projectsSelectionSelect(selection, row) {
- if (selection.length <= 1) return;
- this.$refs.projectsTable.clearSelection();
- this.$refs.projectsTable.toggleRowSelection(row, true);
- },
- //load状态回调
- fileLoadeState(files) {
- files.forEach((file) => {
- this.loadObjs.forEach((obj) => {
- if (obj.type == 2) {
- if (obj.filename === file.name) {
- obj.percentage = file.percentage;
- }
- }
- if (obj.type == 1) {
- // obj.message=file.message;
- }
- });
- });
- },
- boundaryChange(boundaryid) {
- this.boundaryid = boundaryid;
- this.parameterObj.hcfdBoundarys.forEach((hcfdBoundary) => {
- if (hcfdBoundary.id === boundaryid) {
- this.Physics.hcfdBoundaryquery = hcfdBoundary;
- this.Physics.Boundary.cquery = hcfdBoundary.conditionsCode;
- return;
- }
- });
- },
- conditionsChange(conditionsCode) {
- this.Physics.hcfdBoundaryquery.conditionsCode = conditionsCode;
- this.parameterObj.hcfdBoundarys.forEach((hcfdBoundary) => {
- if (hcfdBoundary.id === this.boundaryid) {
- this.Physics.hcfdBoundaryquery = hcfdBoundary;
- this.Physics.Boundary.cquery = hcfdBoundary.conditionsCode;
- return;
- }
- });
- },
- solutionbCheckAllChange(val) {
- if (val == true) {
- this.parameterObj.nmlParam.a_u = true;
- this.parameterObj.nmlParam.a_v = true;
- this.parameterObj.nmlParam.a_w = true;
- this.parameterObj.nmlParam.a_p = true;
- this.parameterObj.nmlParam.a_cp = true;
- this.parameterObj.nmlParam.a_mach = true;
- this.parameterObj.nmlParam.a_vort_mag = true;
- this.parameterObj.nmlParam.a_vort_x = true;
- this.parameterObj.nmlParam.a_vort_y = true;
- this.parameterObj.nmlParam.a_vort_z = true;
- this.parameterObj.nmlParam.a_q_criterion = true;
- this.Solution.boundaryout.isIndeterminate = false;
- } else {
- this.parameterObj.nmlParam.a_u = false;
- this.parameterObj.nmlParam.a_v = false;
- this.parameterObj.nmlParam.a_w = false;
- this.parameterObj.nmlParam.a_p = false;
- this.parameterObj.nmlParam.a_cp = false;
- this.parameterObj.nmlParam.a_mach = false;
- this.parameterObj.nmlParam.a_vort_mag = false;
- this.parameterObj.nmlParam.a_vort_x = false;
- this.parameterObj.nmlParam.a_vort_y = false;
- this.parameterObj.nmlParam.a_vort_z = false;
- this.parameterObj.nmlParam.a_q_criterion = false;
- this.Solution.boundaryout.isIndeterminate = false;
- }
- },
- solutionbCheckedCitiesChange(value) {
- let checkedCount = value.length;
- this.Solution.boundaryout.checkAll =
- checkedCount === this.Solution.boundaryout.lists.length;
- this.Solution.boundaryout.isIndeterminate =
- checkedCount > 0 &&
- checkedCount < this.Solution.boundaryout.lists.length;
- this.solutionbSetParam();
- },
- solutionbSetParam() {
- this.Solution.boundaryout.checkeds.forEach((cell) => {
- switch (cell) {
- case "X-component of velocity":
- console.log(this.parameterObj.nmlParam.a_u);
- this.parameterObj.nmlParam.a_u = true;
- break;
- case "Y-component of velocity":
- this.parameterObj.nmlParam.a_v = true;
- break;
- case "Z-component of velocity":
- this.parameterObj.nmlParam.a_w = true;
- break;
- case "Press":
- this.parameterObj.nmlParam.a_p = true;
- break;
- case "Press coefficient":
- this.parameterObj.nmlParam.a_cp = true;
- break;
- case "Mach Number":
- this.parameterObj.nmlParam.a_mach = true;
- break;
- case "Vorticity magnitude":
- this.parameterObj.nmlParam.a_vort_mag = true;
- break;
- case "X-component of vorticity":
- this.parameterObj.nmlParam.a_vort_x = true;
- break;
- case "Y-component of vorticity":
- this.parameterObj.nmlParam.a_vort_y = true;
- break;
- case "Z-component of vorticity":
- this.parameterObj.nmlParam.a_vort_z = true;
- break;
- case "Q Criterion":
- this.parameterObj.nmlParam.a_q_criterion = true;
- break;
- default:
- break;
- }
- });
- },
- solutionvCheckAllChange(val) {
- // this.Solution.volumout.checkeds = val ? this.Solution.volumout.lists : [];
- // this.Solution.volumout.isIndeterminate = false;
- // this.solutionbSetParam();
- if (val == true) {
- this.parameterObj.nmlParam.v_u = true;
- this.parameterObj.nmlParam.v_v = true;
- this.parameterObj.nmlParam.v_w = true;
- this.parameterObj.nmlParam.v_p = true;
- this.parameterObj.nmlParam.v_cp = true;
- this.parameterObj.nmlParam.v_mach = true;
- this.parameterObj.nmlParam.v_vort_mag = true;
- this.parameterObj.nmlParam.v_vort_x = true;
- this.parameterObj.nmlParam.v_vort_y = true;
- this.parameterObj.nmlParam.v_vort_z = true;
- this.parameterObj.nmlParam.v_q_criterion = true;
- } else {
- this.parameterObj.nmlParam.v_u = false;
- this.parameterObj.nmlParam.v_v = false;
- this.parameterObj.nmlParam.v_w = false;
- this.parameterObj.nmlParam.v_p = false;
- this.parameterObj.nmlParam.v_cp = false;
- this.parameterObj.nmlParam.v_mach = false;
- this.parameterObj.nmlParam.v_vort_mag = false;
- this.parameterObj.nmlParam.v_vort_x = false;
- this.parameterObj.nmlParam.v_vort_y = false;
- this.parameterObj.nmlParam.v_vort_z = false;
- this.parameterObj.nmlParam.v_q_criterion = false;
- this.Solution.volumout.isIndeterminate = false;
- }
- },
- solutionvCheckedCitiesChange(value) {
- let checkedCount = value.length;
- console.log(value);
- this.Solution.volumout.checkAll =
- checkedCount === this.Solution.volumout.lists.length;
- this.Solution.volumout.isIndeterminate =
- checkedCount > 0 && checkedCount < this.Solution.volumout.lists.length;
- this.solutionvSetParam();
- },
- solutionvSetParam() {
- this.Solution.volumout.checkeds.forEach((cell) => {
- switch (cell) {
- case "X-component of velocity":
- this.parameterObj.nmlParam.v_u = true;
- break;
- case "Y-component of velocity":
- this.parameterObj.nmlParam.v_v = true;
- break;
- case "Z-component of velocity":
- this.parameterObj.nmlParam.v_w = true;
- break;
- case "Press":
- this.parameterObj.nmlParam.v_p = true;
- break;
- case "Press coefficient":
- this.parameterObj.nmlParam.v_cp = true;
- break;
- case "Mach Number":
- this.parameterObj.nmlParam.v_mach = true;
- break;
- case "Vorticity magnitude":
- this.parameterObj.nmlParam.v_vort_mag = true;
- break;
- case "X-component of vorticity":
- this.parameterObj.nmlParam.v_vort_x = true;
- break;
- case "Y-component of vorticity":
- this.parameterObj.nmlParam.v_vort_y = true;
- break;
- case "Z-component of vorticity":
- this.parameterObj.nmlParam.v_vort_z = true;
- break;
- case "Q Criterion":
- this.parameterObj.nmlParam.v_q_criterion = true;
- break;
- default:
- break;
- }
- });
- },
- //显示 UgridLoad
- async showUgrid() {
- console.log(this.showUgridflag);
- this.$refs.monitor.hiden();
- if (!this.showUgridflag) {
- //是否显示过
- this.$refs.ugridLoad.clear();
- if (this.project.loadfils.length == 0) {
- await this.getHCFDLoadFiles();
- }
- this.project.loadfils.forEach((url) => {
- if (url.filepath.indexOf(".ugrid") > 0) {
- this.ugridUrl = url.filepath;
- }
- });
- this.$refs.ugridLoad.loadUgrid(this.ugridUrl, 1);
- this.showUgridflag = true;
- } else {
- this.$refs.ugridLoad.nhiden();
- }
- },
- //显示 Surface
- async showSurface() {
- let mesh = false;
- let contour = false;
- this.belementCheckeds.forEach((ele) => {
- if ("Mesh" == ele) {
- mesh = true;
- } else if ("Contour" == ele) {
- contour = true;
- }
- });
- this.$refs.ugridLoad.hiden();
- this.$refs.volumLoad.hiden();
- this.$refs.monitor.hiden();
- if (!this.showSurfaceflag) {
- if (this.project.solverfiles.length == 0) {
- }
- let burl;
- this.project.solverBoundaryUrls.forEach((url) => {
- if (url.indexOf(this.bStep + ".dat") > 0) {
- burl = url;
- }
- });
- if (mesh) {
- this.$refs.boundaryLoad.loadBoundary(burl, 1, this.bScalar);
- }
- if (contour) {
- this.$refs.boundaryLoad.loadBoundary(burl, 2, this.bScalar);
- }
- this.showSurfaceflag = true;
- } else {
- this.$refs.boundaryLoad.clear();
- this.$refs.boundaryLoad.nhiden();
- if (mesh) {
- this.$refs.boundaryLoad.mesh(this.bScalar);
- }
- if (contour) {
- this.$refs.volumLoad.vdivb = false;
- this.$refs.boundaryLoad.divb = true;
- this.$refs.boundaryLoad.contour(this.bScalar);
- }
- }
- },
- large() {
- this.$refs.ugridLoad.large();
- this.$refs.boundaryLoad.large();
- this.$refs.volumLoad.large();
- },
- small() {
- this.$refs.ugridLoad.small();
- this.$refs.boundaryLoad.small();
- this.$refs.volumLoad.small();
- },
- positive(axis) {
- this.$refs.ugridLoad.positive(axis);
- this.$refs.boundaryLoad.positive(axis);
- this.$refs.volumLoad.positive(axis);
- },
- negative(axis) {
- this.$refs.ugridLoad.negative(axis);
- this.$refs.boundaryLoad.negative(axis);
- this.$refs.volumLoad.negative(axis);
- },
- // 资源选择代码
- showresource() {
- this.dialog.ziyuan = true;
- this.getresource();
- },
- //获取资源代码
- getresource() {
- const loading = this.$loading({
- lock: true,
- text: "Loading",
- spinner: "el-icon-loading",
- background: "rgba(0, 0, 0, 0.7)",
- });
- setTimeout(() => {
- const params = {
- transCode: "HG00000",
- page: this.paginationConfig.page,
- count: this.paginationConfig.size,
- lesseeId: this.$store.getters.lesseeId,
- };
- request(params)
- .then((res) => {
- loading.close();
- this.ziyprojects = res.rows;
- this.paginationConfig.total = res.total;
- this.resourcelook();
- })
- .catch((err) => {
- loading.close();
- });
- }, 500);
- },
- getPagination(data) {
- this.paginationConfig = data;
- this.getresource();
- },
- //选中
- ziySelectionChange(val) {
- let id = [];
- val.map((item) => {
- id.push(item.id);
- });
- this.selsectid = id.join(",");
- },
- ziySelectionSelect(selection, row) {},
- // 日志的文本框
- footerShows(evt) {
- if (evt == "claer") {
- this.logs = "";
- } else {
- this.footerShow = !this.footerShow;
- }
- },
- //保存
- resourceOK() {
- const params = {
- transCode: "HG00002",
- otherId: this.project.projectId,
- type: "1",
- resourceIds: this.selsectid,
- lesseeId: this.$store.getters.lesseeId,
- };
- request(params)
- .then((res) => {
- Message({
- type: "success",
- message: "保存成功",
- });
- this.dialog.ziyuan = false;
- })
- .catch((err) => {});
- },
- changest(val) {},
- // 查看已经中的
- resourcelook() {
- const loading = this.$loading({
- lock: true,
- text: "Loading",
- spinner: "el-icon-loading",
- background: "rgba(0, 0, 0, 0.7)",
- });
- const params = {
- transCode: "HG00001",
- otherId: this.project.projectId,
- type: "1",
- lesseeId: this.$store.getters.lesseeId,
- };
- request(params)
- .then((res) => {
- loading.close();
- let rst = res.rows;
- console.log(res);
- this.$refs.multipleTable.clearSelection();
- if (rst.length > 0) {
- for (var i = 0; i < rst.length; i++) {
- for (let j = 0; j < this.ziyprojects.length; j++) {
- if (this.ziyprojects[j].id === rst[i].resourceId) {
- this.$refs.multipleTable.toggleRowSelection(
- this.ziyprojects[j],
- true
- );
- }
- }
- }
- } else {
- }
- })
- .catch((err) => {
- loading.close();
- });
- },
- closeOff(val) {
- if (val == "on") {
- this.Consoleshow = true;
- this.openshow = false;
- } else {
- this.Consoleshow = false;
- this.openshow = true;
- }
- },
- //动画
- // 循环步数
- Startclick() {
- let that = this;
- this.countnum = Number(this.animationobj.firststep) - this.median;
- this.value1 = Number(this.animationobj.currentstep);
- this.sign == "Start";
- this.lowbool = false;
- this.Quickbool = false;
- this.Startbool = true;
- that.signnum = true;
- that.numan = true;
- that.timesleep3(1000);
- },
- stepfun() {
- for (let i = 0; i <= this.hcfdSteplist.length - 1; i++) {
- //this.hcfdSteplist.length-1
- if (this.hcfdSteplist[i] == this.animationobj.currentstep) {
- this.countnum = i;
- }
- }
- },
- timesleep(time) {
- this.signnum = true;
- const sleep = (timeout = time) =>
- new Promise((resolve, reject) => {
- setTimeout(resolve, timeout);
- });
- let timer = async (timeout) => {
- for (let i = this.countnum; i <= this.hcfdSteplist.length - 1; i++) {
- if (this.signnum == true && this.lowbool == true) {
- await sleep(time);
- this.jiekou(this.hcfdSteplist[i]);
- } else {
- break;
- }
- }
- };
- timer(time);
- },
- timesleep2(time) {
- this.signnum = true;
- const sleep = (timeout = time) =>
- new Promise((resolve, reject) => {
- setTimeout(resolve, timeout);
- });
- let timer = async (timeout) => {
- for (let i = this.countnum; i <= this.hcfdSteplist.length - 1; i++) {
- if (this.signnum == true && this.Quickbool == true) {
- await sleep(time);
- this.jiekou(this.hcfdSteplist[i]);
- } else {
- break;
- }
- }
- };
- timer(time);
- },
- timesleep3(time) {
- this.signnum = true;
- const sleep = (timeout = time) =>
- new Promise((resolve, reject) => {
- setTimeout(resolve, timeout);
- });
- let timer = async (timeout) => {
- for (let i = this.countnum; i <= this.hcfdSteplist.length - 1; i++) {
- if (this.signnum == true && this.Startbool == true) {
- await sleep(time);
- this.jiekou(this.hcfdSteplist[i]);
- } else {
- break;
- }
- }
- };
- timer(time);
- },
- //sliderchange
- sliderchange(val) {
- this.animationobj.currentstep = val + "";
- this.value1 = val;
- this.jiekou(this.animationobj.currentstep);
- },
- //Low/2
- lowclick() {
- let that = this;
- that.sign = "Low";
- this.lowbool = true;
- this.Quickbool = false;
- this.Startbool = false;
- that.signnum = true;
- that.numan = true;
- that.timesleep(2000);
- // }
- },
- Quickclick() {
- let that = this;
- that.sign = "Quick";
- this.lowbool = false;
- this.Quickbool = true;
- this.Startbool = false;
- that.signnum = true;
- that.numan = true;
- that.timesleep2(100);
- },
- //上一个
- Lastclick() {
- let startstep = Number(this.animationobj.firststep);
- if (this.value1 <= startstep) {
- Message({
- type: "warning",
- message: "已经是最开始一张",
- });
- } else {
- console.log(this.median);
- this.animationobj.currentstep =
- Number(this.animationobj.currentstep) - this.median;
- console.log(this.animationobj.currentstep);
- this.jiekou(this.animationobj.currentstep);
- }
- },
- // 下一个
- Nextclick() {
- let laststep = Number(this.animationobj.laststep);
- if (this.value1 >= laststep) {
- Message({
- type: "warning",
- message: "已经是最后一张",
- });
- } else {
- this.animationobj.currentstep =
- Number(this.animationobj.currentstep) + this.median;
- console.log(this.animationobj.currentstep);
- this.jiekou(this.animationobj.currentstep);
- }
- },
- // 点击一下循环,再点击一下停止备注记录长度在循环
- Playstop() {
- if (this.numan == true) {
- this.signnum = false;
- this.numan = false;
- } else {
- // this.numan=true;
- if (this.sign == "Low") {
- this.lowclick();
- this.signnum = true;
- } else if (this.sign == "Quick") {
- this.signnum = true;
- this.Quickclick();
- } else if (this.sign == "Start") {
- this.signnum = true;
- this.Startclick();
- } else {
- }
- }
- },
- // 最后一张
- Endclick() {
- this.jiekou(this.animationobj.laststep);
- },
- // 接口
- jiekou(step) {
- this.value1 = Number(step);
- let that = this;
- this.animationobj.currentstep = step + "";
- let params = {
- transCode: "AFT003", // 服务器渲染实例接口创建推流
- pid: this.project.projectId,
- solverConfigId: this.solverConfigid,
- animationType: this.animaval,
- step: this.animationobj.currentstep,
- isVolume: this.isVolume,
- };
- this.loading = true;
- request(params)
- .then((res) => {
- console.log(res);
- this.$parent.chaild(res.img);
- })
- .catch((err) => {});
- },
- // 划分类型按钮
- Partitiontype(){
-
- if(this.meshval=='1'){
- this.objmesh.tetraParam=this.tetraParam1;
- this.objmesh.hexaParam=null;
- this.objmesh.hybridParam=null;
- }else if(this.meshval=='2'){
- this.objmesh.tetraParam=null;
- this.objmesh.hexaParam=this.hexaParam1;
- this.objmesh.hybridParam=null;
- }else if(this.meshval=='3'){
- this.objmesh.tetraParam=null;
- this.objmesh.hexaParam=null;
- this.objmesh.hybridParam=this.hybridParam1;
- }else{
- this.objmesh.tetraParam=null;
- this.objmesh.hexaParam=null;
- this.objmesh.hybridParam=null;
- }
- },
- checksetchange(val){
- let correct_surface_intersections=this.objmesh.surfParam2.correct_surface_intersections;
- if(correct_surface_intersections=='yes'){
- this.disabledset=true;
- this.objmesh.surfParam2.optimisation='no';
- }else{
- this.disabledset=false;
- }
- },
- facechange(){
- let that=this;
- if(this.facecheckbox){
-
- this.disabledface=false;
- this.objmesh.cleanerParam=this.cleanerParam1;
- }else{
- this.objmesh.cleanerParam=null;
- this.disabledface=true;
- }
- },
- jiegchange(){
-
- if(this.jiegradioval==true){
- this.objmesh.cleanerParam.overlap_angle= this.cleanerParam1.overlap_angle
- this.objmesh.cleanerParam.resolution_length= this.cleanerParam1.resolution_length
- this.jiegdisabled=false;
- }else{
- this.jiegdisabled=true;
-
- }
- },
- //上传网格划分参数接口
- meshSplitok() {
- if(this.facecheckbox==false){
- this.objmesh.cleanerParam=null
- }else{
- this.objmesh.cleanerParam=this.cleanerParam1;
- if(this.jiegradioval==true){
- this.objmesh.cleanerParam.overlap_angle= this.cleanerParam1.overlap_angle;
- this.objmesh.cleanerParam.resolution_length= this.cleanerParam1.resolution_length;
- }else{
- this.objmesh.cleanerParam.overlap_angle= '';
- this.objmesh.cleanerParam.resolution_length= '';
- }
- }
- console.log(this.objmesh);
- const params = {
- transCode: "AFT001",
- pid: this.project.projectId,
- solverConfigId: this.solverConfigid,
- action:"meshSplit",
- paramJson:JSON.stringify(this.objmesh),
- };
- request(params)
- .then((res) => {
- console.log(res);
- })
- .catch((err) => {});
- },
- },
- watch: {
- "animationobj.currentstep"() {
- this.stepfun();
- },
- deep: true,
- },
- };
- </script>
- <style lang="scss" >
- @import "@/styles/variables.scss";
- @import "@/styles/mixin.scss";
- .hcfdlab {
- .el-input__inner {
- line-height: 30px;
- height: 30px;
- }
- }
- html,
- body {
- width: 100%;
- height: 100%;
- }
- .el-tabs__content {
- padding: 0 5px;
- }
- .content {
- display: flex;
- height: 100%;
- position: relative;
- .left {
- width: 200px;
- height: 100%;
- flex-direction: column;
- padding: 15px;
- position: relative;
- height: 88vh;
- }
- .part-panel-collapse-handle {
- position: absolute;
- // right: -56px;
- left: -38px;
- top: 44%;
- width: 94px;
- height: 0;
- cursor: pointer;
- text-align: center;
- border-width: 0 20px 18px;
- line-height: 18px;
- border-style: none solid solid;
- transform: rotateZ(90deg);
- font-size: 19px;
- }
- .lbg_color3 i:before {
- transform: rotateZ(0);
- }
- .right {
- flex: 1;
- height: 100%;
- height: 78vh;
- position: relative;
- }
- .imgcontent img {
- font-size: 16px;
- }
- .slide-fade-enter-active {
- transition: all 0.3s ease;
- }
- }
- .tablist {
- border-bottom: 1px solid #999;
- padding: 3px 0;
- }
- .tablist .tabitem {
- color: #b6b6b6;
- font-size: 16px;
- padding-right: 5px;
- cursor: pointer;
- &.current {
- color: #fff;
- }
- }
- .imgzong {
- display: flex;
- padding-top: 4px;
- overflow: auto;
- white-space: nowrap;
- .el-image {
- width: 30px;
- vertical-align: middle;
- }
- }
- .imgzong::-webkit-scrollbar {
- /*滚动条整体样式*/
- width: 4px; /*高宽分别对应横竖滚动条的尺寸*/
- height: 4px;
- }
- .imgzong::-webkit-scrollbar-thumb {
- /*滚动条里面小方块*/
- border-radius: 5px;
- -webkit-box-shadow: inset005pxrgba(0, 0, 0, 0.2);
- background: rgba(0, 0, 0, 0.2); /*设置滚动条颜色*/
- }
- .imgzong::-webkit-scrollbar-track {
- /*滚动条里面轨道*/
- -webkit-box-shadow: inset005pxrgba(0, 0, 0, 0.2);
- border-radius: 0;
- // background:rgba(255,255,255,0.1);
- background: rgba(255, 255, 255, 0);
- }
- .item1,
- .item2 {
- cursor: pointer;
- }
- .imgzong .item1 {
- padding-right: 4px;
- padding: 4px 4px;
- }
- .shu {
- padding: 4px 10px;
- color: #666;
- }
- .el-tabs__item {
- color: #b6b6b6;
- font-size: 16px;
- }
- .meshcalss{
- position: absolute;
- display: inline-block;
- top: -13px;
- left: 12%;
- margin: 0 auto;
- margin-left: -27px;
- font-size: 12px;
- padding: 3px 5px;
- background-color: #ffff;
- color:#333;
- .el-checkbox__label{
- color:#333;
- }
- }
- .jieguo{
- display: flex;
- .jiegleft{
- width: 35%;
- .el-radio__label{
- font-size: 12px;
- }
- }
- .jiegright{
- width: 67%;
- }
- }
- .textlab {
- display: inline-block;
- vertical-align: middle;
- margin-top: -28px;
- }
- .anbtn {
- padding: 5px 0;
- }
- .anbtn1 .anniu {
- padding: 5px 9px;
- }
- .anbtn .anniu {
- padding: 5px 0;
- }
- </style>
- <style lang="scss" scoped>
- .el-checkbox+.el-checkbox{
- margin-left: 0;
- }
- .activeOrange {
- background-color: rgba(255, 255, 255, 0.3);
- border: 2px solid #fff;
- border-radius: 5px;
- box-sizing: border-box;
- }
- .imgzong {
- padding-top: 4px;
- .radiocontent {
- display: flex;
- justify-content: center;
- align-items: center;
- }
- .listitem {
- width: auto;
- height: 92px;
- margin: 5px;
- padding: 2px 6px 2px 2px;
- .el-image {
- width: 18px;
- vertical-align: middle;
- }
- span {
- font-size: 14px;
- }
- }
- .item2 {
- .el-image {
- margin: 0 19px;
- width: 60px;
- vertical-align: middle;
- padding: 9px;
- }
- span {
- display: block;
- text-align: center;
- }
- }
- }
- </style>
- <style>
- .itemimg {
- display: flex;
- justify-content: center;
- padding: 8px;
- }
- .el-input-number__decrease,
- .el-input-number__increase {
- position: absolute;
- z-index: 1;
- top: 4px;
- width: 31px;
- height: 30px;
- text-align: center;
- background: #f5f7fa;
- color: #606266;
- cursor: pointer;
- font-size: 13px;
- }
- .el-tabs--bottom .el-tabs__header.is-bottom {
- margin: 0;
- }
- .el-tabs__header {
- margin: 0;
- }
- .imgcontent {
- padding: 0 15px;
- }
- .el-tabs__item {
- height: 30px;
- line-height: 30px;
- padding: 0 8px;
- font-size: 12px;
- }
- .el-tabs--border-card {
- background-color: none;
- }
- .baoshi {
- margin-top: 4px;
- color: #b6b6b6;
- }
- .el-tabs--border-card > .el-tabs__header .el-tabs__item.is-active {
- background-color: #757070;
- }
- .el-dialog__header {
- padding: 15px 20px 10px;
- }
- .textselsect {
- position: absolute;
- z-index: 9;
- bottom: 1px;
- right: 7px;
- z-index: 9;
- }
- .dialoglocation {
- position: absolute;
- top: -15vh;
- left: 10px;
- }
- .el-dialog__wrapper {
- top: 15vh;
- }
- </style>
- // 样式大全
- <style lang="scss" scoped>
- .qijuan {
- padding-left: 25px;
- margin-bottom: 20px;
- }
- .el-dialog__wrapper {
- top: 20vh;
- }
- /deep/.textselsect .el-input__inner {
- background-color: rgba(0, 0, 0, 0) !important;
- }
- .diyi i {
- font-size: 14px;
- color: #c0c4cc;
- }
- .tupian {
- display: flex;
- justify-content: center;
- align-items: center;
- }
- .red {
- color: red;
- }
- .dialog_header {
- align-items: center;
- display: flex;
- }
- .juli {
- margin-top: 15px;
- width: 100%;
- }
- </style>
- <style lang="scss">
- @import "@/styles/variables.scss";
- @import "@/styles/mixin.scss";
- .heigeinput {
- .el-form-item {
- margin-bottom: 5px;
- }
- }
- .el-dialog__body {
- padding: 10px 20px 10px 20px;
- }
- .line {
- width: 100%;
- height: 1px;
- background-color: #999;
- position: relative;
- margin: 30px 0;
- .linetext {
- position: absolute;
- left: 50%;
- transform: translateX(-50%);
- background-color: #ffff;
- padding: 5px;
- font-size: 12px;
- top: -10px;
- font-weight: 700;
- }
- }
- .loadclass {
- margin-bottom: 10px;
- display: flex;
- .el-button {
- margin-right: 10px;
- }
- .el-progress {
- width: 100%;
- }
- }
- .ulist ul {
- display: flex;
- margin: 0;
- padding: 0;
- li {
- flex: 1;
- border: 1px solid #666;
- }
- }
- .liitem {
- margin-bottom: 5px;
- }
- .inputwithd .el-input__inner {
- width: 74px;
- }
- .inputtext .el-input {
- margin-top: 5px;
- }
- .dancentent {
- display: flex;
- justify-content: center;
- align-items: center;
- }
- .titleinput .el-input {
- width: 100px;
- }
- .itemlist {
- display: flex;
- }
- .listbtn {
- display: flex;
- margin-bottom: 5px;
- .anniu {
- flex: 1;
- }
- .el-checkbox {
- flex: 1;
- }
- }
- .anniu {
- padding: 5px 28px;
- font-size: 12px;
- margin: 0;
- }
- .titleinput {
- .el-row {
- padding-left: 10px;
- }
- .el-button {
- padding: 8px 28px;
- font-size: 12px;
- }
- .el-button + .el-button {
- margin: 0;
- }
- }
- .el-dialog__wrapper {
- z-index: 2300;
- }
- .tiele {
- width: 324px;
- background-color: #fff;
- position: fixed;
- top: 50%;
- left: 50%;
- z-index: 2049;
- padding: 20px;
- .heder {
- width: 100%;
- height: 40px;
- line-height: 40px;
- font-size: 14px;
- padding: 0 20px;
- border-bottom: 1px solid #eee;
- }
- .tiele_content {
- padding: 20px 20px;
- .el-checkbox {
- display: block;
- }
- }
- p {
- text-align: center;
- }
- }
- .el-form-item {
- margin: 0;
- }
- .btntext {
- text-align: center;
- background-color: #757070;
- color: #d5d5d5;
- font-size: 12px;
- padding: 4px 0;
- margin: 5px 0;
- border-radius: 5px;
- }
- .btnyiban {
- width: 50%;
- background-color: #757070;
- color: #d5d5d5;
- }
- .fangxiang .el-row {
- display: flex;
- padding-bottom: 10px;
- }
- .input3 {
- display: flex;
- flex-wrap: nowrap;
- justify-content: space-around;
- padding-bottom: 5px;
- .el-input {
- width: 30%;
- }
- }
- .yiinpu .el-form-item__content {
- display: flex;
- .el-input {
- margin-right: 5px;
- }
- }
- .saninput {
- display: flex;
- flex-wrap: nowrap;
- justify-content: space-around;
- .el-input {
- margin-right: 5px;
- }
- .el-form-item__label {
- text-align: left;
- }
- }
- // select样式
- .selecr {
- font-size: 12px;
- .el-select {
- width: 100%;
- .el-checkbox__label{
- font-size:12px;
- }
- }
- }
- .btnringth {
- text-align: right;
- }
- .juli .el-input__inner {
- margin-bottom: 5px;
- width: 100%;
- }
- </style>
- <style lang="scss" scoped>
- /deep/.toolbar-part-detail {
- position: relative;
- }
- /deep/ .el-form-item__label {
- font-size: 12px;
- line-height: 30px;
- }
- /deep/.el-form-item__content {
- line-height: 30px;
- font-size: 12px;
- }
- /deep/ .el-input-number__decrease {
- width: 30px;
- line-height: 28px;
- }
- /deep/ .el-input-number__increase {
- width: 30px;
- line-height: 28px;
- }
- /deep/ .el-dialog__headerbtn:hover .el-dialog__close {
- color: #fff !important;
- }
- .el-form-item {
- margin-bottom: 5px;
- }
- </style>
- <style lang="scss" scoped>
- .selecttype {
- position: relative;
- margin: 35px 0 20px 0;
- border: 1px solid;
- padding: 15px;
- .divselect {
- display: flex;
- .el-radio {
- height: 23px;
- line-height: 23px;
- }
- }
- }
- .timeanmiantion {
- line-height: 30px;
- ul {
- display: flex;
- padding-left: 20px;
- li {
- flex: 1;
- span {
- padding-left: 30px;
- }
- }
- }
- }
- .divselect .el-avatar,
- .el-cascader-panel,
- .el-radio,
- .el-radio--medium.is-bordered .el-radio__label,
- .el-radio__label {
- font-size: 12px !important;
- }
- .texttype {
- position: absolute;
- display: inline-block;
- top: -13px;
- left: 50%;
- margin: 0 auto;
- margin-left: -27px;
- font-size: 12px;
- background-color: #fff;
- padding: 3px 5px;
- }
- .femFooter {
- height: 135px !important;
- padding: 0;
- position: relative;
- }
- .footerTitle {
- display: flex;
- justify-content: space-between;
- padding: 5px 20px;
- font-size: 20px;
- height: 30px !important;
- background-color: #bbb;
- }
- .footerTitle div {
- display: flex;
- justify-content: space-around;
- align-items: center;
- }
- .footerTitle p {
- margin: 0;
- }
- .footerTitle span {
- padding: 5px 10px;
- cursor: default;
- }
- /deep/.footerText .el-textarea__inner {
- width: 100%;
- height: 135px !important;
- border: 0;
- font-size: 12px;
- color: #333;
- padding: 2px;
- }
- /deep/.shijianges .el-form-item__label{
- text-align: left !important;
- }
- .radio_text {
- line-height: 28px;
- .el-radio__label {
- color: #d5d5d5;
- }
- .disacent {
- padding: 6px 0 6px 3.125vw;
- font-size: 12px;
- }
- }
- .iemradio .el-radio-group {
- padding-left: 50px;
- }
- .radiooff {
- padding-left: 50px;
- }
- .el-table th,
- .el-table tr {
- background-color: #535353;
- }
- .beij-container {
- width: 100%;
- height: 100%;
- background: linear-gradient(180deg, #ccd3e2 0%, rgba(255, 255, 255, 0) 100%);
- }
- .el-footer {
- padding: 0;
- height: 149px;
- overflow-y: auto;
- }
- .radiogroup .el-radio-group {
- display: contents;
- }
- .logs_title {
- background: #bfc5cb;
- padding: 10px;
- font-size: 16px;
- }
- .x {
- cursor: default;
- float: right;
- }
- .exloadbox {
- float: right;
- margin-right: 100px;
- display: flex;
- }
- .maxh221 {
- max-height: calc(100vh - 10px);
- }
- .maxh400 {
- max-height: calc(100vh - 410px);
- }
- body {
- position: relative;
- background-color: #eceef0;
- }
- .el-loading-mask {
- background: none;
- }
- .sblock {
- width: 100px;
- display: inline-block;
- }
- .groupradio .el-radio {
- display: block;
- padding: 5px;
- }
- .desc {
- width: 100%;
- height: 130px;
- border: 1px solid #000;
- padding: 20px;
- overflow: auto;
- }
- .Squareline {
- border: 1px solid;
- padding: 10px;
- // transform: translateX(-50%);
- }
- .radiogroup {
- display: flex;
- }
- .radiogroup label {
- flex: 1;
- }
- .el-radio + .el-radio {
- margin-left: 0;
- }
- /deep/ .radiogroup .el-radio-button--mini .el-radio-button__inner {
- border-radius: 5px;
- }
- /deep/ .radiogroup .el-radio-button:last-child .el-radio-button__inner {
- border-radius: 4px;
- }
- /deep/ .heightclass {
- height: 450px;
- overflow-y: auto;
- }
- /deep/ .heightclass .el-dialog__header {
- position: fixed;
- z-index: 99;
- width: 385px;
- }
- /deep/ .heightclass .el-dialog__body {
- margin-top: 60px;
- }
- .displanblock .el-checkbox {
- display: block;
- }
- .outline {
- margin-left: 50px;
- font-size: 20px;
- }
- /deep/.el-dialog__wrapper {
- pointer-events: none;
- }
- /deep/.el-dialog {
- pointer-events: auto;
- }
- /deep/ .asideTag2 {
- left: auto;
- right: 10px;
- top: 21px;
- ul {
- display: flex;
- li {
- margin-left: 4px;
- width: 28px;
- height: 28px;
- }
- }
- }
- .asideTag {
- top: 30px;
- }
- /deep/ .asideTag ul {
- display: flex;
- li {
- margin-left: 4px;
- width: 28px;
- height: 28px;
- }
- }
- /deep/
- .el-tabs--top.el-tabs--card
- > .el-tabs__header
- .el-tabs__item:nth-child(2) {
- padding-left: 6px;
- }
- @media screen and (max-width: 1330px) {
- .headMenu_2 .el-col {
- transform: scale(0.8);
- transform-origin: 0 0;
- }
- .headMenu_2 {
- height: 150px !important;
- }
- .asideTag2,
- .asideTag {
- transform: scale(0.7);
- transform-origin: 0 0;
- }
- }
- @media screen and (max-width: 1160px) {
- .headMenu_2 .el-col {
- transform: scale(0.7);
- transform-origin: 0 0;
- }
- .asideTag2 {
- left: 91%;
- }
- .el-aside {
- width: 170px !important;
- }
- .headMenu_2 {
- height: 135px !important;
- }
- }
- .text {
- color: #fff;
- font-size: 14px;
- margin: 0;
- }
- .y {
- width: 100%;
- height: 100%;
- background-image: url("../../../assets/3d_images/y.png") center 100%;
- }
- .y2 {
- background-image: url("../../../assets/3d_images/y2.png");
- }
- body {
- font-family: "微软雅黑";
- }
- .classfelx {
- flex: 1;
- }
- .liitem .formLabelWidth8,.formLabelWidth8{
- width: 343px;
- }
- .liitem .formLabelWidth9 {
- width: 409px;
- }
- .formLabelWidth15 {
- width: 70px;
- text-align: center;
- }
- </style>
- <style>
- .imge {
- width: 25px;
- vertical-align: middle;
- }
- .textselsect .el-input__inner {
- background-color: rgba(255, 255, 255, 0);
- }
- .el-color-picker__trigger {
- height: 30px;
- width: 33px;
- padding: 3px;
- }
- .zoomclass {
- display: inline-block;
- width: 50%;
- }
- </style>
|