123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638 |
- <template>
- <div ref="all_w">
- <transformtool ref="transform"></transformtool>
- <el-container style="height: 100vh">
- <el-header class="fixed-header">
- <el-menu class="headMenu_1" mode="horizontal">
- <div class="log">
- <el-image :src="adilog"></el-image>
- </div>
- <div class="log logtitle">
- <li> HCFDLab</li>
- </div>
- <el-submenu index="1" v-show="newload">
- <template slot="title">{{ $t("HCFD.file.file") }}</template>
- <div>
- <el-menu-item
- index="1-1"
- v-if="missType"
- @click="clickNew"
- >{{ $t("HCFD.file.new") }}</el-menu-item
- >
- <el-menu-item
- v-if="missType"
- index="1-2"
- @click="
- dialog.load_visiable = true;
- loadProjects();
- "
- >{{ $t("HCFD.file.load") }}</el-menu-item
- >
- <el-menu-item v-if="!missType" index="1-3" @click="dialog.upload_visiable = true"
- >upLoad</el-menu-item
- >
- </div>
- </el-submenu>
- <el-menu-item index="2" @click="showHeadMenu('geneal')">{{
- $t("HCFD.geneal.geneal")
- }}</el-menu-item>
- <el-menu-item index="3" @click="showHeadMenu('physics')">{{
- $t("HCFD.physics.physics")
- }}</el-menu-item>
- <el-menu-item index="4" @click="showHeadMenu('solution')">{{
- $t("HCFD.solution.solution")
- }}</el-menu-item>
- <el-menu-item index="5" @click="showHeadMenu('result')">{{
- $t("HCFD.results.results")
- }}</el-menu-item>
- <el-submenu index="6">
- <template slot="title">{{ $t("HCFD.tool.tool") }}</template>
- <el-menu-item index="6-1" @click="unitConversion">{{
- $t("HCFD.tool.unitConversion")
- }}</el-menu-item>
- <el-menu-item class="24" index="6-2" @click="yCalchange">{{
- $t("HCFD.tool.yCal")
- }}</el-menu-item>
- <el-menu-item index="6-3" @click="reyCalchange">{{
- $t("HCFD.tool.reyCal")
- }}</el-menu-item>
- <!-- <el-menu-item index="6-4" @click="atmoCalchange">{{
- $t("HCFD.tool.atmoCal")
- }}</el-menu-item> -->
- </el-submenu>
- <!-- <el-submenu index="7">
- <template slot="title">{{ $t("HCFD.help.help") }}</template>
- <el-menu-item index="7-1">{{ $t("HCFD.help.about") }}</el-menu-item>
- <el-menu-item index="7-2">{{
- $t("HCFD.help.theroy")
- }}</el-menu-item>
- <el-menu-item index="7-3">{{ $t("HCFD.help.user") }}</el-menu-item>
- <el-menu-item index="7-4">{{ $t("HCFD.help.appli") }}</el-menu-item>
- </el-submenu> -->
- </el-menu>
- </el-header>
- <div v-show="headMenu_2Show" class="headMenu_2" id="head2">
- <div v-show="gennealShow" class="lg_weiyi">
- <div class="el-padding">
- <el-row>
- <el-col :span="3">
- <li class="title">{{ $t("HCFD.geneal.mesh") }}</li>
- <div class="title_content_1">
- <el-button size="mini" type="success" @click="dialog.scale_visiable = true">
- <el-image :src="scaleimage"></el-image
- >{{ $t("HCFD.geneal.scale") }}
- </el-button>
- <el-button size="mini" type="success" @click="dialog.translation_visiable = true">
- <el-image :src="transformimage"></el-image
- >{{ $t("HCFD.geneal.translation") }}
- </el-button>
- <el-button size="mini" type="success" @click="dialog.rotation_visiable = true">
- <el-image :src="rotationimage"></el-image
- >{{ $t("HCFD.geneal.rotation") }}
- </el-button>
- </div>
- </el-col>
- <el-col :span="1">
- <div class="line"></div>
- </el-col>
- <el-col :span="3">
- <li class="title">{{ $t("HCFD.geneal.analysis") }}</li>
- <el-radio
- v-model="parameterObj.nmlParam.analysis_Type"
- label="Steady"
- >{{ $t("HCFD.geneal.steady") }}</el-radio
- >
- <el-radio
- v-model="parameterObj.nmlParam.analysis_Type"
- label="Unsteady"
- >{{ $t("HCFD.geneal.unsteady") }}</el-radio
- >
- </el-col>
- <el-col :span="1">
- <div class="line"></div>
- </el-col>
- <el-col :span="8">
- <li class="title" id="lg-title">
- {{ $t("HCFD.geneal.parallel") }}
- </li>
- <el-radio-group
- v-model="parameterObj.nmlParam.parallel_Optional"
- >
- <el-radio label="Serial">
- {{ $t("HCFD.geneal.serial") }}</el-radio
- >
- <el-radio label="MPI Parallel">{{
- $t("HCFD.geneal.mpi")
- }}</el-radio>
- </el-radio-group>
- <li
- class="disacent"
- style="padding: 6px 0 6px 3.125vw"
- v-if="
- parameterObj.nmlParam.parallel_Optional == 'MPI Parallel'
- "
- >
- <span>{{ $t("HCFD.geneal.number") }}</span>
- <el-input
- size="mini"
- style="width:20%"
- v-model="parameterObj.nmlParam.number_of_Processors"
- ></el-input>
- </li>
- </el-col>
- </el-row>
- </div>
- </div>
- <!-- 第二的一个导航条点击事件 -->
- <div v-show="physicsShow" class="lg-er">
- <div class="el-padding">
- <el-row>
- <el-col :span="4">
- <li class="title">{{ $t("HCFD.physics.gover") }}</li>
- <el-radio-group
- v-model="parameterObj.nmlParam.eqn_type"
- size="mini"
- >
- <el-radio label="cal_perf_compress">{{
- $t("HCFD.physics.compress")
- }}</el-radio>
- <el-radio label="cal_perf_incompress">{{
- $t("HCFD.physics.incompress")
- }}</el-radio>
- </el-radio-group>
- <!-- <table>
- <tr>
- <td>{{ $t("HCFD.physics.artifical") }}</td>
- <td>
- <el-input
- size="mini"
- v-model="parameterObj.nmlParam.artificial_compress"
- ></el-input>
- </td>
- </tr>
- </table> -->
- <li class="disflex">
- <span>{{ $t("HCFD.physics.artifical") }}</span>
- <el-input
- class='inpw75'
- size="mini"
- v-model="parameterObj.nmlParam.artificial_compress"
- ></el-input>
- </li>
- </el-col>
- <el-col :span="1">
- <div class="line"></div>
- </el-col>
- <el-col :span="2">
- <li class="title">{{ $t("HCFD.physics.viscous") }}</li>
- <el-radio-group
- v-model="parameterObj.nmlParam.viscous_terms"
- @change="viscouschange()"
- size="mini"
- >
- <el-radio-button label="inviscid">
- <el-image :src="inviscid"></el-image
- >{{ $t("HCFD.physics.inviscid") }}
- </el-radio-button>
- <el-radio-button
- @click.native="physicslaminar()"
- label="laminar"
- >
- <el-image :src="laminar"></el-image
- >{{ $t("HCFD.physics.laminar") }}
- </el-radio-button>
- <el-radio-button
- @click.native="physicsturbulent()"
- label="turbulent"
- >
- <el-image :src="turbulent"></el-image>
- {{ $t("HCFD.physics.turbulent") }}
- </el-radio-button>
- </el-radio-group>
- </el-col>
- <el-col :span="1">
- <div class="line"></div>
- </el-col>
- <el-col :span="3">
- <li class="title">{{ $t("HCFD.physics.boundary") }}</li>
- <el-select
- class="inpw100"
- 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-select
- class="inpw100"
- 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-col>
- <el-col :span="1">
- <div class="line"></div>
- </el-col>
- <el-col :span="3">
- <li class="title">{{ $t("HCFD.physics.dynamic") }}</li>
- <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
- >
- </el-col>
- <el-col :span="1">
- <div class="line"></div>
- </el-col>
- <el-col :span="3" style="position:relative">
- <li class="title">{{ $t("HCFD.physics.reference") }}</li>
- <li class="disflex">
- <span>{{ $t("HCFD.physics.machNum") }}</span>
- <el-input
- class="inpw50"
- size="mini"
- v-model="parameterObj.nmlParam.mach_number"
- ></el-input>
- </li>
- <li class="disflex">
- <span>{{ $t("HCFD.physics.reyNum") }}</span>
- <el-input
- class="inpw50"
- size="mini"
- v-model="parameterObj.nmlParam.reynolds_number"
- ></el-input>
- </li>
- <el-button
- size="mini"
- type="text"
- style="position:absolute;bottom:-15px;right:-10px"
- icon="el-icon-arrow-down"
- @click="dialog.reference_visiable = true"
- >more</el-button
- >
- </el-col>
- <el-col :span="1">
- <div class="line"></div>
- </el-col>
- <el-col :span="4">
- <li class="title">{{ $t("HCFD.physics.nonitertial") }}</li>
- <el-radio
- v-model="parameterObj.nmlParam.noninertial_Reference_Frame"
- label="on"
- >on</el-radio
- >
- <el-radio
- v-model="parameterObj.nmlParam.noninertial_Reference_Frame"
- label="off"
- >off</el-radio
- >
- </el-col>
- <!-- <el-col :span="1">
- <div class="line"></div>
- </el-col> -->
- </el-row>
- </div>
- </div>
- <div v-show="solutionShow" class="lg-san">
- <div class="el-padding">
- <el-row>
- <el-col :span="4" class="lg-bu">
- <li class="title">{{ $t("HCFD.solution.invis") }}</li>
- <el-button type="success" size="mini" @click="dialog.fluxrc_visiable = true">
- <el-image :src="fluxr"></el-image
- >{{ $t("HCFD.solution.fluxResCon") }}
- </el-button>
- <el-button type="success" size="mini" @click="dialog.fluxl_visiable = true">
- <el-image :src="fluxl"></el-image
- >{{ $t("HCFD.solution.flux") }}
- </el-button>
- <el-button type="success" size="mini" @click="dialog.fluxjc_visiable = true">
- <el-image :src="fluxj"></el-image
- >{{ $t("HCFD.solution.fluxJacCon") }}
- </el-button>
- <li class="disflex">
- <span>
- {{ $t("HCFD.solution.muscl") }}
- </span>
- <el-input
- class="inpw75"
- size="mini"
- v-model="parameterObj.nmlParam.schedule"
- ></el-input>
- </li>
- <li class="disflex">
- <span>
- {{ $t("HCFD.solution.firstOrderNum") }}
- </span>
- <el-input
- class="inpw75"
- size="mini"
- v-model="parameterObj.nmlParam.first_order_iterations"
- ></el-input>
- </li>
- </el-col>
- <el-col :span="1">
- <div class="line"></div>
- </el-col>
- <el-col :span="4">
- <li class="title">{{ $t("HCFD.solution.timeAdvance") }}</li>
- <el-button type="success" size="mini" @click="dialog.time_visiable = true">
- <el-image :src="times"></el-image
- >{{ $t("HCFD.solution.timeScheme") }}
- </el-button>
- <li class="disflex">
- <span class="marr30">
- {{ $t("HCFD.solution.pseudo") }}
- </span>
- <div class="disflex">
- <el-radio
- v-model="parameterObj.nmlParam.pseudo_time_stepping"
- label="off"
- >Off</el-radio
- >
- <el-radio
- v-model="parameterObj.nmlParam.pseudo_time_stepping"
- label="on"
- >On</el-radio
- >
- </div>
- </li>
- <li class="disflex">
- <span>
- {{ $t("HCFD.solution.timeStep") }}
- </span>
- <el-input
- class="inpw75"
- size="mini"
- v-model="parameterObj.nmlParam.time_step_nondim"
- ></el-input>
- </li>
- <li class="disflex">
- <span>
- {{ $t("HCFD.solution.subiterations") }}
- </span>
- <el-input
- class="inpw75"
- size="mini"
- v-model="parameterObj.nmlParam.subiterations"
- ></el-input>
- </li>
- <li class="disrs">
- <el-button
- size="mini"
- type="text"
- class="move"
- icon="el-icon-arrow-down"
- @click="dialog.timeasm_visiable = true"
- >more</el-button
- >
- </li>
- </el-col>
- <el-col :span="1">
- <div class="line"></div>
- </el-col>
- <el-col :span="4" class="lg-ss">
- <li class="title">{{ $t("HCFD.solution.linearSol") }}</li>
- <li class="disflex">
- <span>
- {{ $t("HCFD.solution.meanflow") }}
- </span>
- <el-input
- class="inpw75"
- size="mini"
- v-model="parameterObj.nmlParam.meanflow_sweeps"
- ></el-input>
- </li>
- <li class="disflex">
- <span>
- {{ $t("HCFD.solution.turbulence") }}
- </span>
- <el-input
- class="inpw75"
- size="mini"
- v-model="parameterObj.nmlParam.turbulence_sweeps"
- ></el-input>
- </li>
- <li>
- <span class="marr30">
- {{ $t("HCFD.solution.gcr") }}
- </span>
- <el-radio-group v-model="parameterObj.nmlParam.line_implicit">
- <el-radio label="off">Off</el-radio>
- <el-radio label="on">On</el-radio>
- </el-radio-group>
- </li>
- </el-col>
- <el-col :span="1">
- <div class="line"></div>
- </el-col>
- <el-col :span="3">
- <li class="title">{{ $t("HCFD.solution.initialization") }}</li>
- <el-radio-group v-model="initialization" size="mini">
- <el-radio label="freestreams">{{
- $t("HCFD.solution.freestreams")
- }}</el-radio>
- <el-radio label="specified">{{
- $t("HCFD.solution.specified")
- }}</el-radio>
- </el-radio-group>
- </el-col>
- <el-col :span="1">
- <div class="line"></div>
- </el-col>
- <el-col :span="2" style="position:relative">
- <li class="title">{{ $t("HCFD.solution.run") }}</li>
- <li>{{ $t("HCFD.solution.iterNum")}}</li>
- <li>
- <el-input
- size="mini"
- v-model="parameterObj.nmlParam.steps"
- ></el-input>
- </li>
- <li>{{ $t("HCFD.solution.stopToler")}}</li>
- <li>
- <el-input
- size="mini"
- v-model="parameterObj.nmlParam.stopping_tolerance"
- ></el-input>
- </li>
- <el-button
- type="text"
- size="mini"
- style="position:absolute;buttom:0;right:0"
- icon="el-icon-arrow-down"
- @click="dialog.runc_visiable = true"
- >more</el-button
- >
- </el-col>
- <el-col :span="1">
- <div class="line"></div>
- </el-col>
- <el-col :span="3">
- <li class="title">{{ $t("HCFD.solution.outCon") }}</li>
- <el-button
- size="mini"
- type="success"
- @click="dialog.boundaryo_visiable = true"
- >
- <el-image :src="boundary"></el-image
- >{{ $t("HCFD.solution.bounOut") }}
- </el-button>
- <el-button type="success" size="mini" @click="dialog.volumeo_visiable = true">
- <el-image :src="volume"> </el-image
- >{{ $t("HCFD.solution.volOut") }}
- </el-button>
- </el-col>
- <el-col :span="1">
- <div class="line"></div>
- </el-col>
- <el-col :span="2">
- <li class="title">{{ $t("HCFD.solution.advance") }}</li>
- <el-button type="success" size="mini" @click="dialog.specialp_visiable = true">
- <el-image :src="special"></el-image
- >{{ $t("HCFD.solution.specialPara") }}
- </el-button>
- <el-button type="success" size="mini" @click="dialog.swap_visiable = true">
- <el-image :src="swap"></el-image
- >{{ $t("HCFD.solution.swapYZ") }}
- </el-button>
- <div>
- <el-button
- size="mini"
- type="primary"
- v-show="runMonitor"
- @click="hcfdrun(true)"
- >
- <div class="disflex">
- <el-image :src="run" style="width:15px"></el-image>
- <span class="borun">Run</span>
- </div>
- </el-button>
- <el-button
- size="mini"
- type="primary"
- @click="showMonitor()"
- v-show="runMonitor"
- >Monitor</el-button
- >
- <el-button
- size="mini"
- type="primary"
- @click="showresource()"
- >资源选择</el-button
- >
- </div>
- </el-col>
- <!-- <el-col :span="0">
- <div class="line"></div> </el-col > -->
- </el-row>
- </div>
- </div>
- <div v-show="resultShow" class="lg-si">
- <div class="el-padding">
- <el-row>
- <el-col :span="9" class="lisin">
- <li class="title">Surface Grid</li>
- <div class="flexpad30">
- <div>
- <li>
- <span class='span100'>Steps</span>
- <el-select size="mini" v-model="bStep" placeholder="请选择">
- <el-option
- v-for="setep in boundaryStep"
- :key="setep"
- :label="setep"
- :value="setep"
- >
- </el-option>
- </el-select>
- </li>
- <li class="disflex">
- <div>
- <span class='span100'>Scalar Selection</span>
- <el-select size="mini" v-model="bScalar" placeholder="请选择">
- <el-option
- v-for="scalar in boundaryScalars"
- :key="scalar"
- :label="scalar"
- :value="scalar"
- >
- </el-option>
- </el-select>
- </div>
- </li>
- </div>
- <div>
- <li class="disflex lheig34">
- <span class="span100 marb5">Vector Selection</span>
- <el-checkbox checked>Velocity</el-checkbox>
- </li>
- <li class="disflex lheig34">
- <span class='span100 marb5' style="width:111px">Show Element</span>
- <el-checkbox-group v-model="belementCheckeds" style="display:flex">
- <el-checkbox
- label="Mesh"
- @change="Contourval('Mesh')"
- ></el-checkbox>
- <el-checkbox
- label="Contour"
- @change="Contourval('Contour')"
- ></el-checkbox>
- </el-checkbox-group>
- </li>
- </div>
- </div>
- <el-button
- size="mini"
- type="primary"
- style="margin:0 0 0 40%"
- @click="showSurface()"
- >Show Surface</el-button>
- </el-col>
- <el-col :span="1">
- <div class="line"></div>
- </el-col>
- <el-col :span="11" class="lg-si-right lisin">
- <li class="title">Volume Grid</li>
- <div class="flexpad30">
- <div>
- <li>
- <span class='span100'>Steps</span>
- <el-select size="mini" v-model="vStep" placeholder="请选择">
- <el-option
- v-for="setep in volumStep"
- :key="setep"
- :label="setep"
- :value="setep"
- >
- </el-option>
- </el-select>
- </li>
- <li class="disflex">
- <div>
- <span class='span100'>Scalar Selection</span>
- <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>
- </div>
- </li>
- </div>
- <div>
- <li class="disflex lheig34">
- <span class="span100 marb5">Vector Selection</span>
- <el-checkbox checked>Velocity</el-checkbox>
- </li>
- <li class="disflex lheig34">
- <span class="span100 marb5" style="width:111px">Show Element</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>
- </div>
- <el-button
- type="primary"
- size="mini"
- style="margin:0 0 0 34%"
- @click="showVolume()"
- >Show Volume</el-button
- >
- </el-col>
- </el-row>
- </div>
- </div>
- </div>
- <el-container>
- <el-aside ref="leftMenu_1" class="leftMenu_1_1">
- <li class="outline">{{ project.projectName }}</li>
- <el-tree :data="menuList" @node-click="handleNodeClick"> </el-tree>
- </el-aside>
- <!-- Task Page的弹框 -->
- <div class="lg-centent">
- <div class="lg-modl" v-show="TaskGenealshow">
- <div class="logs_title">
- Task Page
- <div class="x" @click="taskchangGeneal()">x</div>
- </div>
- <div class="el-padding Task-lg" :class="headMenu_2Show?'maxh290':'maxh100'">
- <el-row>
- <el-col>
- <li class="title">{{ $t("HCFD.geneal.mesh") }}</li>
- <div>
- <li class="discenter padding0">
- <el-button size="mini" type="success" @click="dialog.scale_visiable = true">
- <el-image :src="scaleimage"></el-image
- >{{ $t("HCFD.geneal.scale") }}
- </el-button>
- </li>
- <li class="discenter padding0">
- <el-button size="mini" type="success" @click="dialog.translation_visiable = true">
- <el-image :src="transformimage"></el-image
- >{{ $t("HCFD.geneal.translation") }}
- </el-button>
- </li>
- <li class="discenter padding0">
- <el-button size="mini" type="success" @click="dialog.rotation_visiable = true">
- <el-image :src="rotationimage"></el-image
- >{{ $t("HCFD.geneal.rotation") }}
- </el-button>
- </li>
- </div>
- </el-col>
- <el-col>
- <li class="title">{{ $t("HCFD.geneal.analysis") }}</li>
- <div class="pdingf10">
- <el-radio
- v-model="parameterObj.nmlParam.analysis_Type"
- label="Steady"
- >{{ $t("HCFD.geneal.steady") }}</el-radio
- >
- <el-radio
- v-model="parameterObj.nmlParam.analysis_Type"
- label="Unsteady"
- >{{ $t("HCFD.geneal.unsteady") }}</el-radio
- >
- </div>
- </el-col>
- <el-col>
- <li class="title">{{ $t("HCFD.geneal.parallel") }}</li>
- <el-radio-group
- v-model="parameterObj.nmlParam.parallel_Optional"
- class="pdingf10"
- >
- <el-radio label="Serial">
- {{ $t("HCFD.geneal.serial") }}</el-radio
- >
- <el-radio label="MPI Parallel">{{
- $t("HCFD.geneal.mpi")
- }}</el-radio>
- </el-radio-group>
- <li
- class="disacent pdingf10"
- v-if="
- parameterObj.nmlParam.parallel_Optional == 'MPI Parallel'
- "
- >
- <span class="disinblok" style="width:150px">{{ $t("HCFD.geneal.number") }}</span>
- <el-input
- size="mini"
- class="inpw35"
- v-model="parameterObj.nmlParam.number_of_Processors"
- ></el-input>
- </li>
- </el-col>
- </el-row>
- </div>
- </div>
- <!-- task第二个 -->
- <div class="lg-modl" v-show="TaskPhysicsshow">
- <div class="logs_title">
- Task Page
- <div class="x" @click="taskchangPhysics()">x</div>
- </div>
- <div class="el-padding Task-lg" :class="headMenu_2Show?'maxh290':'maxh100'">
- <el-row>
- <el-col>
- <li class="title">{{ $t("HCFD.physics.gover") }}</li>
- <el-radio-group
- v-model="parameterObj.nmlParam.eqn_type"
- size="mini"
- class="pdingf10"
- >
- <el-radio label="cal_perf_compress">{{
- $t("HCFD.physics.compress")
- }}</el-radio>
- <el-radio label="cal_perf_incompress">{{
- $t("HCFD.physics.incompress")
- }}</el-radio>
- </el-radio-group>
- <li class="disflex pdingf10">
- <span>{{ $t("HCFD.physics.artifical") }}</span>
- <el-input
- size="mini"
- style="width:25%"
- v-model="parameterObj.nmlParam.artificial_compress"
- ></el-input>
- </li>
- </el-col>
- <el-col>
- <li class="title">{{ $t("HCFD.physics.viscous") }}</li>
- <el-radio-group
- v-model="parameterObj.nmlParam.viscous_terms"
- @change.native="viscouschange()"
- size="mini"
- class="pdingf10"
- >
- <el-radio-button label="inviscid">
- <el-image :src="inviscid"></el-image
- >{{ $t("HCFD.physics.inviscid") }}
- </el-radio-button>
- <el-radio-button
- label="laminar"
- @click.native="physicslaminar()"
- >
- <el-image :src="laminar"></el-image
- >{{ $t("HCFD.physics.laminar") }}
- </el-radio-button>
- <el-radio-button
- label="turbulent"
- @click.native="physicsturbulent()"
- >
- <el-image :src="turbulent"></el-image>
- {{ $t("HCFD.physics.turbulent") }}
- </el-radio-button>
- </el-radio-group>
- </el-col>
- <el-col>
- <li class="title">{{ $t("HCFD.physics.boundary") }}</li>
- <div class="pdingf10">
- <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-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>
- </div>
- </el-col>
- <el-col>
- <li class="title">{{ $t("HCFD.physics.dynamic") }}</li>
- <div class="pdingf10">
- <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>
- </el-col>
- <el-col>
- <li class="title">{{ $t("HCFD.physics.reference") }}</li>
- <li class="disflex55 pdingf10">
- <span>{{ $t("HCFD.physics.machNum") }}</span>
- <el-input
- size="mini"
- v-model="parameterObj.nmlParam.mach_number"
- ></el-input>
- </li>
- <li class="disflex55 pdingf10">
- <span>{{ $t("HCFD.physics.reyNum") }}</span>
- <el-input
- size="mini"
- v-model="parameterObj.nmlParam.reynolds_number"
- ></el-input>
- </li>
- <li class="discenter">
- <el-button
- size="mini"
- type="success"
- icon="el-icon-arrow-down"
- @click="dialog.reference_visiable = true"
- >more</el-button
- >
- </li>
- </el-col>
- <el-col>
- <li class="title">{{ $t("HCFD.physics.nonitertial") }}</li>
- <div class="pdingf10">
- <el-radio
- v-model="parameterObj.nmlParam.noninertial_Reference_Frame"
- label="on"
- >on</el-radio
- >
- <el-radio
- v-model="parameterObj.nmlParam.noninertial_Reference_Frame"
- label="off"
- >off</el-radio
- >
- </div>
- </el-col>
- </el-row>
- </div>
- </div>
- <!-- 第三 -->
- <div class="lg-modl" v-show="TaskSolutionshow">
- <div class="logs_title">
- Task Page
- <div class="x" @click="taskchangSolution()">x</div>
- </div>
- <div class="el-padding Task-lg" :class="headMenu_2Show?'maxh290':'maxh100'">
- <el-row>
- <el-col class="lg-bu">
- <li class="title">{{ $t("HCFD.solution.invis") }}</li>
- <li class="discenter padding0">
- <el-button type="success" size="mini" @click="dialog.fluxrc_visiable = true">
- <el-image :src="fluxr"></el-image
- >{{ $t("HCFD.solution.fluxResCon") }}
- </el-button>
- </li>
- <li class="discenter padding0">
- <el-button type="success" size="mini" @click="dialog.fluxl_visiable = true">
- <el-image :src="fluxl"></el-image
- >{{ $t("HCFD.solution.flux") }}
- </el-button>
- </li>
- <li class="discenter padding0">
- <el-button type="success" size="mini" @click="dialog.fluxjc_visiable = true">
- <el-image :src="fluxj"></el-image
- >{{ $t("HCFD.solution.fluxJacCon") }}
- </el-button>
- </li>
- <li class="pdingf10">
- {{ $t("HCFD.solution.muscl") }}
- <el-input
- size="mini"
- v-model="parameterObj.nmlParam.schedule"
- ></el-input>
- </li>
- <li class="pdingf10">
- {{ $t("HCFD.solution.firstOrderNum") }}
- <el-input
- size="mini"
- v-model="parameterObj.nmlParam.first_order_iterations"
- ></el-input>
- </li>
- </el-col>
- <el-col>
- <li class="title">{{ $t("HCFD.solution.timeAdvance") }}</li>
- <li class="discenter">
- <el-button type="success" size="mini" @click="dialog.time_visiable = true">
- <el-image :src="times"></el-image
- >{{ $t("HCFD.solution.timeScheme") }}
- </el-button>
- </li>
- <li class="disflex pdingf10">
- <span>{{ $t("HCFD.solution.pseudo") }}</span>
- <div class="disflex" style="width:45%">
- <el-radio
- style="margin:0 20px 0 0"
- v-model="parameterObj.nmlParam.pseudo_time_stepping"
- label="off"
- >Off</el-radio
- >
- <el-radio
- v-model="parameterObj.nmlParam.pseudo_time_stepping"
- label="on"
- >On</el-radio
- >
- </div>
- </li>
- <li class="disflex55 pdingf10">
- <span>{{ $t("HCFD.solution.timeStep") }}</span>
- <el-input
- size="mini"
- v-model="parameterObj.nmlParam.time_step_nondim"
- ></el-input>
- </li>
- <li class="disflex55 pdingf10">
- <span>{{ $t("HCFD.solution.subiterations") }}</span>
- <el-input
- size="mini"
- v-model="parameterObj.nmlParam.subiterations"
- ></el-input>
- </li>
- <li class="discenter">
- <el-button
- size="mini"
- type="success"
- icon="el-icon-arrow-down"
- @click="dialog.timeasm_visiable = true"
- >more</el-button
- >
- </li>
-
- </el-col>
- <el-col class="lg-ss">
- <li class="title">{{ $t("HCFD.solution.linearSol") }}</li>
- <li class="disflex55 pdingf10">
- <span>{{ $t("HCFD.solution.meanflow") }}</span>
- <el-input
- size="mini"
- v-model="parameterObj.nmlParam.meanflow_sweeps"
- ></el-input>
- </li>
- <li class="disflex55 pdingf10">
- <span>{{ $t("HCFD.solution.turbulence") }}</span>
- <el-input
- size="mini"
- v-model="parameterObj.nmlParam.turbulence_sweeps"
- ></el-input>
- </li>
- <li class="disflex pdingf10">
- <span>{{ $t("HCFD.solution.gcr") }}</span>
- <el-radio-group
- v-model="parameterObj.nmlParam.line_implicit"
- class="disflex"
- >
- <el-radio label="off" style="margin:0 10px 0 0">Off</el-radio>
- <el-radio label="on">On</el-radio>
- </el-radio-group>
- </li>
- </el-col>
- <el-col>
- <li class="title">
- {{ $t("HCFD.solution.initialization") }}
- </li>
- <el-radio-group v-model="initialization" size="mini" class="pdingf10">
- <el-radio label="freestreams">{{
- $t("HCFD.solution.freestreams")
- }}</el-radio>
- <el-radio label="specified">{{
- $t("HCFD.solution.specified")
- }}</el-radio>
- </el-radio-group>
- </el-col>
- <el-col>
- <li class="title">{{ $t("HCFD.solution.run") }}</li>
- <li class="disflex55 pdingf10">
- <span style="width:51%">{{ $t("HCFD.solution.iterNum")}}</span>
- <el-input
- size="mini"
- v-model="parameterObj.nmlParam.steps"
- ></el-input>
- </li>
- <li class="disflex55 pdingf10">
- <span style="width:51%">{{ $t("HCFD.solution.stopToler")}}</span>
- <el-input
- size="mini"
- v-model="parameterObj.nmlParam.stopping_tolerance"
- ></el-input>
- </li>
- <li class="discenter">
- <el-button
- size="mini"
- type="success"
- icon="el-icon-arrow-down"
- @click="dialog.runc_visiable = true"
- >more</el-button
- >
- </li>
- </el-col>
- <el-col>
- <li class="title">{{ $t("HCFD.solution.outCon") }}</li>
- <li class="discenter padding0">
- <el-button
- size="mini"
- type="success"
- @click="dialog.boundaryo_visiable = true"
- >
- <el-image :src="boundary"></el-image
- >{{ $t("HCFD.solution.bounOut") }}
- </el-button></li>
- <li class="discenter padding0">
- <el-button
- size="mini"
- type="success"
- @click="dialog.volumeo_visiable = true"
- >
- <el-image :src="volume"> </el-image
- >{{ $t("HCFD.solution.volOut") }}
- </el-button>
- </li>
- </el-col>
- <el-col>
- <li class="title">{{ $t("HCFD.solution.advance") }}</li>
- <li class="discenter padding0">
- <el-button
- size="mini"
- type="success"
- @click="dialog.specialp_visiable = true"
- >
- <el-image :src="special"></el-image
- >{{ $t("HCFD.solution.specialPara") }}
- </el-button>
- </li>
- <li class="discenter padding0">
- <el-button type="success" size="mini" @click="dialog.swap_visiable = true">
- <el-image :src="swap"></el-image
- >{{ $t("HCFD.solution.swapYZ") }}
- </el-button>
- </li>
- <div class="discenter padding0">
- <div>
- <el-button
- size="mini"
- type="primary"
- v-show="runMonitor"
- @click="hcfdrun(true)"
- >
- <div class="disflex">
- <el-image :src="run" style="width:15px"></el-image>
- <span class="borun">Run</span>
- </div>
- </el-button>
- <el-button
- size="mini"
- type="primary"
- @click="showMonitor()"
- v-show="runMonitor"
- >Monitor</el-button
- >
- </div>
- </div>
- </el-col>
- <!-- <el-col :span="0">
- <div class="line"></div> </el-col > -->
- </el-row>
- </div>
- </div>
- <!-- 第四个 -->
- <div class="lg-modl" v-show="TaskSurfaceshow">
- <div class="logs_title">
- Task Page
- <div class="x" @click="taskchangSurface()">x</div>
- </div>
- <div class="el-padding Task-lg task-si" :class="headMenu_2Show?'maxh290':'maxh100'">
- <el-row
- ><el-col>
- <li class="title">Surface Grid</li>
- <li class="disflex55 pdingf10">
- <span>Steps</span>
- <el-select size="mini" v-model="bStep" placeholder="请选择">
- <el-option
- v-for="setep in boundaryStep"
- :key="setep"
- :label="setep"
- :value="setep"
- >
- </el-option>
- </el-select>
- </li>
- <li class="disflex55 pdingf10">
- <span>Scalar Selection</span>
- <el-select
- size="mini"
- v-model="bScalar"
- placeholder="请选择"
- >
- <el-option
- v-for="scalar in boundaryScalars"
- :key="scalar"
- :label="scalar"
- :value="scalar"
- >
- </el-option>
- </el-select>
- </li>
- <li class="disflex55 lheig34 pdingf10">
- <span>Vector Selection</span>
- <el-checkbox checked>Velocity</el-checkbox>
- </li>
- <li class="disflex55 lheig34 pdingf10">
- <span>Show Element</span>
- <el-checkbox-group v-model="belementCheckeds" class="discenter">
- <el-checkbox
- label="Mesh"
- style="margin:0 8px 0 0"
- @change="Contourval('Mesh')"
- ></el-checkbox>
- <el-checkbox
- label="Contour"
- @change="Contourval('Contour')"
- ></el-checkbox>
- </el-checkbox-group>
- </li>
- <li class="discenter">
- <el-button
- size="mini"
- type="primary"
- @click="showSurface()"
- >Show Surface</el-button
- >
- </li>
- </el-col>
- </el-row>
- </div>
- </div>
- <!-- 第五个 -->
- <div class="lg-modl" v-show="TaskVolumeshow">
- <div class="logs_title">
- Task Page
- <div class="x" @click="taskchangVolume()">x</div>
- </div>
- <div class="el-padding Task-lg task-si" :class="headMenu_2Show?'maxh290':'maxh100'">
- <el-row>
- <el-col class="lg-si-right">
- <li class="title">Volume Grid</li>
- <li class="disflex55 pdingf10">
- <span>Steps</span>
- <el-select size="mini" v-model="vStep" placeholder="请选择">
- <el-option
- v-for="setep in volumStep"
- :key="setep"
- :label="setep"
- :value="setep"
- >
- </el-option>
- </el-select>
- </li>
- <li class="disflex55 pdingf10">
- <span>Scalar Selection</span>
- <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>
- </li>
- <li class="disflex55 lheig34 pdingf10">
- <span>Vector Selection</span>
- <el-checkbox checked>Velocity</el-checkbox>
- </li>
- <li class="disflex55 lheig34 pdingf10">
- <span>Show Element</span>
- <el-checkbox-group v-model="velementCheckeds" class="discenter">
- <el-checkbox
- label="Mesh"
- style="margin:0 8px 0 0"
- @change="ContourvalVolume('Mesh')"
- ></el-checkbox>
- <el-checkbox
- label="Contour"
- @change="ContourvalVolume('Contour')"
- ></el-checkbox>
- </el-checkbox-group>
- </li>
- <li class="discenter">
- <el-button type="primary" size="mini" @click="showVolume()"
- >Show Volume</el-button
- >
- </li>
- </el-col>
- </el-row>
- </div>
- </div>
- </div>
- <!-- Task Page的弹框的结束-->
- <el-container class="beij-container">
- <el-aside v-if="leftMenu_2Show" class="leftMenu_1_1">Aside</el-aside>
- <el-container>
- <el-main ref="main3d" :class="headMenu_2Show?'maxh400':'maxh221'">
- <echartsHFCD ref="monitor" :name="project.projectName"></echartsHFCD>
- <ugrid-load
- ref="ugridLoad"
- :renderer_hight="renderer_hight"
- :renderer_width="renderer_width"
- ></ugrid-load>
- <volum-load
- ref="volumLoad"
- @showVolume="showVolume"
- :renderer_hight="renderer_hight"
- :renderer_width="renderer_width"
- @setVolumScalars="setVolumScalars($event)"
- ></volum-load>
- <boundary-load
- ref="boundaryLoad"
- @showSurface="showSurface"
- :bScalar="bScalar"
- :contourLevel="contourLevel"
- :renderer_hight="renderer_hight"
- :renderer_width="renderer_width"
- @setBoundaryScalars="setBoundaryScalars($event)"
- ></boundary-load>
- <!-- 颜色条 -->
- <!-- <div class="colortiao"></div>
- <vtkLoad ref="vtkLoad" :bScalar='bScalar' :contourLevel="contourLevel">
- </vtkLoad> -->
- </el-main>
- <!-- <div class="x" @click="change">==</div> -->
- <el-footer style="height: 160px" v-show="Consoleshow">
- <div class="logs_title">
- Console
- <div class="x">x</div>
- <div class="exloadbox" :style="{ visibility: exLoading}">
- <span>正在求解中</span>
- <i class="el-icon-loading"></i>
- </div>
- </div>
- <div class="logs_console">
- <textarea v-model="logs" style="width: 100%;height:120px">
- "欢迎来到HCFD!"
- </textarea>
- </div>
- </el-footer>
- </el-container>
- </el-container>
- </el-container>
- </el-container>
- <el-dialog
- :close-on-click-modal="false"
- title="New"
- :visible.sync="dialog.new_visiable"
- class="dialog lg-dialog-2"
- >
- <el-form>
- <el-form-item>
- <span>Project Name</span>
- <el-input v-model="project.projectName"></el-input>
- <span>Project description</span>
- <el-input v-model="project.projectDesc"></el-input>
- </el-form-item>
- <el-form-item label="File Type">
- <el-radio disabled v-model="project.fileType" label="binary"
- >Binary</el-radio
- >
- <el-radio v-model="project.fileType" label="ascii">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>
- <vue-uploader
- ref="mapbc"
- :projectId="project.projectId"
- :solverType="'hcfd'"
- :accept="'.mapbc'"
- :name="'Load BC File'"
- :upId="'1'"
- ></vue-uploader>
- </el-form>
- <div slot="footer" class="dialog-footer">
- <el-button type="info" @click="dialog.new_visiable = false">Cancel</el-button>
- <el-button type="danger" @click="reUpload">Reupload</el-button>
- <el-button type="warning" @click="saveProject('newProject')">Save</el-button>
- <el-button type="primary" @click="ugridShow">OK</el-button>
- </div>
- </el-dialog>
- <el-dialog
- :close-on-click-modal="false"
- title="Load"
- :visible.sync="dialog.load_visiable"
- width="45%"
- class="dialog"
- >
- <el-form>
- <el-table
- v-loading="loading"
- :data="projects"
- border
- height="250"
- ref="projectsTable"
- @selection-change="projectsSelectionChange"
- @select="projectsSelectionSelect"
- >
- <el-table-column type="selection" />
- <el-table-column property="projectId" label="Project ID" />
- <el-table-column property="projectName" label="Project Name" />
- <el-table-column property="createTime" label="Project Create Time" />
- </el-table>
- </el-form>
- <div slot="footer" class="dialog-footer">
- <el-button type="info" @click="dialog.load_visiable = false">Cancel</el-button>
- <el-button type="primary" @click="selectProjectOK()">OK</el-button>
- </div>
- </el-dialog>
- <el-dialog
- :close-on-click-modal="false"
- title="资源选择"
- :visible.sync="dialog.ziyuan"
- width="45%"
- class="dialog"
- >
- <el-form>
- <el-table
- v-loading="loading"
- :data="ziyprojects"
- border
- :row-key="getRowKeys"
- height="250"
- ref="multipleTable"
- @selection-change="ziySelectionChange"
- @select="ziySelectionSelect"
- >
- <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 type="info" @click="dialog.ziyuan = false">Cancel</el-button>
- <el-button type="primary" @click='resourceOK()'>OK</el-button>
- </div>
- </el-dialog>
- <el-dialog
- title="Scale"
- :visible.sync="dialog.scale_visiable"
- :close-on-click-modal="false"
- width="20%"
- >
- <el-form>
- <div class="disflex">
- <span class="sblock">Factor</span>
- <el-input class="inpwidth" v-model="geneal.MeshTransform.Scale.Factor"></el-input>
- </div>
- </el-form>
- <div slot="footer" class="dialog-footer">
- <el-button type="info" @click="dialog.scale_visiable = false">Cancel</el-button>
- <el-button type="primary" @click="dialog.scale_visiable = false"
- >OK</el-button
- >
- </div>
- </el-dialog>
- <el-dialog
- title="Translation"
- :visible.sync="dialog.translation_visiable"
- :close-on-click-modal="false"
- width="511px"
- >
- <el-form class="div64">
- <div>
- <span>Distance</span>
- <el-input
- v-model="geneal.MeshTransform.Translation.Distance"
- ></el-input>
- </div>
- <div>
- <span>X-Component of Translation Unit Vector</span>
- <el-input v-model="geneal.MeshTransform.Translation.X"></el-input>
- </div>
- <div>
- <span>Y-Component of Translation Unit Vector </span>
- <el-input v-model="geneal.MeshTransform.Translation.Y"></el-input>
- </div>
- <div>
- <span>Z-Component of Translation Unit Vector </span>
- <el-input v-model="geneal.MeshTransform.Translation.Z"></el-input>
- </div>
- </el-form>
- <div slot="footer" class="dialog-footer">
- <el-button type="info" @click="dialog.translation_visiable = false"
- >Cancel</el-button
- >
- <el-button type="primary" @click="dialog.translation_visiable = false"
- >OK</el-button
- >
- </div>
- </el-dialog>
- <el-dialog
- :close-on-click-modal="false"
- title="Rotation"
- :visible.sync="dialog.rotation_visiable"
- width="500px"
- >
- <el-form class="div64">
- <div>
- <span>Angle(deg)</span>
- <el-input v-model="geneal.MeshTransform.Rotation.Angle"></el-input>
- </div>
- <div>
- <span>X-Coordinate of Rotation Origin</span>
- <el-input
- class="lg-Rotation"
- v-model="geneal.MeshTransform.Rotation.X"
- ></el-input>
- </div>
- <div>
- <span>Y-Coordinate of Rotation Origin</span>
- <el-input
- class="lg-Rotation"
- v-model="geneal.MeshTransform.Rotation.Y"
- ></el-input>
- </div>
- <div>
- <span>Z-Coordinate of Rotation Origin</span>
- <el-input
- class="lg-Rotation"
- v-model="geneal.MeshTransform.Rotation.Z"
- ></el-input>
- </div>
- <div>
- <span>X-Component of Rotation Axis Unit Vector</span>
- <el-input
- class="lg-Rotation2"
- v-model="geneal.MeshTransform.Rotation.X1"
- ></el-input>
- </div>
- <div>
- <span>Y-Component of Rotation Axis Unit Vector</span>
- <el-input
- class="lg-Rotation2"
- v-model="geneal.MeshTransform.Rotation.Y1"
- ></el-input>
- </div>
- <div>
- <span>Z-Component of Rotation Axis Unit Vector</span>
- <el-input
- class="lg-Rotation2"
- v-model="geneal.MeshTransform.Rotation.Z1"
- ></el-input>
- </div>
- </el-form>
- <div slot="footer" class="dialog-footer">
- <el-button type="info" @click="dialog.rotation_visiable = false">Cancel</el-button>
- <el-button type="primary" @click="dialog.rotation_visiable = false"
- >OK</el-button
- >
- </div>
- </el-dialog>
- <el-dialog
- title="Upload File"
- :visible.sync="dialog.upload_visiable"
- :close-on-click-modal="false"
- :close-on-press-escape="false"
- :show-close="false"
- width="535px"
- center
- >
- <div>
- <div>
- <h4>upLoader File</h4>
- <p>
- <span
- v-for="(item, i) in fileNames"
- :key="i"
- style="padding: 0 5px"
- >{{ item }}</span
- >
- </p>
- </div>
- <vue-uploader
- ref="ugrid"
- :projectId="project.projectId"
- :solverType="'hcfd'"
- :accept="'.ugrid'"
- :name="'Load Grid File'"
- :upfileName="this.fileNames"
- :upId="'2'"
- ></vue-uploader>
- <vue-uploader
- ref="mapbc"
- :projectId="project.projectId"
- :solverType="'hcfd'"
- :accept="'.mapbc'"
- :name="'Load BC File'"
- :upfileName="this.fileNames"
- :upId="'1'"
- ></vue-uploader>
- </div>
- <span slot="footer" class="dialog-footer">
- <el-button @click="dialog.upload_visiable = false">Cancel</el-button>
- <!-- <el-button @click="reUpload">Reupload</el-button> -->
- <el-button type="info" @click="reUpload">Save</el-button>
- <el-button type="primary" @click="ugridShow(), (dialog.upload_visiable = false)"
- >OK</el-button
- >
- </span>
- </el-dialog>
- <el-dialog
- :close-on-click-modal="false"
- title="Laminar"
- :visible.sync="dialog.laminar_visiable"
- width="23%"
- >
- <el-form class="div64">
- <div>
- <span>Molecular Prandtl Number</span>
- <el-input
- v-model="parameterObj.nmlParam.prandtlnumber_molecular"
- ></el-input>
- </div>
- </el-form>
- <div slot="footer" class="dialog-footer">
- <el-button type="info" @click="referencevisiable((dialog.laminar_visiable = false))"
- >Cancel</el-button
- >
- <el-button type="primary" @click="dialog.laminar_visiable = false"
- >OK</el-button
- >
- </div>
- </el-dialog>
- <el-dialog
- class="dialog-block"
- title="Turbulent"
- :visible.sync="dialog.turbulent_visiable"
- :close-on-click-modal="false"
- >
- <el-form>
- <el-radio-group v-model="parameterObj.nmlParam.turb_model">
- <el-radio :label="'sa'">SA</el-radio>
- <el-radio :label="'menter-sst'">Menter-SST</el-radio>
- <el-radio :label="'k-omega-sst'">k-omega-SST</el-radio>
- <el-radio :label="'sa-des'">SA-DES</el-radio>
- <el-radio :label="'k-omega-des'">k-omega-DES</el-radio>
- <el-radio :label="'linear-k-epsilon'">Linear-k-epsilon</el-radio>
- <el-radio :label="'abid-k-epsilon'">Abid-k-epsilon</el-radio>
- <el-radio :label="'menter-sst-les'">Menter-SST-LES</el-radio>
- <el-radio :label="'Wilcox-les'">Wilcox-LES</el-radio>
- </el-radio-group>
- <div class="disflex55">
- <span>Molecular Prandtl Number</span>
- <el-input
- class="lg-Rotation"
- v-model="parameterObj.nmlParam.prandtlnumber_molecular"
- ></el-input>
- </div>
- <div class="disflex55">
- <span>Turbulent Prandtl Number</span>
- <el-input
- class="lg-Rotation"
- v-model="Physics.Turbulent.TurbulentPrandtlNumber"
- ></el-input>
- </div>
- </el-form>
- <div slot="footer" class="dialog-footer">
- <el-button
- type="info"
- @click="referencevisiable((dialog.turbulent_visiable = false))"
- >Cancel</el-button
- >
- <el-button type="primary" @click="dialog.turbulent_visiable = false"
- >OK</el-button
- >
- </div>
- </el-dialog>
- <el-dialog
- class="Conditions"
- title="Reference Conditions"
- :visible.sync="dialog.reference_visiable"
- :close-on-click-modal="false"
- width="500px"
- >
- <el-form class="lg-form">
- <li>
- <span>Mach Number</span>
- <el-input v-model="parameterObj.nmlParam.mach_number"></el-input>
- </li>
- <li>
- <span>Reynolds Number</span>
- <el-input v-model="parameterObj.nmlParam.reynolds_number"></el-input>
- </li>
- <li>
- <span>Temperature</span>
- </li>
- <li>
- <el-radio-group v-model="parameterObj.nmlParam.temperature_units">
- <el-radio :label="'Kelvin'">Kelvin</el-radio>
- <el-radio :label="'Rankine'">Rankine</el-radio>
- </el-radio-group>
- <el-input v-model="parameterObj.nmlParam.temperature"></el-input>
- </li>
- <li>
- <span>Angle of Attack (deg)</span>
- <el-input v-model="parameterObj.nmlParam.angle_of_attack"></el-input>
- </li>
- <li>
- <span>Angle of Yaw (deg) </span>
- <el-input v-model="parameterObj.nmlParam.angle_of_yaw"></el-input>
- </li>
- <li>
- <span>Reference Area </span>
- <el-input v-model="parameterObj.nmlParam.area_reference"></el-input>
- </li>
- <li>
- <span>Length In X About Moment of Y Axis</span>
- <el-input v-model="parameterObj.nmlParam.x_moment_length"></el-input>
- </li>
- <li>
- <span>Length In Y About Moment of X and Z Axis</span>
- <el-input v-model="parameterObj.nmlParam.y_moment_length"></el-input>
- </li>
- <li>
- <span>Location of Moment Center</span>
- </li>
- <li>
- <span>X-Coordinate</span>
- <el-input v-model="parameterObj.nmlParam.x_moment_center"></el-input>
- </li>
- <li>
- <span>Y-Coordinate</span>
- <el-input v-model="parameterObj.nmlParam.y_moment_center"></el-input>
- </li>
- <li>
- <span>Z-Coordinate</span>
- <el-input v-model="parameterObj.nmlParam.z_moment_center"></el-input>
- </li>
- </el-form>
- <div slot="footer" class="dialog-footer">
- <el-button
- type="info"
- @click="referencevisiable((dialog.reference_visiable = false))"
- >Cancel</el-button
- >
- <el-button type="primary" @click="dialog.reference_visiable = false"
- >OK</el-button
- >
- </div>
- </el-dialog>
- <el-dialog
- class="lg-Solution"
- title="Flux Residual Construction"
- :visible.sync="dialog.fluxrc_visiable"
- :close-on-click-modal="false"
- >
- <el-form>
- <el-radio-group columns='2' v-model="parameterObj.nmlParam.flux_construction">
- <el-radio :label="'roe'">Roe</el-radio>
- <el-radio :label="'vanleer'">vanleer</el-radio>
- <el-radio :label="'hllc'">HLLC</el-radio>
- <el-radio :label="'aufs'">AUFS</el-radio>
- <el-radio :label="'central_diss'">Central_Diss</el-radio>
- <el-radio :label="'dlfss'">LDFSS</el-radio>
- <el-radio :label="'stvd'">STVD</el-radio>
- <el-radio :label="'stvd_modified'">STVD_modified</el-radio>
- </el-radio-group>
- </el-form>
- <div slot="footer" class="dialog-footer">
- <el-button type="info" @click="referencevisiable((dialog.fluxrc_visiable = false))"
- >Cancel</el-button
- >
- <el-button type="primary" @click="dialog.fluxrc_visiable = false"
- >OK</el-button
- >
- </div>
- </el-dialog>
- <el-dialog
- title="Flux Limiter"
- :visible.sync="dialog.fluxl_visiable"
- class="lg-Solution"
- :close-on-click-modal="false"
- >
- <el-form>
- <el-radio-group
- v-model="parameterObj.nmlParam.flux_limiter"
- size="small"
- >
- <el-radio :label="'none'">none</el-radio>
- <el-radio :label="'barth'">barth</el-radio>
- <el-radio :label="'venkat'">venkat</el-radio>
- <el-radio :label="'minmod'">minmod</el-radio>
- <el-radio :label="'vanleer'">vanleer</el-radio>
- <el-radio :label="'vanalbada'">vanalbada</el-radio>
- <el-radio :label="'smooth'">smooth</el-radio>
- <el-radio :label="'hminmod'">hminmod</el-radio>
- <el-radio :label="'hvanleer'">hvanleer</el-radio>
- <el-radio :label="'hvanalbada'">hvanalbada</el-radio>
- <el-radio :label="'hsmooth'">hsmooth</el-radio>
- <el-radio :label="'hvenkat'">hvenkat</el-radio>
- </el-radio-group>
- </el-form>
- <div slot="footer" class="dialog-footer">
- <el-button type="info" @click="referencevisiable((dialog.fluxl_visiable = false))"
- >Cancel</el-button
- >
- <el-button type="primary" @click="dialog.fluxl_visiable = false"
- >OK</el-button
- >
- </div>
- </el-dialog>
- <el-dialog
- title="Flux Jacobian Construction"
- :visible.sync="dialog.fluxjc_visiable"
- class="lg-Solution"
- :close-on-click-modal="false"
- >
- <el-form>
- <el-radio-group
- v-model="parameterObj.nmlParam.flux_construction_lhs"
- size="small"
- >
- <el-radio :label="'roe'">Roe</el-radio><br />
- <el-radio :label="'vanleer'">vanleer</el-radio><br />
- <el-radio :label="'hllc'">HLLC</el-radio><br />
- <el-radio :label="'aufs'">AUFS</el-radio><br />
- <el-radio :label="'central-diss'">Central-Diss</el-radio><br />
- <el-radio :label="'ldfss'">LDFSS</el-radio><br />
- <el-radio :label="'stvd'">STVD</el-radio><br />
- <el-radio :label="'stvd_modified'">STVD_modified</el-radio>
- </el-radio-group>
- </el-form>
- <div slot="footer" class="dialog-footer">
- <el-button type="info" @click="referencevisiable((dialog.fluxjc_visiable = false))"
- >Cancel</el-button
- >
- <el-button type="primary" @click="dialog.fluxjc_visiable = false"
- >OK</el-button
- >
- </div>
- </el-dialog>
- <el-dialog
- title="Flux Jacobian Construction"
- :visible.sync="dialog.flujc_visiable"
- :close-on-click-modal="false"
- >
- <el-form>
- <el-radio-group v-model="parameterObj.nmlParam.flux_limiter">
- <el-radio :label="'roe'">Roe</el-radio>
- <el-radio :label="'hllc'">HLLC</el-radio>
- <el-radio :label="'aufs'">AUFS</el-radio>
- <el-radio :label="'ldfss'">LDFSS</el-radio>
- </el-radio-group>
- </el-form>
- <div slot="footer" class="dialog-footer">
- <el-button type="info" @click="referencevisiable((dialog.flujc_visiable = false))"
- >Cancel</el-button
- >
- <el-button type="primary" @click="dialog.flujc_visiable = false"
- >OK</el-button
- >
- </div>
- </el-dialog>
- <el-dialog
- title="Time Scheme"
- :visible.sync="dialog.time_visiable"
- class="lg-Solution"
- :close-on-click-modal="false"
- >
- <el-form>
- <el-radio-group v-model="parameterObj.nmlParam.time_accuracy">
- <el-radio :label="'steady'">Steady</el-radio>
- <el-radio :label="'1storder'">1storder</el-radio>
- <el-radio :label="'2ndorder'">2ndorder</el-radio>
- <el-radio :label="'2ndorderOPT'">2ndorderOPT</el-radio>
- <el-radio :label="'3rdorder'">3rdorder</el-radio>
- <el-radio :label="'4thorderMEBDF4'">4thorderMEBDF4</el-radio>
- <el-radio :label="'4thorderESDIRK4'">4thorderESDIRK4</el-radio>
- </el-radio-group>
- </el-form>
- <div slot="footer" class="dialog-footer">
- <el-button type="info" @click="referencevisiable((dialog.time_visiable = false))"
- >Cancel</el-button
- >
- <el-button type="primary" @click="dialog.time_visiable = false"
- >OK</el-button
- >
- </div>
- </el-dialog>
- <el-dialog
- title="Time Advanced Scheme"
- :visible.sync="dialog.timeasm_visiable"
- :close-on-click-modal="false"
- >
- <el-form class="lg-form">
- <li class="lheig34" style="padding:5px 0">
- <span>Pseudo Time Stepping</span>
- <el-radio-group class="inpw35" style="display:flex" v-model="parameterObj.nmlParam.pseudo_time_stepping">
- <el-radio :label="'on'">On</el-radio>
- <el-radio :label="'off'">Off</el-radio>
- </el-radio-group>
- </li>
- <li>
- <span>Time Step Nondim</span>
- <el-input v-model="parameterObj.nmlParam.time_step_nondim"></el-input>
- </li>
- <li>
- <span>Subiterations</span>
- <el-input v-model="parameterObj.nmlParam.subiterations"></el-input>
- </li>
- <li>
- <span>Schedule Iteration For Ramped 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>
- <span>Schedule CFL</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>
- <span>Schedule CFL Turb</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 type="info" @click="timeasmvisiable">Cancel</el-button>
- <el-button type="primary" @click="dialog.timeasm_visiable = false"
- >OK</el-button
- >
- </div>
- </el-dialog>
- <el-dialog
- title="Run Control"
- :visible.sync="dialog.runc_visiable"
- :close-on-click-modal="false"
- >
- <el-form class="lg-form">
- <li>
- Number of Iterations<el-input
- v-model="parameterObj.nmlParam.steps"
- ></el-input>
- </li>
- <li>
- Stopping Tolerance<el-input
- v-model="parameterObj.nmlParam.stopping_tolerance"
- ></el-input>
- </li>
- <li>
- Restart Write Freq<el-input
- v-model="parameterObj.nmlParam.restart_write_freq"
- ></el-input>
- </li>
- <li>
- Jacobian Evaluate Freq<el-input
- v-model="parameterObj.nmlParam.jacobian_eval_freq"
- ></el-input>
- </li>
- <li class="lheig34" style="padding:5px 0">
- Read Restart
- <el-radio-group class="inpw35" v-model="parameterObj.nmlParam.restart_read">
- <el-radio label="off">Off</el-radio>
- <el-radio label="on">On</el-radio>
- </el-radio-group>
- </li>
- </el-form>
- <div slot="footer" class="dialog-footer">
- <el-button type="info" @click="runcvisiable">Cancel</el-button>
- <el-button type="primary" @click="dialog.runc_visiable = false"
- >OK</el-button
- >
- </div>
- </el-dialog>
- <el-dialog
- title="Boundary Output"
- :visible.sync="dialog.boundaryo_visiable"
- :close-on-click-modal="false"
- class="Conditions lg-out-h"
- >
- <el-form>
- <li class="disflex">
- Output Freq<el-input
- v-model="parameterObj.nmlParam.animation_freq"
- class="inpw50"></el-input>
- </li>
- <li>Output Variables</li>
- <el-checkbox
- :indeterminate="Solution.boundaryout.isIndeterminate"
- v-model="Solution.boundaryout.checkAll"
- @change="solutionbCheckAllChange"
- >All</el-checkbox
- >
- <div>
- <el-checkbox
- v-model="parameterObj.nmlParam.a_u">X-component of velocity</el-checkbox>
- <el-checkbox
- v-model="parameterObj.nmlParam.a_v"
- >Y-component of velocity</el-checkbox>
- <el-checkbox
- v-model="parameterObj.nmlParam.a_w"
- >Z-component of velocity</el-checkbox>
- <el-checkbox
- v-model="parameterObj.nmlParam.a_p"
- >Press</el-checkbox>
- <el-checkbox
- v-model="parameterObj.nmlParam.a_cp"
- >Press coefficient</el-checkbox>
- <el-checkbox
- v-model="parameterObj.nmlParam.a_mach"
- >Mach Number</el-checkbox>
- <el-checkbox
- v-model="parameterObj.nmlParam.a_vort_mag"
- >Vorticity magnitude</el-checkbox>
- <el-checkbox
- v-model="parameterObj.nmlParam.a_vort_x "
- >X-component of vorticity</el-checkbox>
- <el-checkbox
- v-model="parameterObj.nmlParam.a_vort_y"
- >Y-component of vorticity</el-checkbox>
- <el-checkbox
- v-model="parameterObj.nmlParam.a_vort_z "
- >Z-component of vorticity</el-checkbox>
- <el-checkbox
- v-model="parameterObj.nmlParam.a_q_criterion"
- >Q Criterion</el-checkbox>
- </div>
- <!-- </el-checkbox-group> -->
- </el-form>
- <div slot="footer" class="dialog-footer">
- <el-button
- type="info"
- @click="referencevisiable((dialog.boundaryo_visiable = false))"
- >Cancel</el-button
- >
- <el-button type="primary" @click="dialog.boundaryo_visiable = false"
- >OK</el-button
- >
- </div>
- </el-dialog>
- <el-dialog
- title="Volume Output"
- :visible.sync="dialog.volumeo_visiable"
- class="Conditions lg-out-h"
- :close-on-click-modal="false"
- >
- <el-form>
- <li class="disflex">
- Output Freq<el-input
- v-model="parameterObj.nmlParam.volume_animation_freq"
- class="inpw50"></el-input>
- </li>
- <li>Output Variables</li>
- <el-checkbox
- :indeterminate="Solution.volumout.isIndeterminate"
- v-model="Solution.volumout.checkAll"
- @change="solutionvCheckAllChange"
- >All</el-checkbox
- >
- <!-- <el-checkbox-group
- v-model="Solution.volumout.checkeds"
- @change="solutionvCheckedCitiesChange"
- >
- <el-checkbox
- v-for="cell in Solution.volumout.lists"
- :label="cell"
- :key="cell"
- >{{ cell }}</el-checkbox
- >
- </el-checkbox-group> -->
- <div>
- <el-checkbox
- v-model="parameterObj.nmlParam.v_u">X-component of velocity</el-checkbox>
- <el-checkbox
- v-model="parameterObj.nmlParam.v_v "
- >Y-component of velocity</el-checkbox>
- <el-checkbox
- v-model="parameterObj.nmlParam.v_w"
- >Z-component of velocity</el-checkbox>
- <el-checkbox
- v-model="parameterObj.nmlParam.v_p "
- >Press</el-checkbox>
- <el-checkbox
- v-model="parameterObj.nmlParam.v_cp"
- >Press coefficient</el-checkbox>
- <el-checkbox
- v-model="parameterObj.nmlParam.v_mach"
- >Mach Number</el-checkbox>
- <el-checkbox
- v-model="parameterObj.nmlParam.v_vort_mag"
- >Vorticity magnitude</el-checkbox>
- <el-checkbox
- v-model="parameterObj.nmlParam.v_vort_x "
- >X-component of vorticity</el-checkbox>
- <el-checkbox
- v-model="parameterObj.nmlParam.v_vort_y"
- >Y-component of vorticity</el-checkbox>
- <el-checkbox
- v-model="parameterObj.nmlParam.v_vort_z "
- >Z-component of vorticity</el-checkbox>
- <el-checkbox
- v-model="parameterObj.nmlParam.v_q_criterion"
- >Q Criterion</el-checkbox>
- </div>
- </el-form>
- <div slot="footer" class="dialog-footer">
- <el-button type="info" @click="referencevisiable((dialog.volumeo_visiable = false))"
- >Cancel</el-button
- >
- <el-button type="primary" @click="dialog.volumeo_visiable = false"
- >OK</el-button
- >
- </div>
- </el-dialog>
- <el-dialog
- class="lg-y-z"
- title="Special Parameters"
- :visible.sync="dialog.specialp_visiable"
- :close-on-click-modal="false"
- >
- <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
- type="info"
- @click="referencevisiable((dialog.specialp_visiable = false))"
- >Cancel</el-button
- >
- <el-button type="primary" @click="dialog.specialp_visiable = false"
- >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"
- >
- <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 type="info" @click="referencevisiable((dialog.swap_visiable = false))"
- >Cancel</el-button
- >
- <el-button type="primary" @click="dialog.swap_visiable = false"
- >OK</el-button
- >
- </div>
- </el-dialog>
- <!-- 单位计算开始 -->
- <!-- Y+ Calculator -->
- <el-dialog
- title="Y+值计算"
- :visible.sync="Yvisiable"
- :close-on-click-modal="false"
- >
- <el-form :model="form" class="gongju">
- <!-- Freestream velocity流速度U∞ -->
- <el-form-item label="自由流速度U∞(m/s):">
- <el-input v-model="form.u_freestream" autocomplete="off"></el-input>
- </el-form-item>
- <!--Density 自由氣流密度ρ -->
- <el-form-item label="自由氣流密度ρ(kg/m^3):">
- <el-input v-model="form.rho" autocomplete="off"></el-input>
- </el-form-item>
- <!-- Characteristic length 特征长度L-->
- <el-form-item label="特征长度L:(m):">
- <el-input
- v-model="form.L"
- type="number"
- autocomplete="off"
- ></el-input>
- </el-form-item>
- <!-- Dynamic viscosity表流运动粘贴系数μ: -->
- <el-form-item label="表流运动粘贴系数μ(Pa·s):">
- <el-input v-model="form.mu" autocomplete="off"></el-input>
- </el-form-item>
- <!-- Desired Y+ value: -->
- <el-form-item label="Y+:">
- <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
- title="雷诺数计算"
- :visible.sync="llsvisiable"
- :close-on-click-modal="false"
- >
- <el-form :model="form" class="leiluoshu">
- <el-form-item label="流速v(m/s):">
- <el-input v-model="form.lls" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item label="密度ρ(kg/m^3)">
- <el-input v-model="form.lmi" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item label="动力黏性系数η(Pa·s)">
- <el-input v-model="form.ldlzxxs" autocomplete="off"></el-input>
- </el-form-item>
- <el-form-item label="特征长度(内径)d(m):">
- <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 adilog from "@/assets/hcfd_images/adilog.png";
- import Pagination from '@/components/Pagination'
- import scaleimage from "@/assets/hcfd_images/scaleimage.png";
- import transformimage from "@/assets/hcfd_images/transformimage.png";
- import rotationimage from "@/assets/hcfd_images/rotationimage.png";
- import inviscid from "@/assets/hcfd_images/inviscid.png";
- import laminar from "@/assets/hcfd_images/laminar.png";
- import turbulent from "@/assets/hcfd_images/turbulent.png";
- import times from "@/assets/hcfd_images/times.png";
- import fluxr from "@/assets/hcfd_images/fluxr.png";
- import fluxl from "@/assets/hcfd_images/fluxl.png";
- import fluxj from "@/assets/hcfd_images/fluxj.png";
- import boundary from "@/assets/hcfd_images/boundary.png";
- import volume from "@/assets/hcfd_images/volume.png";
- import special from "@/assets/hcfd_images/special.png";
- import swap from "@/assets/hcfd_images/swap.png";
- import run from "@/assets/hcfd_images/run.png";
- import { Message, MessageBox } from "element-ui";
- import store from "@/store";
- import UgridLoad from "./loads/UgridLoad.vue";
- import VolumLoad from "./loads/VolumLoad.vue";
- import BoundaryLoad from "./loads/BoundaryLoad.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 "../common/transformtool.vue";
- import echartsHFCD from "./echartsHFCD.vue";
- import Calculator from "./hcfdCalculator.vue";
- export default {
- data() {
- return {
- 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: "",
- upVisible: false,
- Yvisiable: false,
- llsvisiable: false,
- newload: true,
- runMonitor: true,
- contourLevel: 3,
- exLoading:"hidden",
- 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,
- scaleimage: scaleimage,
- transformimage: transformimage,
- rotationimage: rotationimage,
- inviscid: inviscid,
- laminar: laminar,
- turbulent: turbulent,
- times: times,
- fluxr: fluxr,
- fluxj: fluxj,
- fluxl: fluxl,
- boundary: boundary,
- volume: volume,
- special: special,
- run: run,
- swap: swap,
- headMenu_2Show: false,
- leftMenu_2Show: false,
- gennealShow: false,
- physicsShow: false,
- solutionShow: false,
- resultShow: false,
- Consoleshow: true,
- 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: ["Mesh"],
- boundaryStep: [],
- bStep: 100,
- boundaryScalars: [],
- bScalar: "p",
- velementCheckeds: ["Mesh"],
- vStep: 100,
- volumStep: [],
- volumScalars: [],
- vSalar: "p",
- 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,
- upload_visiable: false,
- scale_visiable: false,
- translation_visiable: false,
- rotation_visiable: false,
- laminar_visiable: false,
- turbulent_visiable: false,
- reference_visiable: false,
- fluxrc_visiable: false,
- fluxl_visiable: false,
- fluxjc_visiable: false,
- time_visiable: false,
- timeasm_visiable: false,
- specified_visiable: false, //未完成
- runc_visiable: false,
- boundaryo_visiable: false,
- volumeo_visiable: false,
- specialp_visiable: false,
- swap_visiable: false,
- },
- geneal: {
- //数据存储
- MeshTransform: {
- Scale: {
- Factor: 1,
- },
- 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 下载
- 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: [200, 200],
- 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: "sa",
- 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 : "inviscid",
- volume_animation_freq: 100,
- steps: 1500,
- flux_construction_lhs: "roe",
- stopping_tolerance: 1.0e-15,
- 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: 491.4,
- 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是否显示过
- };
- },
- mounted() {
- // this.project.projectId=this.$route.query.projectId;//获取url 参数
- this.init();
- },
- components: {
- vueUploader,
- filesload,
- loading,
- UgridLoad,
- VolumLoad,
- BoundaryLoad,
- transformtool,
- Pagination,
- // vtkLoad,
- echartsHFCD,
- "hcfd-Calculator": Calculator,
- },
-
- // watch: {
- // docData: {
- // handler(newVal) {
- // let arrboundaryout=[];
- // arrboundaryout.push(this.parameterObj.nmlParam.a_u);
- // arrboundaryout.push(this.parameterObj.nmlParam.a_v);
- // arrboundaryout.push(this.parameterObj.nmlParam.a_w);
- // arrboundaryout.push(this.parameterObj.nmlParam.a_p);
- // arrboundaryout.push(this.parameterObj.nmlParam.a_cp);
- // arrboundaryout.push(this.parameterObj.nmlParam.a_mach);
- // arrboundaryout.push(this.parameterObj.nmlParam.a_vort_mag );
- // arrboundaryout.push(this.parameterObj.nmlParam.a_vort_x);
- // arrboundaryout.push(this.parameterObj.nmlParam.a_vort_y);
- // arrboundaryout.push(this.parameterObj.nmlParam.a_vort_z);
- // arrboundaryout.push(this.parameterObj.nmlParam.a_q_criterion);
- // },
- // deep: true,
- // immediate: false,
- // }
- // },
- methods: {
- //清除相关信息
- clearAll() {
- this.showUgridflag = false; //ugrid 是否显示过
- this.showSurfaceflag = false; //surface 是否显示过
- this.showVolumeflage = false; //Volume 是否显示过
- this.showMonitorflage = false;
- this.$refs.ugridLoad.clear();
- this.$refs.volumLoad.clear();
- this.$refs.boundaryLoad.clear();
- this.$refs.ugridLoad.hiden();
- this.$refs.volumLoad.hiden();
- this.$refs.boundaryLoad.hiden();
- this.islogload = true;
- this.logs = "";
- this.project = {
- projectId: "",
- projectName: "",
- projectType: "hcfd",
- projectDesc: "",
- fileType: "ascii",
- solverfiles: [],
- solverVolumUrls: [],
- solverBoundaryUrls: [],
- loadfils: [],
- converge: "",
- };
- },
- init() {
- this.project.projectId = this.$route.query.projectId; //获取url 参数
- this.project.lesseeId = this.$store.getters.lesseeId; //获取url 参数
- // this.project.projectId = '86d0d4a3f85c40bea218936b6bad59ca';
- // this.project.lesseeId = '1'; //获取url 参数
-
- if (
- this.project.projectId != undefined &&
- this.project.projectId != null
- ) {
- this.selectProjectOK();
- }
- this.missType=true
- // console.log( this.project.projectId);
- this.changeRendererSize();
- this.logtime()
- },
- 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) => {
- 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;
- });
- }
- },
- getlogs(){
- var self = this;
- let logtime=setInterval(getLog, 10000);
- function getLog() {
- 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) => {
- let rows = res.rows;
- self.logs = ""; //只显示最新的数据
- rows.forEach((row) => {
- self.logs = row.log + "\n" + self.logs;
- if (row.log.indexOf("Solver end") >= 0) {
- // console.log(row.log)
- self.exLoading='hidden';
- clearInterval(logtime)
- self.isSolverEnd = true;
- }
- });
- self.islogload = true;
- })
- .catch((err) => {
- self.islogload = true;
- // self.exLoading='hidden';
- clearInterval(logtime)
- });
- }
- }
- getLog();
- },
- setBoundaryScalars(scalars) {
- this.boundaryScalars = scalars;
- },
- setVolumScalars(scalars) {
- console.log(scalars)
- this.volumScalars = scalars;
- },
- changeRendererSize() {
- let allHight = this.$refs.all_w.offsetHeight;
- let allwidth = this.$refs.all_w.offsetWidth;
- this.$nextTick(() => {
- if (!this.headMenu_2Show) {
- this.renderer_hight = allHight - 61 - 149 - 13;
- this.renderer_width = allwidth - 300;
- this.$refs.transform.changeCssBig();
- } else if (this.headMenu_2Show) {
- this.renderer_hight = allHight - 61 - 207 - 149 - 6;
- this.renderer_width = allwidth - 300;
- this.$refs.transform.changeCssSmall();
- }
- });
- },
- change() {
- this.Consoleshow = !this.Consoleshow;
- },
- // 工具栏的点击事件
- yCalchange() {
- this.Yvisiable = true;
- },
- reyCalchange() {
- this.llsvisiable = true;
- },
- atmoCalchange() {},
- // 弹框执行事件
- referencevisiable() {
- this.parameterObjclone = JSON.parse(sessionStorage.getItem("res"));
- this.parameterObj.nmlParam = this.parameterObjclone.nmlParam;
- // this.dialog.scale_visiable = false;
- },
- // referencevisiable(){
- // this.parameterObjclone=JSON.parse(sessionStorage.getItem('res'));
- // this.parameterObj.nmlParam= this.parameterObjclone.nmlParam;
- // this.dialog.reference_visiable = false;
- // },
- 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;
- },
- 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
- Contourval(val) {
- switch (val) {
- case "Mesh":
- this.showSurface();
- break;
- case "Contour":
- // this.$refs.boundaryLoad.divb=false;
- this.showSurface();
- }
- },
- ContourvalVolume(val) {
- switch (val) {
- case "Mesh":
- this.showVolume();
- break;
- case "Contour":
- this.showVolume();
- }
- },
- physicslaminar() {
- this.dialog.laminar_visiable = true;
- },
- physicsturbulent() {
- this.dialog.turbulent_visiable = true;
- },
- viscouschange() {
- if (this.parameterObj.nmlParam.viscous_terms == "laminar") {
- this.dialog.laminar_visiable = true;
- } else if (this.parameterObj.nmlParam.viscous_terms == "turbulent") {
- this.dialog.turbulent_visiable = true;
- }
- },
- showHeadMenu(emt) {
- if (
- (emt == "geneal" && this.gennealShow && this.headMenu_2Show) ||
- (emt == "physics" && this.physicsShow && this.headMenu_2Show) ||
- (emt == "solution" && this.solutionShow && this.headMenu_2Show) ||
- (emt == "result" && this.resultShow && this.headMenu_2Show)
- ) {
- this.headMenu_2Show = false;
- this.changeRendererSize();
-
- return;
- }
- this.headMenu_2Show = true;
- if (emt == "geneal") {
- this.gennealShow = true;
- this.physicsShow = false;
- this.solutionShow = false;
- this.resultShow = false;
- }
- if (emt == "physics") {
- this.gennealShow = false;
- this.physicsShow = true;
- this.solutionShow = false;
- this.resultShow = false;
- }
- if (emt == "solution") {
- this.gennealShow = false;
- this.physicsShow = false;
- this.solutionShow = true;
- this.resultShow = false;
- }
- if (emt == "result") {
- this.gennealShow = false;
- this.physicsShow = false;
- this.solutionShow = false;
- this.resultShow = true;
- // console.log(this.$refs.boundaryLoad.container_show)
- // console.log(this.$refs.volumLoad.container_show)
- if (
- this.$refs.boundaryLoad.container_show == false &&
- this.$refs.volumLoad.container_show == false
- ) {
- this.showSurface()
- this.showVolumers()
- } else {
- }
- }
- this.changeRendererSize();
- },
- 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) => {
- // console.log(res);
- // this.fileId = res.fileId
- 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) => {
- // console.log(res);
- // this.fileId = res.fileId
- 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) => {});
- },
- //获取计算结果文件 并缓存
- async gethcfdsolverfiles() {
- let params = {
- transCode: "A00109",
- projectId: this.project.projectId,
- };
- await request(params)
- .then((res) => {
- this.project.solverfiles = res.files;
- })
- .catch((err) => {});
- this.project.solverfiles.forEach((solverfile) => {
- let url = solverfile.filepath;
- if (
- url.indexOf("volume_timestep") > 1 ||
- url.indexOf("boundary_timestep") > 1 ||
- url.indexOf("converge.dat") > 1
- ) {
- let names = url.split("/");
- let name = names[names.length - 1];
- let loadOj3 = {
- type: 2,
- filename: name,
- percentage: 0,
- };
- this.loadObjs.push(loadOj3);
- this.$refs.filesload.load(url);
- }
- if (url.indexOf("volume_timestep") > 1) {
- this.project.solverVolumUrls.push(url);
- }
- if (url.indexOf("boundary_timestep") > 1) {
- this.project.solverBoundaryUrls.push(url);
- }
- if (url.indexOf("converge.dat") > 1) {
- this.project.converge = url;
- }
- });
- this.project.solverVolumUrls.forEach((url) => {
- let step = url.split("volume_timestep")[1].split(".da")[0];
- this.bStep=step;
- this.volumStep.push(step);
- let newArr = [...new Set(this.volumStep)]; //去重
- this.volumStep = newArr;
- });
- this.project.solverBoundaryUrls.forEach((url) => {
- let step = url.split("boundary_timestep")[1].split(".da")[0];
- this.vStep=step;
- this.boundaryStep.push(step);
- let newArr = [...new Set(this.boundaryStep)]; //去重
- this.boundaryStep = newArr;
- });
- },
- /**
- * 更新配置 并求解
- */
- async hcfdrun() {
- // this.clearAll();
- this.showUgridflag = false; //ugrid 是否显示过
- this.showSurfaceflag = false; //surface 是否显示过
- this.showVolumeflage = false; //Volume 是否显示过
- this.showMonitorflage = false;
- this.$refs.ugridLoad.clear();
- this.$refs.volumLoad.clear();
- this.$refs.boundaryLoad.clear();
- this.$refs.ugridLoad.hiden();
- this.$refs.volumLoad.hiden();
- this.$refs.boundaryLoad.hiden();
- this.islogload = true;
- // this.loadObjs = [];
-
- // let loadOj1 = {
- // type: 1,
- // message: "参数更新",
- // state: -1,
- // };
- // this.loadObjs.push(loadOj1);
- // let loadOj2 = {
- // type: 1,
- // message: "求解",
- // state: -1,
- // };
- // this.loadObjs.push(loadOj2);
- await this.updateParam();
- // loadOj1.state = 1;
- if (this.solverState == "2") {
- //上次求解完成
- MessageBox.confirm(
- "已完成计算,是否放弃上次计算结果,重新计算? 如果不放弃请自行下载上次结果文件!",
- "提示",
- {
- confirmButtonText: "重新计算",
- cancelButtonText: "取消",
- type: "warning",
- }
- )
- .then(() => {
- MessageBox.close();
- this.exLoading='visible';
- this.isSolverEnd = false;
- this.hcfdExe();
- let _this = this;
- let isStop = false;
- setInterval(function () {
- if (!isStop && _this.isSolverEnd) {
- isStop = true;
- // loadOj2.state = 1;
- _this.showHeadMenu("result");
-
- }
- }, 500);
- // let logUrl = window.location.protocol+"//"+window.location.host+"/"+Caegw_LogUrl;
- // // console.log(logUrl);
- // window.location.href=logUrl
- })
- .catch(() => {
- Message.info("已取消!");
- loadOj2.state = 1;
- MessageBox.close();
- });
- } else {
- this.exLoading='visible';
- this.isSolverEnd = false;
- this.hcfdExe();
- let _this = this;
- let isStop = false;
- setInterval(function () {
- if (!isStop && _this.isSolverEnd) {
- isStop = true;
- // loadOj2.state = 1;
- // _this.gethcfdsolverfiles();
- _this.showHeadMenu("result");
- }
- }, 500);
- }
- },
- //求解
- hcfdExe() {
- var _this = this;
- let params = {
- transCode: "A00105",
- projectId: this.project.projectId,
- lesseeId:this.$store.getters.lesseeId,
- userName:this.$store.getters.name
- };
- request(params)
- .then((res) => {
- // console.log("hcfdExe" + res);
- this.getlogs()
- })
- .catch((err) => {
- // console.log("hcfdExe" + err);
- setTimeout(function () {
- _this.$refs.loading.visiable = false;
- }, 4000);
- if (err.returnCode == "EB8100017") {
- //资源未分配
- // _this.loading=false;
- //_this.$refs.loading.visiable=false
- // console.log(1111);
- MessageBox.confirm("你还未分配资源?", "提示", {
- confirmButtonText: "分配资源",
- cancelButtonText: "取消",
- type: "warning",
- })
- .then(() => {
- // const errUril = Caegw_ProUrl +"?projectId="+_this.project.projectId;
- let errUril =
- // window.location.protocol +
- // "//" +
- // window.location.host +
- // "/" +
- _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: "已取消",
- });
- });
- }
- });
- },
- async reUpload() {
- this.$refs.mapbc.uploader.upload();
- this.$refs.ugrid.uploader.upload();
- },
- async saveProject(formName) {
- // this.$refs[formName].validate((valid) => {
- // if (valid && this.files.length != 0) {
- // }else{
- // console.log(2222);
- // }
- // })
- const params = {
- transCode: "A00100",
- projectName: this.project.projectName,
- projectDesc: this.project.projectDesc,
- parameterObj: null,
- projectType: "hcfd",
- fileType: this.project.fileType,
- lesseeId: this.$store.getters.lesseeId
- };
- if (
- params.projectName == "" ||
- params.projectName == undefined ||
- params.projectName == null
- ) {
- Message({
- type: "error",
- message: "项目名称不能为空",
- });
- } else if (
- params.projectDesc == "" ||
- params.projectDesc == undefined ||
- params.projectDesc == null
- ) {
- Message({
- type: "error",
- message: "描述信息不能为空",
- });
- } else if (
- this.$refs.mapbc.files.length == 0 ||
- this.$refs.ugrid.files.length == 0
- ) {
- Message({
- type: "error",
- message: "项目文件不能为空",
- });
- } else {
- await request(params)
- .then((res) => {
- this.clearAll();
- // console.log(res);
- this.project.projectId = res.projectId;
- this.project.projectName=res.projectName;
- this.project.projectDesc=res.projectDesc;
- this.project.fileType=res.fileType;
- })
- .catch((err) => {
- return;
- });
- await this.reUpload();
- }
- },
- async ugridShow() {
- if (
- this.project.projectId == "" ||
- this.project.projectId == undefined ||
- this.project.projectId == null
- ) {
- Message({
- type: "error",
- message: "缺少文件,请检查修改",
- });
- } else {
- this.dialog.new_visiable = false;
- // await this.getHCFDLoadFiles();
- this.loadObjs = [];
- let loadOj1 = {
- type: 1,
- message: "获取参数",
- state: -1,
- };
- this.loadObjs.push(loadOj1);
- let loadOj2 = {
- type: 1,
- message: "获取上传文件URL",
- state: -1,
- };
- this.loadObjs.push(loadOj2);
- await this.findParam();
- loadOj1.state = 1;
- await this.getHCFDLoadFiles();
- loadOj2.state = 1;
- this.project.loadfils.forEach((url) => {
- let names = url.filepath.split("/");
- let name = names[names.length - 1];
- let loadOj3 = {
- type: 2,
- filename: name,
- percentage: 0,
- };
- this.loadObjs.push(loadOj3);
- this.$refs.filesload.load(url.filepath);
- this.$refs.filesload.load(url.filepath);
- if (url.filepath.indexOf(".ugrid") > 0) {
- this.ugridUrl = url.filepath;
- }
- });
- this.$refs.ugridLoad.loadUgrid(this.ugridUrl, 1);
- }
- },
- async findParam() {
- let params = {
- transCode: "A00107",
- projectId: this.project.projectId,
- };
- // console.log(params);
- await request(params)
- .then((res) => {
- // console.log("findParam:" + res);
-
- this.project.projectName = res.projectName;
- this.project.uid = res.uid;
- let cjuserid = this.$route.query.cjuserid;
- if(res.missionType==='3'||res.missionType==='4'){
- this.missType=false
- }else{
- this.missType=true
- }
- // console.log("A00107:",res);
- // console.log("cjuserid:",cjuserid);
- // if(cjuserid&&cjuserid==this.project.uid){
- // this.newload = true;
- // this.runMonitor=true;
- // }else{
- // this.newload = false;
- // this.runMonitor=false;
- // }
- console.log(this.parameterObj)
- this.parameterObj = JSON.parse(res.parameterObj);
- sessionStorage.setItem("res", res.parameterObj);
- // this.parameterObjclone=JSON.parse(res.parameterObj);
- // console.log(res);
- })
- .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) => {
- // console.log("updateParam" + res);
- // this.parameterObj = JSON.parse(res.parameterObj);
- this.solverState = res.solverState;
- })
- .catch((err) => {});
- },
- loadProjects() {
- let params = {
- transCode: "A00101",
- page: 1,
- size: 1,
- projectType: "hcfd",
- lesseeId: this.$store.getters.lesseeId
- };
- this.loading = true;
- request(params)
- .then((res) => {
- // console.log("项目:" + res.rows);
- this.projects = res.rows;
- this.loading = false;
- })
- .catch((err) => {});
- },
- projectsSelectionChange(val) {
- this.clearAll();
- if (val.length > 0) {
- this.project.projectId = val[0].projectId;
- this.project.projectName = val[0].projectName;
- this.project.projectDesc = val[0].projectDesc;
- }
- },
- 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;
- }
- });
- });
- },
- // 选择项目
- async selectProjectOK() {
- this.dialog.load_visiable = false;
- this.loadObjs = [];
- let loadOj1 = {
- type: 1,
- message: "获取参数",
- state: -1,
- };
- this.loadObjs.push(loadOj1);
- let loadOj2 = {
- type: 1,
- message: "获取上传文件URL",
- state: -1,
- };
- this.loadObjs.push(loadOj2);
- //结束
- await this.findParam();
- loadOj1.state = 1;
- await this.getHCFDLoadFiles();
- loadOj2.state = 1;
- this.project.loadfils.forEach((url) => {
- let names = url.filepath.split("/");
- let name = names[names.length - 1];
- let loadOj3 = {
- type: 2,
- filename: name,
- percentage: 0,
- };
- this.loadObjs.push(loadOj3);
- this.$refs.filesload.load(url.filepath);
- if (url.filepath.indexOf(".ugrid") > 0) {
- this.ugridUrl = url.filepath;
- }
- });
- this.showUgrid();
- this.logtime()
- },
- boundaryChange(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;
- },
- // solutionbCheckAllChange(val) {
- // this.Solution.boundaryout.checkeds = val
- // ? this.Solution.boundaryout.lists
- // : [];
- // this.Solution.boundaryout.isIndeterminate = false;
- // this.solutionbSetParam();
- // },
-
- 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;
- //this.solutionbSetParam();
- }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;
- }
-
- });
-
- },
- clickNew(){
- this.project.projectName='';
- this.dialog.new_visiable = true;
- this.$refs.mapbc.$emit('childmethods');
- this.$refs.ugrid.$emit('childmethods');
- },
- 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.volumLoad.hiden();
- this.$refs.boundaryLoad.hiden();
- 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();
- }
- },
- // Task Page
- handleNodeClick(data) {
- let treeid = data.id;
- if (treeid == "2") {
- this.TaskGenealshow = true;
- this.TaskPhysicsshow = false;
- this.TaskSolutionshow = false;
- this.TaskSurfaceshow = false;
- this.TaskVolumeshow = false;
- } else if (treeid == "3") {
- this.TaskGenealshow = false;
- this.TaskPhysicsshow = true;
- this.TaskSolutionshow = false;
- this.TaskSurfaceshow = false;
- this.TaskVolumeshow = false;
- } else if (treeid == "4") {
- this.TaskGenealshow = false;
- this.TaskPhysicsshow = false;
- this.TaskSolutionshow = true;
- this.TaskSurfaceshow = false;
- this.TaskVolumeshow = false;
- } else if (treeid == "7") {
- this.TaskGenealshow = false;
- this.TaskPhysicsshow = false;
- this.TaskSolutionshow = false;
- this.TaskSurfaceshow = true;
- this.TaskVolumeshow = false;
- } else if (treeid == "8") {
- this.TaskGenealshow = false;
- this.TaskPhysicsshow = false;
- this.TaskSolutionshow = false;
- this.TaskSurfaceshow = false;
- this.TaskVolumeshow = true;
- } else if (treeid == "6") {
- this.showMonitor();
- } else if (treeid == "9") {
- this.showUgrid();
- } else {
- this.TaskGenealshow = false;
- this.TaskPhysicsshow = false;
- this.TaskSolutionshow = false;
- this.TaskSurfaceshow = false;
- this.TaskVolumeshow = false;
- }
- this.changeRendererSize();
- },
- //显示 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) {
- this.$refs.boundaryLoad.clear();
- if (this.project.solverfiles.length == 0) {
- await this.gethcfdsolverfiles();
- }
- 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) {
- // console.log(222);
- this.$refs.volumLoad.vdivb = false;
- this.$refs.boundaryLoad.divb = true;
- this.$refs.boundaryLoad.contour(this.bScalar);
- }
- }
- },
- //通过 volume 解析文件,不显示图像
- async showVolumers() {
- let mesh = false;
- let contour = false;
- this.velementCheckeds.forEach((ele) => {
- if ("Mesh" == ele) {
- mesh = true;
- } else if ("Contour" == ele) {
- contour = true;
- }
- });
- if (!this.showVolumeflage) {
- this.$refs.volumLoad.clear();
- if (this.project.solverfiles.length == 0) {
- await this.gethcfdsolverfiles();
- }
- let urls = [];
- this.project.solverVolumUrls.forEach((url) => {
- if (url.indexOf(this.bStep + ".dat") > 0) {
- urls.push(url);
- }
- });
- if (mesh) {
- this.$refs.volumLoad.loadVolumHiden(urls, 1, this.vSalar);
- }
- if (contour) {
- this.$refs.boundaryLoad.divb = false;
- this.$refs.volumLoad.vdivb = true;
- this.$refs.volumLoad.loadVolumHiden(urls, 2, this.vSalar);
- }
- } else {
- this.$refs.volumLoad.clear();
- this.$refs.volumLoad.nhiden();
- if (mesh) {
- this.$refs.volumLoad.mesh(this.vSalar);
- }
- if (contour) {
- this.$refs.boundaryLoad.divb = false;
- this.$refs.volumLoad.vdivb = true;
- this.$refs.volumLoad.contour(this.vSalar);
- }
- }
- },
- async showVolume() {
- let mesh = false;
- let contour = false;
- this.velementCheckeds.forEach((ele) => {
- if ("Mesh" == ele) {
- mesh = true;
- } else if ("Contour" == ele) {
- contour = true;
- }
- });
- this.$refs.ugridLoad.hiden();
- this.$refs.boundaryLoad.hiden();
- this.$refs.monitor.hiden();
- if (!this.showVolumeflage) {
- this.$refs.volumLoad.clear();
- if (this.project.solverfiles.length == 0) {
- await this.gethcfdsolverfiles();
- }
- let urls = [];
- this.project.solverVolumUrls.forEach((url) => {
- if (url.indexOf(this.bStep + ".dat") > 0) {
- urls.push(url);
- }
- });
- if (mesh) {
- this.$refs.volumLoad.loadVolum(urls, 1, this.vSalar);
- }
- if (contour) {
- this.$refs.boundaryLoad.divb = false;
- this.$refs.volumLoad.vdivb = true;
- this.$refs.volumLoad.loadVolum(urls, 2, this.vSalar);
- }
- this.showVolumeflage = true;
- } else {
- this.$refs.volumLoad.clear();
- this.$refs.volumLoad.nhiden();
- if (mesh) {
- this.$refs.volumLoad.mesh(this.vSalar);
- }
- if (contour) {
- this.$refs.boundaryLoad.divb = false;
- this.$refs.volumLoad.vdivb = true;
- this.$refs.volumLoad.contour(this.vSalar);
- }
- }
- },
- async showMonitor() {
- this.$refs.ugridLoad.hiden();
- this.$refs.boundaryLoad.hiden();
- this.$refs.volumLoad.hiden();
- if (!this.showMonitorflage) {
- if (this.project.converge == "") {
- await this.gethcfdsolverfiles();
- }
- let convergeUrl = this.project.converge;
- this.$refs.monitor.loadConverge(convergeUrl);
- } else {
- this.$refs.monitor.nhiden();
- }
- this.showMonitorflage = true;
- },
- 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) {
- },
- //保存
- 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) => {
-
- })
- },
- // 查看已经中的
- resourcelook(){
- const params = {
- transCode: 'HG00001',
- otherId: this.project.projectId,
- type:'1',
- lesseeId:this.$store.getters.lesseeId,
- }
- request(params)
- .then((res) => {
- let rst=res.rows;
- 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);
- }
- }
- }
- }
- })
-
- .catch((err) => {
-
- })
- }
- },
- };
- </script>
- <style lang="scss">
- @media screen and (max-width:1650px){
- .headMenu_2 .el-col{
- transform:scale(0.9);
- transform-origin: 0 0;
- }
- .headMenu_2{
- height: 175px !important;
- }
- }
- @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;
- }
- }
- body {
- font-size: 62.5%;
- position: relative;
- }
- .el-padding {
- padding: 5px 20px;
- }
- .headMenu_1 {
- background: #232426;
- }
- .logtitle {
- color: #fff;
- }
- .el-header {
- padding: 0;
- }
- .logs_console {
- overflow: hidden;
- }
- .el-menu {
- padding-left: 13px;
- }
- .el-menu .el-menu-item:hover {
- background-color: #bfc5cb;
- color: #333333;
- }
- // .el-menu--horizontal>.el-submenu:focus .el-submenu__title, .el-menu--horizontal>.el-submenu:hover .el-submenu__title{
- // color: #e4e4e4;
- // }
- .el-menu--horizontal > .el-menu-item {
- color: #e4e4e4;
- }
- .el-menu--horizontal > .el-submenu.is-active .el-submenu__title {
- color: #e4e4e4;
- }
- .el-menu--horizontal > .el-menu-item.is-active {
- color: #e4e4e4;
- }
- .el-menu--horizontal > .el-submenu .el-submenu__title {
- color: #e4e4e4;
- font-size: 16px;
- }
- .el-menu--horizontal {
- -webkit-box-pack: inherit;
- justify-content: flex-start;
- }
- .logtitle li:nth-child(1) {
- margin-right: 100px;
- }
- .el-menu-item {
- font-size: 16px;
- padding: 0 35px;
- }
- #head2 {
- background-color: #f9f9f9;
- }
- #lg-title {
- text-align: left;
- padding: 6px 0px 6px 3.125vw;
- }
- .Task-lg {
- width: 100%;
- }
- .el-col-1 {
- width: 0; //重点修改了宽度
- }
- .title_content_1 {
- padding-left: 2.96875vw;
- }
- .el-col-3 li {
- padding: 6px 0;
- }
- .lg-er .el-col-3 li {
- padding-top: 0;
- }
- .el-image {
- padding-right: 4px;
- }
- .lg_weiyi .el-radio {
- display: block;
- padding: 6px 0 6px 3.125vw;
- }
- .el-dialog .el-input__inner {
- height: 34px;
- line-height: 34px;
- }
- .el-input--mini {
- display: inline;
- }
- .lg-centent {
- background-color: #f4f4f4;
- }
- .leiluoshu .el-form-item__content {
- margin-left: 180px;
- }
- .lg-centent .el-row {
- height: 100%;
- }
- .lg-modl {
- width: 300px;
- background: #f4f4f4;
- }
- .lg-centent .lg-modl .Task-lg {
- // max-height: calc(100vh - 300px);
- overflow-y: auto;
- }
- // .tasklg1{
- // height: 100%;
- // overflow-y: auto;
- // }
- // .tasklg2{
- // height: calc(100%-225px);
- // overflow-y: auto;
- // }
- .lg-san .el-col-3 li {
- padding: 0;
- }
- .el-input--mini .el-input__inner {
- width: 100%;
- }
- .el-radio__input.is-checked .el-radio__inner {
- border-color: #333;
- background: #333;
- }
- .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;
- }
- .el-input__inner {
- height: 30px;
- // text-align: center;
- }
- .el-input--mini {
- display: inline;
- }
- .movieControlTitle {
- font-weight: 700;
- position: relative;
- top: -8px;
- background-color: #d7dce7;
- padding: 0 10px;
- font-size: 16px;
- }
- .el-main {
- position: relative;
- background-repeat: no-repeat;
-
- }
- .maxh221{
- max-height: calc(100vh - 221px);
- }
- .maxh400{
- max-height: calc(100vh - 410px);
- }
- body {
- position: relative;
- background-color: #eceef0;
- }
- .el-loading-mask {
- background: none;
- }
- .el-tree {
- background-color: #eceef0;
- padding: 13px;
- }
- // 第二个点击事件
- .lg-er .el-col {
- padding: 0 12px;
- }
- .el-radio-button:first-child .el-radio-button__inner {
- border-radius: 4px;
- }
- .el-radio-button:last-child .el-radio-button__inner {
- border-radius: 4px;
- }
- .lg-er label {
- padding: 5px 0;
- }
- .el-radio-button__inner {
- border: none;
- }
- .lg-er label {
- display: block;
- }
- .lg-form li {
- display: flex;
- align-items: center;
- justify-content: space-between;
- }
- .lg-form>li>span{
- display:inline-block;
- width:65%
- }
- .lg-form>li>.el-input{
- width:35%
- }
- .lg-form {
- padding-bottom: 5px;
- }
- .lg-san .el-col {
- padding: 5px 0.5vw;
- }
- .lg-san label {
- padding: 10px 0;
- }
- #head2 .lg-san input {
- margin: 3px 0px;
- }
- .lg-san .el-padding {
- padding: 0 20px;
- }
- // #head2 input
- .el-button + .el-button {
- margin-left: 0;
- }
- .maxh100{
- max-height: calc(100vh - 100px);
- }
- .maxh290{
- max-height: calc(100vh - 290px);
- }
- .el-button{
- margin-bottom: 2px;
- }
- .lg-si .el-input__inner {
- padding: 0 0 0 0;
- }
- .lg-si-right {
- padding-left: 30px;
- }
- .lg-button {
- background-color: #4c4f54;
- color: #fff;
- border-radius: 10px;
- }
- .el-button--mini,
- .el-button--mini.is-round {
- padding: 5px 15px;
- }
- .lg-san {
- height: 189px;
- overflow: auto;
- }
- .lg-si li {
- padding: 2px 0;
- }
- .el-dialog__body .el-input {
- padding: 5px 0;
- }
- .el-dialog__body .el-form li:first {
- padding: 10px 0;
- }
- .logs_title {
- background: #bfc5cb;
- padding: 10px;
- font-size: 16px;
- }
- .el-col-4,
- .el-col-3 {
- position: relative;
- }
- .lg-more {
- position: absolute;
- right: 0;
- bottom: 15px;
- }
- // 弹框
- .lg-bg .el-dialog__header {
- background: #efefef;
- border-color: #82848a;
- text-align: center;
- font-weight: 600;
- }
- .dialog-block label {
- display: block;
- font-size: 20px;
- }
- .el-dialog__footer {
- padding: 0px 20px 20px;
- }
- .dialog-block .el-dialog {
- width: 23%;
- }
- .Conditions .el-dialog {
- width: 26%;
- }
- .el-dialog__body {
- padding: 20px 20px;
- }
- .el-dialog {
- max-width: 600px;
- min-width: 452px;
- }
- .lg-Solution .el-dialog {
- width: 16%;
- }
- .lg-Solution label {
- display: block;
- padding: 5px 0;
- }
- .lg-out-h .el-checkbox {
- width: 40%;
- }
- .showright {
- float: right;
- margin-right: 20px;
- }
- .Task-lg li {
- padding: 5px 0;
- }
- .Task-lg .el-radio {
- display: block;
- padding: 3px 0;
- }
- .tack-btn .el-button {
- padding: 8px 16px;
- display: block;
- }
- .outline {
- font-size: 20px;
- padding: 10px 20px;
- font-weight: 600;
- }
- .pagination {
- margin-top: 10px;
- }
- .pagination .el-input{
- padding: 0;
- }
- #head2 input {
- padding-left: 5px;
- }
- .lg-modl .el-radio-button {
- display: block;
- padding: 5px 0;
- }
- .lg-modl .el-select {
- display: block;
- padding: 3px 0;
- }
- .lg-modl .lg-si-right {
- padding: 0;
- }
- .lg-modl .task-si li label {
- display: block;
- }
- .el-col-24 {
- margin-bottom: 10px;
- }
- .x {
- // display: inline-block;
- cursor: default;
- float: right;
- }
- .lg-y-z .el-dialog {
- width: 16%;
- }
- .gongju .el-form-item__content {
- margin-left: 185px;
- }
- .gongju .el-form-item {
- margin-bottom: 0;
- }
- .exloadbox{
- float: right;
- margin-right: 100px;
- }
- // background: linear-gradient(180deg, #CCD3E2 0%, rgba(255, 255, 255, 0) 100%);
- //lq结束
- #head2 input {
- margin: 3px 5px;
- }
- // #head2 button{
- // margin: 3px 5px;
- // // width: 50%;
- // }
- .contour .el-input-number__decrease,
- .el-input-number__increase {
- top: 5px;
- width: 40px;
- cursor: pointer;
- font-size: 13px;
- height: 28px;
- line-height: 28px;
- }
- .line {
- width: 0px;
- height: 167px;
- border: 1px solid #d4d3d1;
- // background: #D4D3D1;
- // box-shadow: 0px 1px 0px 0px #FFFFFF;
- float: right;
- }
- .lg_weiyi .title {
- text-align: center;
- }
- .title {
- font-size: 0.8vw !important;
- margin: 6px 0px !important;
- font-weight: 600;
- }
- .headMenu_2 {
- height: 189px;
- overflow: hidden;
- font-size: 12px;
- width: 100%;
- }
- .headMenu_2 span{
- font-size: 12px !important;
- }
- .headMenu_2 .el-input__inner{
- padding:0 2px
- }
- .lisin>li{
- display: flex;
- align-items: center;
- }
- .lisin>li>span{
- display: inline-block;
- width:100px
- }
- .lisin>li>.el-input{
- width:120px
- }
- .sblock{
- display: inline-block;
- width:40%
- }
- .disinblok{
- display: inline-block;
- }
- .inpw50{
- width:50%
- }
- .inpw100{
- width:100%
- }
- .inpw35{
- width:25%
- }
- .inpw75{
- width:75px
- }
- .inpwidth{
- flex:1
- }
- .lheig34{
- line-height: 34px;
- }
- .pdingf10{
- padding-left: 10px !important;
- }
- .move{
- position: relative;
- top: -8px;
- right:-30px
- }
- .discenter{
- display: flex;
- justify-content: center;
- }
- .disrs{
- display: flex;
- flex-direction: row-reverse;
- }
- .padding0{
- padding: 0 !important;
- }
- .marr30{
- margin-right: 30px;
- }
- .marb5{
- margin-bottom:5px
- }
- .disacent{
- display: flex;
- align-items: center;
- }
- .div64>div,
- .disflex,
- .disflex55{
- display: flex;
- align-items: center;
- justify-content: space-between;
- }
- .div64>div>span{
- display: inline-block;
- width:65%
- }
- .span100{
- display: inline-block;
- width: 100px;
- }
- .div64>div>.el-input{
- width: 35%;
- }
- .disflex55>span{
- display: inline-block;
- width:50%
- }
- .disflex55>.el-input{
- width:50%
- }
- .el-dialog__header{
- font-size: 16px;
- font-weight: 700;
- background: #ccc;
- padding: 0 10px;
- line-height: 45px;
- }
- .flexpad30{
- display: flex;
- }
- .flexpad30>div{
- padding-right: 30px;
- }
- </style>
- <style lang="scss"
- font-family: "Helvetica Neue",Helvetica,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","微软雅黑",Arial,sans-serif;
- </style>
|