| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633 |
- <template>
- <div>
- <header>
- <div style="height: 50px;">
- <el-button type="primary" size="large" class="bt" style="color:white;font-size: 15px;font-weight: bold;width: 70px" @click="onBZ" >班组维护</el-button>
- <el-button type="primary" size="large" class="bt" style="color:white;font-size: 15px;font-weight: bold;width: 90px" @click="onchanliang" v-if="zdtreeType === true" >日产量上报</el-button>
- <el-button type="primary" size="large" class="bt" style="color:white;font-size: 15px;font-weight: bold;width: 60px" @click="onOver" title="完工按钮" >完工</el-button>
- <el-button type="primary" size="large" class="bt" style="color:white;font-size: 15px;font-weight: bold;width: 70px" @click="onzhicheng" >制程检验</el-button>
- <el-button type="primary" size="large" class="bt" style="color:white;font-size: 15px;font-weight: bold;width: 70px" @click="ondianjian" >设备点检</el-button>
- <el-button type="primary" size="large" class="bt" style="color:white;font-size: 15px;font-weight: bold;width: 70px" @click="onxuncha" >管理巡查</el-button>
- <el-button type="primary" size="large" class="bt" style="color:white;font-size: 15px;font-weight: bold;width: 95px" @click="onstatus" >设置机台状态</el-button>
- <el-button type="primary" size="large" class="bt" style="color:white;font-size: 15px;font-weight: bold;width: 70px" @click="onyinban">印版领退</el-button>
- <el-button type="primary" size="large" class="bt" style="color:white;font-size: 15px;font-weight: bold;width: 70px" @click="onClear" >换型清场</el-button>
- <el-button type="primary" size="large" class="bt" style="color:white;font-size: 15px;font-weight: bold;width: 70px" @click="pd_gdprintonClick" >工单打印</el-button>
- <el-button type="primary" size="large" class="bt" style="color:white;font-size: 15px;font-weight: bold;width: 95px" @click="gzSel" >员工工资查询</el-button>
- <el-button type="primary" size="large" class="bt" style="color:white;font-size: 15px;font-weight: bold;width: 70px" @click="oncomplaints" >客诉记录</el-button>
- <el-button type="primary" size="large" class="bt" style="color:white;font-size: 15px;font-weight: bold;width: 120px" @click="deldbcl_onclick" :disabled="dbclSelection === ''" title="当班产量明细" >当班产量明细删除</el-button>
- </div>
- </header>
-
- <el-container>
- <el-container>
- <el-main>
- <div class="gva-search-box" style=" overflow: hidden; padding: 0; margin-top:20px;display: flex;">
- <div style="flex: 1; border: 0px magenta solid; margin: 0; padding: 0; margin-left: 20px; margin-top: 20px; color: red;">
-
- <el-row :gutter="20">
- <el-col :span="5">
- <el-form-item label="机台号" prop="id" label-width="60" class="zy-label"><el-input v-model="formData.机台号" placeholder=""/></el-form-item>
- </el-col>
- <el-col :span="6">
- <el-form-item label="工单编号" prop="id"><el-input v-model="formData.工单编号" placeholder="" /></el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label=" "prop="name"><el-input v-model="formData.产品名称" placeholder="" /></el-form-item>
- </el-col>
- </el-row>
-
- <el-row :gutter="20">
- <el-col :span="7">
- <el-form-item label="印件编号" style="font-size: 1.5vh;" prop="id"><el-input v-model="formData.印件号" placeholder="" /></el-form-item>
- </el-col>
- <el-col :span="15">
- <el-form-item label="工序名称" prop="name"><el-input v-model="formData.工序名称" placeholder="" /></el-form-item>
- </el-col>
- </el-row>
- <el-row :gutter="20">
- <el-col :span="4">
- <el-form-item label="班组成员" prop="id"></el-form-item>
- </el-col>
- </el-row>
- <el-row :gutter="1">
- <!-- 循环生成 el-input 组件 -->
- <el-col v-for="i in 6" :span="4" :key="i">
- <el-input v-model="formData[`sczl_bh${i}`]" placeholder="" />
- </el-col>
- </el-row>
- <el-row :gutter="1">
- <!-- 循环生成 el-input 组件 -->
- <el-col v-for="i in 6" :span="4" :key="i">
- <el-input v-model="formData[`sczl_name${i}`]" placeholder="" class="red-input"/>
- </el-col>
- </el-row>
- </div>
- <!-- overflow: hidden;flex: 1; -->
- <div style="border: 0px lawngreen solid; margin: 0; padding: 0;width:34%;">
- <el-table tooltip-effect="dark" :data="selectData" row-key="ID" highlight-current-row="true" border
- :row-style="{ height: '20px'}" :cell-style="{ padding: '0px'}"
- :header-row-style="{ height: '20px'}" style="width:100%;height: 30vh;" @row-dblclick="handleSelectClick" >
- <el-table-column prop="process" label="印件及工序"width="280" />
- <el-table-column prop="completed" label="已完成板数" width="160" />
- </el-table>
- </div>
- </div>
- <div class="gva-table-box" style="margin-top: 20px;">
- <el-tabs v-model="activName" type="card" @tab-click="duohandleClick" >
- <el-tab-pane label="设备作业清单" @click.native="showTable('设备作业清单', 'first')" name="first" :class="{ 'active-tab': activeTab === 'first' }" style="font-size: 16px;">
- <el-table ref="multipleTable"
- :show-overflow-tooltip="true"
- highlight-current-row="true"
- :cell-class-name="sbzyqdsatusCellClass"
- :row-style="{ height: '40px' }"
- :cell-style="{ padding: '0px' }"
- :header-row-style="{ height: '40px' }"
- :header-cell-style="{ padding: '0px' }"
- @contextmenu.prevent="yjonRightClick"
- @row-click="yjupdateCompanyFunc"
- style="width: 100%;height: 330px;color:purple;font-weight: bold;" border tooltip-effect="dark"
- :data="sbzyData"
- row-key="ID"
- @selection-change="handleSelectionChange">
- <!-- <el-table-column type="selection" width="55" />-->
- <!-- <el-table-column align="left" label="选择" prop="bh" width="80"/> -->
- <el-table-column align="left" sortable label="工单编号|质量信息" prop="工单编号|质量信息" width="168"/>
- <el-table-column align="left" sortable label="印件资料" prop="印件资料" width="340" />
- <el-table-column align="left" sortable label="工序名称" prop="工序名称" width="300" />
- <el-table-column align="left" sortable label="计划产量/已完成" prop="计划产量/已完成" width="160"/>
- <el-table-column align="left" sortable label="装版时数" prop="装版时数" width="120"/>
- <el-table-column align="left" sortable label="工序产能" prop="工序产能" width="120"/>
- <el-table-column align="left" sortable label="计划工时" prop="计划工时" width="120"/>
- <el-table-column align="left" sortable label="计划生产时段" prop="计划生产时段" width="210" />
- <el-table-column align="left" sortable label="排产备注" prop="排产备注" width="120" />
- <el-table-column align="left" sortable label="产品名称" prop="产品名称" width="270" />
- </el-table>
- </el-tab-pane>
- <el-tab-pane label="班组人员及分配比例" @click="showTable('班组人员及分配比例')" name="second">
- <el-table ref="multipleTable"
- :show-overflow-tooltip="true"
- highlight-current-row="true"
- :row-style="{ height: '40px' }"
- :cell-style="{ padding: '0px' }"
- :header-row-style="{ height: '40px' }"
- :header-cell-style="{ padding: '0px' }"
- @contextmenu.prevent="bzonRightClick"
- @row-dblclick="gyupdateCompanyFunc"
- :row-class-name="rowClassStyle"
- :cell-class-name="bzryplanUsageCellClass"
- style="width: 100%;height: 400px;color:purple;font-weight: bold;"
- border
- tooltip-effect="dark"
- :data="FPData"
- row-key="ID"
- @selection-change="handleSelectionChange"
- @row-click="clickybupdate">
- <el-table-column type="selection" label="选择" width="55" />
- <el-table-column align="left" label="班组号" prop="班组号" width="80" />
- <el-table-column align="left" label="组员1" prop="0" width="240" />
- <el-table-column align="left" label="组员2" prop="1" width="240" />
- <el-table-column align="left" label="组员3" prop="2" width="240" />
- <el-table-column align="left" label="组员4" prop="3" width="240" />
- <el-table-column align="left" label="组员5" prop="4" width="220" />
- <el-table-column align="left" label="组员6" prop="5" width="100" />
- <el-table-column align="left" label="组员7" prop="6" width="100" />
- <el-table-column align="left" label="组员8" prop="7" width="100" />
- <el-table-column align="left" label="组员9" prop="8" width="100" />
- <el-table-column align="left" label="组员10" prop="9_正品版" width="120" />
- </el-table>
- </el-tab-pane>
- <el-tab-pane label="当班产量明细" @click="showsTable('当班产量明细')" name="third">
- <el-table ref="multipleTable" highlight-current-row="true" :show-overflow-tooltip="true" :row-style="{ height: '40px' }"
- :cell-style="{ padding: '0px'}" :header-row-style="{ height: '40px' }" :header-cell-style="{ padding: '0px' }"
- @row-dblclick="ybupdateCompanyFunc" style="width: 100%;height: 400px;color:purple;font-weight: bold;" border tooltip-effect="dark"
- :data="CLMXData" row-key="ID" @selection-change="dbclmxSelectionChange">
- <el-table-column type="selection" width="55" />
- <el-table-column align="left" label="生产时段" prop="生产时间段" width="180"/>
- <el-table-column align="left" label="工单编号" prop="工单编号" width="120" />
- <el-table-column align="left" label="产品名称" prop="产品名称" width="240" />
- <el-table-column align="left" label="印件及工序" prop="印件及工序" width="320"/>
- <el-table-column align="left" label="标牌号" prop="标牌号" width="80"/>
- <el-table-column align="left" label="产量" prop="产量" width="100"/>
- <el-table-column align="left" label="制程废品" prop="制程废品" width="100" />
- <el-table-column align="left" label="制程次品" prop="制程次品" width="100" />
- <el-table-column align="left" label="前工序废" prop="前工序废" width="100" />
- <el-table-column align="left" label="来料异常" prop="来料异常" width="100"/>
- <el-table-column align="left" label="装版工时" prop="装版工时" width="100" />
- <el-table-column align="left" label="保养工时" prop="保养工时" width="100" />
- <el-table-column align="left" label="打样工时" prop="打样工时" width="100"/>
- <el-table-column align="left" label="异常停机工时" prop="异常停机工时" width="120"/>
- <el-table-column align="left" label="通电工时" prop="通电工时" width="100"/>
- <el-table-column align="left" label="码开始行" prop="码开始行" width="100" />
- <el-table-column align="left" label="码结束行" prop="码结束行" width="100" />
- <el-table-column align="left" label="码包" prop="码包" width="100" />
- <el-table-column align="left" label="主电表" prop="主电表" width="100"/>
- <el-table-column align="left" label="辅电表" prop="辅电表" width="100" />
- <el-table-column align="left" label="色度数" prop="色度" width="100" />
- </el-table>
- </el-tab-pane>
- <el-tab-pane label="检验记录" @click="showTable('检验记录')" name="fourth">
- <el-table ref="multipleTable" :row-style="{ height: '40px' }" :cell-style="{ padding: '0px'}" :header-row-style="{ height: '40px' }"
- :header-cell-style="{ padding: '0px' }" :show-overflow-tooltip="true" highlight-current-row="true"
- style="width: 100%;height: 400px;color:purple;font-weight: bold;" border tooltip-effect="dark" :data="JYData" row-key="ID" @selection-change="handleSelectionChange">
- <!--<el-table-column type="selection" width="55" />-->
- <el-table-column align="left" label="工单编号" prop="工单编号" width="120"/>
- <el-table-column align="left" label="印件号" prop="印件号" width="120" />
- <el-table-column align="left" label="工序名称" prop="工序名称" width="430" />
- <el-table-column align="left" label="检验项目" prop="检验项目" width="1140"/>
- <el-table-column v-for="time in columnNames" :key="time" :label="time" :prop="time" align="center" width="120"></el-table-column>
- </el-table>
- </el-tab-pane>
-
- </el-tabs>
- <!-- <div class="gva-pagination">
- <el-pagination
- layout="total, sizes, prev, pager, next, jumper"
- :current-page="page"
- :page-size="pageSize"
- :page-sizes="[10, 30, 50, 100]"
- :total="total"
- @current-change="handleCurrentChange"
- @size-change="handleSizeChange"
- />
- </div> -->
- </div>
- <el-dialog v-model="dialogFormVisible" :before-close="closeDialog" :title="type==='create'?'添加':'修改'" destroy-on-close>
- <el-tabs v-model="activeName" type="card" @tab-click="handleClick">
- <el-tab-pane label="当日上报产量" @click="showTable('工艺资料')" name="first">
- <el-table ref="multipleTable"
- :show-overflow-tooltip="true"
- :row-style="{ height: '20px' }"
- :cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
- :header-cell-style="{ padding: '0px' }"
- highlight-current-row="true"
- style="width: 100%;height: 400px" border tooltip-effect="dark" :data="gytableData" row-key="ID" @selection-change="handleSelectionChange">
- <el-table-column type="selection" width="55" />
- <el-table-column align="left" label="选择" prop="工单编号" width="100"/>
- <el-table-column align="left" label="产品名称" prop="重点工序" width="100"/>
- <el-table-column align="left" label="工序" prop="工序备注" width="240"/>
- <el-table-column align="left" label="备注" prop="机组" width="100"/>
- <el-table-column align="left" label="产量" prop="小时产能" width="100"/>
- <el-table-column align="left" label="千件工价" prop="生产工时" width="100"/>
- <el-table-column align="left" label="日定额" prop="辅助工时" width="100"/>
- <el-table-column align="left" label="补产标准" prop="印刷方式" width="100"/>
- <el-table-column align="left" label="难度系数" prop="版距" width="100"/>
- <el-table-column align="left" label="印刷方式" prop="创建用户" width="120"/>
- <el-table-column align="left" label="组员1" prop="Gy0_gxh" width="240" />
- <el-table-column align="left" label="组员2" prop="gy0_gxmc" width="240" />
- <el-table-column align="left" label="组员3" prop="add_gxmc" width="240" />
- <el-table-column align="left" label="组员4" prop="Gy0_Ks" width="240" />
- <el-table-column align="left" label="组员5" prop="Gy0_ls" width="100" />
- <el-table-column align="left" label="组员6" prop="备注" width="100" />
- <el-table-column align="left" label="组员7" prop="工价系数" width="100" />
- <el-table-column align="left" label="组员8" prop="损耗系数" width="100" />
- <el-table-column align="left" label="组员9" prop="Gy0_Ms" width="100" />
- <el-table-column align="left" label="组员10" prop="人工检_正品版" width="120" />
- <el-table-column align="left" label="制程废品" prop="Sys_id" width="100" />
- <el-table-column align="left" label="制程次品" prop="建档日期" width="100" />
- <el-table-column align="left" label="前工序废" prop="更新日期" width="100" />
- <el-table-column align="left" label="来料异常" prop="YB_方案" width="100"/>
- <el-table-column align="left" label="装版工时" prop="YB_Yjno" width="100" />
- <el-table-column align="left" label="保养工时" prop="印版类别" width="100" />
- <el-table-column align="left" label="打样工时" prop="存货编码" width="100"/>
- <el-table-column align="left" label="异常停机工时" prop="印版名称" width="120"/>
- <el-table-column align="left" label="通电工时" prop="考核印数" width="100"/>
- <el-table-column align="left" label="码开始行" prop="Sys_id" width="100" />
- <el-table-column align="left" label="码结束行" prop="建档日期" width="100" />
- <el-table-column align="left" label="码包" prop="更新日期" width="100" />
- <el-table-column align="left" label="主电表" prop="YB_方案" width="100"/>
- <el-table-column align="left" label="辅电表" prop="YB_Yjno" width="100" />
- <el-table-column align="left" label="色度数" prop="印版类别" width="100" />
- <el-table-column align="left" label="用户" prop="YB_Yjno" width="100" />
- <el-table-column align="left" label="更新时间" prop="印版类别" width="100" />
- </el-table>
- </el-tab-pane>
- <el-tab-pane label="当日制程检验记录" @click="showTable('印件资料')" name="second">
- <el-table ref="multipleTable"
- :row-style="{ height: '20px' }"
- :cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
- :header-cell-style="{ padding: '0px' }"
- :show-overflow-tooltip="true"
- highlight-current-row="true"
- style="width: 100%;height: 400px" border tooltip-effect="dark" :data="drzcData" row-key="ID" @selection-change="handleSelectionChange">
- <el-table-column type="selection" width="55" />
- <el-table-column align="left" label="工单编号" prop="工单编号" width="120"/>
- <el-table-column align="left" label="印件号" prop="印件号" width="120" />
- <el-table-column align="left" label="工序名称" prop="工序名称" width="330" />
- <el-table-column align="left" label="检验项目" prop="检验项目" width="120"/>
- <el-table-column
- v-for="time in columnNames"
- :key="time"
- :label="time"
- :prop="time"
- align="center"
- width="120"
- ></el-table-column>
- </el-table>
- </el-tab-pane>
- </el-tabs>
- </el-dialog>
- <el-dialog v-model="detailShow" fullscreen style="font-size: 50px;font-weight: bold;" lock-scroll :before-close="closeDetailShow" title="机台班组维护" destroy-on-close>
- <div>
- <el-table ref="multipleTable" :row-style="{ height: '50px' }" :header-cell-style="{ padding: '0px' }"
- :cell-style="{ padding: '0px' ,color:'blue'}" :header-row-style="{ height: '40px' }"
- :show-overflow-tooltip="true" highlight-current-row="true" @row-click="BZhandle"
- style="width: 100%;height: 300px;margin-top: 0px;font-weight: bold;" border tooltip-effect="dark"
- :data="bzData" row-key="ID" @selection-change="BZSelectionChange">
- <!-- <el-table-column type="selection" width="55" /> -->
- <el-table-column align="left" label="机台" prop="JTMC" width="70"/>
- <el-table-column align="left" label="班组" prop="班组号" width="60"/>
- <el-table-column align="left" label="组员1" prop="0" width="195"/>
- <el-table-column align="left" label="组员2" prop="1" width="195"/>
- <el-table-column align="left" label="组员3" prop="2" width="195"/>
- <el-table-column align="left" label="组员4" prop="3" width="195"/>
- <el-table-column align="left" label="组员5" prop="4" width="195"/>
- <el-table-column align="left" label="组员6" prop="5" width="195"/>
- <el-table-column align="left" label="组员7" prop="6" width="180"/>
- <el-table-column align="left" label="组员8" prop="7" width="100"/>
- <el-table-column align="left" label="组员9" prop="8" width="100"/>
- <el-table-column align="left" label="特殊组员" prop="9" width="100"/>
- <el-table-column align="left" label="UNIQID" prop="ID" width="100"/>
- </el-table>
- </div>
- <div style="margin-top:100px;font-weight: bold;color:purple">
- <el-row :gutter="20">
- <el-col :span="10">
- <el-form-item label="机台编号" prop="id">
- <el-select v-model="selectedOption" placeholder="请选择">
- <el-option v-for="item in dropdownOptions" :key="item.value" :label="item.label" :value="item.value"></el-option>
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :span="10">
- <el-form-item label="班组编号" prop="id">
- <el-select v-model="BZMC" placeholder="" >
- <el-option label="A 班" value="A 班"></el-option>
- <el-option label="B 班" value="B 班"></el-option>
- </el-select>
- </el-form-item>
- </el-col>
- </el-row>
- <div style="display: flex;font-weight: bold;color:purple">
- <div class="groupbox float-div" style="height: 20vh; width: 130vh;font-weight: bold;color:purple;font-size: 2.5vh;">
- <span class="grouptitle">组员及分配比例</span>
- <el-row :gutter="10" style="margin-top: 0px; height: 5vh;">
- <el-col :span="2"><span></span></el-col>
- <el-col :span="2"></el-col>
- <el-col :span="2"></el-col>
- <el-col :span="2"></el-col>
- <el-col :span="2"></el-col>
- <el-col :span="2"></el-col>
- <el-col :span="2"></el-col>
- <el-col :span="2"></el-col>
- <el-col :span="2"></el-col>
- <el-col :span="3"></el-col>
- <el-col :span="3"><el-form-item label="特殊组员" prop="id"></el-form-item></el-col>
- </el-row>
- <el-row :gutter="10" style="margin-top: 0px;">
- <el-col :span="3"><el-input v-model="formDatas.code1" @keyup.enter.native="getbzyg($event, '1')"/></el-col>
- <el-col :span="3"><el-input v-model="formDatas.code2" @keyup.enter.native="getbzyg($event, '2')"/></el-col>
- <el-col :span="3"><el-input v-model="formDatas.code3" @keyup.enter.native="getbzyg($event, '3')"/></el-col>
- <el-col :span="3"><el-input v-model="formDatas.code4" @keyup.enter.native="getbzyg($event, '4')"/></el-col>
- <el-col :span="3"><el-input v-model="formDatas.code5" @keyup.enter.native="getbzyg($event, '5')"/></el-col>
- <el-col :span="3"><el-input v-model="formDatas.code6" @keyup.enter.native="getbzyg($event, '6')"/></el-col>
- <el-col :span="3"><el-input v-model="formDatas.code7" @keyup.enter.native="getbzyg($event, '7')"/></el-col>
- <el-col :span="3"><el-input v-model="formDatas.code8" @keyup.enter.native="getbzyg($event, '8')"/></el-col>
- </el-row>
- <el-row :gutter="10" style="margin-top: 1px;font-weight: bold;color:purple">
- <el-col :span="3"><el-input v-model="formDatas.name1" placeholder="" /></el-col>
- <el-col :span="3"><el-input v-model="formDatas.name2" placeholder="" /></el-col>
- <el-col :span="3"> <el-input v-model="formDatas.name3" placeholder="" /></el-col>
- <el-col :span="3"> <el-input v-model="formDatas.name4" placeholder="" /></el-col>
- <el-col :span="3"><el-input v-model="formDatas.name5" placeholder="" /></el-col>
- <el-col :span="3"><el-input v-model="formDatas.name6" placeholder="" /></el-col>
- <el-col :span="3"><el-input v-model="formDatas.name7" placeholder="" /></el-col>
- <el-col :span="3"><el-input v-model="formDatas.name8" placeholder="" /></el-col>
- </el-row>
- <el-row :gutter="10" style="margin-top: 1px;font-weight: bold;color:purple">
- <el-col :span="3"><el-input v-model="formDatas.percentage1" placeholder="" /></el-col>
- <el-col :span="3"><el-input v-model="formDatas.percentage2" placeholder="" /></el-col>
- <el-col :span="3"><el-input v-model="formDatas.percentage3" placeholder="" /></el-col>
- <el-col :span="3"><el-input v-model="formDatas.percentage4" placeholder="" /></el-col>
- <el-col :span="3"><el-input v-model="formDatas.percentage5" placeholder="" /></el-col>
- <el-col :span="3"><el-input v-model="formDatas.percentage6" placeholder="" /></el-col>
- <el-col :span="3"><el-input v-model="formDatas.percentage7" placeholder="" /></el-col>
- <el-col :span="3"><el-input v-model="formDatas.percentage8" placeholder="" /></el-col>
- </el-row>
- </div>
- <div style="height: 50vh; width: 15vh;margin-top: 3vh;">
- <el-button type="text"></el-button>
- <el-button style="margin-bottom: 1vh; width:15vh;background-color:cornflowerblue;font-size: 2.0vh;font-weight: bold; color: white;" @click="addBz" >新 增</el-button>
- <el-button style="margin-bottom: 1vh;width:15vh;background-color:cornflowerblue;font-size: 2.0vh;font-weight: bold; color: white;" @click="selectBz" >更新当前班组</el-button>
- <el-button style="margin-bottom: 1vh;width:15vh;background-color:cornflowerblue;font-size: 2.0vh;font-weight: bold; color: white;" @click="delBz" >删除当前班组</el-button>
- </div>
- </div>
- </div>
- </el-dialog>
- <!-- 组员及分配比例-->
- <el-dialog v-model="blModel" :before-close="() => blModel = false" style="width: 20%">
- <el-form>
- <div>
- <el-table :data="employeeData" border :show-overflow-tooltip="true" :cell-class-name="blplanUsageCellClass" @row-click="tablebllickHandler($event)">
- <el-table-column prop="员工编号" label="员工编号"></el-table-column>
- <el-table-column prop="ygxm" label="员工姓名"></el-table-column>
- </el-table>
- </div>
- </el-form>
- </el-dialog>
- <el-dialog v-model="complaintsShow" fullscreen style="font-size: 50px;font-weight: bold;"
- lock-scroll :before-close="closecomplaintsShow" title="产品客诉查询" destroy-on-close>
- <el-table ref="multipleTable"
- :row-style="{ height: '20px' }" :header-cell-style="{ padding: '0px' }"
- :cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
- :show-overflow-tooltip="true" highlight-current-row="true" @row-click="complaintshandle"
- style="width: 100%;height: 30vh;margin-top: 0px;" border tooltip-effect="dark"
- :data="complaintsData" row-key="ID" @selection-change="complaintsSelectionChange">
- <!-- <el-table-column type="selection" width="55" /> -->
- <el-table-column align="left" label="产品编号" prop="产品编号" width="120"/>
- <el-table-column align="left" label="产品名称" prop="产品名称" width="200"/>
- <el-table-column align="left" label="客诉日期" prop="客诉日期" width="120"/>
- <el-table-column align="left" label="客诉单号" prop="客诉单号" width="120"/>
- <el-table-column align="left" label="客诉方式" prop="客诉方式" width="100"/>
- <el-table-column align="left" label="订单编号" prop="订单编号" width="100"/>
- <el-table-column align="left" label="缺陷关键字" prop="缺陷关键字" width="140"/>
- <el-table-column align="left" label="客诉性质" prop="客诉性质" width="100"/>
- <el-table-column align="left" label="主要责任部门" prop="主要责任部门" width="140"/>
- <el-table-column align="left" label="次要责任部门" prop="次要责任部门" width="140"/>
- </el-table>
- <el-row :gutter="20" style="margin-bottom: 1px;margin-top: 0px;">
- <el-col :span="6" style="margin-bottom: 1px;margin-top: 0px;">
- <el-form-item label="客户编号" prop="id" style="margin-bottom: 1px;margin-top: 0px;">
- <el-input v-model="selectedRowData.客户编号" style="margin-bottom: 1px;margin-top: 0px;" placeholder="" />
- </el-form-item>
- </el-col>
- <el-col :span="15" style="margin-bottom: 1px;margin-top: 0px;">
- <el-form-item label="客户名称" prop="id" style="margin-bottom: 1px;margin-top: 0px;">
- <el-input v-model="selectedRowData.客户名称" style="margin-bottom: 1px;margin-top: 0px;" placeholder="" />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row :gutter="20" style="margin-bottom: 1px;margin-top: 0px;">
- <el-col :span="6" style="margin-bottom: 1px;margin-top: 0px;">
- <el-form-item label="客诉单号" prop="id" style="margin-bottom: 1px;margin-top: 0px;">
- <el-input v-model="selectedRowData.客诉单号" style="margin-bottom: 1px;margin-top: 0px;" placeholder="" />
- </el-form-item>
- </el-col>
- <el-col :span="5" style="margin-bottom: 1px;margin-top: 0px;">
- <el-form-item label="客诉日期" prop="id" style="margin-bottom: 1px;margin-top: 0px;">
- <el-input v-model="selectedRowData.客诉日期" style="margin-bottom: 1px;margin-top: 0px;" placeholder="" />
- </el-form-item>
- </el-col>
- <el-col :span="5" style="margin-bottom: 1px;margin-top: 0px;">
- <el-form-item label="方式" prop="id" style="margin-bottom: 1px;margin-top: 0px;">
- <el-input v-model="selectedRowData.客诉方式" style="margin-bottom: 1px;margin-top: 0px;" placeholder="" />
- </el-form-item>
- </el-col>
- <el-col :span="5" style="margin-bottom: 1px;margin-top: 0px;">
- <el-form-item label="批次号" prop="id" style="margin-bottom: 1px;margin-top: 0px;">
- <el-input v-model="selectedRowData.订单编号" style="margin-bottom: 1px;margin-top: 0px;" placeholder="" />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row :gutter="20" style="margin-bottom: 1px;margin-top: 0px;">
- <el-col :span="20" style="margin-bottom: 1px;margin-top: 0px;">
- <el-form-item label="反馈问题" prop="id" style="margin-bottom: 1px;margin-top: 0px;">
- <el-input v-model="selectedRowData.客诉描述" style="margin-bottom: 1px;margin-top: 0px;" placeholder="" />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row :gutter="20" style="margin-bottom: 1px;margin-top: 0px;">
- <el-col :span="20" style="margin-bottom: 1px;margin-top: 0px;">
- <el-form-item label="缺陷关键字" prop="id" style="margin-bottom: 1px;margin-top: 0px;">
- <el-input v-model="selectedRowData.缺陷关键字" style="margin-bottom: 1px;margin-top: 0px;" placeholder="" />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row :gutter="20" style="margin-bottom: 1px;margin-top: 0px;">
- <el-col :span="5" style="margin-bottom: 1px;margin-top: 0px;">
- <el-form-item label="性质" prop="id" style="margin-bottom: 1px;margin-top: 0px;">
- <el-input v-model="selectedRowData.客诉性质" style="margin-bottom: 1px;margin-top: 0px;" placeholder="" />
- </el-form-item>
- </el-col>
- <el-col :span="5" style="margin-bottom: 1px;margin-top: 0px;">
- <el-form-item label="扣分" prop="id" style="margin-bottom: 1px;margin-top: 0px;">
- <el-input v-model="selectedRowData.扣分" style="margin-bottom: 1px;margin-top: 0px;" placeholder="" />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row :gutter="20" style="margin-bottom: 1px;margin-top: 0px;">
- <el-col :span="20" style="margin-bottom: 1px;margin-top: 0px;">
- <el-form-item label="主责任部门" prop="id" style="margin-bottom: 1px;margin-top: 0px;">
- <el-input v-model="selectedRowData.主要责任部门" style="margin-bottom: 1px;margin-top: 0px;" placeholder="" />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row :gutter="20" style="margin-bottom: 1px;margin-top: 0px;">
- <el-col :span="20" style="margin-bottom: 1px;margin-top: 0px;">
- <el-form-item label="次责任部门" prop="id" style="margin-bottom: 1px;margin-top: 0px;">
- <el-input v-model="selectedRowData.次要责任部门" style="margin-bottom: 1px;margin-top: 0px;" placeholder="" />
- </el-form-item>
- </el-col>
- </el-row>
- </el-dialog>
- <el-dialog v-model="dianjianVisible" title="设备点检记录" destroy-on-close fullscreen style="font-size: 3.5vh;font-weight: bold;" >
- <el-row :gutter="24" style="margin-bottom: 0px;margin-top: 0px;">
- <el-col :span="4" style="margin-bottom: 0px;margin-top: 0px;">
- <el-form-item label="设备编号" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
- <el-input v-model="JTMC" placeholder="" style="margin-bottom: 0px;margin-top: 0px;"/>
- </el-form-item>
- </el-col>
- <el-col :span="10" style="margin-bottom: 0px;margin-top: 0px;">
- <el-row style="margin-bottom: 0px;margin-top: 0px;">
- <el-col style="margin-bottom: 0px;margin-top: 0px;">
- <el-input v-model="formData.产品名称" placeholder="" style="margin-bottom: 0px;margin-top: 0px;"/>
- </el-col>
- </el-row>
- </el-col>
- </el-row>
- <div style="display: flex;">
- <div style="flex: 0.1;margin-top: 0px;">
- <el-aside width="25vh" style="margin: 0; height: 50vh; margin-top: 0px;">
- <div class="JKWTree-tree" style="height: 100%; border-right: 1px solid #ebeef5;">
- <el-tree :data="dianjiantreeData" :props="defaultProps" highlight-current="true"
- @node-click="dianjianNodeClick" @node-dblclick="handleNodeDoubleClick"></el-tree>
- </div>
- </el-aside>
- </div>
- <div style="flex: 1; margin: 0;">
- <el-table tooltip-effect="dark" :data="dianjianselectData"
- row-key="ID" highlight-current-row="true" :show-overflow-tooltip="true"
- border @row-click="dianjianhandle"
- style="width:119vh; height:45vh; margin-top: 5px;"
- @row-dblclick="handleSelectClick" :row-class-name="rowClassName">
- <el-table-column prop="检验项目" label="检验项目" width="320" />
- <el-table-column prop="点检方法" label="点检方法" width="180" />
- <el-table-column v-slot="scope" label="正常" width="70" >
- <el-checkbox v-model="scope.row.zc" @click="zcClick(scope.row)"></el-checkbox>
- </el-table-column>
- <el-table-column v-slot="scope" label="异常" width="70" >
- <el-checkbox v-model="scope.row.yc" @click="ycClick(scope.row)"></el-checkbox>
- </el-table-column>
- <el-table-column v-slot="scope" label="备注说明" width="180" >
- <el-input v-model="scope.row.remark"/>
- </el-table-column>
- <el-table-column v-slot="scope" label="不检测" >
- <el-checkbox v-model="scope.row.notjc" @click="notjcClick(scope.row)"></el-checkbox>
- </el-table-column>
- </el-table>
- <el-row :gutter="24">
- <el-col :span="17">
- <el-input v-model="pandingfangfa" style="margin-top=0px; height: 40px; margin-bottom: 0px;" />
- </el-col>
- </el-row>
- </div>
- </div>
- <template #footer>
- <div class="dialog-footer">
- <el-button @click="closedianjianDialog"style="height: 50px;width: 100px;font-size: 2.5vh;font-weight: bold;">关 闭</el-button>
- <el-button type="primary" style="height: 50px;width: 100px;font-size: 2.5vh;font-weight: bold;"@click="dianjianDialog">提 交</el-button>
- </div>
- </template>
- </el-dialog>
- <el-dialog v-model="zhichengVisible" title="制程检验记录" destroy-on-close fullscreen style="font-size: 3.5vh;font-weight: bold;" >
- <el-row :gutter="24" style="margin-top=0px; margin-bottom: 1px;">
- <el-col :span="5" style="margin-top=0px; margin-bottom: 0px;">
- <el-form-item label="工单编号" prop="id" style="margin-top=0px; margin-bottom: 0px;">
- <el-input v-model="xunchaData.order" placeholder="" style="margin-top=0px; margin-bottom: 0px;"/>
- </el-form-item>
- </el-col>
- <el-col :span="15" style="margin-top=0px; margin-bottom: 0px;">
- <el-row style="margin-top=0px; margin-bottom: 0px;">
- <el-col style="margin-top=0px; margin-bottom: 0px;">
- <el-input v-model="xunchaData.product_name" placeholder="" style="margin-top=0px; margin-bottom: 0px;"/>
- </el-col>
- </el-row>
- </el-col>
- <el-col :span="4" style="margin-top=0px; margin-bottom: 0px;">
- <el-form-item label="流程单" prop="id" style="margin-top=0px; margin-bottom: 0px;">
- <el-input v-model="xunchaData.lcdh" placeholder="" style="margin-top=0px; margin-bottom: 0px;"/>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row :gutter="24" style="margin-top=0px; margin-bottom: 1px;">
- <el-col :span="5" style="margin-top=0px; margin-bottom: 0px;">
- <el-form-item label="印件编号" prop="id" style="margin-top=0px; margin-bottom: 0px;">
- <el-input v-model="xunchaData.yjno" placeholder="" style="margin-top=0px; margin-bottom: 0px;"/>
- </el-form-item>
- </el-col>
- <el-col :span="15" style="margin-top=0px; margin-bottom: 0px;">
- <el-input v-model="xunchaData.gxmc" placeholder="" style="margin-top=0px; margin-bottom: 0px;"/>
- </el-col>
- </el-row>
- <div style="display: flex;margin-top: 20px;">
- <div style="flex: 0.1;">
- <el-aside width="32vh" style="margin: 0;">
- <div class="JKWTree-tree" style="height: 100%; border-right: 1px solid #ebeef5;">
- <el-tree :data="zhichengtreeData" :props="defaultProps" highlight-current="true"
- @node-click="zhichengNodeClick"></el-tree>
- </div>
- </el-aside>
- </div>
- <div v-if="zhichengstatus" style="flex: 0; margin: 0;">
- <el-tabs v-model="activNames" type="card" @tab-click="handleClick">
- <el-tab-pane label="指标检验" @click="showTable('指标检验')" name="first">
- <el-table
- tooltip-effect="dark"
- :data="zhibiaoselectData"
- row-key="ID"
- highlight-current-row="true"
- :show-overflow-tooltip="true"
- border
- style="width:140vh; height:60vh;"
- :row-class-name="rowClassName">
- <el-table-column prop="检验项目" label="检验项目" width="110" />
- <el-table-column label="不检测" width="70">
- <template v-slot="scope">
- <el-radio v-model="scope.row.selected" label="不检测">
- <span style="visibility: hidden;">不检测</span>
- </el-radio>
- </template>
- </el-table-column>
- <el-table-column label="合格" width="60">
- <template v-slot="scope">
- <el-radio v-model="scope.row.selected" label="合格">
- <span style="visibility: hidden;">合格</span>
- </el-radio>
- </template>
- </el-table-column>
- <el-table-column label="不合格" width="70">
- <template v-slot="scope">
- <el-radio v-model="scope.row.selected" label="不合格">
- <span style="visibility: hidden;">不合格</span>
- </el-radio>
- </template>
- </el-table-column>
- <el-table-column prop="检测方法" label="检测方法" width="90" />
- <el-table-column prop="检验频率" label="检验频率" width="200" />
- <el-table-column prop="相关标准" label="相关标准" width="600" />
- </el-table>
- </el-tab-pane>
- <el-tab-pane label="附加检验记录" @click="showTable('附加检验记录')" name="second">
- <el-table tooltip-effect="dark"
- :data="fujiaselectData"
- row-key="ID"
- highlight-current-row="true"
- :show-overflow-tooltip="true"
- border @row-click="dianjianhandle"
- style="width:140vh; height:60vh;"
- @row-dblclick="handleSelectClick"
-
- :row-class-name="rowClassName">
- <el-table-column v-slot="scope" label="不检测" width="75" >
- <el-checkbox v-model="scope.row.notjc"></el-checkbox>
- </el-table-column>
-
- <!-- 缺陷及记录列,转换为输入框 -->
- <el-table-column label="缺陷及记录" width="720">
- <template #default="scope">
- <el-input v-model="scope.row['缺陷备注']" placeholder="请输入缺陷及记录"></el-input>
- </template>
- </el-table-column>
-
-
- <!-- <el-table-column prop="缺陷备注" label="缺陷及记录" width="720" /> -->
-
- <el-table-column prop="编号" label="编号" width="80" />
-
- </el-table>
- </el-tab-pane>
-
- </el-tabs>
- </div>
- </div>
- <template #footer>
- <div v-if="zhichengstatus" class="dialog-footer">
- <el-button @click="closezhichengDialog"style="height: 50px;width: 100px;font-size: 2.5vh;font-weight: bold;">关 闭</el-button>
- <el-button type="primary" @click="zhichengDialog"style="height: 50px;width: 100px;font-size: 2.5vh;font-weight: bold;">提 交</el-button>
- </div>
- </template>
- </el-dialog>
- <el-dialog
- v-model="huanxingVisible"
- title="换型清场"
- destroy-on-close
- fullscreen
- style="font-size: 50px;font-weight: bold;"
- >
- <header>
- <div style="height: 50px;margin-left: 1vh;">
- <el-button type="primary" @click="onHxadd" >新增</el-button>
- <el-button type="primary" @click="onHxedit" >修改</el-button>
- <el-button type="primary" @click="onHxdel" >删除</el-button>
- <el-button type="primary" @click="onHxsave" v-if="huanxingType" >提交</el-button>
- </div>
- </header>
- <div style="display: flex;">
- <div style="flex: 0.1;">
- <el-aside width="26vh" style="margin: 0;">
- <div class="JKWTree-tree" style="height: 60vh; border-right: 1px solid #ebeef5;">
- <el-tree :data="huanxingtreeData" :props="defaultProps" highlight-current="true"
- @node-click="huanxingNodeClick"></el-tree>
- </div>
- </el-aside>
- </div>
- <div v-if="huanxingstatus" style="flex: 0; margin: 0;">
- <el-tabs v-model="activNames" type="card" @tab-click="handleClick">
- <el-tab-pane label="换型清场明细信息" @click="showTable('换型清场明细信息')" name="first">
- <div style="width:70vh">
- <el-descriptions :column="9" border>
- <el-descriptions-item :span="9">
- <el-row :gutter="24" style="margin-bottom: 0px;margin-top: 0px;">
- <el-col :span="6" style="margin-bottom: 0px;margin-top: 0px;">
- <el-form-item label="日期:" prop="id" style="margin-top=0px; margin-bottom: 0px;">
- <el-input v-model="huanxingData.日期" placeholder="" style="margin-top=0px; margin-bottom: 0px;"/>
- </el-form-item>
- </el-col>
- <el-col :span="2" style="margin-bottom: 0px;margin-top: 0px;">
- </el-col>
- <el-col :span="6" style="margin-bottom: 0px;margin-top: 0px;">
- <el-form-item label="机台编号:" prop="id" style="margin-top=0px; margin-bottom: 0px;">
- <el-input v-model="huanxingData.机台编号" placeholder="" style="margin-top=0px; margin-bottom: 0px;"/>
- </el-form-item>
- </el-col>
- <el-col :span="1" style="margin-bottom: 0px;margin-top: 0px;">
- </el-col>
- <el-col :span="6" style="margin-bottom: 0px;margin-top: 0px;">
- <el-form-item label="班组:" prop="id" style="margin-top=0px; margin-bottom: 0px;">
- <el-input v-model="huanxingData.班组" placeholder="" style="margin-top=0px; margin-bottom: 0px;"/>
- </el-form-item>
- </el-col>
- </el-row>
- </el-descriptions-item>
- <el-descriptions-item label="清场原因 从" :span="9">
- <el-row :gutter="24" style="margin-bottom: 0px;margin-top: 0px;">
- <el-col :span="8" style="margin-bottom: 0px;margin-top: 0px;">
- <el-form-item label="工单编号:" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
- <el-input v-model="huanxingData.工单编号A" placeholder="" style="margin-bottom: 0px;margin-top: 0px;"/>
- </el-form-item>
- </el-col>
- <el-col :span="16" style="margin-bottom: 0px;margin-top: 0px;">
- <el-form-item label="印件名称:" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
- <el-input v-model="huanxingData.印件名称A" placeholder="" style="margin-bottom: 0px;margin-top: 0px;"/>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row :gutter="24" style="margin-bottom: 0px;margin-top: 0px;">
- <el-col :span="12" style="margin-bottom: 0px;margin-top: 0px;">
- <el-form-item label="印件工序:" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
- <el-input v-model="huanxingData.印件工序A" placeholder="" style="margin-bottom: 0px;margin-top: 0px;"/>
- </el-form-item>
- </el-col>
- <el-col :span="6" style="margin-bottom: 0px;margin-top: 0px;">
- </el-col>
- <el-col :span="6" style="margin-bottom: 0px;margin-top: 0px;">
- <el-form-item label="码包号" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
- <el-input v-model="huanxingData.码包号A" placeholder="" style="margin-bottom: 0px;margin-top: 0px;"/>
- </el-form-item>
- </el-col>
- </el-row>
- </el-descriptions-item>
- <el-descriptions-item label="清场原因 到" :span="9">
- <el-row :gutter="24" style="margin-bottom: 0px;margin-top: 0px;">
- <el-col :span="8" style="margin-bottom: 0px;margin-top: 0px;">
- <el-form-item label="工单编号:" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
- <el-input v-model="huanxingData.工单编号B" placeholder="" style="margin-bottom: 0px;margin-top: 0px;"/>
- </el-form-item>
- </el-col>
- <el-col :span="16" style="margin-bottom: 0px;margin-top: 0px;">
- <el-form-item label="印件名称:" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
- <el-input v-model="huanxingData.印件名称B" placeholder="" style="margin-bottom: 0px;margin-top: 0px;"/>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row :gutter="24" style="margin-bottom: 0px;margin-top: 0px;">
- <el-col :span="12" style="margin-bottom: 0px;margin-top: 0px;">
- <el-form-item label="印件工序:" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
- <el-input v-model="huanxingData.印件工序B" placeholder="" style="margin-bottom: 0px;margin-top: 0px;"/>
- </el-form-item>
- </el-col>
- <el-col :span="6" style="margin-bottom: 0px;margin-top: 0px;">
- </el-col>
- <el-col :span="6" style="margin-bottom: 0px;margin-top: 0px;">
- <el-form-item label="码包号" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
- <el-input v-model="huanxingData.码包B" placeholder="" style="margin-bottom: 0px;margin-top: 0px;"/>
- </el-form-item>
- </el-col>
- </el-row>
- </el-descriptions-item>
- <el-descriptions-item label="清场确认项目" :span="9">
- <el-row :gutter="24" style="margin-bottom: 0px;margin-top: 0px;">
- <el-col :span="12" style="margin-bottom: 0px;margin-top: 0px;">
- <el-form-item label="菲林_标样_签样品_留样品" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
- <el-checkbox v-model="huanxingData.项目1"></el-checkbox>
- </el-form-item>
- </el-col>
- <el-col :span="12" style="margin-bottom: 0px;margin-top: 0px;">
- <el-form-item label="版材_纸张_电化铝_油墨" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
- <el-checkbox v-model="huanxingData.项目2"></el-checkbox>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row :gutter="24" style="margin-bottom: 0px;margin-top: 0px;">
- <el-col :span="12" style="margin-bottom: 0px;margin-top: 0px;">
- <el-form-item label="过版纸_废品_次品" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
- <el-checkbox v-model="huanxingData.项目3"></el-checkbox>
- </el-form-item>
- </el-col>
- <el-col :span="12" style="margin-bottom: 0px;margin-top: 0px;">
- <el-form-item label="半成品_成品_零头" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
- <el-checkbox v-model="huanxingData.项目4"></el-checkbox>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row :gutter="24" style="margin-bottom: 0px;margin-top: 0px;">
- <el-col :span="12" style="margin-bottom: 0px;margin-top: 0px;">
- <el-form-item label="操作台桌面_抽屉_地面" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
- <el-checkbox v-model="huanxingData.项目5"></el-checkbox>
- </el-form-item>
- </el-col>
- </el-row>
- </el-descriptions-item>
- <el-descriptions-item label="清场确认人" :span="9">
- <el-row :gutter="24" style="margin-bottom: 0px;margin-top: 0px;">
- <el-col :span="12" style="margin-bottom: 0px;margin-top: 0px;">
- <el-form-item label="机长签字" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
- <el-input v-model="huanxingData.机长" placeholder="" style="margin-bottom: 0px;margin-top: 0px;"/>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row :gutter="24" style="margin-bottom: 0px;margin-top: 0px;">
- <el-col :span="12" style="margin-bottom: 0px;margin-top: 0px;">
- <el-form-item label="带班主管签字" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
- <el-input v-model="huanxingData.班长" placeholder="" style="margin-bottom: 0px;margin-top: 0px;"/>
- </el-form-item>
- </el-col>
- <el-col :span="12" style="margin-bottom: 0px;margin-top: 0px;">
- <el-form-item label="质量巡查员签字" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
- <el-input v-model="huanxingData.质量巡查员" placeholder="" style="margin-bottom: 0px;margin-top: 0px;"/>
- </el-form-item>
- </el-col>
- </el-row>
- </el-descriptions-item>
- </el-descriptions>
- </div>
- </el-tab-pane>
- <el-tab-pane label="当前设备换型记录" @click="showTable('当前设备换型记录')" name="second">
- <el-table
- tooltip-effect="dark"
- :data="huanxingselectData"
- row-key="ID"
- highlight-current-row="true"
- :show-overflow-tooltip="true"
- border @row-click="dianjianhandle"
- style="width:70vh; height:50vh;"
- @row-dblclick="handleSelectClick"
- :row-class-name="rowClassName"
- >
- <el-table-column
- prop="日期"
- label="日期"
- width="160"
- />
- <el-table-column
- prop="机台编号"
- label="机台编号"
- width="90"
- />
- <el-table-column
- prop="班组"
- label="班组"
- width="70"
- />
- <el-table-column
- prop="工单编号A"
- label="工单编号A"
- width="95"
- />
- <el-table-column
- prop="印件名称A"
- label="印件名称A"
- width="130"
- />
- <el-table-column
- prop="印件工序A"
- label="印件工序A"
- width="150"
- />
- <el-table-column
- prop="码包号A"
- label="码包号A"
- width="80"
- />
- <el-table-column
- prop="工单编号B"
- label="工单编号B"
- width="100"
- />
- <el-table-column
- prop="印件名称B"
- label="印件名称B"
- width="100"
- />
- <el-table-column
- prop="印件工序B"
- label="印件工序B"
- width="150"
- />
- <el-table-column
- prop="码包号B"
- label="码包号B"
- width="80"
- />
- <el-table-column
- prop="清场项目A"
- label="菲林_标样_签样品_留样品"
- width="190"
- />
- <el-table-column
- prop="清场项目B"
- label="版材_纸张_电化铝_油墨"
- width="190"
- />
- <el-table-column
- prop="清场项目C"
- label="过版纸_废品_次品"
- width="170"
- />
- <el-table-column
- prop="清场项目D"
- label="半成品_成品_零头"
- width="170"
- />
- <el-table-column
- prop="清场项目E"
- label="操作台桌面_抽屉_地面"
- width="180"
- />
- <el-table-column
- prop="机长"
- label="机长"
- width="80"
- />
- <el-table-column
- prop="班长"
- label="带班长"
- width="80"
- />
- <el-table-column
- prop="质量巡查员"
- label="质量巡查员"
- width="100"
- />
- <el-table-column
- prop="创建时间"
- label="创建时间"
- width="120"
- />
- <el-table-column
- prop="UNIQID"
- label="UNIQID"
- width="80"
- />
- </el-table>
- </el-tab-pane>
- </el-tabs>
- </div>
- </div>
- </el-dialog>
- <el-dialog
- v-model="yinbanVisible"
- title="印版领退"
- destroy-on-close
- fullscreen
- style="font-size: 50px;font-weight: bold;"
- >
- <header>
- <div style="height: 50px;margin-left: 1vh;">
- <el-button type="primary" @click="onYbout" >领出</el-button>
- <el-button type="primary" @click="onYbback" >收回</el-button>
- </div>
- </header>
- <el-row :gutter="24">
- <el-col :span="4">
- <el-form-item label="工单编号" prop="id">
- <el-input v-model="formData.工单编号" />
- </el-form-item>
- </el-col>
- <el-col :span="6">
- <el-form-item prop="id">
- <el-input v-model="formData.productCode" />
- </el-form-item>
- </el-col>
- <el-col :span="14">
- <el-form-item prop="id">
- <el-input v-model="formData.产品名称" />
- </el-form-item>
- </el-col>
- </el-row>
- <div style="display: flex;">
- <div style="flex: 1;">
- <el-aside width="20vh" style="margin: 0;">
- <div class="JKWTree-tree" style="height: 100%; border-right: 1px solid #ebeef5;">
- <el-tree :data="yinbantreeData" :props="defaultProps" highlight-current="true"
- @node-click="yinbanNodeClick" @node-dblclick="handleNodeDoubleClick"></el-tree>
- </div>
- </el-aside>
- </div>
- <div style="flex: 1; margin: 0;">
- <el-table
- tooltip-effect="dark"
- :data="yinbanselectData"
- row-key="ID"
- highlight-current-row="true"
- :show-overflow-tooltip="true"
- border @row-click="dianjianhandle"
- style="width:150vh; height:50vh;"
- @row-dblclick="handleSelectClick"
- :row-class-name="rowClassName"
- @selection-change="handleybSelectionChange"
- >
- <el-table-column type="selection" width="55" align="center" label=""></el-table-column>
- <el-table-column
- prop="存货编码"
- label="存货编码"
- width="100"
- />
- <el-table-column
- prop="存货名称"
- label="存货名称"
- width="180"
- />
- <el-table-column
- prop="印版名称"
- label="印版名称"
- width="180"
- />
- <el-table-column
- prop="供方批号"
- label="供方批号"
- width="150"
- />
- <el-table-column
- prop="制造日期"
- label="制造日期"
- width="170"
- />
- <el-table-column
- prop="印数"
- label="印数"
- width="80"
- />
- <el-table-column
- prop="印版类别"
- label="印版类别"
- width="90"
- />
- <el-table-column
- prop="客户编号"
- label="客户编号"
- width="90"
- />
- <el-table-column
- prop="客户名称"
- label="客户名称"
- width="180"
- />
- <el-table-column
- prop="产品编号"
- label="产品编号"
- width="100"
- />
- <el-table-column
- prop="产品名称"
- label="产品名称"
- width="180"
- />
- <el-table-column
- prop="UniqId"
- label="UNIQID"
- width="80"
- />
- </el-table>
- </div>
- </div>
- </el-dialog>
- <el-dialog
- v-model="xunchaVisible"
- title="管理人员现场巡查记录"
- destroy-on-close
- fullscreen
- style="font-size: 3.5vh;font-weight: bold;"
- >
- <el-row :gutter="24" style="margin-top=0px; margin-bottom: 1px;">
- <el-col :span="4" style="margin-top=0px; margin-bottom: 0px;">
- <el-form-item label="工单编号" prop="id" style="margin-top=0px; margin-bottom: 0px; color: red;">
- <el-input v-model="xunchaData.order" placeholder="" style="margin-top=0px; margin-bottom: 0px;"/>
- </el-form-item>
- </el-col>
- <el-col :span="9" style="margin-top=0px; margin-bottom: 0px;">
- <el-row style="margin-top=0px; margin-bottom: 0px;">
- <el-col style="margin-top=0px; margin-bottom: 0px;">
- <el-input v-model="xunchaData.product_name" placeholder="" style="margin-top=0px; margin-bottom: 0px;"/>
- </el-col>
- </el-row>
- </el-col>
- <el-col :span="4" style="margin-top=0px; margin-bottom: 0px;">
- <el-form-item label="工号 " prop="id" style="margin-top=0px; margin-bottom: 0px;">
- <el-input v-model="xunchaData.sczl_bh" @keyup.enter.native="getxunchayg($event)" placeholder="" style="margin-top=0px; margin-bottom: 0px;"/>
- </el-form-item>
- </el-col>
- <el-col :span="4" style="margin-top=0px; margin-bottom: 0px;">
- <el-form-item label="流程单" prop="id" style="margin-top=0px; margin-bottom: 0px;">
- <el-input v-model="xunchaData.lcdh" placeholder="" style="margin-top=0px; margin-bottom: 0px;"/>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row :gutter="24" style="margin-top=0px; margin-bottom: 1px;">
- <el-col :span="3" style="margin-top=0px; margin-bottom: 0px;">
- <el-form-item label="印件编号" prop="id" style="margin-top=0px; margin-bottom: 0px;">
- <el-input v-model="xunchaData.yjno" placeholder="" style="margin-top=0px; margin-bottom: 0px;"/>
- </el-form-item>
- </el-col>
- <el-col :span="10" style="margin-top=0px; margin-bottom: 0px;">
- <el-row style="margin-top=0px; margin-bottom: 0px;">
- <el-col style="margin-top=0px; margin-bottom: 0px;">
- <el-input v-model="xunchaData.gxmc" placeholder="" style="margin-top=0px; margin-bottom: 0px;"/>
- </el-col>
- </el-row>
- </el-col>
- <el-col :span="4" style="margin-top=0px; margin-bottom: 0px;">
- <el-form-item label="姓名" prop="id" style="margin-top=0px; margin-bottom: 0px;">
- <el-input v-model="xunchaData.sczl_name" placeholder="" style="margin-top=0px; margin-bottom: 0px;"/>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row :gutter="24" style="margin-top=0px; margin-bottom: 1px;">
- <el-col :span="13" style="margin-top=0px; margin-bottom: 0px;">
- <el-form-item label="检验备注" prop="id" style="margin-top=0px; margin-bottom: 0px;">
- <el-input v-model="xunchaData.remark" placeholder="" style="margin-top=0px; margin-bottom: 0px;"/>
- </el-form-item>
- </el-col>
- </el-row>
- <div style="display: flex; margin-top: 20px;">
- <div style="flex: 0.1;">
- <el-aside width="20vh" style="margin: 0;">
- <div class="JKWTree-tree" style="height: 100%; border-right: 1px solid #ebeef5;">
- <el-tree :data="xunchatreeData" :props="defaultProps" highlight-current="true"
- @node-click="xunchaNodeClick" @node-dblclick="handleNodeDoubleClick"></el-tree>
- </div>
- </el-aside>
- </div>
- <div style="flex: 1; margin: 0;">
- <el-table
- tooltip-effect="dark"
- :data="xunchaselectData"
- row-key="ID"
- highlight-current-row="true"
- border @row-click="dianjianhandle"
- style="width:170vh; height:42vh;"
- @row-dblclick="handleSelectClick"
- :row-class-name="rowClassName"
- :show-overflow-tooltip="true"
- >
- <el-table-column
- prop="工单编号"
- label="工单编号"
- width="85"
- />
- <el-table-column
- prop="印件号"
- label="印件号"
- width="70"
- />
- <el-table-column
- prop="工序名称"
- label="工序名称"
- width="240"
- />
- <el-table-column
- prop="流程单号"
- label="流程单号"
- width="85"
- />
- <el-table-column
- prop="设备编号"
- label="设备编号"
- width="85"
- />
- <el-table-column
- prop="班组编号"
- label="班组编号"
- width="85"
- />
- <el-table-column
- prop="检验备注"
- label="检验备注"
- width="85"
- />
- <el-table-column
- prop="现场管理人员"
- label="现场管理人员"
- width="150"
- />
- <el-table-column
- prop="提交时间"
- label="提交时间"
- width="165"
- />
- <el-table-column
- prop="开工时间"
- label="开工时间"
- width="165"
- />
- <el-table-column
- prop="分钟差数"
- label="分钟差数"
- width="85"
- />
- <el-table-column
- prop="归属时段"
- label="归属时段"
- width="165"
- />
- </el-table>
- </div>
- </div>
- <template #footer>
- <div class="dialog-footer">
- <el-button @click="closexunchaDialog" style="height: 50px;width: 100px;font-size: 2.5vh;font-weight: bold;">关 闭</el-button>
- <el-button type="primary" style="height: 50px;width: 100px;font-size: 2.5vh;font-weight: bold;" @click="xunchaDialog">提 交</el-button>
- </div>
- </template>
- </el-dialog>
- <el-dialog v-model="chanliangVisible" title="日产量上报" fullscreen :show-close="false" style="font-size: 2vh;font-weight: bold;padding: 0px 16px 10px 16px" >
- <div style="font-size: 1.5vh; font-weight: bold;color: red;">
- <el-row :gutter="24" style="margin-top=0px; margin-bottom: 1px;">
- <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
- <el-form-item label="工单编号" prop="id" style="margin-top=0px; margin-bottom: 0px;">
- <el-input style="margin-top=0px; margin-bottom: 1px;" v-model="formData3.order" id="工单编号" @keydown="ent($event, 'rate10', '工单编号', '产品名称')" placeholder="" />
- </el-form-item>
- </el-col>
- <el-col :span="10" style="margin-top=0px; margin-bottom: 1px;">
- <el-form-item label="产品名称" prop="id" style="margin-top=0px; margin-bottom: 1px;">
- <el-input v-model="formData3.product_name" id="产品名称" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '工单编号', '产品名称', '工序名称')" placeholder="" />
- </el-form-item>
- </el-col>
- <el-col :span="10" style="margin-top=0px; margin-bottom: 1px;">
- <el-form-item label="工序名称" prop="id" style="margin-top=0px; margin-bottom: 1px;">
- <el-input v-model="formData3.gxmc" id="工序名称" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '产品名称', '工序名称', '印件号')" placeholder="" />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row :gutter="24" style="margin-top=0px; margin-bottom: 1px;">
- <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
- <el-form-item label="印件号" prop="id" label-width="60" style="margin-top=0px; margin-bottom: 1px;">
- <el-input v-model="formData3.yjno" style="margin-top=0px; margin-bottom: 1px;" id="印件号" @keydown="ent($event, '工序名称', '印件号', '印件名称')" placeholder="" />
- </el-form-item>
- </el-col>
- <el-col :span="10" style="margin-top=0px; margin-bottom: 1px;">
- <el-form-item label="印件名称" prop="id" style="margin-top=0px; margin-bottom: 1px;">
- <el-input v-model="formData3.yj_name" id="印件名称" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '印件号', '印件名称', '工艺名称')" placeholder="" />
- </el-form-item>
- </el-col>
- <el-col :span="8" style="margin-top=0px; margin-bottom: 1px;">
- <el-form-item label="工艺名称" prop="id" style="margin-top=0px; margin-bottom: 1px;">
- <el-input v-model="formData3.gy_name" id="工艺名称" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '印件名称', '工艺名称', 'gxh')" placeholder="" />
- </el-form-item>
- </el-col>
- <el-col :span="2" style="margin-top=0px; margin-bottom: 1px;">
- <el-form-item label="" prop="id" style="margin-top=0px; margin-bottom: 1px;">
- <el-input v-model="formData3.gxh" id="gxh" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '工艺名称', 'gxh', '日期')" placeholder="" />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row :gutter="24" style="margin-top=0px; margin-bottom: 1px;">
- <el-col :span="1" style="margin-top=0px; margin-bottom: 1px;">
- </el-col>
- <el-col :span="5" style="margin-top=0px; margin-bottom: 1px;">
- <el-form-item label="日期" prop="id" style="margin-top=0px; margin-bottom: 1px;">
- <el-input v-model="formData3.日期" id="日期" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, 'gxh', '日期', '流程标牌')" placeholder="" />
- </el-form-item>
- </el-col>
- <el-col :span="5" style="margin-top=0px; margin-bottom: 1px;">
- <el-form-item label="流程标牌" prop="id" style="margin-top=0px; margin-bottom: 1px;">
- <el-input v-model="formData3.流程标牌" id="流程标牌" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '日期', '流程标牌', '上机时间')" placeholder="" />
- </el-form-item>
- </el-col>
- <el-col :span="5" style="margin-top=0px; margin-bottom: 1px;">
- <el-form-item label="上机时间" prop="id" style="margin-top=0px; margin-bottom: 1px;">
- <el-input v-model="formData3.上机时间" id="上机时间" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '流程标牌', '上机时间', '下机时间')" placeholder="" />
- </el-form-item>
- </el-col>
- <el-col :span="5" style="margin-top=0px; margin-bottom: 1px;">
- <el-form-item label="下机时间" prop="" style="margin-top=0px; margin-bottom: 1px;">
- <el-input v-model="formData3.下机时间" style="margin-top=0px; margin-bottom: 1px;" id="下机时间" @keydown="ent($event, '上机时间', '下机时间', '产量')" placeholder="" />
- </el-form-item>
- </el-col>
- <el-col :span="3">
- </el-col>
- </el-row>
- </div>
- <!-- <div style="margin-top: 20px;">-->
- <div style="margin-top: 5px;">
- <el-row :gutter="24" style="margin-top=0px; margin-bottom: 1px;">
- <el-col :span="1" style="margin-top=0px; margin-bottom: 1px;"></el-col>
- <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
- <el-form-item label="产量" prop="id" style="margin-top=0px; margin-bottom: 1px;">
- <el-input v-model="formData3.产量" id="产量" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '下机时间', '产量', '制程废品')" placeholder="" />
- </el-form-item>
- </el-col>
- <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
- <el-form-item label="制程废品" prop="id" style="margin-top=0px; margin-bottom: 1px;">
- <el-input v-model="formData3.制程废品" id="制程废品" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '产量', '制程废品', '制程次品')" placeholder="" />
- </el-form-item>
- </el-col>
- <el-col :span="5" style="margin-top=0px; margin-bottom: 1px;">
- <el-form-item label="制程次品" prop="id" style="margin-top=0px; margin-bottom: 1px;">
- <el-input v-model="formData3.制程次品" id="制程次品" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '制程废品', '制程次品', '前工序废')" placeholder="" />
- </el-form-item>
- </el-col>
- <el-col :span="5" style="margin-top=0px; margin-bottom: 1px;">
- <el-form-item label="前工序废" prop="" style="margin-top=0px; margin-bottom: 1px;">
- <el-input v-model="formData3.前工序废" id="前工序废" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '制程次品', '前工序废', '来料异常')" placeholder="" />
- </el-form-item>
- </el-col>
- <el-col :span="5" style="margin-top=0px; margin-bottom: 1px;">
- <el-form-item label="来料异常" prop="" style="margin-top=0px; margin-bottom: 1px;">
- <el-input v-model="formData3.来料异常" id="来料异常" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '前工序废', '来料异常', '联数')" placeholder="" />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row :gutter="24" style="margin-top=0px; margin-bottom: 1px;">
- <el-col :span="1" style="margin-top=0px; margin-bottom: 1px;"></el-col>
- <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
- <el-form-item label="联数" prop="" style="margin-top=0px; margin-bottom: 1px;">
- <el-input v-model="formData3.Gy0_ls" id="联数" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '来料异常', '联数', '墨色')" placeholder="" />
- </el-form-item>
- </el-col>
- <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
- <el-form-item label="墨色" prop="" label-width="60" style="margin-top=0px; margin-bottom: 1px;">
- <el-input v-model="formData3.Gy0_ms" id="墨色" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '联数', '墨色', '装版总时长')" placeholder="" />
- </el-form-item>
- </el-col>
- <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
- <el-form-item label="装版总时长" prop="id" style="margin-top=0px; margin-bottom: 1px;">
- <el-input v-model="formData3.装版总时长" id="装版总时长" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '墨色', '装版总时长', '打样总工时')" placeholder="" />
- </el-form-item>
- </el-col>
- <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
- <el-form-item label="打样总工时" label-width="100" prop="id" style="margin-top=0px; margin-bottom: 1px;">
- <el-input v-model="formData3.打样总工时" style="margin-top=0px; margin-bottom: 1px;" id="打样总工时" @keydown="ent($event, '装版总时长', '打样总工时', '通电工时')" placeholder="" />
- </el-form-item>
- </el-col>
- <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
- <el-form-item label="通电工时" prop="id" style="margin-top=0px; margin-bottom: 1px;">
- <el-input v-model="formData3.通电工时" style="margin-top=0px; margin-bottom: 1px;" id="通电工时" @keydown="ent($event, '打样总工时', '通电工时', '定额代号')" placeholder="" />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row :gutter="20" style="margin-top=0px; margin-bottom: 1vh;">
- <el-col :span="1" style="margin-top=0px; margin-bottom: 1px;">
- </el-col>
- <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
- <el-form-item label="定额代号" prop="id" style="margin-top=0px; margin-bottom: 1px;">
- <el-input v-model="formData3.定额代号" id="定额代号" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '通电工时', '定额代号', '码包')" placeholder="" />
- </el-form-item>
- </el-col>
- <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
- </el-col>
- <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
- <el-form-item label="码包" prop="id" style="margin-top=0px; margin-bottom: 1px;">
- <el-input v-model="formData3.码包" style="margin-top=0px; margin-bottom: 1px;" id="码包" @keydown="ent($event, '定额代号', '码包', '主电表')" placeholder="" />
- </el-form-item>
- </el-col>
- <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
- <el-form-item label="主电表" prop="id" style="margin-top=0px; margin-bottom: 1px;">
- <el-input v-model="formData3.主电表" style="margin-top=0px; margin-bottom: 1px;" id="主电表" @keydown="ent($event, '码包', '主电表', '辅电表')" placeholder="" />
- </el-form-item>
- </el-col>
- <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
- <el-form-item label="辅电表" prop="id" style="margin-top=0px; margin-bottom: 1px;">
- <el-input v-model="formData3.辅电表" id="辅电表" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '主电表', '辅电表', 'bzdh')" placeholder="" />
- </el-form-item>
- </el-col>
- </el-row>
- <div style="display: flex;">
- <div style="width: 248vh;">组员及分配比例</div>
- <div style="width: 22vh;">特殊组员</div>
- <div style="">拉料人员</div>
- </div>
- <el-row :gutter="10" style="margin-top: 1vh;">
- <el-col :span="2">
- <el-input v-model="formData3.sczl_bzdh" id="bzdh" @keydown="ent($event, '辅电表', 'bzdh', 'bh1')" placeholder="" />
- </el-col>
- <el-col :span="2">
- <el-input v-model="formData3.sczl_bh1" id="bh1" @keydown="ent($event, 'bzdh', 'bh1', 'bh2')" @keyup.enter.native="getygsubmit($event, '1')" placeholder="" />
- </el-col>
- <el-col :span="2">
- <el-input v-model="formData3.sczl_bh2" id="bh2" @keydown="ent($event, 'bh1', 'bh2', 'bh3')" @keyup.enter.native="getygsubmit($event, '2')" placeholder="" />
- </el-col>
- <el-col :span="2">
- <el-input v-model="formData3.sczl_bh3" id="bh3" @keydown="ent($event, 'bh2', 'bh3', 'bh4')" @keyup.enter.native="getygsubmit($event, '3')" placeholder="" />
- </el-col>
- <el-col :span="2">
- <el-input v-model="formData3.sczl_bh4" id="bh4" @keydown="ent($event, 'bh3', 'bh4', 'bh5')" @keyup.enter.native="getygsubmit($event, '4')" placeholder="" />
- </el-col>
- <el-col :span="2">
- <el-input v-model="formData3.sczl_bh5" id="bh5" @keydown="ent($event, 'bh4', 'bh5', 'bh6')" @keyup.enter.native="getygsubmit($event, '5')" placeholder="" />
- </el-col>
- <el-col :span="2">
- <el-input v-model="formData3.sczl_bh6" id="bh6" @keydown="ent($event, 'bh5', 'bh6', 'bh7')" @keyup.enter.native="getygsubmit($event, '6')" placeholder="" />
- </el-col>
- <el-col :span="2">
- <el-input v-model="formData3.sczl_bh7" id="bh7" @keydown="ent($event, 'bh6', 'bh7', 'bh8')" @keyup.enter.native="getygsubmit($event, '7')" placeholder="" />
- </el-col>
- <el-col :span="2">
- <el-input v-model="formData3.sczl_bh8" id="bh8" @keydown="ent($event, 'bh7', 'bh8', 'bh9')" @keyup.enter.native="getygsubmit($event, '8')" placeholder="" />
- </el-col>
- <el-col :span="2">
- <el-input v-model="formData3.sczl_bh9" id="bh9" @keydown="ent($event, 'bh8', 'bh9', 'bh10')" @keyup.enter.native="getygsubmit($event, '9')" placeholder="" />
- </el-col>
- <el-col :span="2">
- <el-input v-model="formData3.sczl_bh10" id="bh10" @keydown="ent($event, 'bh9', 'bh10', 'bh11')" @keyup.enter.native="getygsubmit($event, '10')" placeholder="" />
- </el-col>
- <el-col :span="2">
- <el-select v-model="formData3.sczl_bh11" id="bh11" @change="GetLl('create')">
- <el-option label="" value="" />
- <el-option label="李有文" value="李有文" />
- <el-option label="张杭强" value="张杭强" />
- <el-option label="朱喜文" value="朱喜文" />
- <el-option label="刘旭青" value="刘旭青" />
- <el-option label="刘芳民" value="刘芳民" />
- <el-option label="李当林" value="李当林" />
- <el-option label="王赞文" value="王赞文" />
- </el-select>
- <!-- <el-input v-model="formData3.sczl_bh11" id="bh11" @keyup.enter.native="getygsubmit($event, '11','1')" placeholder="" /> -->
- </el-col>
- </el-row>
- <!-- 19231 -->
- <el-row :gutter="10" style="margin-top: 10px;">
- <el-col :span="2">
- </el-col>
- <el-col :span="2">
- <el-input v-model="formData3.sczl_name1" id="name1" @keydown="ent($event, 'bh11', 'name1', 'name2')" placeholder="" />
- </el-col>
- <el-col :span="2">
- <el-input v-model="formData3.sczl_name2" id="name2" @keydown="ent($event, 'name1', 'name2', 'name3')" placeholder="" />
- </el-col>
- <el-col :span="2">
- <el-input v-model="formData3.sczl_name3" id="name3" @keydown="ent($event, 'name2', 'name3', 'name4')" placeholder="" />
- </el-col>
- <el-col :span="2">
- <el-input v-model="formData3.sczl_name4" id="name4" @keydown="ent($event, 'name3', 'name4', 'name5')" placeholder="" />
- </el-col>
- <el-col :span="2">
- <el-input v-model="formData3.sczl_name5" id="name5" @keydown="ent($event, 'name4', 'name5', 'name6')" placeholder="" />
- </el-col>
- <el-col :span="2">
- <el-input v-model="formData3.sczl_name6" id="name6" @keydown="ent($event, 'name5', 'name6', 'name7')" placeholder="" />
- </el-col>
- <el-col :span="2">
- <el-input v-model="formData3.sczl_name7" id="name7" @keydown="ent($event, 'name6', 'name7', 'name8')" placeholder="" />
- </el-col>
- <el-col :span="2">
- <el-input v-model="formData3.sczl_name8" id="name8" @keydown="ent($event, 'name7', 'name8', 'name9')" placeholder="" />
- </el-col>
- <el-col :span="2">
- <el-input v-model="formData3.sczl_name9" id="name9" @keydown="ent($event, 'name8', 'name9', 'name10')" placeholder="" />
- </el-col>
- <el-col :span="2">
- <el-input v-model="formData3.sczl_name10" id="name10" @keydown="ent($event, 'name9', 'name10', 'name11')" placeholder="" />
- </el-col>
- <el-col :span="2">
- <el-input v-model="formData3.sczl_name11" id="name11" @keydown="ent($event, 'name10', 'name11', 'rate1')" placeholder="" />
- </el-col>
- </el-row>
- <el-row :gutter="10" style="margin-top: 10px;">
- <el-col :span="2">
- </el-col>
- <el-col :span="2">
- <el-input v-model="formData3.sczl_rate1" id="rate1" @keydown="ent($event, 'name11', 'rate1', 'rate2')" placeholder="" />
- </el-col>
- <el-col :span="2">
- <el-input v-model="formData3.sczl_rate2" id="rate2" @keydown="ent($event, 'rate1', 'rate2', 'rate3')" placeholder="" />
- </el-col>
- <el-col :span="2">
- <el-input v-model="formData3.sczl_rate3" id="rate3" @keydown="ent($event, 'rate2', 'rate3', 'rate4')" placeholder="" />
- </el-col>
- <el-col :span="2">
- <el-input v-model="formData3.sczl_rate4" id="rate4" @keydown="ent($event, 'rate3', 'rate4', 'rate5')" placeholder="" />
- </el-col>
- <el-col :span="2">
- <el-input v-model="formData3.sczl_rate5" id="rate5" @keydown="ent($event, 'rate4', 'rate5', 'rate6')" placeholder="" />
- </el-col>
- <el-col :span="2">
- <el-input v-model="formData3.sczl_rate6" id="rate6" @keydown="ent($event, 'rate5', 'rate6', 'rate7')" placeholder="" />
- </el-col>
- <el-col :span="2">
- <el-input v-model="formData3.sczl_rate7" id="rate7" @keydown="ent($event, 'rate6', 'rate7', 'rate8')" placeholder="" />
- </el-col>
- <el-col :span="2">
- <el-input v-model="formData3.sczl_rate8" id="rate8" @keydown="ent($event, 'rate7', 'rate8', 'rate9')" placeholder="" />
- </el-col>
- <el-col :span="2">
- <el-input v-model="formData3.sczl_rate9" id="rate9" @keydown="ent($event, 'rate8', 'rate9', 'rate10')" placeholder="" />
- </el-col>
- <el-col :span="2">
- <el-input v-model="formData3.sczl_rate10" id="rate10" @keydown="ent($event, 'rate9', 'rate10', '工单编号')" placeholder="" />
- </el-col>
- <el-col :span="2">
- </el-col>
- </el-row>
- </div>
- <el-table
- tooltip-effect="dark"
- :data="chanliangselectData"
- row-key="ID"
- highlight-current-row="true"
- border
- style="width:100%"
- height="40vh"
- @row-dblclick="batchaddSelectClick"
- :selectable="row => rowSelectable(row)"
- @selection-change="chanliangSelectionChange"
- >
- <el-table-column type="selection" width="55" align="center" label=""></el-table-column>
- <el-table-column
- prop="batch"
- label="物料编号"
- width="150"
- />
- <el-table-column
- prop="BOM_物料名称"
- label="物料名称"
- width="400"
- />
- <el-table-column
- prop="采购单号"
- label="采购单号"
- width="150"
- />
- <el-table-column
- prop="st_wlbh"
- label="供方批次"
- width="400"
- />
- <el-table-column
- prop="卷号"
- label="卷号"
- width="150"
- />
- <el-table-column
- prop="Uniqid"
- label="UniqID"
- width="150"
- />
- </el-table>
- <!-- </el-scrollbar> -->
- <template #footer>
- <div class="dialog-footer">
- <el-button @click="closeDialog" style="height: 50px;width: 100px;font-size: 2.5vh;font-weight: bold;">关 闭</el-button>
- <el-button type="primary" style="height: 50px;width: 100px;font-size: 2.5vh;font-weight: bold;" :disabled="isSubmitting" @click="chanliangenterDialog">提 交</el-button>
- </div>
- </template>
- </el-dialog>
-
-
-
- <!-- JP机台独立页面 -->
- <el-dialog v-model="JPchanliangVisible" :before-close="JPcloseDialog" style="width: 100%;height: 100%;;margin: 0px auto" :title="'班组产量提报'" destroy-on-close>
- <el-row>
- <el-form :model="JPformdata" label-position="right" ref="elFormRef" :rules="rule" >
- <el-row :gutter="24">
- <el-form-item label="工单编号:" prop="customerCode" class="mab" label-width="90">
- <el-input v-model="JPformdata['工单编号']" style="width: 110px;" placeholder="Enter回车" id="工单编号" @blur="JPgetCPMCsubmit()" @keydown="JPent($event)"/>
- </el-form-item>
- <el-form-item label="产品名称:" prop="customerName" class="mab" label-width="130">
- <el-input v-model="JPformdata['产品名称']" style="width: 520px;" id="产品名称" @keydown="JPent($event)"/>
- </el-form-item>
- </el-row>
-
- <el-row :gutter="24">
- <el-form-item label="印件号:" prop="customerCode" class="mab" label-width="90">
- <el-input v-model="JPformdata['印件号']" style="width: 110px;" id="印件号" placeholder="Enter回车" @keydown="JPent($event)"/>
- </el-form-item>
- <el-form-item label="印件名称:" prop="customerName" class="mab" label-width="130">
- <el-input v-model="JPformdata['印件名称']" style="width: 520px;" id="印件名称" @keydown="JPent($event)"/>
- </el-form-item>
- </el-row>
-
- <el-row :gutter="24">
- <el-form-item label="工序号:" prop="customerCode" class="mab" label-width="90">
- <el-input v-model="JPformdata['工序号']" style="width: 110px;" id="工序号" placeholder="Enter回车" @blur="JPgetGXsubmit()" @keydown="JPent($event)"/>
- </el-form-item>
- <el-form-item label="工序名称" prop="customerName" class="mab" label-width="130">
- <el-input v-model="JPformdata['工序名称']" style="width: 520px;" id="工序名称" @keydown="JPent($event)"/>
- </el-form-item>
- </el-row>
-
- <el-row :gutter="24">
- <el-form-item label="日期:" prop="customerCode" class="mab" label-width="80">
- <el-date-picker v-model="JPformdata['日期']" style="width: 130px;" type="datetime" format="YYYY/MM/DD" value-format="YYYY-MM-DD" @keydown="ent1($event)"/>
- <!-- <el-input v-model="JPformdata['日期']" style="width: 110px;" id="日期" @keydown="JPent($event)"/> -->
- </el-form-item>
- <el-form-item label="流程标牌:" prop="customerCode" class="mab" label-width="130">
- <el-input v-model="JPformdata['流程标牌']" style="width: 110px;" id="流程标牌" @keydown="JPent($event)"/>
- </el-form-item>
- <el-form-item label="检验类别:" prop="customerCode" class="mab" label-width="90">
- <el-input v-model="JPformdata['检验类别']" style="width: 110px;" id="检验类别" @keydown="JPent($event)"/>
- </el-form-item>
- <el-form-item label="废品率系数:" prop="customerCode" class="mab" label-width="100">
- <el-input v-model="JPformdata['废品率系数']" style="width: 110px;" id="废品率系数" @keydown="JPent($event)"/>
- </el-form-item>
- </el-row>
-
- <el-row :gutter="24">
- <el-form-item label="计件箱数:" prop="customerCode" class="mab" label-width="540">
- <el-input v-model="JPformdata['计件箱数']" style="width: 110px;" id="计件箱数" @keydown="JPent($event)"/>
- </el-form-item>
- <el-form-item label="每箱数量:" prop="customerCode" class="mab" label-width="100">
- <el-input v-model="JPformdata['每箱数量']" style="width: 110px;" id="每箱数量" @keydown="JPent($event)"/>
- </el-form-item>
- </el-row>
-
- <el-row :gutter="24">
- <el-form-item label="换膜总工时" prop="customerCode" class="mab" label-width="90">
- <el-input v-model="JPformdata['换膜总工时']" style="width: 110px;" id="换膜总工时" @keydown="JPent($event)"/>
- </el-form-item>
- <el-form-item label="通电工时:" prop="customerCode" class="mab" label-width="130">
- <el-input v-model="JPformdata['通电工时']" style="width: 110px;" id="通电工时" @keydown="JPent($event)"/>
- </el-form-item>
- <el-form-item label="定额代号:" prop="customerCode" class="mab" label-width="90">
- <el-input v-model="JPformdata['定额代号']" style="width: 160px;" id="定额代号" @keydown="JPent($event)"/>
- </el-form-item>
- </el-row>
-
- <div style="display: flex;">
- <div>组员及分配比例</div>
- </div>
- <el-row :gutter="10" style="margin-top: 1vh;">
- <el-col :span="2">
- <el-input v-model="JPformdata['bzdh']" id="bzdh" @keydown="JPent($event)"/>
- </el-col>
- <el-col v-for="i in 10" :key="i" :span="2">
- <el-input v-model="JPformdata['组员' + i]['编号']" :id="'bh' + i" @keydown="JPent($event,i,'1')"/>
- </el-col>
- </el-row>
-
- <el-row :gutter="10" style="margin-top: 1vh;">
- <el-col :span="2">
- <!-- 空列,用于对齐 -->
- </el-col>
- <el-col v-for="i in 10" :key="i" :span="2">
- <el-input v-model="JPformdata['组员' + i]['姓名']" :id="'xm' + i" @keydown="JPent($event)"/>
- </el-col>
- </el-row>
-
- <el-row :gutter="10" style="margin-top: 1vh;">
- <el-col :span="2">
- <!-- 空列,用于对齐 -->
- </el-col>
- <el-col v-for="i in 10" :key="i" :span="2">
- <el-input v-model="JPformdata['组员' + i]['比例']" :id="'bl' + i" @keydown="JPent($event)" />
- </el-col>
- </el-row>
- </el-form>
- </el-row>
- <template #footer>
- <div class="dialog-footer" style="margin-right: 8%;">
- <el-button @click="JPcloseDialog" style="height: 50px;width: 100px;font-size: 2.5vh;font-weight: bold;">关 闭</el-button>
- <el-button type="primary" style="height: 50px;width: 100px;font-size: 2.5vh;font-weight: bold;" @click="JPchanliangenterDialog">提 交</el-button>
- </div>
- <!-- <div class="dialog-footer" style="text-align: right;">
- <el-button @click="JPcloseDialog">取 消</el-button>
- <el-button type="primary" @click="JPenterDialog">确 定</el-button>
- </div> -->
- </template>
- </el-dialog>
-
- <!-- JP检品独立 印件选择-->
- <el-dialog v-model="JPdialogSelectVisible_Yj" title="选择" destroy-on-close width="600px" @keydown="JPselect_Yj($event)" >
- <el-table tooltip-effect="dark" :data="JPselectData_Yj"
- row-key="ID" highlight-current-row="true"
- border style="width:100%"
- @row-dblclick="JPhandleSelectClick_Yj" >
- <el-table-column prop="yjno" label="印件号" width="80" />
- <el-table-column prop="yjmc" label="印件名称" width="480" />
- </el-table>
- </el-dialog>
-
-
- <!-- JP检品独立 印件选择 -->
- <el-dialog v-model="JPdialogSelectVisible_Gx" title="选择" destroy-on-close width="600px" >
- <el-table tooltip-effect="dark" :data="JPselectData_Gx"
- row-key="ID" highlight-current-row="true"
- border style="width:100%"
- @row-dblclick="JPhandleSelectClick_Gx">
- <el-table-column prop="name" label="" width="560" />
- </el-table>
- </el-dialog>
-
- <el-dialog v-model="JPdialogSelectVisible_LX" title="选择" destroy-on-close width="300px" >
- <el-table
- :data="JPtableData"
- ref="table"
- @row-dblclick="JPhandleRowClick"
- highlight-current-row>
- <el-table-column prop="name" label="名称" width="150"></el-table-column>
- <el-table-column prop="type" label="类别" width="100"></el-table-column>
- </el-table>
- </el-dialog>
-
- <!--JP检品机 当日上报产量 组员及分配比例-->
- <el-dialog v-model="JPblModellist" :before-close="() => JPblModellist = false" style="width: 20%">
- <el-form>
- <div>
- <el-table :data="JPemployeeDatalist" border :show-overflow-tooltip="true" :cell-class-name="JPblplanUsageCellClass" @row-click="JPtablebllickHandlerlist($event)">
- <el-table-column prop="员工编号" label="员工编号"></el-table-column>
- <el-table-column prop="ygxm" label="员工姓名"></el-table-column>
- </el-table>
- </div>
- </el-form>
- </el-dialog>
-
- <!-- 日产量上报拉料 -->
- <el-dialog v-model="llblModellist" :before-close="() => llblModellist = false" style="width: 20%">
- <el-form>
- <div>
- <el-table :data="llemployeeDatalist" border :show-overflow-tooltip="true" :cell-class-name="JPblplanUsageCellClass" @row-click="lltablebllickHandlerlist($event)">
- <el-table-column prop="员工编号" label="员工编号"></el-table-column>
- <el-table-column prop="ygxm" label="员工姓名"></el-table-column>
- </el-table>
- </div>
- </el-form>
- </el-dialog>
-
- <el-dialog
- v-model="bzchanliangVisible"
- title="班组产量修改"
- destroy-on-close
- width="140vh"
- style="height: 60vh;"
- >
- <el-row :gutter="24" style="margin-top=0px; margin-bottom: 1px;">
- <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
- <el-form-item label="工单编号" prop="id" style="margin-top=0px; margin-bottom: 0px;">
- <el-input style="margin-top=0px; margin-bottom: 1px;" v-model="dbformData.order" id="工单编号" disabled @keydown="ent($event, 'rate10', '工单编号', '产品名称')" placeholder="" />
- </el-form-item>
- </el-col>
- <el-col :span="10" style="margin-top=0px; margin-bottom: 1px;">
- <el-form-item label="产品名称" prop="id" style="margin-top=0px; margin-bottom: 1px;">
- <el-input v-model="dbformData.product_name" id="产品名称" style="margin-top=0px; margin-bottom: 1px;" disabled @keydown="ent($event, '工单编号', '产品名称', '工序名称')" placeholder="" />
- </el-form-item>
- </el-col>
- <el-col :span="10" style="margin-top=0px; margin-bottom: 1px;">
- <el-form-item label="工序名称" prop="id" style="margin-top=0px; margin-bottom: 1px;">
- <el-input v-model="dbformData.gxmc" id="工序名称" style="margin-top=0px; margin-bottom: 1px;" disabled @keydown="ent($event, '产品名称', '工序名称', '印件号')" placeholder="" />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row :gutter="24" style="margin-top=0px; margin-bottom: 1px;">
- <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
- <el-form-item label="印件号" prop="id" style="margin-top=0px; margin-bottom: 1px;">
- <el-input v-model="dbformData.yjno" style="margin-top=0px; margin-bottom: 1px;" id="印件号" disabled @keydown="ent($event, '工序名称', '印件号', '印件名称')" placeholder="" />
- </el-form-item>
- </el-col>
- <el-col :span="10" style="margin-top=0px; margin-bottom: 1px;">
- <el-form-item label="印件名称" prop="id" style="margin-top=0px; margin-bottom: 1px;">
- <el-input v-model="dbformData.yj_name" id="印件名称" style="margin-top=0px; margin-bottom: 1px;" disabled @keydown="ent($event, '印件号', '印件名称', '工艺名称')" placeholder="" />
- </el-form-item>
- </el-col>
- <el-col :span="8" style="margin-top=0px; margin-bottom: 1px;">
- <el-form-item label="工艺名称" prop="id" style="margin-top=0px; margin-bottom: 1px;">
- <el-input v-model="dbformData.gy_name" id="工艺名称" style="margin-top=0px; margin-bottom: 1px;" disabled @keydown="ent($event, '印件名称', '工艺名称', 'gxh')" placeholder="" />
- </el-form-item>
- </el-col>
- <el-col :span="2" style="margin-top=0px; margin-bottom: 1px;">
- <el-form-item label="" prop="id" style="margin-top=0px; margin-bottom: 1px;">
- <el-input v-model="dbformData.gxh" id="gxh" style="margin-top=0px; margin-bottom: 1px;" disabled @keydown="ent($event, '工艺名称', 'gxh', '日期')" placeholder="" />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row :gutter="24" style="margin-top=0px; margin-bottom: 1px;">
- <el-col :span="1" style="margin-top=0px; margin-bottom: 1px;">
- </el-col>
- <el-col :span="5" style="margin-top=0px; margin-bottom: 1px;">
- <el-form-item label="日期" prop="id" style="margin-top=0px; margin-bottom: 1px;">
- <el-input v-model="dbformData.日期" id="日期" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, 'gxh', '日期', '流程标牌')" placeholder="" />
- </el-form-item>
- </el-col>
- <el-col :span="5" style="margin-top=0px; margin-bottom: 1px;">
- <el-form-item label="流程标牌" prop="id" style="margin-top=0px; margin-bottom: 1px;">
- <el-input v-model="dbformData.流程标牌" id="流程标牌" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '日期', '流程标牌', '上机时间')" placeholder="" />
- </el-form-item>
- </el-col>
- <el-col :span="5" style="margin-top=0px; margin-bottom: 1px;">
- <el-form-item label="上机时间" prop="id" style="margin-top=0px; margin-bottom: 1px;">
- <el-input v-model="dbformData.上机时间" id="上机时间" disabled style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '流程标牌', '上机时间', '下机时间')" placeholder="" />
- </el-form-item>
- </el-col>
- <el-col :span="5" style="margin-top=0px; margin-bottom: 1px;">
- <el-form-item label="下机时间" prop="" style="margin-top=0px; margin-bottom: 1px;">
- <el-input v-model="dbformData.下机时间" style="margin-top=0px; margin-bottom: 1px;" id="下机时间" disabled @keydown="ent($event, '上机时间', '下机时间', '产量')" placeholder="" />
- </el-form-item>
- </el-col>
- <el-col :span="3">
- </el-col>
- </el-row>
- <el-row :gutter="24" style="margin-top=0px; margin-bottom: 1px;">
- <el-col :span="1" style="margin-top=0px; margin-bottom: 1px;">
- </el-col>
- <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
- <el-form-item label="产量" prop="id" style="margin-top=0px; margin-bottom: 1px;">
- <el-input v-model="dbformData.产量" id="产量" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '下机时间', '产量', '制程废品')" placeholder="" />
- </el-form-item>
- </el-col>
- <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
- <el-form-item label="制程废品" prop="id" style="margin-top=0px; margin-bottom: 1px;">
- <el-input v-model="dbformData.制程废品" id="制程废品" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '产量', '制程废品', '制程次品')" placeholder="" />
- </el-form-item>
- </el-col>
- <el-col :span="3" style="margin-top=0px; margin-bottom: 1px;">
- <el-form-item label="制程次品" prop="id" style="margin-top=0px; margin-bottom: 1px;">
- <el-input v-model="dbformData.制程次品" id="制程次品" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '制程废品', '制程次品', '前工序废')" placeholder="" />
- </el-form-item>
- </el-col>
- <el-col :span="3" style="margin-top=0px; margin-bottom: 1px;">
- <el-form-item label="前工序废" prop="" style="margin-top=0px; margin-bottom: 1px;">
- <el-input v-model="dbformData.前工序废" id="前工序废" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '制程次品', '前工序废', '来料异常')" placeholder="" />
- </el-form-item>
- </el-col>
- <el-col :span="3" style="margin-top=0px; margin-bottom: 1px;">
- <el-form-item label="来料异常" prop="" style="margin-top=0px; margin-bottom: 1px;">
- <el-input v-model="dbformData.来料异常" id="来料异常" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '前工序废', '来料异常', '联数')" placeholder="" />
- </el-form-item>
- </el-col>
- <el-col :span="3" style="margin-top=0px; margin-bottom: 1px;">
- <el-form-item label="联数" prop="" style="margin-top=0px; margin-bottom: 1px;">
- <el-input v-model="dbformData.联数" id="联数" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '来料异常', '联数', '墨色')" placeholder="" />
- </el-form-item>
- </el-col>
- <el-col :span="3" style="margin-top=0px; margin-bottom: 1px;">
- <el-form-item label="墨色" prop="" style="margin-top=0px; margin-bottom: 1px;">
- <el-input v-model="dbformData.墨色" id="墨色" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '联数', '墨色', '装版总时长')" placeholder="" />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row :gutter="20" style="margin-top=0px; margin-bottom: 1px;">
- <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
- <el-form-item label="装版总时长" prop="id" style="margin-top=0px; margin-bottom: 1px;">
- <el-input v-model="dbformData.装版总时长" id="装版总时长" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '墨色', '装版总时长', '打样总工时')" placeholder="" />
- </el-form-item>
- </el-col>
- <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
- <el-form-item label="打样总工时" prop="id" style="margin-top=0px; margin-bottom: 1px;">
- <el-input v-model="dbformData.打样总工时" style="margin-top=0px; margin-bottom: 1px;" id="打样总工时" @keydown="ent($event, '装版总时长', '打样总工时', '通电工时')" placeholder="" />
- </el-form-item>
- </el-col>
- <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
- <el-form-item label="通电工时" prop="id" style="margin-top=0px; margin-bottom: 1px;">
- <el-input v-model="dbformData.通电工时" style="margin-top=0px; margin-bottom: 1px;" id="通电工时" @keydown="ent($event, '打样总工时', '通电工时', '定额代号')" placeholder="" />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row :gutter="20" style="margin-top=0px; margin-bottom: 1vh;">
- <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
- <el-form-item label="定额代号" prop="id" style="margin-top=0px; margin-bottom: 1px;">
- <el-input v-model="dbformData.定额代号" id="定额代号" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '通电工时', '定额代号', '码包')" placeholder="" />
- </el-form-item>
- </el-col>
- <el-col :span="8" style="margin-top=0px; margin-bottom: 1px;">
- </el-col>
- <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
- <el-form-item label="码包" prop="id" style="margin-top=0px; margin-bottom: 1px;">
- <el-input v-model="dbformData.码包" style="margin-top=0px; margin-bottom: 1px;" id="码包" @keydown="ent($event, '定额代号', '码包', '主电表')" placeholder="" />
- </el-form-item>
- </el-col>
- <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
- <el-form-item label="主电表" prop="id" style="margin-top=0px; margin-bottom: 1px;">
- <el-input v-model="dbformData.主电表" style="margin-top=0px; margin-bottom: 1px;" id="主电表" @keydown="ent($event, '码包', '主电表', '辅电表')" placeholder="" />
- </el-form-item>
- </el-col>
- <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
- <el-form-item label="辅电表" prop="id" style="margin-top=0px; margin-bottom: 1px;">
- <el-input v-model="dbformData.辅电表" id="辅电表" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '主电表', '辅电表', 'bzdh')" placeholder="" />
- </el-form-item>
- </el-col>
- </el-row>
- <div style="display: flex;">
- <div style="width: 116vh;">组员及分配比例</div>
- <div style="width: 11vh;">特殊组员</div>
- <div>拉料人员</div>
- </div>
- <el-row :gutter="10" style="margin-top: 1vh;">
- <el-col :span="2">
- <el-input v-model="BZMC" id="bzdh" disabled @keydown="ent($event, '辅电表', 'bzdh', 'bh1')" />
- </el-col>
- <el-col :span="2">
- <el-input v-model="dbformData.sczl_bh1" id="bh1" disabled @keydown="ent($event, 'bzdh', 'bh1', 'bh2')" @keyup.enter.native="getygsubmit($event, '1')" placeholder="" />
- </el-col>
- <el-col :span="2">
- <el-input v-model="dbformData.sczl_bh2" id="bh2" disabled @keydown="ent($event, 'bh1', 'bh2', 'bh3')" @keyup.enter.native="getygsubmit($event, '2')" placeholder="" />
- </el-col>
- <el-col :span="2">
- <el-input v-model="dbformData.sczl_bh3" id="bh3" disabled @keydown="ent($event, 'bh2', 'bh3', 'bh4')" @keyup.enter.native="getygsubmit($event, '3')" placeholder="" />
- </el-col>
- <el-col :span="2">
- <el-input v-model="dbformData.sczl_bh4" id="bh4" disabled @keydown="ent($event, 'bh3', 'bh4', 'bh5')" @keyup.enter.native="getygsubmit($event, '4')" placeholder="" />
- </el-col>
- <el-col :span="2">
- <el-input v-model="dbformData.sczl_bh5" id="bh5" disabled @keydown="ent($event, 'bh4', 'bh5', 'bh6')" @keyup.enter.native="getygsubmit($event, '5')" placeholder="" />
- </el-col>
- <el-col :span="2">
- <el-input v-model="dbformData.sczl_bh6" id="bh6" disabled @keydown="ent($event, 'bh5', 'bh6', 'bh7')" @keyup.enter.native="getygsubmit($event, '6')" placeholder="" />
- </el-col>
- <el-col :span="2">
- <el-input v-model="dbformData.sczl_bh7" id="bh7" disabled @keydown="ent($event, 'bh6', 'bh7', 'bh8')" @keyup.enter.native="getygsubmit($event, '7')" placeholder="" />
- </el-col>
- <el-col :span="2">
- <el-input v-model="dbformData.sczl_bh8" id="bh8" disabled @keydown="ent($event, 'bh7', 'bh8', 'bh9')" @keyup.enter.native="getygsubmit($event, '8')" placeholder="" />
- </el-col>
- <el-col :span="2">
- <el-input v-model="dbformData.sczl_bh9" id="bh9" disabled @keydown="ent($event, 'bh8', 'bh9', 'bh10')" @keyup.enter.native="getygsubmit($event, '9')" placeholder="" />
- </el-col>
- <el-col :span="2">
- <el-input v-model="dbformData.sczl_bh10" id="bh10" disabled @keydown="ent($event, 'bh9', 'bh10', 'bh11')" @keyup.enter.native="getygsubmit($event, '10')" placeholder="" />
- </el-col>
- <el-col :span="2">
- <el-select v-model="dbformData.sczl_bh11" id="bh11" @change="GetLl('update')">
- <el-option label="" value="" />
- <el-option label="李有文" value="李有文" />
- <el-option label="张杭强" value="张杭强" />
- <el-option label="朱喜文" value="朱喜文" />
- <el-option label="刘旭青" value="刘旭青" />
- <el-option label="刘芳民" value="刘芳民" />
- <el-option label="李当林" value="李当林" />
- <el-option label="王赞文" value="王赞文" />
- </el-select>
- <!-- <el-input v-model="dbformData.sczl_bh11" id="bh11" @keydown="ents($event, 'bh10', 'bh11', 'name1')" @keyup.enter.native="getlaliaoyg($event)" placeholder="" /> -->
- </el-col>
- </el-row>
- <el-row :gutter="10" style="margin-top: 10px;">
- <el-col :span="2">
- </el-col>
- <el-col :span="2">
- <el-input v-model="dbformData.sczl_name1" id="name1" disabled @keydown="ent($event, 'bh11', 'name1', 'name2')" placeholder="" />
- </el-col>
- <el-col :span="2">
- <el-input v-model="dbformData.sczl_name2" id="name2" disabled @keydown="ent($event, 'name1', 'name2', 'name3')" placeholder="" />
- </el-col>
- <el-col :span="2">
- <el-input v-model="dbformData.sczl_name3" id="name3" disabled @keydown="ent($event, 'name2', 'name3', 'name4')" placeholder="" />
- </el-col>
- <el-col :span="2">
- <el-input v-model="dbformData.sczl_name4" id="name4" disabled @keydown="ent($event, 'name3', 'name4', 'name5')" placeholder="" />
- </el-col>
- <el-col :span="2">
- <el-input v-model="dbformData.sczl_name5" id="name5" disabled @keydown="ent($event, 'name4', 'name5', 'name6')" placeholder="" />
- </el-col>
- <el-col :span="2">
- <el-input v-model="dbformData.sczl_name6" id="name6" disabled @keydown="ent($event, 'name5', 'name6', 'name7')" placeholder="" />
- </el-col>
- <el-col :span="2">
- <el-input v-model="dbformData.sczl_name7" id="name7" disabled @keydown="ent($event, 'name6', 'name7', 'name8')" placeholder="" />
- </el-col>
- <el-col :span="2">
- <el-input v-model="dbformData.sczl_name8" id="name8" disabled @keydown="ent($event, 'name7', 'name8', 'name9')" placeholder="" />
- </el-col>
- <el-col :span="2">
- <el-input v-model="dbformData.sczl_name9" id="name9" disabled @keydown="ent($event, 'name8', 'name9', 'name10')" placeholder="" />
- </el-col>
- <el-col :span="2">
- <el-input v-model="dbformData.sczl_name10" id="name10" disabled @keydown="ent($event, 'name9', 'name10', 'name11')" placeholder="" />
- </el-col>
- <el-col :span="2">
- <el-input v-model="dbformData.sczl_name11" id="name11" @keydown="ent($event, 'name10', 'name11', 'rate1')" placeholder="" />
- </el-col>
- </el-row>
- <el-row :gutter="10" style="margin-top: 10px;">
- <el-col :span="2">
- </el-col>
- <el-col :span="2">
- <el-input v-model="dbformData.sczl_rate1" id="rate1" disabled @keydown="ent($event, 'name11', 'rate1', 'rate2')" placeholder="" />
- </el-col>
- <el-col :span="2">
- <el-input v-model="dbformData.sczl_rate2" id="rate2" disabled @keydown="ent($event, 'rate1', 'rate2', 'rate3')" placeholder="" />
- </el-col>
- <el-col :span="2">
- <el-input v-model="dbformData.sczl_rate3" id="rate3" disabled @keydown="ent($event, 'rate2', 'rate3', 'rate4')" placeholder="" />
- </el-col>
- <el-col :span="2">
- <el-input v-model="dbformData.sczl_rate4" id="rate4" disabled @keydown="ent($event, 'rate3', 'rate4', 'rate5')" placeholder="" />
- </el-col>
- <el-col :span="2">
- <el-input v-model="dbformData.sczl_rate5" id="rate5" disabled @keydown="ent($event, 'rate4', 'rate5', 'rate6')" placeholder="" />
- </el-col>
- <el-col :span="2">
- <el-input v-model="dbformData.sczl_rate6" id="rate6" disabled @keydown="ent($event, 'rate5', 'rate6', 'rate7')" placeholder="" />
- </el-col>
- <el-col :span="2">
- <el-input v-model="dbformData.sczl_rate7" id="rate7" disabled @keydown="ent($event, 'rate6', 'rate7', 'rate8')" placeholder="" />
- </el-col>
- <el-col :span="2">
- <el-input v-model="dbformData.sczl_rate8" id="rate8" disabled @keydown="ent($event, 'rate7', 'rate8', 'rate9')" placeholder="" />
- </el-col>
- <el-col :span="2">
- <el-input v-model="dbformData.sczl_rate9" id="rate9" disabled @keydown="ent($event, 'rate8', 'rate9', 'rate10')" placeholder="" />
- </el-col>
- <el-col :span="2">
- <el-input v-model="dbformData.sczl_rate10" id="rate10" disabled @keydown="ent($event, 'rate9', 'rate10', '工单编号')" placeholder="" />
- </el-col>
- <el-col :span="2">
- </el-col>
- </el-row>
- <!-- </el-scrollbar> -->
- <template #footer>
- <div class="dialog-footer" style="margin-right: 200px">
- <el-button @click="bzcloseDialog" style="width: 110px;height: 50px;font-size: 24px;">取 消</el-button>
- <el-button type="primary" @click="bzchanliangenterDialog" style="width: 110px;height: 50px;font-size: 24px;">确 定</el-button>
- </div>
- </template>
- </el-dialog>
- <el-dialog v-model="gzSelVisible" title="员工工资明细查询"
- destroy-on-close fullscreen
- style="font-size: 50px;font-weight: bold;"
- >
- <el-button v-for="ygbh in gz_bzbh" type="primary" @click="gz_ontable(ygbh)">{{ ygbh }}</el-button>
- <!-- 数据展示 -->
- <el-table ref="gz_multipleTable" style="width: 100%;height: 40vh;padding-top: 5px;" tooltip-effect="dark" :data="gz_tableData" row-key="ID"
- highlight-current-row="true" border :show-overflow-tooltip="true"
- :row-style="{ height: '20px' }"
- :cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
- :header-cell-style="{ padding: '0px' }"
- >
- <el-table-column v-for="column in tableCols1"
- :key="column.prop" :prop="column.prop"
- :label="column.label" :width="column.width"
- show-overflow-tooltip="true" sortable
- />
- </el-table>
- <!-- 数据展示 -->
- <el-table ref="gz_multipleTable2" style="width: 100%;height: 40vh;padding-top: 30px;" tooltip-effect="dark" :data="gz_tableData2" row-key="ID"
- highlight-current-row="true" border
- :row-style="{ height: '20px' }"
- :cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
- :header-cell-style="{ padding: '0px' }"
- :show-overflow-tooltip="true"
- >
- <el-table-column v-for="column in tableCols2"
- :key="column.prop" :prop="column.prop"
- :label="column.label" :width="column.width"
- show-overflow-tooltip="true" sortable
- />
- </el-table>
- </el-dialog>
- <Shebeizhuangtai
- v-if="dialogSbyxgl"
- v-model="dialogSbyxgl"
- title="【01.30 08:30】【JY01#--海德堡对开八色平版胶印机(JY08-01)】【2311116-->钻石(荷花)盒包装纸】【01--胶印】"
- :formData="formData"
- />
- </el-main>
- </el-container>
- </el-container>
- <PrintPage ref="printPageRef" />
- </div>
- </template>
- <script setup>
- import {
- createCompany,
- deleteCompany,
- deleteCompanyByIds,
- updateCompany,
- findCompany,
- getCompanyList
- } from '@/api/company'
- import {
- EquipmentSchedulingEdit,
- Procedure,
- teamDel, workOrderListDetail
- } from "@/api/yunyin/yunying";
- import {
- ProcessInspectionRecordsItemAdd,
- AdditionalInspectionRecordAdd,
- getMac,
- remodelGetTab,
- setMachineTeam,
- ModelChangeRecord,
- ComplaintRecord,
- RemodelDetail,
- MachineTeamAdd,
- remodelDataAdd,
- remodelDataEdit,
- remodelDataDel,
- PrintDetailAdd,
- PrintDetailEdit,
- chanliangEdit,
- ChanliangDel,
- MachineWorkOrderEdit
- } from '@/api/jixiaoguanli/baogong'
- import {
- facilityTab,
- facilitychanLiang,
- facilityInspect,
- facilityProduction,
- facilityTeam,
- facilityMachineList,
- facilitySpotCheckItem,
- facilityInspectionItem,
- reportProduceInfo,
- reportName,
- getStaffNameTwo,
- reportInfo,
- reportMachineMac,
- facilityWorklist,
- setProcessStatus,
- submitDailyProduction,
- facilityDetail,
- inspectionRecord,
- getYg,
- submitPatrolRecord,
- getMachineMac,
- setMachineStatus,
- fieldInspectionRecord,
- InspectionItemAdd,
- ProcessInspectionRecordsItem,
- MachineDetailList,
- facilityPrintGetTab,
- facilityPrintDetail,
- facilityProcedure,
- dailysearch,
- dailygetGzByYgbh,
- MachineChanliangDetail,
- ChanliangPrintDetail,
- ChanliangProcessDetail,
- JpUploade,
- getTimelist
- } from '@/api/jixiaoguanli/jitairibaobiao'
- import {
- demoCustomer
- } from "@/api/demo";
- // 全量引入格式化工具 请按需保留
- import { getDictFunc, formatDate, formatBoolean, filterDict, ReturnArrImg, onDownloadFile } from '@/utils/format'
- import { ElMessage, ElMessageBox } from 'element-plus'
- import { ref, reactive } from 'vue'
- import Shebeizhuangtai from '@/view/performance/09-workOrderVerification/componets/shebeizhuangtai.vue'
- import { useUserStore } from '@/pinia/modules/user'
- import PrintPage from '../yunyin/shengchanguanli/components/print.vue'
- const printPageRef = ref()
- const userStore = useUserStore()
- const sys_id='['+userStore.userInfo.userName+'/'+userStore.userInfo.nickName+']'
- const dialogSbyxgl=ref(false)
- const zhichengstatus=ref(false)
- const yinbanselectData = ref([])
- defineOptions({
- name: 'Company'
- })
- const xunchatreeData=ref([{label: '现场巡查记录',} ])
- const activName=ref('first')
- const activNames=ref('first')
- let checked3=ref(false)
- const detailData = reactive([])
- const treeData=ref([])
- const huanxingtreeData=ref([])
- const huanxingselectData = ref([])
- const huanxingData = ref({})
- const dbformData=ref({})
- const huanxingstatus=ref(false)
- const zhichengtreeData=ref([{
- label: '首件与过程确认'
- },{
- label: '机台检验'
- },{
- label: 'IPQC检验'
- }])
- let dianjiantreeData;
- let JTMC=ref()
- let CJMC=ref()
- const sbzyData = reactive([])
- const FPData = reactive([])
- const CLMXData = reactive([])
- let JYData = reactive([])
- //工单打印
- const pd_gdprintonClick = () => {
- if(formData.value.工单编号==''){
- ElMessage({ type: 'warning', message: '未获取到工单' });
- return
- }
- printPageRef.value.open(formData.value.工单编号)
- }
- //键盘 input框跳转
- const ent = (event,id1,id2,id3) => {
- if (event.keyCode === 13 || event.keyCode === 40) { // Enter 或向下箭头
- const idMap = {
- 'bh1': '1',
- 'bh2': '2',
- 'bh3': '3',
- 'bh4': '4',
- 'bh5': '5',
- 'bh6': '6',
- 'bh7': '7',
- 'bh8': '8',
- 'bh9': '9',
- 'bh10': '10',
- 'bh11': '11',
- };
- if (idMap.hasOwnProperty(id2) && event.keyCode === 13) {
- getygsubmit('', idMap[id2]);
- }else if(id3!=''){
- document.getElementById(id3).focus()
- }
- } else if (event.keyCode === 38) { // 向上箭头
- if(id1!=''){
- document.getElementById(id1).focus()
- }
- }else if (event.keyCode === 8) { // 删除箭头
- if(id1!='' && document.getElementById(id2).value==''){
- document.getElementById(id1).focus()
- }
- console.log(document.getElementById(id2).value)
- }else if (event.keyCode === 37) { // 向左箭头
- if(id1!='' && document.getElementById(id2).selectionStart==0){
- document.getElementById(id1).focus()
- }
- }else if (event.keyCode === 39) { // 向右箭头
- if(id3!='' && document.getElementById(id2).selectionStart == document.getElementById(id2).value.length){
- document.getElementById(id3).focus()
- }
- }
- }
- const huanxingNodeClick = (node) => {
- //存放当前节点的nodeId
- if(node.machine){
- // console.log(node.label.split('/')[1])
- huanxingstatus.value=true
- formData.value.huanxingId=node.label.split('/')[1]
- remodelDetail(node.label.split('/')[1])
- modelChangeRecord(node.machine)
- }else{
- console.log('2')
- }
- }
- const modelChangeRecord = async (val) => {
- const response = await ModelChangeRecord({machine:val});
- if (response.code === 0) {
- huanxingselectData.value=response.data
- }
- }
- const remodelDetail = async (val) => {
- const response = await RemodelDetail({UniqId:val});
- if (response.code === 0) {
- huanxingData.value=response.data
- if(response.data.项目1==1){
- huanxingData.value.项目1=true
- }else{
- huanxingData.value.项目1=false
- }
- if(response.data.项目2==1){
- huanxingData.value.项目2=true
- }else{
- huanxingData.value.项目2=false
- }
- if(response.data.项目3==1){
- huanxingData.value.项目3=true
- }else{
- huanxingData.value.项目3=false
- }
- if(response.data.项目4==1){
- huanxingData.value.项目4=true
- }else{
- huanxingData.value.项目4=false
- }
- if(response.data.项目5==1){
- huanxingData.value.项目5=true
- }else{
- huanxingData.value.项目5=false
- }
- }
- }
- const handleNodeClick = (nodeData,node) => {
- }
- const classbz=ref([])
- const FacilityProduction = async (addr) => {
- if(JTMC === '' || JTMC === null){
- return false;
- }
- const response = await facilityProduction({machine:JTMC});
- if (response.code === 0) {
- if(response.data){
- formData.value.机台号=JTMC.split('#')[0]
- formData.value.工单编号 = response.data.工单编号;
- formData.value.印件号 = response.data.印件号;
- formData.value.工序号 = response.data.工序名称.substring(0,2);
- formData.value.工序名称 = response.data.工序名称;
- formData.value.产品名称 = response.data.产品名称;
- formData.value.产品代号 = response.data.产品代号;
- formData.value.班组成员 = response.data.班组成员;
- formData.value.班组Id=response.data.班组Id
- formData.value.machine=JTMC
- formData.value.状态=response.data.状态
- formData.value.定额代号=response.data.定额代号
- formData.value.addr=addr
- BZMC.value=response.data.班组编号
- // 填充sczl_bh和sczl_name字段
- let sczl_bhkey=''
- let sczl_namekey=''
- if (response.data.班组成员) {
- for (let i = 0; i < Math.min(Object.keys(response.data.班组成员).length, 9); i++) {
- sczl_bhkey=`sczl_bh${i+1}`
- sczl_namekey=`sczl_name${i+1}`
- formData.value[sczl_bhkey] = response.data.班组成员[i]['编号'];
- formData.value[sczl_namekey] = response.data.班组成员[i]['姓名'];
- classbz.value[i]=response.data.班组成员[i]['编号']
- }
- formData.value.class=classbz.value.join(',')
- }
- if(response.data.工单编号){
- InspectionRecord()
- FacilityDetail()
- }
- }
- //完工1
- if(CJMC === '' || CJMC === null){
- console.log("CJMC空")
- return false;
- }else{
- const responses = await MachineDetailList({workshop:CJMC});
- if(responses.code===0){
- responses.data.map(item=>{
- if(item.设备编号==JTMC){
- formData.value.status=item.状态
- }
- })
- }
- }
- FacilityWorklist()
- FacilityTeam(JTMC)
- }
- }
- //设备工作清单
- const FacilityWorklist = async () => {
- console.log(JTMC)
- console.log(23123131232131312321)
- if (!JTMC.endsWith('#')) {
- JTMC += '#';
- }
- const response = await facilityWorklist({machine:JTMC});
- if (response.code === 0) {
- sbzyData.splice(0, sbzyData.length, ...response.data);
- response.data.map(item=>{
- if(item['工单编号|质量信息'].substring(0, 7)==formData.value.工单编号){
- formData.value.productCode=item.产品代号
- }
- })
- selectData.value=[]
- if(formData.value.工单编号 === undefined){
- return false;
- }
- console.log(formData.value.工单编号)
- const res = await facilityProcedure({ Gd_gdbh: formData.value.工单编号 })
- console.log(res)
- if (res.code === 0) {
- selectData.value = res.data
- }
- }
- }
- const bzcloseDialog = async () => {
- bzchanliangVisible.value=false
- }
- const dbclmxhandleSelectionChange = async (row) => {
- console.log(row)
- }
- const ybupdateCompanyFunc = async (row) => {
- console.log(currentBz.value)
- dbformData.value = {};
- if(currentBz.value){
- let sczl_bhkey = ''
- let sczl_namekey = ''
- let percentagekey = ''
- if (currentBz.value[9]) {
- for (let i = 1; i <= 10; i++) {
- sczl_bhkey = `sczl_bh${i}`
- sczl_namekey = `sczl_name${i}`
- percentagekey = `sczl_rate${i}`
- dbformData.value[sczl_bhkey] = '';
- dbformData.value[sczl_namekey] = '';
- dbformData.value[percentagekey] = '';
- }
- dbformData.value.code10 = currentBz.value[9].split(' ')[0];
- dbformData.value.name10 = currentBz.value[9].split(' ')[1]
- dbformData.value.percentage10 = parseFloat(currentBz.value[9].split(' ')[2].split('(')[1].split(')')[0])/100
- for (let i = 1; i <= Math.min(Object.keys(currentBz.value).length - 4, 6); i++) {
- sczl_bhkey = `sczl_bh${i}`
- sczl_namekey = `sczl_name${i}`
- percentagekey = `sczl_rate${i}`
- dbformData.value[sczl_bhkey] = currentBz.value[i - 1].split(' ')[0];
- dbformData.value[sczl_namekey] = currentBz.value[i - 1].split(' ')[1];
- if(isNaN(parseFloat(currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0]))){
- dbformData.value[percentagekey] = currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0];
- }else{
- dbformData.value[percentagekey] = parseFloat(currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0])/100;
- }
- }
- } else {
- for (let i = 1; i <= 10; i++) {
- sczl_bhkey = `sczl_bh${i}`
- sczl_namekey = `sczl_name${i}`
- percentagekey = `sczl_rate${i}`
- dbformData.value[sczl_bhkey] = '';
- dbformData.value[sczl_namekey] = '';
- dbformData.value[percentagekey] = '';
- }
- for (let i = 1; i <= Math.min(Object.keys(currentBz.value).length - 3, 6); i++) {
- sczl_bhkey = `sczl_bh${i}`
- sczl_namekey = `sczl_name${i}`
- percentagekey = `sczl_rate${i}`
- dbformData.value[sczl_bhkey] = currentBz.value[i - 1].split(' ')[0];
- dbformData.value[sczl_namekey] = currentBz.value[i - 1].split(' ')[1];
- if(isNaN(parseFloat(currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0]))){
- dbformData.value[percentagekey] = currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0];
- }else{
- dbformData.value[percentagekey] = parseFloat(currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0])/100;
- }
- }
- }
- }
- console.log(row)
- dbformData.value.order=row.工单编号
- dbformData.value.product_name=row.产品名称
- dbformData.value.gxmc=row.gxmc
- dbformData.value.yjno=row.yjno
- dbformData.value.yj_name=row.产品名称
- dbformData.value.gy_name=row.gxmc
- dbformData.value.gxh=row.gxmc.split('-')[0]
- dbformData.value.日期=row.sj1.split(' ')[0]
- dbformData.value.流程标牌=row.标牌号
- dbformData.value.上机时间=row.sj1
- dbformData.value.下机时间=row.sj2
- dbformData.value.下机时间=row.sj2
- dbformData.value.产量=row.产量
- dbformData.value.制程废品=row.制程废品
- dbformData.value.制程次品=row.制程次品
- dbformData.value.前工序废=row.前工序废
- dbformData.value.来料异常=row.来料异常
- dbformData.value.联数=row.ls
- dbformData.value.墨色=row.色度
- dbformData.value.装版总时长=row.装版工时
- dbformData.value.打样总工时=row.打样工时
- dbformData.value.通电工时=row.通电工时
- dbformData.value.定额代号=row.dedh
- dbformData.value.码包=row.码包
- dbformData.value.主电表=row.主电表
- dbformData.value.辅电表=row.辅电表
- dbformData.value.sczl_bh11=row.拉料
- dbformData.value.sczl_name11=row.拉料姓名
- dbformData.value.UniqId=row.UniqId
- bzchanliangVisible.value=true
- }
- const chanliangEdits = async() => {
- const response = await chanliangEdit({
- sczl_num: dbformData.value.流程标牌,
- sczl_rq: `${dbformData.value.日期} 00:00:00`,
- sczl_cl: dbformData.value.产量,
- sczl_zcfp:dbformData.value.制程废品,
- sczl_zccp:dbformData.value.制程次品,
- sczl_前工序废:dbformData.value.前工序废,
- sczl_来料少数:dbformData.value.来料异常,
- sczl_ls:dbformData.value.联数,
- sczl_ms:dbformData.value.墨色,
- sczl_装版总工时:dbformData.value.装版总时长,
- sczl_打样总工时:dbformData.value.打样总工时,
- sczl_设备运行工时:dbformData.value.通电工时,
- sczl_dedh:dbformData.value.定额代号,
- 码包:dbformData.value.码包,
- 主电表:dbformData.value.主电表,
- 辅电表:dbformData.value.辅电表,
- sczl_bh98:dbformData.value.sczl_bh11,
- UniqId:dbformData.value.UniqId
- })
- if (response.code === 0) {
- bzchanliangVisible.value=false
- FacilityProduction()
- ElMessage({
- type: 'success',
- message: '成功'
- })
- }
- }
- const roww = ref(null)
- //班组人员及分配比例单机
- const clickybupdate = async (row) => {
- console.log(row)
- roww.value = row
- console.log('班组人员及分配比例单机')
- }
- //班组人员及分配比例双击
- const gyupdateCompanyFunc = async (row) => {
- console.log('班组人员及分配比例双击')
- }
- //班组人员及分配比例右键
- const bzonRightClick = async (row) => {
- console.log(roww.value)
- if(roww.value === null || roww.value === ''){
- ElMessage({type: 'warning',message: '请选择 设备作业清单工单后,再操作此功能' })
- }else{
- ElMessageBox.confirm('确定切换班组吗?', '提示', {
- confirmButtonText: '确定',
- cancelButtonText: '取消',
- type: 'warning'
- }).then(() => {
- console.log(1121111)
- SetMachineTeams(roww.value)
- })
- }
- }
- //数据接口调用
- const SetMachineTeams = async(row) => {
- console.log(formData.value.工单编号)
- console.log(row)
- console.log(55555555)
-
-
-
- const res = await setMachineTeam({
- machine: JTMC.split("#")[0],
- order: formData.value.工单编号,
- yjno: formData.value.印件号,
- gy_name:formData.value.工序名称,
- sczl_bzdh:row.班组号,
- status:'生产',
- production_now:0,
- production_all:0,
- team_id:row.ID
- })
- console.log(res)
- if (res.code === 0) {
- FacilityProduction()
- ElMessage({
- type: 'success',
- message: '成功'
- })
- }
- }
- const setTeams = async(row) => {
- formData.value.班组Id=row.ID
- BZMC.value=row.班组号
- console.log(row)
- let sczl_namekey=''
- for (let i = 1; i <= 10; i++) {
- sczl_bhkey = `sczl_bh${i}`
- sczl_namekey = `sczl_name${i}`
- formData.value[sczl_bhkey] = '';
- formData.value[sczl_namekey] = '';
- }
- for (let i = 0; i < Object.keys(row).length-4; i++) {
- sczl_bhkey=`sczl_bh${i+1}`
- sczl_namekey=`sczl_name${i+1}`
- formData.value[sczl_bhkey] =row[i].split(' ')[0];
- formData.value[sczl_namekey] = row[i].split(' ')[1];
- // console.log(formData)
- }
- console.log(formData)
- }
- //检验记录
- const InspectionRecord = async () => {
- JYData=[]
- const response = await inspectionRecord({machine:JTMC,Gd_gdbh:formData.value.工单编号,team:BZMC.value});
- if(response.code==0){
- // 提取 inspectiontime 作为列名
- // Extract inspectiontime as columnNames
- columnNames = response.data.inspectiontime;
- // Populate drzcData with row data
- for (const key in response.data) {
- if (key !== 'inspectiontime') {
- const item = response.data[key];
- const rowData = {
- '工单编号': item['工单编号'],
- '印件号': item['印件号'],
- '工序名称': item['工序名称'],
- '检验项目': item['检验项目']
- };
- // Initialize time columns with '—'
- columnNames.forEach(time => {
- rowData[time] = '';
- });
- // Split inspectresult and fill the corresponding time columns
- const results = item['inspectresult'].split(',');
- results.forEach(result => {
- if (columnNames.includes(result)) {
- rowData[result] = '√';
- }else{rowData[result] = ''}
- });
- // Add the row data to drzcData
- JYData.push(rowData);
- }
- }
- console.log(JYData);
- }
- }
- //当班产量明细
- const FacilityDetail = async () => {
- const today = new Date();
- const year = today.getFullYear();
- const month = String(today.getMonth() + 1).padStart(2, '0'); // 月份从 0 开始,需要补零
- const day = String(today.getDate()).padStart(2, '0');
- const hours = String(today.getHours()).padStart(2, '0');
- const minutes = String(today.getMinutes()).padStart(2, '0');
- const seconds = String(today.getSeconds()).padStart(2, '0');
- const currentHour = today.getHours(); // 获取当前的小时
- let currentDate = `${year}-${month}-${day}`;
- formData.value.production_now=0
- formData.value.production_all=0
-
- console.log("machine--->"+JTMC)
- console.log("Gd_gdbh--->"+formData.value.工单编号)
- console.log("team--->"+BZMC.value)
- if (!JTMC.endsWith('#')) {
- JTMC += '#';
- }
- const response = await facilityDetail({ machine: JTMC, Gd_gdbh: formData.value.工单编号, team:BZMC.value });
- console.log(response)
- console.log("↑↑↑↑facilityDetail_01 ↑↑↑↑↑↑")
-
- // 日产量上报上机时间
- if (response.code === 0) {
- if(response.data === null){
- if (currentHour < 8 || (currentHour === 8 && minutes < 30)) {
- // 如果当前时间早于08:30, 则设置为前一天的晚班时间20:30
- // 需要将日期减一天
- const yesterDay = new Date(today.getTime() - 86400000); // 减去一天的毫秒数
- const yearYesterday = yesterDay.getFullYear();
- const monthYesterday = String(yesterDay.getMonth() + 1).padStart(2, '0');
- const dayYesterday = String(yesterDay.getDate()).padStart(2, '0');
- formData.value.上机时间 = `${yearYesterday}-${monthYesterday}-${dayYesterday} 20:30:00`;
- } else {
- // 如果当前时间晚于或等于08:30, 则设置为当天的白班时间08:30
- formData.value.上机时间 = `${currentDate} 08:30:00`;
- }
- }else{
- // formData.value.上机时间 = response.data.sj1
- formData.value.上机时间 = currentDate.split('-')[0]+'-'+response.data[0]['生产时间段'].split('>')[1]+':00'
- }
- CLMXData.splice(0, CLMXData.length, ...Object.values(response.data));
- formData.value.production_now=response.data[0].产量
- formData.value.production_all=response.data.total.产量
- }
- };
- //获取拉料人员
- const GetLl = (falg) => {
- let llyg = {
- '李有文':2024,
- '张杭强':2023,
- '朱喜文':2022,
- '刘旭青':2021,
- '刘芳民':2020,
- '李当林':2019,
- '王赞文':2018,
- }
- switch(falg){
- case 'create':
- if(formData3.value.sczl_bh11){
- formData3.value.sczl_name11 = formData3.value.sczl_bh11
- formData3.value.sczl_bh11 = llyg[formData3.value.sczl_bh11]
- }
- break;
- case 'update':
- if(dbformData.value.sczl_bh11){
- dbformData.value.sczl_name11 = dbformData.value.sczl_bh11
- dbformData.value.sczl_bh11 = llyg[dbformData.value.sczl_bh11]
- }
- break;
- }
- }
- // 19231
- const llemployeeDatalist = ref('')
- const llblModellist = ref(false)
- //员工编号回车事件
- const getygsubmit = async (key,i,val) => {
- const response = await getYg({sczl_bh:formData3.value.sczl_bh11});
- // console.log(response)
- if (response.code === 0) {
- if(response.data.length === 1){
- formData3.value.sczl_bh11= response.data[0].ygxm
- formData3.value.sczl_name11= response.data[0].员工编号
- }else{
- llblModellist.value = true;
- llemployeeDatalist.value = response.data // 假设响应数据是数组
- }
- }
- }
- const llclickedlist = ref(false);
- const lltablebllickHandlerlist = async (row, column, event) => {
- if (llclickedlist.value) {
- // 如果已经点击过一次,则不再执行操作
- return;
- }
- // let nextIndex = 1;
- // while (formData3.value.sczl_bh11 !== '') {
- // nextIndex++;
- // if (nextIndex > 10) {
- // // 如果所有字段都已经填满,则不做任何事情并退出函数
- // return;
- // }
- // }
- console.log(row)
- // 将选定的值分配给下一个空的代码和名称字段
- formData3.value.sczl_bh11 = row.员工编号;
- formData3.value.sczl_name11 = row.ygxm;
- llblModellist.value = false;
- llclickedlist.value = true;
- setTimeout(() => {
- llclickedlist.value = false;
- }, 300); // 300毫秒内再次点击将不会触发事件,你可以根据需要调整这个延迟时间
- };
- const blModel = ref(false)
- const employeeData = ref('')
- const getbzyg = async (value,key) => {
- let bzyg=''
- bzyg=`code${key}`
- let bzxm=''
- bzxm=`name${key}`
- console.log(formDatas.value[bzyg])
- const response = await getYg({sczl_bh:formDatas.value[bzyg]});
- console.log(response)
- if (response.code === 0) {
- if(response.data.length === 1){
- formDatas.value[bzxm]= response.data[0].ygxm
- formDatas.value[bzyg]= response.data[0].员工编号
- }else{
- blModel.value = true;
- console.log(response.data)
- employeeData.value = response.data // 假设响应数据是数组
- }
- }
- }
- const clicked = ref(false);
- const tablebllickHandler = async (row, column, event) => {
- if (clicked.value) {
- // 如果已经点击过一次,则不再执行操作
- return;
- }
- let nextIndex = 1;
- while (formDatas.value[`code${nextIndex}`] !== '' && formDatas.value[`name${nextIndex}`] !== '') {
- nextIndex++;
- if (nextIndex > 8) {
- // 如果所有字段都已经填满,则不做任何事情并退出函数
- return;
- }
- }
- // 将选定的值分配给下一个空的代码和名称字段
- formDatas.value[`code${nextIndex}`] = row.员工编号;
- formDatas.value[`name${nextIndex}`] = row.ygxm;
- blModel.value = false;
- clicked.value = true;
- setTimeout(() => {
- clicked.value = false;
- }, 300); // 300毫秒内再次点击将不会触发事件,你可以根据需要调整这个延迟时间
- };
- const getxunchayg = async (value) => {
- const response = await getYg({sczl_bh:xunchaData.value.sczl_bh});
- if (response.code === 0) {
- xunchaData.value.sczl_name=response.data[0].ygxm
- xunchaData.value.sczl_bh=response.data[0].员工编号
- }
- }
- const getlaliaoyg = async (value) => {
- const response = await getYg({sczl_bh:dbformData.value.sczl_bh11});
- if (response.code === 0) {
- dbformData.value.sczl_name11=response.data.ygxm
- }
- }
- //获取员工信息
- const GetYg = async (value,inputName) => {
- const response = await getYg({sczl_bh:value});
- if (response.code === 0) {
- let Bname = 'sczl_name' + inputName;
- let Bbh = 'sczl_bh' + inputName;
- console.log(Bbh)
- formData3.value[Bname]=response.data.ygxm
- formData3.value[Bbh]=response.data.员工编号
- }
- }
- // 验证规则
- const rule = reactive({})
- const searchRule = reactive({
- createdAt: [
- { validator: (rule, value, callback) => {
- if (searchInfo.value.startCreatedAt && !searchInfo.value.endCreatedAt) {
- callback(new Error('请填写结束日期'))
- } else if (!searchInfo.value.startCreatedAt && searchInfo.value.endCreatedAt) {
- callback(new Error('请填写开始日期'))
- } else if (searchInfo.value.startCreatedAt && searchInfo.value.endCreatedAt && (searchInfo.value.startCreatedAt.getTime() === searchInfo.value.endCreatedAt.getTime() || searchInfo.value.startCreatedAt.getTime() > searchInfo.value.endCreatedAt.getTime())) {
- callback(new Error('开始日期应当早于结束日期'))
- } else {
- callback()
- }
- }, trigger: 'change' }
- ],
- })
- const elFormRef = ref()
- const elSearchFormRef = ref()
- // =========== 表格控制部分 ===========
- const page = ref(1)
- const total = ref(0)
- const pageSize = ref(10)
- const tableData = ref([])
- const zhibiaoselectData=ref([])
- const yinbanVisible = ref(false)
- const huanxingType=ref(false)
- const huanxingStatus=ref(0)
- const yinbantreeData=ref([])
- const fujiaselectData=ref([])
- const searchInfo = ref({})
- const onHxadd = () => {
- huanxingstatus.value=true
- huanxingType.value=true
- huanxingStatus.value=1
- huanxingData.value.班组=''
- huanxingData.value.码包B=''
- huanxingData.value.工单编号A=''
- huanxingData.value.印件工序A=''
- huanxingData.value.码包号A=''
- huanxingData.value.工单编号B=''
- huanxingData.value.印件工序B=''
- huanxingData.value.机长=''
- huanxingData.value.班长=''
- huanxingData.value.质量巡查员=''
- huanxingData.value.印件名称A=''
- huanxingData.value.印件名称B=''
- huanxingData.value.项目1=false
- huanxingData.value.项目2=false
- huanxingData.value.项目3=false
- huanxingData.value.项目4=false
- huanxingData.value.项目5=false
- }
- const onHxedit = () => {
- huanxingType.value=true
- huanxingStatus.value=2
- }
- const onHxdel = () => {
- ElMessageBox.confirm('确定要删除吗?', '提示', {
- confirmButtonText: '确定',
- cancelButtonText: '取消',
- type: 'warning'
- }).then(() => {
- remodelDataDels()
- })
- }
- const remodelDataDels = async() => {
- const response = await remodelDataDel({
- UniqId:formData.value.huanxingId
- })
- if (response.code === 0) {
- ElMessage({
- type: 'success',
- message: '删除成功!'
- })
- huanxingtreeData.value=[]
- huanxingselectData.value=[]
- huanxingData.value={}
- formData.value.huanxingId=''
- huanxingstatus.value=false
- RemodelGetTab()
- }
- }
- const onHxsave = () => {
- if(huanxingData.value.项目1==true){
- huanxingData.value.项目1=1
- }else{
- huanxingData.value.项目1=0
- }
- if(huanxingData.value.项目2==true){
- huanxingData.value.项目2=1
- }else{
- huanxingData.value.项目2=0
- }
- if(huanxingData.value.项目3==true){
- huanxingData.value.项目3=1
- }else{
- huanxingData.value.项目3=0
- }
- if(huanxingData.value.项目4==true){
- huanxingData.value.项目4=1
- }else{
- huanxingData.value.项目4=0
- }
- if(huanxingData.value.项目5==true){
- huanxingData.value.项目5=1
- }else{
- huanxingData.value.项目5=0
- }
- if(huanxingStatus.value==1){
- remodelDataAdds()
- }
- if(huanxingStatus.value==2){
- remodelDataEdits()
- console.log(huanxingData)
- }
- huanxingType.value=false
- huanxingStatus.value=0
- }
- const remodelDataAdds = async() => {
- const response = await remodelDataAdd({
- 日期:huanxingData.value.日期,
- 班组:huanxingData.value.班组,
- 机台编号:huanxingData.value.机台编号,
- 工单编号A:huanxingData.value.工单编号A,
- 印件工序A:huanxingData.value.印件工序A,
- 码包号A:huanxingData.value.码包号A,
- 工单编号B:huanxingData.value.工单编号B,
- 印件工序B:huanxingData.value.印件工序B,
- 码包号B:huanxingData.value.码包B,
- 清场项目A:huanxingData.value.项目1,
- 清场项目B:huanxingData.value.项目2,
- 清场项目C:huanxingData.value.项目3,
- 清场项目D:huanxingData.value.项目4,
- 清场项目E:huanxingData.value.项目5,
- 机长:huanxingData.value.机长,
- 班长:huanxingData.value.班长,
- 质量巡查员:huanxingData.value.质量巡查员
- })
- if (response.code === 0) {
- ElMessage({
- type: 'success',
- message: '新增成功!'
- })
- RemodelGetTab()
- modelChangeRecord(JTMC)
- }
- }
- const remodelDataEdits = async() => {
- const response = await remodelDataEdit({
- 日期:huanxingData.value.日期,
- 班组:huanxingData.value.班组,
- 机台编号:huanxingData.value.机台编号,
- 工单编号A:huanxingData.value.工单编号A,
- 印件工序A:huanxingData.value.印件工序A,
- 码包号A:huanxingData.value.码包号A,
- 工单编号B:huanxingData.value.工单编号B,
- 印件工序B:huanxingData.value.印件工序B,
- 码包号B:huanxingData.value.码包B,
- 清场项目A:huanxingData.value.项目1,
- 清场项目B:huanxingData.value.项目2,
- 清场项目C:huanxingData.value.项目3,
- 清场项目D:huanxingData.value.项目4,
- 清场项目E:huanxingData.value.项目5,
- 机长:huanxingData.value.机长,
- 班长:huanxingData.value.班长,
- 质量巡查员:huanxingData.value.质量巡查员,
- UniqId:formData.value.huanxingId
- })
- if (response.code === 0) {
- ElMessage({
- type: 'success',
- message: '修改成功!'
- })
- }
- }
- // 重置
- const onReset = () => {
- searchInfo.value = {}
- getTableData()
- }
- // 搜索
- const onSubmit = () => {
- elSearchFormRef.value?.validate(async(valid) => {
- if (!valid) return
- page.value = 1
- pageSize.value = 10
- getTableData()
- })
- }
- // 分页
- const handleSizeChange = (val) => {
- pageSize.value = val
- getTableData()
- }
- // 修改页面容量
- const handleCurrentChange = (val) => {
- page.value = val
- getTableData()
- }
- const getTableData = async () => {
- const response = await facilityTab();
- if (response.code === 0 && response.data) {
- const workshops = response.data; // 车间数据
- // 在推送新项之前将 treeData 重置为空数组
- treeData.value = []; // 使用 .value 访问响应式引用的值
- for (const workshopName in workshops) {
- const workshopNode = {
- label: workshopName,
- children: [],
- level: 1 // 添加层级属性
- };
- const machines = workshops[workshopName]; // 车间下的机器
- for (const machineName in machines) {
- const machineNode = {
- label: machineName,
- children: [],
- level: 2, // 添加层级属性
- parentNode: workshopNode
- };
- // Now that machineNode is initialized, you can refer to it
- const childrenNodes = machines[machineName].map(dateTime => {
- const dateOnly = dateTime.split(' ')[0];
- return {
- label: dateOnly,
- level: 3, // 添加层级属性
- parentNode: machineNode
- };
- });
- // Assign the childrenNodes to the machineNode's children property
- machineNode.children = childrenNodes;
- // Finally, push the machineNode to the workshopNode's children array
- workshopNode.children.push(machineNode);
- }
- // 将 workshopNode 推送到响应式 treeData 数组
- treeData.value.push(workshopNode);
- }
- }
- };
- // 查询
- const getTableList = async() => {
- const table = await getCompanyList({ page: page.value, pageSize: pageSize.value, ...searchInfo.value })
- if (table.code === 0) {
- tableData.value = table.data.list
- total.value = table.data.total
- page.value = table.data.page
- pageSize.value = table.data.pageSize
- }
- }
- // getTableData()
- //删除
- function onDel() {
- }
- //完工按钮
- //完工1
- function onOver() {
- // console.log(wangongbh.value)
- // return;
- if(formData.value.工单编号 === '' || formData.value.工单编号 === null){
- ElMessage({type: 'warning', message: '请选择切换完工工单'})
- return false;
- }else{
- SetProcessStatus()
- FacilityProduction()
- }
- }
- //完工事件
- const SetProcessStatus = async () => {
- console.log(formData.value.工单编号);
- console.log(formData.value.印件号);
- console.log(formData.value.工序号);
- const response = await setProcessStatus({order:formData.value.工单编号,yjno:formData.value.印件号,gxh:formData.value.工序号});
- console.log(response)
- if (response.code === 0) {1
- FacilityProduction()
- }
- }
- import { nextTick } from 'vue';
- //设备点检
- function ondianjian() {
- getSpotCheckItem(JTMC).then(treeData => {
- if (treeData) {
- // 如果获取成功,treeData 就是我们需要的树形结构数据
- dianjiantreeData = treeData;
- console.log(dianjiantreeData);
- // 使用 nextTick 来确保在更新 dianjianVisible 后立即刷新视图
- nextTick(() => {
- dianjianVisible.value = true;
- });
- // 这里可以处理treeData,例如将其赋值给某个状态管理变量或者用于渲染界面
- } else {
- // 如果获取失败,则treeData为null
- console.log('获取巡检项目树形结构数据失败');
- }
- });
- }
- //机台印版领用->右侧详情
- const facilityPrintDetailItem = async (value) => {
- try {
- formData.value.code=value
- // 调用接口获取巡检项目数据
- const response = await facilityPrintDetail({ workOrder: formData.value.工单编号,code:value,productCode:formData.value.productCode });
- console.log("机台印版领用")
- // 检查接口返回的状态码
- if (response.code === 0) {
- console.log(response)
- yinbanselectData.value=response.data
- }
- } catch (error) {
- // 捕获并打印异常
- console.error("获取数据出错:" + error);
- return null;
- }
- };
- const yinbanNodeClick = (node, check, nodeData) => {
- if (node.children && node.children.length > 0) {
- // 点击的是父节点,且有子节点
- // 执行相应的父节点单击事件处理逻辑
- // 这里可以添加你想要的处理逻辑,比如展开/折叠节点等
- } else {
- // 点击的是子节点,或者没有子节点
- // 执行相应的子节点单击事件处理逻辑
- yinbanselectData.value=[]
- facilityPrintDetailItem(node.code)
- }
- };
- const onyinban = async() => {
- console.log(formData.value)
- if(formData.value.产品代号==''){
- ElMessage({
- type: 'warning',
- message: '该工单没有产品编号'
- })
- return false
- }
- const res = await facilityPrintGetTab({productCode:formData.value.产品代号})
- if(res.code===0){
- if(res.data==null){
- ElMessage({type: 'warning',message: '该产品没有印版资料'})
- return false
- }
- yinbantreeData.value=[{
- label:'产品印版库',
- children:res.data.map(item=>({
- label:item.印版分类,
- code:item.编号
- }))
- }]
- console.log(res.data.map(item=>({
- label:item.印版分类,
- code:item.编号
- })))
- yinbanVisible.value = true;
- }
- }
- const onYbout = async() => {
- yinbanSelection.value.map((item)=>{
- item.Yb_工单编号=formData.value.工单编号
- item.Yb_存货编码=item.存货编码
- item.Yb_供方批号=item.供方批号
- item.Yb_领用机台=JTMC
- item.Yb_印数=item.印数
- item.Sys_id=`[${formData.value.addr}/${JTMC}]`
- delete item.UniqId
- delete item.产品名称
- delete item.产品编号
- delete item.供方批号
- delete item.制造日期
- delete item.印数
- delete item.印版名称
- delete item.印版类别
- delete item.存货名称
- delete item.存货编码
- delete item.客户名称
- delete item.客户编号
- return item
- })
- console.log(yinbanSelection.value)
- if(yinbanSelection.value.length<1){
- ElMessage({type: 'error',message: '暂无印版数据 请确认!'})
- }else{
- const response = await PrintDetailAdd(yinbanSelection.value)
- if(response.code===0){
- facilityPrintDetailItem(formData.value.code)
- ElMessage({type: 'success', message: '成功!'})
- }
- }
- }
- const onYbback = async() => {
- const arr=[]
- yinbanSelection.value.map((item)=>{
- if(item.UniqId===null){
- }else{
- arr.push(item.UniqId)
- }
- })
- const response = await PrintDetailEdit({id:arr.join(',')})
- if(response.code===0){
- facilityPrintDetailItem(formData.value.code)
- ElMessage({type: 'success',message: '成功!'})
- }
- }
- const onzhicheng = async () => {
- zhichengstatus.value=false
- xunchaData.value=[]
- const response = await reportProduceInfo({machine:JTMC.split("#")[0]});
- if (response.code === 0) {
- xunchaData.value.order=response.data.order
- xunchaData.value.yjno=response.data.yjno
- xunchaData.value.product_name=response.data.product_name
- xunchaData.value.gxmc=response.data.gxmc
- xunchaData.value.lcdh=0
- xunchaData.value.sczl_bh=''
- xunchaData.value.sczl_name=''
- xunchaData.value.remark=''
- zhichengVisible.value = true;
- }
- }
- //班组产量提报 JP检品机单独页面
- const JPchanliangVisible = ref(false)
- const JPformdata = reactive({
- '工单编号':'',
- '产品名称':'',
- '印件号':'',
- '印件名称':'',
- '工序号':'',
- '工序名称':'',
- '日期':'',
- '流程标牌':'',
- '检验类别':'',
- '废品率系数':'',
- '计件箱数':'',
- '每箱数量':'',
- '换膜总工时':'',
- '通电工时':'',
- '定额代号':'',
- '组员1': {'编号': '','姓名': '','比例': '',},
- '组员2': {'编号': '','姓名': '','比例': '',},
- '组员3': {'编号': '','姓名': '','比例': '',},
- '组员4': {'编号': '','姓名': '','比例': '',},
- '组员5': {'编号': '','姓名': '','比例': '',},
- '组员6': {'编号': '','姓名': '','比例': '',},
- '组员7': {'编号': '','姓名': '','比例': '',},
- '组员8': {'编号': '','姓名': '','比例': '',},
- '组员9': {'编号': '','姓名': '','比例': '',},
- '组员10': {'编号': '','姓名': '','比例': '',}
- })
- //班组产量提报 JP检品机 班组产量提报确定
- const JPchanliangenterDialog = async() => {
- console.log(JPformdata)
- const JPformattedData = {
- sczl_jtbh:JTMC+'#',
- sczl_gdbh:JPformdata['工单编号'],
- sczl_yjno:JPformdata['印件号'],
- sczl_gxh:JPformdata['工序号'],
- sczl_gxmc:JPformdata['工序名称'],
- sczl_rq: JPformdata['日期'],
- sczl_num: JPformdata['流程标牌'],
- sczl_type: JPformdata['检验类别'],
- sczl_废品率系数: JPformdata['废品率系数'],
- sczl_cl: JPformdata['计件箱数'],
- sczl_Pgcl: JPformdata['每箱数量'],
- sczl_装版工时: JPformdata['换膜总工时'],
- sczl_设备运行工时: JPformdata['通电工时'],
- sczl_dedh: JPformdata['定额代号'],
- sczl_bzdh: JPformdata['bzdh'],
- sczl_bh1: JPformdata.组员1['编号'],
- sczl_bh2: JPformdata.组员2['编号'],
- sczl_bh3: JPformdata.组员3['编号'],
- sczl_bh4: JPformdata.组员4['编号'],
- sczl_bh5: JPformdata.组员5['编号'],
- sczl_bh6: JPformdata.组员6['编号'],
- sczl_bh7: JPformdata.组员7['编号'],
- sczl_bh8: JPformdata.组员8['编号'],
- sczl_bh9: JPformdata.组员9['编号'],
- sczl_bh10: JPformdata.组员10['编号'],
- sczl_bh98:'',
- sczl_rate1: JPformdata.组员1['比例'],
- sczl_rate2: JPformdata.组员2['比例'],
- sczl_rate3: JPformdata.组员3['比例'],
- sczl_rate4: JPformdata.组员4['比例'],
- sczl_rate5: JPformdata.组员5['比例'],
- sczl_rate6: JPformdata.组员6['比例'],
- sczl_rate7: JPformdata.组员7['比例'],
- sczl_rate8: JPformdata.组员8['比例'],
- sczl_rate9: JPformdata.组员9['比例'],
- sczl_rate10: JPformdata.组员10['比例'],
-
- }
- console.log(JPformattedData)
- // return false
- const JpUploade_edit = await JpUploade(JPformattedData);
- console.log(JpUploade_edit)
- if (JpUploade_edit.code === 0) {
- JPchanliangVisible.value = false
- ElMessage({type: 'success',message: '添加成功'})
- FacilityDetail()
- } else {
- ElMessage({type: 'error',message: '添加失败'})
- }
-
- }
- //印件选择
- const JPdialogSelectVisible_Yj = ref(false)
- const JPselectData_Yj = reactive([])
- // 处理选择框
- const JPhandleSelectClick_Yj = (row, column, event) => {
- const { yjno, yjmc, ls } = row
- JPformdata['印件号'] = yjno
- JPformdata['印件名称'] = yjmc
- JPdialogSelectVisible_Yj.value = false
- }
- const JPselect_Yj = (event) => {
- if (event.keyCode === 40) { // 向下箭头
- if (currentIndex.value < JPselectData_Yj.length - 1) {
- currentIndex.value++;
- JPsetCurrent_Yj(JPselectData_Yj[currentIndex.value]);
- } else {
- currentIndex.value = 0;
- JPsetCurrent_Yj(JPselectData_Yj[currentIndex.value]); // 到达最后一行时回到第一行
- }
- } else if (event.keyCode === 38) { // 向上箭头
- if (currentIndex.value > 0) {
- currentIndex.value--;
- JPsetCurrent_Yj(JPselectData_Yj[currentIndex.value]);
- } else {
- currentIndex.value = JPselectData_Yj.length - 1;
- JPsetCurrent_Yj(JPselectData_Yj[currentIndex.value]); // 到达第一行时回到最后一行
- }
- } else if (event.keyCode === 13) { // 回车键
- JPdialogSelectVisible_Yj.value = false;
- }
- }
- //工序选择
- const JPdialogSelectVisible_Gx = ref(false)
- const JPselectData_Gx = reactive([])
- const JPtable_Gx = ref()
- // 处理选择框
- const JPhandleSelectClick_Gx = (row, column, event) => {
- const { gxh, name, gxmc } = row
- JPformdata['工序号'] = gxh
- JPformdata['工序名称'] = name
- JPdialogSelectVisible_Gx.value = false
-
- }
-
- //班组产量提报 回车JPent
- const JPemployeeDatalist = ref('')
- const JPblModellist = ref(false)
- const JPdialogSelectVisible_LX = ref(false)
- const JPblplanUsageCellClass = ({row, column, rowIndex, columnIndex}) =>{
- if (column.property === '员工编号' || column.property === 'ygxm') {
- return 'plan-usage-low';
- }
- }
- const JPtableData = ref([
- { name: '废品版', type: '废品版' },
- { name: '正品版', type: '正品版' },
- ])
- const JPhandleRowClick = async (row) => {
- JPformdata['检验类别'] = row['name']
- JPdialogSelectVisible_LX.value = false
- }
- const JPent = async (event,key,val) => {
- if(event.keyCode === 13){
- //组员及比例分配
- if(event.keyCode === 13 && val === '1'){
- let bzyg=''
- bzyg=`组员${key}`
- let bzxm=''
- bzxm=`组员${key}`
- if(JPformdata[bzyg]['编号']){
- const getYg_response = await getYg({sczl_bh:JPformdata[bzyg]['编号']});
- // console.log(getYg_response)
- if (getYg_response.code === 0) {
- if(getYg_response.data.length === 1){
- JPformdata[bzyg]['姓名'] = getYg_response.data[0].ygxm
- JPformdata[bzyg]['编号'] = getYg_response.data[0].员工编号
- }else{
- JPblModellist.value = true;
- // console.log(getYg_response.data)
- JPemployeeDatalist.value = getYg_response.data // 假设响应数据是数组
- }
- }
- }
- }
- if(event.target.id === '检验类别'){
- JPdialogSelectVisible_LX.value = true
- }
- if(event.target.id === '印件号'){
- if(JPformdata['工单编号']!=''){
- //获取印件名称
- console.log(JPformdata['工单编号'])
- ChanliangPrintDetail({gdbh:JPformdata['工单编号']}).then(response=>{
- if (response.code === 0) {
- if(response.data){
- if(response.data.length==1){
- JPformdata['印件号'] = response.data[0].yjno
- JPformdata['印件名称'] = response.data[0].yjmc
- setColorReadonly('印件名称')
- }else{
- JPselectData_Yj.splice(0, JPselectData_Yj.length, ...response.data)
- JPdialogSelectVisible_Yj.value=true
- }
-
- }else{
- ElMessage({
- type: 'error',
- message: response.msg
- })
- }
- }
- });
- }else{
- ElMessage({
- type: 'error',
- message: '印件编号不存在, 将恢复默认值, 请仔细确认数据准确性!'
- })
- }
- }
- if(event.target.id === '工序号'){
- //弹出选择
- ChanliangProcessDetail({gdbh:JPformdata['工单编号'],yjno:JPformdata['印件号'],machine:''}).then(response=>{
- // console.log(response)
- if (response.code === 0) {
- if(response.data){
- if(response.data.length === 1){
- JPformdata['工序号']=response.data[0].gxh
- JPformdata['工序名称']=response.data[0].name
- }else{
- JPselectData_Gx.splice(0, JPselectData_Gx.length, ...response.data)
- JPdialogSelectVisible_Gx.value = true
- }
- }else{
- ElMessage({
- type: 'error',
- message: response.msg
- })
- }
- }
- })
- }
- }
-
- const inputs = document.getElementsByTagName('input');
- const currentIndex = Array.from(inputs).indexOf(event.target);
- if (event.keyCode === 13 || event.keyCode === 40) { // Enter 或向下箭头
- let nextIndex = currentIndex + 1;
- while (nextIndex < inputs.length) {
- if (inputs[nextIndex].disabled) {
- console.log("当前输入框为disabled,跳过");
- nextIndex++; // 跳过disabled的输入框
- continue;
- }
- if (!inputs[nextIndex].readOnly) {
- nextTick(() => {
- inputs[nextIndex].focus();
- inputs[nextIndex].select();
- });
- break;
- }
- nextIndex++;
- }
- }
- else if (event.keyCode === 38) { // 向上箭头
- for (let i = currentIndex - 1; i >= 0; i--) {
- if (!inputs[i].readOnly) {
- nextTick(()=>{
- inputs[i].focus();
- inputs[i].select();
- })
- break;
- }
- }
- } else if (event.keyCode === 8) { // 删除箭头
- if (event.target.selectionStart === 0) {
- for (let i = currentIndex - 1; i >= 0; i--) {
- if (!inputs[i].readOnly) {
- nextTick(()=>{
- inputs[i].focus();
- inputs[i].setSelectionRange(0, 0);
- })
- break;
- }
- }
- }
- } else if (event.keyCode === 37) { // 向左箭头
- if (event.target.selectionStart === 0) {
- for (let i = currentIndex - 1; i >= 0; i--) {
- if (!inputs[i].readOnly) {
- nextTick(()=>{
- inputs[i].focus();
- inputs[i].select();
- })
- break;
- }
- }
- }
- } else if (event.keyCode === 39) { // 向右箭头
- if (event.target.selectionStart === event.target.value.length) {
- for (let i = currentIndex + 1; i < inputs.length; i++) {
- if (!inputs[i].readOnly) {
- nextTick(()=>{
- inputs[i].focus();
- inputs[i].select();
- })
- break;
- }
- }
- }
- }
- }
-
- const JPclickedlist = ref(false);
- const JPtablebllickHandlerlist = async (row, column, event) => {
- if (JPclickedlist.value) {
- // 如果已经点击过一次,则不再执行操作
- return;
- }
- let nextIndex = 1;
- while (JPformdata[`组员${nextIndex}`]['编号'] !== '') {
- nextIndex++;
- if (nextIndex > 10) {
- // 如果所有字段都已经填满,则不做任何事情并退出函数
- return;
- }
- }
- // 将选定的值分配给下一个空的代码和名称字段
- JPformdata[`组员${nextIndex-1}`]['编号'] = row.员工编号;
- JPformdata[`组员${nextIndex-1}`]['姓名'] = row.ygxm;
- JPblModellist.value = false;
- JPclickedlist.value = true;
- setTimeout(() => {
- JPclickedlist.value = false;
- }, 300); // 300毫秒内再次点击将不会触发事件,你可以根据需要调整这个延迟时间
- };
- //班组产量提报 JP检品机 班组产量提报取消
- const JPcloseDialog = async() => {
- JPchanliangVisible.value = false
- }
- //日产量上报提交按钮默认开启
- const isSubmitting = ref(false)
- //日产量上报 按钮
- //班组产量提报 打开新增页面
- const onchanliang = async() => {
- // console.log(JTMC)
- //判断是否为JP 检品机器【是检品机独立页面】
- if (JTMC.startsWith('JP')) {
- // JP日产量上报开启
- JPchanliangVisible.value = true
- //获取当天日期接口
- getTimelistsss();
- //获取产量上报数据信息接口
- getMachineReportInfos();
- } else{
- //日产量上报弹窗开启
- isSubmitting.value = false
- ReportInfo();
- }
- }
- //班组产量提报 获取当天日期接口
- const getTimelistsss = async () => {
- const getTimelistss = await getTimelist();
- JPformdata['日期'] = getTimelistss.data.date
- }
- //班组产量提报 获取产量上报数据信息接口
- const getMachineReportInfos = async () => {
- const getMachineReportInfos = await reportInfo({machine:JTMC = JTMC.replace(/#/g, '')});
- console.log(getMachineReportInfos)
- JPformdata['bzdh'] = getMachineReportInfos.data.class.sczl_bzdh
- JPformdata['工单编号'] = getMachineReportInfos.data.order_info.order
- JPformdata['产品名称'] = getMachineReportInfos.data.order_info.product_name
- JPformdata['定额代号'] = getMachineReportInfos.data.order_info.dedh
-
-
- JPformdata['印件号'] = getMachineReportInfos.data.order_info.yjno
- JPformdata['印件名称'] = getMachineReportInfos.data.order_info.yj_name
- JPformdata['工序号'] = getMachineReportInfos.data.order_info.gxh
- JPformdata['工序名称'] = getMachineReportInfos.data.order_info.gy_name
- for (let i = 1; i <= 10; i++) {
- JPformdata[`组员${i}`]['编号'] = getMachineReportInfos.data.class[`sczl_bh${i}`];
- }
- for (let i = 1; i <= 10; i++) {
- JPformdata[`组员${i}`]['姓名'] = getMachineReportInfos.data.class[`sczl_name${i}`];
- }
- for (let i = 1; i <= 10; i++) {
- JPformdata[`组员${i}`]['比例'] = getMachineReportInfos.data.class[`sczl_rate${i}`];
- }
- }
- //日产量详情获取 日产量上报
- const ReportInfo = async () => {
- const getTimelistss = await getTimelist();
- console.log(getTimelistss)
- console.log("获取下机时间")
-
- // console.log(formData)
- // 获取当前日期
- // const today = new Date();
- // const year = today.getFullYear();
- // const month = String(today.getMonth() + 1).padStart(2, '0'); // 月份从 0 开始,需要补零
- // const day = String(today.getDate()).padStart(2, '0');
- // const hours = String(today.getHours()).padStart(2, '0');
- // const minutes = String(today.getMinutes()).padStart(2, '0');
- // const seconds = String(today.getSeconds()).padStart(2, '0');
- // const currentDate = `${year}-${month}-${day}`;
- // const currentTime = `${year}-${month}-${day} ${hours}:${minutes}`;
- // const currenttimes = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
-
- //4.1获取报工单其他信息接口
- const response = await reportInfo({ machine: JTMC.split("#")[0] });
- // console.log(response)
- // console.log("reportInfo_01")
-
- // 日产量上报上机时间
- if (response.code === 0) {
- const { order_info, class: classInfo } = response.data;
- const newData = {
- order: order_info.order,
- yjno: order_info.yjno,
- gxh: order_info.gxh,
- gxmc: order_info.gxmc,
- product_name: order_info.product_name,
- yj_name: order_info.yj_name,
- gy_name: order_info.gy_name,
- 日期:getTimelistss.data.date,
- 下机时间:getTimelistss.data.hours,
- 上机时间:formData.value.上机时间,
- 装版总时长:0,
- 定额代号:formData.value.定额代号,
- sczl_jtbh: JTMC.split("#")[0],
- sczl_bzdh: classInfo.sczl_bzdh,
- sys_id: classInfo.sys_id,
- sys_rq: classInfo.sys_rq,
- mod_rq: classInfo.mod_rq,
- UniqId: classInfo.UniqId,
- sczl_bh1: classInfo.sczl_bh1,
- sczl_bh2: classInfo.sczl_bh2,
- sczl_bh3: classInfo.sczl_bh3,
- sczl_bh4: classInfo.sczl_bh4,
- sczl_bh5: classInfo.sczl_bh5,
- sczl_bh6: classInfo.sczl_bh6,
- sczl_bh7: classInfo.sczl_bh7,
- sczl_bh8: classInfo.sczl_bh8,
- sczl_bh9: classInfo.sczl_bh9,
- sczl_bh10: classInfo.sczl_bh10,
- sczl_name1: classInfo.sczl_name1,
- sczl_name2: classInfo.sczl_name2,
- sczl_name3: classInfo.sczl_name3,
- sczl_name4: classInfo.sczl_name4,
- sczl_name5: classInfo.sczl_name5,
- sczl_name6: classInfo.sczl_name6,
- sczl_name7: classInfo.sczl_name7,
- sczl_name8: classInfo.sczl_name8,
- sczl_name9: classInfo.sczl_name9,
- sczl_name10: classInfo.sczl_name10,
- sczl_rate1: classInfo.sczl_rate1,
- sczl_rate2: classInfo.sczl_rate2,
- sczl_rate3: classInfo.sczl_rate3,
- sczl_rate4: classInfo.sczl_rate4,
- sczl_rate5: classInfo.sczl_rate5,
- sczl_rate6: classInfo.sczl_rate6,
- sczl_rate7: classInfo.sczl_rate7,
- sczl_rate8: classInfo.sczl_rate8,
- sczl_rate9: classInfo.sczl_rate9,
- sczl_rate10: classInfo.sczl_rate10,
- Gy0_ms:order_info.Gy0_ms,
- Gy0_ls:order_info.Gy0_ls,
- };
- formData3.value = { ...formData3.value, ...newData };
- formData3.value.流程标牌 = ''
- chanliangselectData.splice(0, chanliangselectData.length, ...response.data.bom)
- chanliangVisible.value = true
- }
- }
- //日产量上报提交按钮
- const chanliangenterDialog = async () => {
- SubmitDailyProduction()
- isSubmitting.value = false
- }
- const bzchanliangenterDialog = async () => {
- chanliangEdits()
- }
- //日报表上传
- const SubmitDailyProduction = async () => {
- const restoredData = {
- sczl_gdbh:formData3.value.order,
- sczl_yjno:formData3.value.yjno,
- sczl_gxh:formData3.value.gxh,
- sczl_gxmc: formData3.value.gxmc,
- sczl_bzdh: formData3.value.sczl_bzdh,
- sczl_bh1: formData3.value.sczl_bh1,
- sczl_bh2: formData3.value.sczl_bh2,
- sczl_bh3: formData3.value.sczl_bh3,
- sczl_bh4: formData3.value.sczl_bh4,
- sczl_bh5: formData3.value.sczl_bh5,
- sczl_bh6: formData3.value.sczl_bh6,
- sczl_bh7: formData3.value.sczl_bh7,
- sczl_bh8: formData3.value.sczl_bh8,
- sczl_bh9: formData3.value.sczl_bh9,
- sczl_bh10: formData3.value.sczl_bh10,
- sczl_bh98:formData3.value.sczl_bh11,
- sczl_rate1: formData3.value.sczl_rate1,
- sczl_rate2: formData3.value.sczl_rate2,
- sczl_rate3: formData3.value.sczl_rate3,
- sczl_rate4: formData3.value.sczl_rate4,
- sczl_rate5: formData3.value.sczl_rate5,
- sczl_rate6: formData3.value.sczl_rate6,
- sczl_rate7: formData3.value.sczl_rate7,
- sczl_rate8: formData3.value.sczl_rate8,
- sczl_rate9: formData3.value.sczl_rate9,
- sczl_rate10: formData3.value.sczl_rate10,
- sczl_jtbh: formData3.value.sczl_jtbh,
- sczl_rq: formData3.value.日期,
- sczl_num: formData3.value.流程标牌,
- sczl_sj1: formData3.value.上机时间,
- sczl_sj2: formData3.value.下机时间,
- sczl_cl: formData3.value.产量,
- sczl_zcfp: formData3.value.制程废品,
- sczl_zccp: formData3.value.制程次品,
- last_fp: formData3.value.前工序废,
- less_sl: formData3.value.来料异常,
- sczl_ls: formData3.value.Gy0_ls,
- sczl_ms: formData3.value.Gy0_ms,
- zb_time: formData3.value.装版总时长,
- dy_time: formData3.value.打样总工时,
- run_time: formData3.value.通电工时,
- sczl_dedh: formData3.value.定额代号,
- code: formData3.value.码包,
- main_meter: formData3.value.主电表,
- auxiliary_meter: formData3.value.辅电表,
- bom: formData3.value.formattedArray
- }
- console.log(restoredData)
- //4.2日产量上报 添加
- const response = await submitDailyProduction(restoredData);
- console.log(response)
- if (response.code === 0) {
- FacilityDetail()
- isSubmitting.value = true
- chanliangVisible.value = false
- ElMessage({type: 'success',message: '成功'})
- }
- }
- const chanliangselectData = reactive([])
- const chanliangVisible = ref(false)
- const bzchanliangVisible = ref(false)
- const huanxingVisible = ref(false)
- const xunchaVisible = ref(false)
- //客诉记录
- const complaintsShow = ref(false)
- const complaintsData = ref([])
- function oncomplaints() {
- Complaints()
- }
- const multipleTable = ref(null)
- const dbclSelection = ref('')
- //当班产量明细复选框
- const dbclmxSelectionChange = (selection, type) => {
- console.log(selection);
- // 如果选择项多于一个,弹出提示并撤销选择
- if (selection.length > 1) {
- ElMessage({type: 'warning',message: '您只能选择一条进行删除!'})
- // 重置选择项
- dbclSelection.value = ''; // 清空之前的选择
- selection.splice(0, selection.length); // 清空当前选择数组
- return false;
- }else{
- const ids = selection.map(item => item.UniqId);
- dbclSelection.value = ids.join(',');
- console.log(dbclSelection.value)
- }
- }
- //当班产量明细删除按钮
- const deldbcl_onclick = async () => {
- // console.log(dbclSelection.value)
- // return false;
- if (dbclSelection.value !== '') {
- try {
- //产量上报数据删除
- const res1 = await ChanliangDel({UniqId: dbclSelection.value})
- if(res1.code === 0){
- ElMessage.success(dbclSelection.value+'当班产量明细删除成功')
- dbclSelection.value = ''; // 清空当前选择记录
- CLMXData.value = []; // 清空表格数据
- // 清除表格选择
- if (multipleTable.value) {
- multipleTable.value.clearSelection();
- }
- //当班产量明细 显示最新数据
- const response = await facilityDetail({ machine: JTMC, Gd_gdbh: formData.value.工单编号, team: BZMC.value });
- console.log(response);
- // if (response.code === 0) {
- // }
- if (response.data === null) {
- CLMXData.splice(0, CLMXData.length, ...Object.values([]));
- return false;
- }else{
- CLMXData.splice(0, CLMXData.length, ...Object.values(response.data));
- formData.value.production_now=response.data[0].产量
- formData.value.production_all=response.data.total.产量
- return false;
- }
- }
- } catch(err) {
- ElMessage.error(err)
- }
- }
- }
- // 客诉记录表格填充
- const Complaints = async() => {
- complaintsData.value=[]
- selectedRowData.value={}
- const res = await ComplaintRecord({productCode :formData.value.productCode})
- if (res.msg === '成功') {
- complaintsData.value=res.data;
- selectedRowData.value=complaintsData.value[0]
- complaintsShow.value=true
- }else{
- ElMessage({type: 'success',message: '未找到该产品客诉记录!'})
- }
- }
- const selectedRowData = ref({
- })
- //客诉表格单击
- const complaintshandle = (val, row) => {
- selectedRowData.value=val
- };
- //设置机台状态
- function onstatus() {
- FacilityProduction().then(()=>{
- dialogSbyxgl.value=true
- })
- // SetMachineStatus()
- // ReportProduceInfo()
- }
- function onClear() {
- huanxingtreeData.value=[]
- huanxingselectData.value=[]
- huanxingData.value={}
- huanxingstatus.value=false
- huanxingVisible.value=true
- RemodelGetTab()
- }
- const gzSelVisible = ref(false)
- const gz_tableData = reactive([])
- const gz_tableData2 = reactive([])
- let gz_bzbh = [];
- const tableCols1 = [
- { label: '员工编号', prop: 'bh', width: '105' },
- { label: '员工姓名', prop: '员工姓名', width: '105' },
- { label: '日期', prop: 'sczl_rq', width: '120' },
- { label: '计件工资', prop: '计件工资', width: '105' },
- { label: '加班工资', prop: '加班工资', width: '105' },
- { label: '计时时数', prop: '计时时数', width: '105' },
- { label: '计时工资', prop: '计时工资', width: '135' },
- { label: '日工资合计', prop: '日工资合计', width: '135' },
- ]
- const tableCols2 = [
- { label: '日期', prop: 'sczl_rq', width: '100' },
- { label: '工单编号', prop: 'sczl_gdbh', width: '105' },
- { label: '产品名称', prop: 'Gd_cpmc', width: '120' },
- { label: '印件及工序', prop: 'sczl_type', width: '120' },
- { label: '机台', prop: 'sczl_jtbh', width: '87' },
- { label: '车头产量', prop: '班组车头产量', width: '105' },
- { label: '计件产量', prop: '计件产量', width: '105' },
- { label: '补产产量', prop: '补产产量', width: '105' },
- { label: '核算产量', prop: '核算产量', width: '105' },
- { label: '达标定额', prop: '达标定额', width: '105' },
- { label: '千件工价', prop: '千件工价', width: '105' },
- { label: '计件工资', prop: '个人计件工资', width: '105' },
- { label: '加班工资', prop: '个人加班工资', width: '105' },
- { label: '装版工时', prop: '装版工时', width: '120' },
- { label: '保养工时', prop: '保养工时', width: '105' },
- { label: '打样工时', prop: '打样工时', width: '105' },
- { label: '异常停机', prop: '异常停机工时', width: '105' },
- { label: '补产标准', prop: '补产标准', width: '120' },
- { label: '分摊比例', prop: 'Rate', width: '105' },
- ]
- //员工工资查询
- const gzSel = () =>{
- if(formData.value.班组成员.length==0){
- ElMessage({ type: 'warning', message: '未获取到员工' });
- return
- }
- for (let index in formData.value.班组成员) {
- gz_bzbh[index] = formData.value.班组成员[index]['编号']
- }
- gzSelVisible.value=true
- }
- // 查询
- const gz_ontable = (ygbh) => {
- // 创建一个Date对象
- var currentDate = new Date();
- // 获取年份
- var year = currentDate.getFullYear();
- // 获取月份(注意,月份从0开始,所以需要加1)
- var month = currentDate.getMonth() + 1;
- if (month < 10) {
- month = "0" + month;
- }
- var date = year+ "" +month
- const response = dailysearch({date: date, search: ygbh}).then(response=>{
- if (response.code === 0) {
- const originalData = response.data;
- const summaryData = generateSummaryData(originalData);
- // 将合计数据插入到原始数据中
- const combinedData = [];
- originalData.forEach((item, index) => {
- combinedData.push(item);
- const nextItem = originalData[index + 1];
- if (nextItem==undefined) {
- // 如果下一个员工姓名与当前不同,插入合计数据
- const currentSummary = summaryData.shift();
- combinedData.push(currentSummary);
- }
- });
- // 更新表格数据
- gz_tableData.splice(0, gz_tableData.length, ...combinedData);
- }
- });
- dailygetGzByYgbh({date:date,code:ygbh}).then(response=>{
- if(response.code==0){
- gz_tableData2.splice(0, gz_tableData2.length, ...response.data);
- }
- })
- }
- const generateSummaryData = (data) => {
- const summaryData = [];
- let currentName = null;
- let currentSummary = null;
- data.forEach((item) => {
- const name = item['员工姓名'].trim(); // 获取员工姓名并去除空格
- if (name !== currentName) {
- // 如果员工姓名发生改变,说明需要插入合计数据
- if (currentSummary) {
- // 将上一个员工的合计数据插入到数组中
- summaryData.push(currentSummary);
- }
- // 创建新的合计数据
- currentSummary = {
- '员工姓名': name,
- '日期': 0,
- '计件工资': 0,
- '加班工资': 0,
- '计时时数': 0,
- '计时工资': 0,
- '日工资合计': 0
- };
- currentName = name;
- }
- // 更新合计数据
- currentSummary['日期']++;
- currentSummary['计件工资'] += parseFloat(item['计件工资']);
- currentSummary['加班工资'] += parseFloat(item['加班工资']);
- currentSummary['计时时数'] += parseFloat(item['计时时数']);
- currentSummary['计时工资'] += parseFloat(item['计时工资']);
- currentSummary['日工资合计'] += parseFloat(item['日工资合计']);
- currentSummary['员工姓名']='合计('+currentSummary['日期']+'天)';
- });
- // 将最后一个员工的合计数据插入到数组中
- if (currentSummary) {
- summaryData.push(currentSummary);
- }
- // 将日期填充到表格中
- summaryData.forEach((summary) => {
- summary['计件工资'] = summary['计件工资'].toFixed(2); // 保留两位小数
- summary['加班工资'] = summary['加班工资'].toFixed(2);
- summary['计时时数'] = summary['计时时数'].toFixed(2);
- summary['计时工资'] = summary['计时工资'].toFixed(2);
- summary['日工资合计'] = summary['日工资合计'].toFixed(2);
- });
- return summaryData;
- };
- const RemodelGetTab = async() => {
- const response = await remodelGetTab()
- let arr=[]
- if (response.code === 0) {
- huanxingtreeData.value=[{label:JTMC,children:response.data[JTMC].map(item=>({
- label:item,
- machine:JTMC
- }))}]
- }
- }
- //提交巡查记录
- function onxuncha() {
- xunchaData.value=[]
- ReportProduceInfo()
- }
- //巡检弹窗确定
- const xunchaDialog = async () => {
- SubmitPatrolRecord()
- }
- const closexunchaDialog = async () => {
- xunchaVisible.value=false
- }
- const dianjianDialog = async () => {
- dianjianselectData.splice(0, dianjianselectData.length, ...dianjianselectData.map(item=>{
- if(item.zc==true){
- item.status='正常'
- }
- if(item.yc==true){
- item.status='异常'
- }
- if(item.notjc==true){
- item.status='不检测'
- }
- item.itemName=item.检验项目
- item.method=item.点检方法
- item.standard=item.判定标准
- delete item.notjc
- delete item.zc
- delete item.yc
- delete item.检验项目
- delete item.点检方法
- delete item.判定标准
- return item
- }))
- const response = await InspectionItemAdd(dianjianselectData);
- if (response.code === 0) {
- ElMessage({type: 'success',message: '成功'})
- dianjianVisible.value=false
- }
- }
- //制程检验记录提交按钮
- const zhichengDialog = async () => {
- // console.log(fujiaselectData.value)
- let arr =[]
- zhibiaoselectData.value.map(item=>{
- if(item.zc==true){
- item.result='合格'
- item.item=item.检验项目
- item.instrument=item.检测方法
- item.standard=item.相关标准
- delete item.notjc
- delete item.zc
- delete item.yc
- delete item.检验项目
- delete item.检测方法
- delete item.相关标准
- delete item.检验频率
- arr.push(item)
- return item
- }
- if(item.yc==true){
- item.result='不合格'
- item.item=item.检验项目
- item.instrument=item.检测方法
- item.standard=item.相关标准
- delete item.notjc
- delete item.zc
- delete item.yc
- delete item.检验项目
- delete item.检测方法
- delete item.相关标准
- delete item.检验频率
- arr.push(item)
- return item
- }
- if(item.notjc==true){
- item.result='不检测'
- item.item=item.检验项目
- item.instrument=item.检测方法
- item.standard=''
- delete item.notjc
- delete item.zc
- delete item.yc
- delete item.检验项目
- delete item.检测方法
- delete item.相关标准
- delete item.检验频率
- // arr.push(item)
- return item
- }
- })
- console.log(fujiaselectData.value)
-
- let arrs=[]
- let fujiastatus=0
- fujiaselectData.value.map(item=>{
- if(item.notjc==true){
- return item
- }else{
- fujiastatus=1
- item.remark=item.缺陷备注
- delete item.notjc
- delete item.缺陷备注
- delete item.编号
- arrs.push(item)
- return item
- }
- })
- console.log(arrs)
- if(fujiastatus==1){
- const responses = await AdditionalInspectionRecordAdd(arrs);
- fujiastatus=0
- }
-
- // 使用filter方法过滤掉所有result为"不检测"的对象
- const filteredData = zhibiaoselectData.value.filter(item => item.selected !== "不检测");
- console.log(filteredData);
- const response = await ProcessInspectionRecordsItemAdd(filteredData);
- if (response.code === 0) {
- ElMessage({type: 'success',message: '成功'})
- InspectionRecord()
- zhichengVisible.value=false
- zhibiaoselectData.value=[]
- fujiaselectData.value=[]
- }
- }
- const closedianjianDialog = async () => {
- dianjianVisible.value=false
- }
- const closezhichengDialog = async () => {
- zhichengVisible.value=false
- }
- //获取机台生产信息
- const ReportProduceInfo = async (value,inputName) => {
- const response = await reportProduceInfo({machine:JTMC.split("#")[0]});
- if (response.code === 0) {
- xunchaData.value.order=response.data.order
- xunchaData.value.yjno=response.data.yjno
- xunchaData.value.product_name=response.data.product_name
- xunchaData.value.gxmc=response.data.gxmc
- xunchaData.value.lcdh=0
- xunchaData.value.sczl_bh=''
- xunchaData.value.sczl_name=''
- xunchaData.value.remark=''
- FieldInspectionRecord()
- xunchaVisible.value=true
- }
- }
- // 假设 xunchaselectData 是一个 ref 对象
- const xunchaselectData = ref([]);
- const xunchaData = ref([]);
- // 在 FieldInspectionRecord 方法中填充数据
- const FieldInspectionRecord = async () => {
- const response = await fieldInspectionRecord({ workOrder: xunchaData.value.order, team: BZMC.value});
- console.log(response);
- if (response.code === 0) {
- xunchaselectData.value = response.data;
- }
- }
- //获取机台编号
- const GetMachineMac = async (addr) => {
- console.log(addr);
- const response = await getMachineMac({ addr: addr });
- if (response.code === 0) {
- if(response.data===null){
- // JTMC = 'JY01#';
- // CJMC='胶印车间';
- // FacilityProduction(addr);
- ElMessage({
- type: 'error',
- message: '未获取到机台编号请确认MAC地址或与管理员联系'
- })
- }else{
- // 将接口返回的数据添加到树型结构中
- let newNode = {
- label: response.data["使用部门"],
- level: 1,
- children: [
- {
- label: response.data["设备编号"],
- level: 2,
- }
- ]
- };
- treeData.value.push(newNode);
- CJMC=newNode.label
- JTMC = newNode.children[0].label;
- formData.value.机台号=JTMC
- // console.log('【'+MAC.value+'/'+JTMC+'】')
- FacilityProduction(addr);
- }
- }
- }
- const MAC=ref()
- const GetAddr = () => {
- var xmlhttp = null;
- var res;
- if (window.XMLHttpRequest) {
- xmlhttp = new XMLHttpRequest();
- } else if (window.ActiveXObject) {
- xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
- }
- // 2. 设置回调函数
- xmlhttp.onreadystatechange = function() {
- if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
- res = eval('('+xmlhttp.response+')');
- let result = ''
- for (let i = 0; i < res.macAddress.length; i++) {
- if (i % 2 === 0 && i !== 0) {
- result += '-' // 根据实际需求修改分隔符
- }
- result += res.macAddress[i]
- }
- MAC.value=result
- GetMachineMac(result)
- }
- }
- // 3. 打开一个连接http://10.10.4.42/
- xmlhttp.open("get", "http://127.0.0.1:8090/init")
- // 5. 发送
- xmlhttp.send();
- }
- GetAddr()
- //提交巡查记录
- const SubmitPatrolRecord = async () => {
- console.log(JTMC.split("#")[0])
- const response = await submitPatrolRecord({
- type:'现场巡查记录',
- machine:JTMC.split("#")[0],
- order:xunchaData.value.order,
- yjno:xunchaData.value.yjno,
- process:xunchaData.value.lcdh,
- no:xunchaData.value.sczl_bh,
- name:xunchaData.value.sczl_name,
- remark:xunchaData.value.remark,
- });
- console.log(response)
- if (response.code === 0) {
- ElMessage({
- type: 'success',
- message: '成功'
- })
- xunchaVisible.value=false
- }
- }
- // let formattedArray
- // 产量单选
- const chanliangSelectionChange = (val) => {
- // if(val.length>0){
- // multipleSelection.value = val
- // const lenth=val.length
- // lastCellValue=val[lenth-1].UniqId
- // console.log(val)
- // val.splice(0, val.length); // 清空 val 数组
- // console.log(lastCellValue)
- // }
- const selectedItems =val
- // 存储batch和st_wlbh的数组
- formData3.value.formattedArray = selectedItems.map(item => `${item.batch}-${item.st_wlbh}`).join(',');
- console.log(formData3.value.formattedArray);
- // console.log(selectedItems)
- }
- const handleybSelectionChange = (val) => {
- yinbanSelection.value = []
- if(val.length>0){
- yinbanSelection.value = val
- }
- }
- //获取设备点检->检验项目
- const FacilityInspectionItem = async (value) => {
- try {
- // 调用接口获取巡检项目数据
- const response = await facilityInspectionItem({ unitName: value ,machine:JTMC.split("#")[0]});
- // 检查接口返回的状态码
- if (response.code === 0) {
- console.log(response)
- dianjianselectData.splice(0, dianjianselectData.length, ...response.data.map(item=>{
- item.notjc=true;
- item.zc=false;
- item.yc=false;
- item.remark=''
- item.unitName=value
- item.team=BZMC.value
- item.machine=JTMC
- return item
- }))
- }
- } catch (error) {
- // 捕获并打印异常
- console.error("获取巡检项目数据出错:" + error);
- return null;
- }
- };
- //树形结构单机
- const dianjianselectData = reactive([])
- const dianjianNodeClick = (node, check, nodeData) => {
- // console.log('111')
- if (node.children && node.children.length > 0) {
- // 点击的是父节点,且有子节点
- // 执行相应的父节点单击事件处理逻辑
- // 这里可以添加你想要的处理逻辑,比如展开/折叠节点等
- } else {
- // 点击的是子节点,或者没有子节点
- // 执行相应的子节点单击事件处理逻辑
- FacilityInspectionItem(node.label)
- }
- };
- const category =ref()
- const zhichengNodeClick = (node, check) => {
- if(node.label){
- zhichengstatus.value=true
- category.value=node.label
- processInspectionRecordsItem()
- }
- };
- const processInspectionRecordsItem = async (value) => {
- const response = await ProcessInspectionRecordsItem({ process: xunchaData.value.gxmc });
-
- if (response.code === 0) {
- zhibiaoselectData.value=response.data.首件.指标检验.map(item=>{
- item.notjc=true;
- item.zc=false;
- item.yc=false;
- item.remark=''
- item.category=category.value
- item.workOrder=xunchaData.value.order
- item.yjno=xunchaData.value.yjno
- item.flow=xunchaData.value.lcdh
- item.team=BZMC.value
- item.machine=JTMC.split("#")[0]
- item.selected = '不检测';
- return item
- })
- fujiaselectData.value=response.data.首件.附加.map(item=>{
- item.notjc=true;
- item.workOrder=xunchaData.value.order
- item.yjno=xunchaData.value.yjno
- item.flow=xunchaData.value.lcdh
- item.machine=JTMC.split("#")[0]
- return item
- })
- }
- };
- const notjcClick = (val) => {
- try {
- if(val.notjc==false){
- val.zc=false
- val.yc==false
- }else{
- val.zc=true
- val.yc==false
- }
- } catch (error) {
- console.error('An error occurred:', error);
- }
- };
- const zcClick = (val) => {
- try {
- if(val.notjc==false){
- if(val.zc==false){
- val.yc=false
- }else{
- val.yc==true
- }
- }{
- val.zc=true
- }
- } catch (error) {
- console.error('An error occurred:', error);
- }
- };
- const ycClick = (val) => {
- try {
- if(val.notjc==false){
- if(val.yc==false){
- val.zc=false
- }else{
- val.zc=true
- }
- }else{
- val.yc=true
- }
- } catch (error) {
- console.error('An error occurred:', error);
- }
- };
- let pandingfangfa=ref()
- //检验项目单击
- const dianjianhandle = async (val, row) => {
- try {
- console.log(val.判定标准);
- pandingfangfa.value = val.判定标准;
- } catch (error) {
- console.error('An error occurred:', error);
- }
- };
- const rowClassName = (row, column) => {
- try {
- if (row.unchecked) {
- return 'row-yellow';
- }
- return '';
- } catch (error) {
- console.error('An error occurred:', error);
- return '';
- }
- };
- //点击label获取表格数据
- function duohandleClick(table) {
- console.log(table.props.label)
- if(table.props.label === '设备作业清单'){
- FacilityWorklist();
- }
- if(table.props.label === '班组人员及分配比例'){
- FacilityTeam(JTMC)
- }
- if(table.props.label=='当班产量明细'){
- FacilityDetail()
- zdtreeType.value=true
- }else{
- zdtreeType.value=false
- }
- if(table.props.label === '检验记录'){
- InspectionRecord()
- }
- }
- // 异步函数,用于获取指定设备的巡检项目,并且将结果格式化为树形结构数据
- const getSpotCheckItem = async (machineName) => {
- try {
- // 调用接口获取巡检项目数据
- const response = await facilitySpotCheckItem({ machine: machineName });
- // 检查接口返回的状态码
- if (response.code === 0) {
- // 构建树形结构数据
- const childrenData = Object.entries(response.data).map(([id, label]) => {
- return {
- id, // 子节点的唯一标识
- label, // 子节点的标签
- children: [] // 初始化子节点数组
- };
- });
- // 创建包含父节点的树形结构数据
- const treeData = [{
- id: machineName, // 父节点的唯一标识
- label: machineName, // 父节点的标签
- children: childrenData // 子节点数据
- }];
- // 返回构建好的树形结构数据
- return treeData;
- } else {
- // 如果接口返回的状态码不是0,打印错误信息
- console.error("接口返回错误:" + response.msg);
- return null;
- }
- } catch (error) {
- // 捕获并打印异常
- console.error("获取巡检项目数据出错:" + error);
- return null;
- }
- };
- // 班组人员及分配比例
- const FacilityTeam = async (value) => {
- console.log('班组人员及分配比例:'+value)
- if (!value.endsWith('#')) {
- value += '#';
- }
- const response = await facilityTeam({ machine: value });
- if (response.code === 0) {
- // 清空 bzData 数组
- bzData.splice(0, bzData.length);
- response.data.map(item=>{
- if(formData.value['班组Id']==item.ID){
- currentBz.value=item
- formDatas.value = {};
- let sczl_bhkey = ''
- let sczl_namekey = ''
- let percentagekey = ''
- if (currentBz.value[9]) {
- for (let i = 1; i <= 10; i++) {
- sczl_bhkey = `code${i}`
- sczl_namekey = `name${i}`
- percentagekey = `percentage${i}`
- formDatas.value[sczl_bhkey] = '';
- formDatas.value[sczl_namekey] = '';
- formDatas.value[percentagekey] = '';
- }
- formDatas.value.code8 = currentBz.value[9].split(' ')[0];
- formDatas.value.name8 = currentBz.value[9].split(' ')[1]
- formDatas.value.percentage8 = parseFloat(currentBz.value[9].split(' ')[2].split('(')[1].split(')')[0])/100
- for (let i = 1; i <= Math.min(Object.keys(currentBz.value).length - 4, 6); i++) {
- sczl_bhkey = `code${i}`
- sczl_namekey = `name${i}`
- percentagekey = `percentage${i}`
- formDatas.value[sczl_bhkey] = currentBz.value[i - 1].split(' ')[0];
- formDatas.value[sczl_namekey] = currentBz.value[i - 1].split(' ')[1];
- if(isNaN(parseFloat(currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0]))){
- formDatas.value[percentagekey] = currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0];
- }else{
- formDatas.value[percentagekey] = parseFloat(currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0])/100;
- }
- }
- } else {
- for (let i = 1; i <= 10; i++) {
- sczl_bhkey = `code${i}`
- sczl_namekey = `name${i}`
- percentagekey = `percentage${i}`
- formDatas.value[sczl_bhkey] = '';
- formDatas.value[sczl_namekey] = '';
- formDatas.value[percentagekey] = '';
- }
- for (let i = 1; i <= Math.min(Object.keys(currentBz.value).length - 3, 6); i++) {
- sczl_bhkey = `code${i}`
- sczl_namekey = `name${i}`
- percentagekey = `percentage${i}`
- formDatas.value[sczl_bhkey] = currentBz.value[i - 1].split(' ')[0];
- formDatas.value[sczl_namekey] = currentBz.value[i - 1].split(' ')[1];
- if(isNaN(parseFloat(currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0]))){
- formDatas.value[percentagekey] = currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0];
- }else{
- formDatas.value[percentagekey] = parseFloat(currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0])/100;
- }
- }
- }
- // console.log(formDatas)
- }
- })
- // 遍历接口返回的数据,并给每个对象添加 JTMC 属性
- const updatedData = response.data.map(item => {
- return { ...item, JTMC: value }; // 添加 JTMC 属性
- });
- FPData.splice(0, FPData.length, ...updatedData)
- // 将更新后的数据添加到 bzData 数组
- bzData.push(...updatedData);
- }
- };
- //班组维护
- function onBZ() {
- FacilityTeam(JTMC)
- fetchData()
- detailShow.value=true
- }
- // 下拉框选项数据
- const dropdownOptions = ref([]);
- // 选中的选项
- const selectedOption = ref('');
- // 获取接口数据并转换为下拉框需要的格式
- const fetchData = async () => {
- try {
- // Simulate API call
- const response = await facilityMachineList();
- if (response.code === 0) {
- // Transform data format
- const options = response.data.map((item) => ({
- label: item,
- value: item
- }));
- dropdownOptions.value = options;
- // Default to selecting the first option
- const defaultOption = options.find(option => option.value.split('|')[0] === JTMC);
- if (defaultOption) {
- selectedOption.value = defaultOption.value;
- } else if (options.length > 0) {
- // 如果 myDefaultValue 不在选项中,选择第一个选项
- selectedOption.value = options[0].value;
- }
- }
- } catch (error) {
- console.error('Error fetching data:', error);
- // Handle the error appropriately
- }
- };
- // formData
- let BZMC=ref()
- let lastCellValue=ref()
- let parts =reactive([])
- const formData3= ref({
- order:'',
- yjno:'',
- gxh:'',
- gxmc:'',
- product_name:'',
- yj_name:'',
- gy_name:'',
- sczl_jtbh:'',
- sczl_bzdh:'',
- sys_id:'',
- sys_rq:'',
- mod_rq:'',
- UniqId:'',
- sczl_bh1:'',
- sczl_bh2:'',
- sczl_bh3:'',
- sczl_bh4:'',
- sczl_bh5:'',
- sczl_bh6:'',
- sczl_bh7:'',
- sczl_bh8:'',
- sczl_bh9:'',
- sczl_bh10:'',
- sczl_bh11:'',
- sczl_name1:'',
- sczl_name2:'',
- sczl_name3:'',
- sczl_name4:'',
- sczl_name5:'',
- sczl_name6:'',
- sczl_name7:'',
- sczl_name8:'',
- sczl_name9:'',
- sczl_name10:'',
- sczl_name11:'',
- sczl_rate1:'',
- sczl_rate2:'',
- sczl_rate3:'',
- sczl_rate4:'',
- sczl_rate5:'',
- sczl_rate6:'',
- sczl_rate7:'',
- sczl_rate8:'',
- sczl_rate9:'',
- sczl_rate10:'',
- 日期:'',
- 流程标牌:'',
- 上机时间:'',
- 下机时间:'',
- 产量:'',
- 制程废品:'',
- 制程次品:'',
- 前工序废:'',
- 来料异常:'',
- Gy0_ms:'',
- Gy0_ls:'',
- 装版总工时:'',
- 打样总工时:'',
- 通电工时:'',
- 定额代号:'',
- 码包:'',
- 主电表:'',
- 辅电表:'',
- formattedArray:'',
- })
- // 自动化生成的字典(可能为空)以及字段
- const formData= ref({
- // 工单编号:'',
- // 印件号:'',
- // 工序名称:'',
- // 产品名称:'',
- // sczl_bh1:'',
- // sczl_bh2:'',
- // sczl_bh3:'',
- // sczl_bh4:'',
- // sczl_bh5:'',
- // sczl_bh6:'',
- // sczl_bh7:'',
- // sczl_bh8:'',
- // sczl_bh9:'',
- // sczl_bh10:'',
- // sczl_name1:'',
- // sczl_name2:'',
- // sczl_name3:'',
- // sczl_name4:'',
- // sczl_name5:'',
- // sczl_name6:'',
- // sczl_name7:'',
- // sczl_name8:'',
- // sczl_name9:'',
- // sczl_name10:'',
- // 班组:'',
- // order:'',
- // yjno:'',
- // product_name:'',
- // gxmc:'',
- })
- const formDatasData= reactive([])
- const formDatas = ref({
- code1:'',
- code2:'',
- code3:'',
- code4:'',
- code5:'',
- code6:'',
- code7:'',
- code8:'',
- code9:'',
- code10:'',
- name1:'',
- name2:'',
- name3:'',
- name4:'',
- name5L:'',
- name6:'',
- name7:'',
- name8:'',
- name9:'',
- name10:'',
- percentage1:'',
- percentage2:'',
- percentage3:'',
- percentage4:'',
- percentage5:'',
- percentage6:'',
- percentage7:'',
- percentage8:'',
- percentage9:'',
- percentage10:'',
- })
- const currentBz ={}
- //班组单击
- const BZhandle = (val) => {
- currentBz.value = val
- formDatas.value = {};
- let sczl_bhkey = ''
- let sczl_namekey = ''
- let percentagekey = ''
- if (currentBz.value[9]) {
- for (let i = 1; i <= 9; i++) {
- sczl_bhkey = `code${i}`
- sczl_namekey = `name${i}`
- percentagekey = `percentage${i}`
- formDatas.value[sczl_bhkey] = '';
- formDatas.value[sczl_namekey] = '';
- formDatas.value[percentagekey] = '';
- }
- formDatas.value.code8 = currentBz.value[9].split(' ')[0];
- formDatas.value.name8 = currentBz.value[9].split(' ')[1]
- formDatas.value.percentage8 = parseFloat(currentBz.value[9].split(' ')[2].split('(')[1].split(')')[0])/100
- for (let i = 1; i <= Math.min(Object.keys(currentBz.value).length - 5, 6); i++) {
- sczl_bhkey = `code${i}`
- sczl_namekey = `name${i}`
- percentagekey = `percentage${i}`
- formDatas.value[sczl_bhkey] = currentBz.value[i - 1].split(' ')[0];
- formDatas.value[sczl_namekey] = currentBz.value[i - 1].split(' ')[1];
- if(isNaN(parseFloat(currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0]))){
- formDatas.value[percentagekey] = currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0];
- }else{
- formDatas.value[percentagekey] = parseFloat(currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0])/100;
- }
- }
- } else {
- for (let i = 1; i <= 10; i++) {
- sczl_bhkey = `code${i}`
- sczl_namekey = `name${i}`
- percentagekey = `percentage${i}`
- formDatas.value[sczl_bhkey] = '';
- formDatas.value[sczl_namekey] = '';
- formDatas.value[percentagekey] = '';
- }
- for (let i = 1; i <= Math.min(Object.keys(currentBz.value).length - 4, 6); i++) {
- sczl_bhkey = `code${i}`
- sczl_namekey = `name${i}`
- percentagekey = `percentage${i}`
- formDatas.value[sczl_bhkey] = currentBz.value[i - 1].split(' ')[0];
- formDatas.value[sczl_namekey] = currentBz.value[i - 1].split(' ')[1];
- if(isNaN(parseFloat(currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0]))){
- formDatas.value[percentagekey] = currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0];
- }else{
- formDatas.value[percentagekey] = parseFloat(currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0])/100;
- }
- }
- }
- // console.log(formDatas)
- // for (const key in val) {
- // if (val[key] === 0) {
- // break;
- // }
- // const parts = val[key].split(/[\s()]+/);
- // const code = parts[0];
- // const name = parts[1];
- // const percentage = parts[2];
- //
- // // 根据索引填充不同的字段
- // const index = parseInt(key) + 1; // 索引从1开始
- // formDatas.value['code' + index] = code;
- // formDatas.value['name' + index] = name;
- // formDatas.value['percentage' + index] = percentage;
- BZMC.value=val.班组号
- // }
- };
- //机台班组维护新增按钮
- const addBz = async() => {
- // console.log(selectedOption.value)
- console.log("机台编号"+selectedOption.value.split('|')[0])
- console.log("班组编号"+BZMC.value)
- console.log(formDatas.value.code1)
- if(formDatas.value.code1 === '' || formDatas.value.code1 === null){
- ElMessage({
- type: 'warning',
- message: '组员为空请添加组员'
- })
- }else{
- // 班组维护->班组添加【接口】
- const response = await MachineTeamAdd({
- sczl_jtbh: selectedOption.value.split('|')[0],
- sczl_bzdh: BZMC.value,
- sczl_bh1: formDatas.value.code1,
- sczl_bh2: formDatas.value.code2,
- sczl_bh3: formDatas.value.code3,
- sczl_bh4: formDatas.value.code4,
- sczl_bh5: formDatas.value.code5,
- sczl_bh6: formDatas.value.code6,
- sczl_bh7: formDatas.value.code7,
- sczl_bh8: formDatas.value.code10,
- sczl_bh9: formDatas.value.code9,
- sczl_bh10: formDatas.value.code8,
- sczl_rate1: formDatas.value.percentage1,
- sczl_rate2: formDatas.value.percentage2,
- sczl_rate3: formDatas.value.percentage3,
- sczl_rate4: formDatas.value.percentage4,
- sczl_rate5: formDatas.value.percentage5,
- sczl_rate6: formDatas.value.percentage6,
- sczl_rate7: formDatas.value.percentage7,
- sczl_rate8: formDatas.value.percentage10,
- sczl_rate9: formDatas.value.percentage9,
- sczl_rate10: formDatas.value.percentage8,
- sys_id: '【'+MAC.value+'/'+JTMC+'】'
- })
- if (response.code === 0) {
- FacilityProduction()
- ElMessage({ type: 'success',message: '成功' });
- }
- }
- // console.log("新增班组刷新")
- // console.log(BZMC.value)
- // const facilityTeamlist = await facilityTeam({ machine:BZMC.value});
- // if (facilityTeamlist.code === 0) {
- // // 清空 bzData 数组
- // bzData.splice(0, bzData.length);
- // facilityTeamlist.data.map(item=>{
- // if(formData.value['班组Id']==item.ID){
- // currentBz.value=item
- // formDatas.value = {};
- // let sczl_bhkey = ''
- // let sczl_namekey = ''
- // let percentagekey = ''
- // if (currentBz.value[9]) {
- // for (let i = 1; i <= 10; i++) {
- // sczl_bhkey = `code${i}`
- // sczl_namekey = `name${i}`
- // percentagekey = `percentage${i}`
- // formDatas.value[sczl_bhkey] = '';
- // formDatas.value[sczl_namekey] = '';
- // formDatas.value[percentagekey] = '';
- // }
- // formDatas.value.code8 = currentBz.value[9].split(' ')[0];
- // formDatas.value.name8 = currentBz.value[9].split(' ')[1]
- // formDatas.value.percentage8 = parseFloat(currentBz.value[9].split(' ')[2].split('(')[1].split(')')[0])/100
- // for (let i = 1; i <= Math.min(Object.keys(currentBz.value).length - 4, 6); i++) {
- // sczl_bhkey = `code${i}`
- // sczl_namekey = `name${i}`
- // percentagekey = `percentage${i}`
- // formDatas.value[sczl_bhkey] = currentBz.value[i - 1].split(' ')[0];
- // formDatas.value[sczl_namekey] = currentBz.value[i - 1].split(' ')[1];
- // if(isNaN(parseFloat(currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0]))){
- // formDatas.value[percentagekey] = currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0];
- // }else{
- // formDatas.value[percentagekey] = parseFloat(currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0])/100;
- // }
- // }
- // } else {
- // for (let i = 1; i <= 10; i++) {
- // sczl_bhkey = `code${i}`
- // sczl_namekey = `name${i}`
- // percentagekey = `percentage${i}`
- // formDatas.value[sczl_bhkey] = '';
- // formDatas.value[sczl_namekey] = '';
- // formDatas.value[percentagekey] = '';
- // }
- // for (let i = 1; i <= Math.min(Object.keys(currentBz.value).length - 3, 6); i++) {
- // sczl_bhkey = `code${i}`
- // sczl_namekey = `name${i}`
- // percentagekey = `percentage${i}`
- // formDatas.value[sczl_bhkey] = currentBz.value[i - 1].split(' ')[0];
- // formDatas.value[sczl_namekey] = currentBz.value[i - 1].split(' ')[1];
- // if(isNaN(parseFloat(currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0]))){
- // formDatas.value[percentagekey] = currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0];
- // }else{
- // formDatas.value[percentagekey] = parseFloat(currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0])/100;
- // }
- // }
- // }
- // console.log(formDatas)
- // }
- // })
- // // 遍历接口返回的数据,并给每个对象添加 JTMC 属性
- // const updatedData = response.data.map(item => {
- // return { ...item, JTMC: value }; // 添加 JTMC 属性
- // });
- // FPData.splice(0, FPData.length, ...updatedData)
- // // 将更新后的数据添加到 bzData 数组
- // bzData.push(...updatedData);
- // // FPData.push(...updatedData)
- // console.log(FPData)
- // }
- }
- //机台班组维护更新当前班组
- const selectBz = async() => {
- // console.log(currentBz.value)
- // return false;
- if(currentBz.value){
- BZMC.value = currentBz.value.班组号
- let sczl_bhkey=''
- let sczl_namekey=''
- // if (currentBz.value) {
- // for (let i = 1; i <= 6; i++) {
- // sczl_bhkey=`sczl_bh${i}`
- // sczl_namekey=`sczl_name${i}`
- // formData.value[sczl_bhkey] = '';
- // formData.value[sczl_namekey] = '';
- // }
- // for (let i = 1; i <= Math.min(Object.keys(currentBz.value).length-4, 6); i++) {
- // sczl_bhkey=`sczl_bh${i}`
- // sczl_namekey=`sczl_name${i}`
- // console.log(currentBz.value[i-1].split(' '))
- // formData.value[sczl_bhkey] = currentBz.value[i-1].split(' ')[0];
- // formData.value[sczl_namekey] = currentBz.value[i-1].split(' ')[1];
- // classbz.value[i-1]=currentBz.value[i-1].split(' ')[0]
- // }
- // formData.value.class=classbz.value.join(',')
- // }
- if (currentBz.value[9]) {
- for (let i = 1; i <= 9; i++) {
- sczl_bhkey=`sczl_bh${i}`
- sczl_namekey=`sczl_name${i}`
- formData.value[sczl_bhkey] = '';
- formData.value[sczl_namekey] = '';
- }
- formData.value.sczl_bh10 = currentBz.value[9].split(' ')[0];
- formData.value.sczl_name10=currentBz.value[9].split(' ')[1]
- for (let i = 1; i <= Math.min(Object.keys(currentBz.value).length-5, 6); i++) {
- sczl_bhkey=`sczl_bh${i}`
- sczl_namekey=`sczl_name${i}`
- console.log(currentBz.value[i-1].split(' '))
- formData.value[sczl_bhkey] = currentBz.value[i-1].split(' ')[0];
- formData.value[sczl_namekey] = currentBz.value[i-1].split(' ')[1];
- classbz.value[i-1]=currentBz.value[i-1].split(' ')[0]
- }
- classbz.value.push(currentBz.value[9].split(' ')[0])
- formData.value.class=classbz.value.join(',')
- console.log(formData.value)
- }else{
- for (let i = 1; i <= 10; i++) {
- sczl_bhkey=`sczl_bh${i}`
- sczl_namekey=`sczl_name${i}`
- formData.value[sczl_bhkey] = '';
- formData.value[sczl_namekey] = '';
- }
- for (let i = 1; i <= Math.min(Object.keys(currentBz.value).length-4, 6); i++) {
- sczl_bhkey=`sczl_bh${i}`
- sczl_namekey=`sczl_name${i}`
- console.log(currentBz.value[i-1].split(' '))
- formData.value[sczl_bhkey] = currentBz.value[i-1].split(' ')[0];
- formData.value[sczl_namekey] = currentBz.value[i-1].split(' ')[1];
- classbz.value[i-1]=currentBz.value[i-1].split(' ')[0]
- }
- formData.value.class=classbz.value.join(',')
- }
-
- // console.log(formData)
- // console.log(formData)
- // console.log(formData)
-
-
- const response = await setMachineTeam({
- machine: JTMC.split("#")[0],
- order:formData.value.工单编号,
- yjno:formData.value.印件号,
- gy_name:formData.value.工序名称,
- sczl_bzdh:BZMC.value,
- status:'生产',
- production_now:0,
- production_all:0,
- team_id:currentBz.value.ID
- })
- if(response.code===0){
- detailShow.value = false
- ElMessage({type: 'success',message: '成功'})
- FacilityProduction()
- }
- // currentBz.value={}
- }
- }
- const delBz = async() => {
- const UniqId = currentBz.value.ID
- if(currentBz.value){
- ElMessageBox.confirm('确定要删除吗?', '提示', {
- confirmButtonText: '确定',
- cancelButtonText: '取消',
- type: 'warning'
- }).then(() => {
- console.log(UniqId)
- const response = teamDel({UniqId:UniqId})
- response.then(result => {
- if(result.code===0){
- ElMessage({type: 'success',message: '成功'})
- console.log(response)
- FacilityProduction()
- }
- });
- })
- currentBz.value={}
- }
- }
- // ============== 表格控制部分结束 ===============
- // 获取需要的字典 可能为空 按需保留
- const setOptions = async () =>{}
- // 获取需要的字典 可能为空 按需保留
- setOptions()
- // 多选数据
- const multipleSelection = ref([])
- const yinbanSelection = ref([])
- // 多选
- const handleSelectionChange = (val) => {
- multipleSelection.value = val
- }
- const zdtreeType = ref(false)
- const selectData = ref([])
- const showsTable = (val,tab) => {}
- // 点击showTable 行数据时出发点击事件
- const showTable = (val,tab) => {
- }
- // 删除行
- const deleteRow = (row) => {
- ElMessageBox.confirm('确定要删除吗?', '提示', {
- confirmButtonText: '确定',
- cancelButtonText: '取消',
- type: 'warning'
- }).then(() => {
- deleteCompanyFunc(row)
- })
- }
- // 批量删除控制标记
- const deleteVisible = ref(false)
- // 多选删除
- const onDelete = async() => {
- const ids = []
- if (multipleSelection.value.length === 0) {
- ElMessage({type: 'warning',message: '请选择要删除的数据'})
- return
- }
- multipleSelection.value &&
- multipleSelection.value.map(item => {
- ids.push(item.ID)
- })
- const res = await deleteCompanyByIds({ ids })
- if (res.code === 0) {
- ElMessage({type: 'success', message: '删除成功'})
- if (tableData.value.length === ids.length && page.value > 1) {
- page.value--
- }
- deleteVisible.value = false
- getTableData()
- }
- }
- // 行为控制标记(弹窗内部需要增还是改)
- const type = ref('')
- // 更新行
- const updateCompanyFunc = async(row) => {
- const res = await findCompany({ ID: row.ID })
- type.value = 'update'
- if (res.code === 0) {
- formData.value = res.data.recompany
- dialogFormVisible.value = true
- }
- }
- const rowws = ref(null)
- const wangongbh = ref(null)
- //设备作业清单单机
- const yjupdateCompanyFunc = async(row) => {
- console.log(row)
- rowws.value = row
- wangongbh.value = row['工单编号|质量信息'].replace(/\|$/, '')
- console.log("通过 "+row['工单编号|质量信息'].replace(/\|$/, '')+" 获取右上角数据↓↓↓↓↓")
- const res = await Procedure({ Gd_gdbh: row['工单编号|质量信息'].replace(/\|$/, '') })
- console.log(res)
- selectData.value = res.data;
- }
- //设备作业清单右键
- const yjonRightClick = async(row) => {
- console.log(rowws.value)
- if(rowws.value === null || rowws.value === ''){
- ElMessage({type: 'warning',message: '请选择 设备作业清单工单后,再操作此功能' })
- }else{
- ElMessageBox.confirm('确定切换当前工单为工作工单吗?', '提示', {
- confirmButtonText: '确定',
- cancelButtonText: '取消',
- type: 'warning'
- }).then(() => {
- location.reload();
- setMachineTeams(rowws.value)
- })
- }
- }
- const setMachineTeams = async(row) => {
- const res = await setMachineTeam({
- machine: JTMC.split("#")[0],
- order:row['工单编号|质量信息'].split('|')[0],
- yjno:row['印件资料'].split('-')[0],
- gy_name:row['工序名称'],
- sczl_bzdh:BZMC.value,
- status:'生产',
- production_now:0,
- production_all:0,
- team_id:formData.value.班组Id
- })
- MachineWorkOrderEdits(row)
- if (res.code === 0) {
- ElMessage({
- type: 'success',
- message: '成功'
- })
- }
- }
- const MachineWorkOrderEdits = async(row) => {
- const res = await MachineWorkOrderEdit({
- UniqId:row.UniqId,
- machine: JTMC,
- })
- console.log(res)
- if (res.code === 0) {
- SetMachineStatus(row)
- }
- }
- //设置机台状态
- const SetMachineStatus = async (row) => {
- let classString = '';
- const sczl_bh_values = [formData.value.sczl_bh1, formData.value.sczl_bh2, formData.value.sczl_bh3, formData.value.sczl_bh4, formData.value.sczl_bh5, formData.value.sczl_bh6];
- for (let i = 0; i < sczl_bh_values.length; i++) {
- if (sczl_bh_values[i]) {
- classString += sczl_bh_values[i] + ',';
- }
- }
- // 去除最后一个逗号
- classString = classString.slice(0, -1);
- console.log("获取"+row['印件号'])
- // return false;
- const response = await setMachineStatus({
- machine: JTMC.split("#")[0],
- order:row['工单编号|质量信息'].split('|')[0],
- yjno:row['印件号'],
- gy_name:row['工序名称'],
- status:'生产',
- production_now:0,
- production_all:0,
- class:classString
- });
- if (response.code === 0) {
- FacilityProduction(JTMC)
- }
- }
- const EquipmentSchedulingEdits = async(row) => {
- const today = new Date();
- const year = today.getFullYear();
- const month = String(today.getMonth() + 1).padStart(2, '0'); // 月份从 0 开始,需要补零
- const day = String(today.getDate()).padStart(2, '0');
- const hours = String(today.getHours()).padStart(2, '0');
- const minutes = String(today.getMinutes()).padStart(2, '0');
- const seconds = String(today.getSeconds()).padStart(2, '0');
- const currentDate = `${year}-${month}-${day}`;
- const currentTime = `${year}-${month}-${day} ${hours}:${minutes}`;
- const currenttime = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
-
- console.log(row)
- const res = await EquipmentSchedulingEdit([{
- capacity:row.工序产能,
- ProductionHours:row.计划工时,
- AuxiliaryHours:row.装版时数,
- shift:row.班组,
- remark:row.排产备注,
- start:row.最早开工时间,
- projectTime:currentTime,
- UniqId:row.UniqId
- }])
- if (res.code === 0) {
- FacilityProduction()
- }
- }
- // 删除行
- const deleteCompanyFunc = async (row) => {
- const res = await deleteCompany({ ID: row.ID })
- if (res.code === 0) {
- ElMessage({
- type: 'success',
- message: '删除成功'
- })
- if (tableData.value.length === 1 && page.value > 1) {
- page.value--
- }
- getTableData()
- }
- }
- // 弹窗控制标记
- const dialogFormVisible = ref(false)
- const dianjianVisible = ref(false)
- const zhichengVisible = ref(false)
- // 查看详情控制标记
- const detailShow = ref(false)
- const bzData = reactive([])
- // 打开详情弹窗
- const openDetailShow = () => {
- detailShow.value = true
- }
- // 打开详情
- const getDetails = async (row) => {
- // 打开弹窗
- const res = await findCompany({ ID: row.ID })
- if (res.code === 0) {
- formData.value = res.data.recompany
- openDetailShow()
- }
- }
- // 关闭详情弹窗
- const closeDetailShow = () => {
- detailShow.value = false
- }
- // 打开弹窗
- const openDialog = () => {}
- let drzcData=[]
- let columnNames=[]
- //当日制程检验记录
- const FacilityInspect = async () => {
- const response = await facilityInspect({machine:'JY01#',date:'2024-01-04'});
- console.log(response)
- if(response.code==0){
- // 提取 inspectiontime 作为列名
- // Extract inspectiontime as columnNames
- columnNames = response.data.inspectiontime;
- // Populate drzcData with row data
- for (const key in response.data) {
- if (key !== 'inspectiontime') {
- const item = response.data[key];
- const rowData = {
- '工单编号': item['工单编号'],
- '印件号': item['印件号'],
- '工序名称': item['工序名称'],
- '检验项目': item['检验项目']
- };
- // Initialize time columns with '—'
- columnNames.forEach(time => {
- rowData[time] = '';
- });
- // Split inspectresult and fill the corresponding time columns
- const results = item['inspectresult'].split(',');
- results.forEach(result => {
- if (columnNames.includes(result)) {
- rowData[result] = '√';
- }else{rowData[result] = ''}
- });
- // Add the row data to drzcData
- drzcData.push(rowData);
- }
- }
- console.log(drzcData);
- }
- }
- // 关闭弹窗
- const closeDialog = () => {
- chanliangVisible.value=false
- }
- const equipmentCode=ref('JY01')
- const equipmentName=ref('海德堡对开')
- const workOrder=ref('2312117')
- const number=ref('1907')
- // 弹窗确定
- const enterDialog = async () => {
- elFormRef.value?.validate( async (valid) => {
- if (!valid) return
- let res
- switch (type.value) {
- case 'create':
- res = await createCompany(formData.value)
- break
- case 'update':
- res = await updateCompany(formData.value)
- break
- default:
- res = await createCompany(formData.value)
- break
- }
- if (res.code === 0) {
- ElMessage({
- type: 'success',
- message: '创建/更改成功'
- })
- closeDialog()
- getTableData()
- }
- })
- }
- // const sbzyqdplanUsageCellClass = ({row, column, rowIndex, columnIndex}) =>{
- // if(formData.value['工单编号'] === row['工单编号|质量信息'].split('|')[0]){
- // return 'back-color-row';
- // }
- // }
- // 班组人员及分配比例
- const bzryplanUsageCellClass = ({row, column, rowIndex, columnIndex}) =>{
- if(formData.value['班组Id'] === row.ID){
- return 'back-color-row';
- }
- }
- // 组员及分配比例
- const blplanUsageCellClass = ({row, column, rowIndex, columnIndex}) =>{
- if (column.property === '员工编号' || column.property === 'ygxm') {
- return 'plan-usage-low';
- }
- }
- //设备作业清单 正在生产中 背景颜色
- const sbzyqdsatusCellClass = ({row, column, rowIndex, columnIndex}) =>{
- if (row.status === 1) {
- return 'status-plan-usage-low';
- }
- }
- </script>
- <style scoped>
- /* 设备作业清单 正在生产中 背景颜色 */
- :deep(.status-plan-usage-low ) {
- background: yellow !important;
- }
-
- .JKWTree-container {
- display: flex;
- }
- .JKWTree-tree {
- width: 300px;
- background-color: #fff;
- padding: 10px;
- margin-right: 20px;
- }
- .JKWTree-tree h3 {
- font-size: 15px;
- font-weight: 700;
- margin: 10px 0;
- }
- .JKWTree-content {
- flex: 1;
- }
- .groupbox
- {margin:10px;
- width:500px;
- height:500px;
- border:thin solid black;
- padding:10px}
- .grouptitle
- {display:block;
- margin-top:-24px;
- margin-left:20px;
- width:150px;
- text-align:center;
- background-color:white}
- .gva-search-box{
- font-size:1.5vh;
- color:red;
- font-weight: bold;
- }
- .bt {
- margin-top: 1vh;
- margin-bottom: 10px;
- height: 5vh;
- width: 9vh;
- font-size:1.6vh;
- color:black;
- font-weight: bold;
- }
- .gva-table-box{
- font-size: 15px;
- }
- .red-input input {
- color: red !important;
- }
- .buleaa-input input{
- color: red !important;
- }
- /*!* 选中某行时的背景色*!font-weight: bold;*/
- :deep(.el-table__body tr.current-row)>td {
- background: #ff80ff !important;
- }
- /*input*/
- ::v-deep .el-input__inner {
- color: #000000 !important;
- font-weight: bold;
- }
- ::v-deep .el-input__wrapper {
- border: 1px #00000b8f solid !important;
- }
- ::v-deep .el-form-item__label {
- color: #000000 !important;
- font-weight: bold;
- font-size: 12px;
- }
- ::v-deep .el-tabs__item {
- /*color: #000000 !important;*/
- font-weight: bold;
- }
- ::v-deep .el-dialog__headerbtn {
- width: 100px;
- height: 85px;
- }
- ::v-deep .el-tabs__item {
- /*background-color: #4d70ff;*/
- /*color: white;*/
- }
- :deep(.plan-usage-low div) {
- color: blue !important;
- font-size: 16px;
- font-weight: bold;
- }
- ::v-deep .el-tabs--card > .el-tabs__header .el-tabs__item.is-active {
- color: white; /* 文字颜色 */
- background-color: #4d70ff; /* 背景颜色 */
- }
- /*::v-deep .el-table__header .el-table_2_column_3{*/
- /* border-right: 2px #000000 solid;*/
- /*}*/
- ::v-deep .el-table__header .el-table_2_column_3{
- border-right: 2px #000000 solid;
- }
- ::v-deep .el-table__header .el-table_2_column_4{
- border-right: 2px #000000 solid;
- }
- ::v-deep .el-table__header .el-table_2_column_5{
- border-right: 2px #000000 solid;
- }
- ::v-deep .el-table__header .el-table_2_column_6{
- border-right: 2px #000000 solid;
- }
- ::v-deep .el-table__header .el-table_2_column_7{
- border-right: 2px #000000 solid;
- }
- ::v-deep .el-table__header .el-table_2_column_8{
- border-right: 2px #000000 solid;
- }
- ::v-deep .el-table__header .el-table_2_column_9{
- border-right: 2px #000000 solid;
- }
- ::v-deep .el-table__header .el-table_2_column_10{
- border-right: 2px #000000 solid;
- }
- ::v-deep .el-table__header .el-table_2_column_11{
- border-right: 2px #000000 solid;
- }
- /*::v-deep .el-table_2_column_3{*/
- /* border-right: 1px #000000 solid;*/
- /*}*/
- /*::v-deep .el-table_2_column_4{*/
- /* border-right: 1px #000000 solid;*/
- /*}*/
- :deep(.plan-usage-low div) {
- color: blue !important;
- font-size: 16px;
- font-weight: bold;
- }
- </style>
|