chejianbaogong.vue 178 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799
  1. <template>
  2. <div>
  3. <header>
  4. <div style="height: 50px;">
  5. <el-button type="primary" size="large"class="bt" @click="onBZ" >班组维护</el-button>
  6. <el-button type="primary" size="large"class="bt" @click="onchanliang" v-if="zdtreeType === true" >日产量上报</el-button>
  7. <el-button type="primary" size="large"class="bt" @click="onOver" >完工</el-button>
  8. <el-button type="primary" size="large"class="bt" @click="onzhicheng" >制程检验</el-button>
  9. <el-button type="primary" size="large"class="bt" @click="ondianjian" >设备点检</el-button>
  10. <el-button type="primary" size="large"class="bt" @click="onxuncha" >管理巡查</el-button>
  11. <el-button type="primary" size="large"class="bt" @click="onstatus" >设置机台状态</el-button>
  12. <el-button type="primary" size="large"class="bt" @click="onyinban">印版领退</el-button>
  13. <el-button type="primary" size="large"class="bt" @click="onClear" >换型清场</el-button>
  14. <el-button type="primary" size="large"class="bt" @click="oncomplaints" >客诉记录</el-button>
  15. </div>
  16. </header>
  17. <el-container>
  18. <!-- <el-aside width="200px">
  19. <div class="JKWTree-tree">
  20. <h3 > 车间报工</h3>
  21. <el-tree :data="treeData" :props="defaultProps" :default-expand-all="true" @node-click="handleNodeClick"></el-tree>
  22. </div>
  23. </el-aside> -->
  24. <el-container>
  25. <!-- <el-header>dd</el-header>-->
  26. <el-main>
  27. <div class="gva-search-box" style="overflow: hidden; padding: 0; margin-top:20px;display: flex;">
  28. <div style="flex: 1; border: 0px magenta solid; margin: 0; padding: 0; margin-left: 20px; margin-top: 20px;">
  29. <!-- <el-form-item label="工单编号" prop="name">-->
  30. <!-- <el-row :gutter="24">-->
  31. <!-- <el-col :span="6">-->
  32. <!-- <el-input v-model="formData.工单编号" placeholder="" />-->
  33. <!-- </el-col>-->
  34. <!-- <el-col :span="18">-->
  35. <!-- <el-input v-model="formData.产品名称" placeholder="" />-->
  36. <!-- </el-col>-->
  37. <!-- </el-row>-->
  38. <!-- </el-form-item>-->
  39. <el-row :gutter="20">
  40. <el-col :span="7">
  41. <el-form-item label="机台号" prop="id">
  42. <el-input v-model="formData.机台号" placeholder="" />
  43. </el-form-item>
  44. </el-col>
  45. <el-col :span="8">
  46. <el-form-item label="工单编号" prop="id">
  47. <el-input v-model="formData.工单编号" placeholder="" />
  48. </el-form-item>
  49. </el-col>
  50. <el-col :span="8">
  51. <el-form-item prop="name">
  52. <el-input v-model="formData.产品名称" placeholder="" />
  53. </el-form-item>
  54. </el-col>
  55. </el-row>
  56. <el-row :gutter="20">
  57. <el-col :span="7">
  58. <el-form-item label="印件编号" style="font-size: 1.5vh;" prop="id">
  59. <el-input v-model="formData.印件号" placeholder="" />
  60. </el-form-item>
  61. </el-col>
  62. <el-col :span="15">
  63. <el-form-item label="工序名称" prop="name">
  64. <el-input v-model="formData.工序名称" placeholder="" />
  65. </el-form-item>
  66. </el-col>
  67. </el-row>
  68. <el-row :gutter="20">
  69. <el-col :span="4">
  70. <el-form-item label="班组成员" prop="id">
  71. </el-form-item>
  72. </el-col>
  73. </el-row>
  74. <el-row :gutter="1">
  75. <!-- 循环生成 el-input 组件 -->
  76. <el-col v-for="i in 6" :span="4" :key="i">
  77. <el-input v-model="formData[`sczl_bh${i}`]" placeholder="" />
  78. </el-col>
  79. </el-row>
  80. <el-row :gutter="1">
  81. <!-- 循环生成 el-input 组件 -->
  82. <el-col v-for="i in 6" :span="4" :key="i">
  83. <el-input v-model="formData[`sczl_name${i}`]" placeholder="" />
  84. </el-col>
  85. </el-row>
  86. </div>
  87. <div style="flex: 1; border: 0px lawngreen solid; margin: 0; padding: 0; overflow: hidden;">
  88. <el-table
  89. tooltip-effect="dark"
  90. :data="selectData"
  91. row-key="ID"
  92. highlight-current-row="true"
  93. border
  94. :row-style="{ height: '20px'}"
  95. :cell-style="{ padding: '0px'}"
  96. :header-row-style="{ height: '20px'}"
  97. style="width:100%;height: 30vh; "
  98. @row-dblclick="handleSelectClick"
  99. >
  100. <el-table-column
  101. prop="process"
  102. label="印件及工序"
  103. width="480"
  104. />
  105. <el-table-column
  106. prop="completed"
  107. label="已完成板数"
  108. width="100"
  109. />
  110. </el-table>
  111. </div>
  112. </div>
  113. <div class="gva-table-box" style="margin-top: 20px;">
  114. <el-tabs v-model="activName" type="card" @tab-click="duohandleClick" >
  115. <el-tab-pane label="设备作业清单" @click="showTable('印件资料')" name="first" style="font-size: 14px;">
  116. <el-table ref="multipleTable"
  117. :show-overflow-tooltip="true"
  118. highlight-current-row="true"
  119. :row-style="{ height: '20px' }"
  120. :cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
  121. :header-cell-style="{ padding: '0px' }"
  122. @row-click="yjupdateCompanyFunc"
  123. style="width: 100%;height: 330px" border tooltip-effect="dark" :data="sbzyData" row-key="ID" @selection-change="handleSelectionChange">
  124. <!-- <el-table-column type="selection" width="55" />-->
  125. <!-- <el-table-column align="left" label="选择" prop="bh" width="80"/> -->
  126. <el-table-column align="left" sortable label="工单编号|质量信息" prop="工单编号|质量信息" width="145" />
  127. <el-table-column align="left" sortable label="印件资料" prop="印件资料" width="240" />
  128. <el-table-column align="left" sortable label="工序名称" prop="工序名称" width="100" />
  129. <el-table-column align="left" sortable label="计划产量/已完成" prop="计划产量/已完成" width="130"/>
  130. <el-table-column align="left" sortable label="装版时数" prop="装版时数" width="85"/>
  131. <el-table-column align="left" sortable label="工序产能" prop="工序产能" width="85"/>
  132. <el-table-column align="left" sortable label="计划工时" prop="计划工时" width="85"/>
  133. <el-table-column align="left" sortable label="计划生产时段" prop="计划生产时段" width="210" />
  134. <el-table-column align="left" sortable label="排产备注" prop="排产备注" width="100" />
  135. <el-table-column align="left" sortable label="产品名称" prop="产品名称" width="240" />
  136. </el-table>
  137. </el-tab-pane>
  138. <el-tab-pane label="班组人员及分配比例" @click="showTable('工艺资料')" name="second">
  139. <el-table ref="multipleTable"
  140. :show-overflow-tooltip="true"
  141. :row-style="{ height: '20px' }"
  142. :cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
  143. :header-cell-style="{ padding: '0px' }"
  144. @row-dblclick="gyupdateCompanyFunc"
  145. :row-class-name="rowClassStyle"
  146. :cell-class-name="bzryplanUsageCellClass"
  147. style="width: 100%;height: 400px" border tooltip-effect="dark" :data="FPData" row-key="ID" @selection-change="handleSelectionChange"
  148. @row-click="clickybupdate">
  149. <el-table-column type="selection" label="选择" width="55" />
  150. <el-table-column align="left" label="班组号" prop="班组号" width="80" />
  151. <el-table-column align="left" label="组员1" prop="0" width="240" />
  152. <el-table-column align="left" label="组员2" prop="1" width="240" />
  153. <el-table-column align="left" label="组员3" prop="2" width="240" />
  154. <el-table-column align="left" label="组员4" prop="3" width="240" />
  155. <el-table-column align="left" label="组员5" prop="4" width="100" />
  156. <el-table-column align="left" label="组员6" prop="5" width="100" />
  157. <el-table-column align="left" label="组员7" prop="6" width="100" />
  158. <el-table-column align="left" label="组员8" prop="7" width="100" />
  159. <el-table-column align="left" label="组员9" prop="8" width="100" />
  160. <el-table-column align="left" label="组员10" prop="9_正品版" width="120" />
  161. </el-table>
  162. </el-tab-pane>
  163. <el-tab-pane label="当班产量明细" @click="showsTable('印版资料')" name="third">
  164. <el-table ref="multipleTable"
  165. highlight-current-row="true"
  166. :show-overflow-tooltip="true"
  167. :row-style="{ height: '20px' }"
  168. :cell-style="{ padding: '0px'}" :header-row-style="{ height: '20px' }"
  169. :header-cell-style="{ padding: '0px' }"
  170. @row-dblclick="ybupdateCompanyFunc"
  171. style="width: 100%;height: 400px" border tooltip-effect="dark" :data="CLMXData" row-key="ID" @selection-change="handleSelectionChange"
  172. >
  173. <!-- <el-table-column type="selection" width="55" />-->
  174. <el-table-column align="left" label="生产时段" prop="生产时间段" width="180"/>
  175. <el-table-column align="left" label="工单编号" prop="工单编号" width="120" />
  176. <el-table-column align="left" label="产品名称" prop="产品名称" width="240" />
  177. <el-table-column align="left" label="印件及工序" prop="印件及工序" width="320"/>
  178. <el-table-column align="left" label="标牌号" prop="标牌号" width="80"/>
  179. <el-table-column align="left" label="产量" prop="产量" width="100"/>
  180. <el-table-column align="left" label="制程废品" prop="制程废品" width="100" />
  181. <el-table-column align="left" label="制程次品" prop="制程次品" width="100" />
  182. <el-table-column align="left" label="前工序废" prop="前工序废" width="100" />
  183. <el-table-column align="left" label="来料异常" prop="来料异常" width="100"/>
  184. <el-table-column align="left" label="装版工时" prop="装版工时" width="100" />
  185. <el-table-column align="left" label="保养工时" prop="保养工时" width="100" />
  186. <el-table-column align="left" label="打样工时" prop="打样工时" width="100"/>
  187. <el-table-column align="left" label="异常停机工时" prop="异常停机工时" width="120"/>
  188. <el-table-column align="left" label="通电工时" prop="通电工时" width="100"/>
  189. <el-table-column align="left" label="码开始行" prop="码开始行" width="100" />
  190. <el-table-column align="left" label="码结束行" prop="码结束行" width="100" />
  191. <el-table-column align="left" label="码包" prop="码包" width="100" />
  192. <el-table-column align="left" label="主电表" prop="主电表" width="100"/>
  193. <el-table-column align="left" label="辅电表" prop="辅电表" width="100" />
  194. <el-table-column align="left" label="色度数" prop="色度" width="100" />
  195. </el-table>
  196. </el-tab-pane>
  197. <el-tab-pane label="检验记录" @click="showTable('技术资料附件')" name="fourth">
  198. <el-table ref="multipleTable"
  199. :row-style="{ height: '20px' }"
  200. :cell-style="{ padding: '0px'}" :header-row-style="{ height: '20px' }"
  201. :header-cell-style="{ padding: '0px' }"
  202. :show-overflow-tooltip="true"
  203. highlight-current-row="true"
  204. style="width: 100%;height: 400px" border tooltip-effect="dark" :data="JYData" row-key="ID" @selection-change="handleSelectionChange">
  205. <!-- <el-table-column type="selection" width="55" />-->
  206. <el-table-column align="left" label="工单编号" prop="工单编号" width="120"/>
  207. <el-table-column align="left" label="印件号" prop="印件号" width="120" />
  208. <el-table-column align="left" label="工序名称" prop="工序名称" width="330" />
  209. <el-table-column align="left" label="检验项目" prop="检验项目" width="120"/>
  210. <el-table-column
  211. v-for="time in columnNames"
  212. :key="time"
  213. :label="time"
  214. :prop="time"
  215. align="center"
  216. width="120"
  217. ></el-table-column>
  218. </el-table>
  219. </el-tab-pane>
  220. </el-tabs>
  221. <!-- <div class="gva-pagination">
  222. <el-pagination
  223. layout="total, sizes, prev, pager, next, jumper"
  224. :current-page="page"
  225. :page-size="pageSize"
  226. :page-sizes="[10, 30, 50, 100]"
  227. :total="total"
  228. @current-change="handleCurrentChange"
  229. @size-change="handleSizeChange"
  230. />
  231. </div> -->
  232. </div>
  233. <el-dialog v-model="dialogFormVisible" :before-close="closeDialog" :title="type==='create'?'添加':'修改'" destroy-on-close>
  234. <el-tabs v-model="activeName" type="card" @tab-click="handleClick">
  235. <el-tab-pane label="当日上报产量" @click="showTable('工艺资料')" name="first">
  236. <el-table ref="multipleTable"
  237. :show-overflow-tooltip="true"
  238. :row-style="{ height: '20px' }"
  239. :cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
  240. :header-cell-style="{ padding: '0px' }"
  241. highlight-current-row="true"
  242. style="width: 100%;height: 400px" border tooltip-effect="dark" :data="gytableData" row-key="ID" @selection-change="handleSelectionChange">
  243. <el-table-column type="selection" width="55" />
  244. <el-table-column align="left" label="选择" prop="工单编号" width="100"/>
  245. <el-table-column align="left" label="产品名称" prop="重点工序" width="100"/>
  246. <el-table-column align="left" label="工序" prop="工序备注" width="240"/>
  247. <el-table-column align="left" label="备注" prop="机组" width="100"/>
  248. <el-table-column align="left" label="产量" prop="小时产能" width="100"/>
  249. <el-table-column align="left" label="千件工价" prop="生产工时" width="100"/>
  250. <el-table-column align="left" label="日定额" prop="辅助工时" width="100"/>
  251. <el-table-column align="left" label="补产标准" prop="印刷方式" width="100"/>
  252. <el-table-column align="left" label="难度系数" prop="版距" width="100"/>
  253. <el-table-column align="left" label="印刷方式" prop="创建用户" width="120"/>
  254. <el-table-column align="left" label="组员1" prop="Gy0_gxh" width="240" />
  255. <el-table-column align="left" label="组员2" prop="gy0_gxmc" width="240" />
  256. <el-table-column align="left" label="组员3" prop="add_gxmc" width="240" />
  257. <el-table-column align="left" label="组员4" prop="Gy0_Ks" width="240" />
  258. <el-table-column align="left" label="组员5" prop="Gy0_ls" width="100" />
  259. <el-table-column align="left" label="组员6" prop="备注" width="100" />
  260. <el-table-column align="left" label="组员7" prop="工价系数" width="100" />
  261. <el-table-column align="left" label="组员8" prop="损耗系数" width="100" />
  262. <el-table-column align="left" label="组员9" prop="Gy0_Ms" width="100" />
  263. <el-table-column align="left" label="组员10" prop="人工检_正品版" width="120" />
  264. <el-table-column align="left" label="制程废品" prop="Sys_id" width="100" />
  265. <el-table-column align="left" label="制程次品" prop="建档日期" width="100" />
  266. <el-table-column align="left" label="前工序废" prop="更新日期" width="100" />
  267. <el-table-column align="left" label="来料异常" prop="YB_方案" width="100"/>
  268. <el-table-column align="left" label="装版工时" prop="YB_Yjno" width="100" />
  269. <el-table-column align="left" label="保养工时" prop="印版类别" width="100" />
  270. <el-table-column align="left" label="打样工时" prop="存货编码" width="100"/>
  271. <el-table-column align="left" label="异常停机工时" prop="印版名称" width="120"/>
  272. <el-table-column align="left" label="通电工时" prop="考核印数" width="100"/>
  273. <el-table-column align="left" label="码开始行" prop="Sys_id" width="100" />
  274. <el-table-column align="left" label="码结束行" prop="建档日期" width="100" />
  275. <el-table-column align="left" label="码包" prop="更新日期" width="100" />
  276. <el-table-column align="left" label="主电表" prop="YB_方案" width="100"/>
  277. <el-table-column align="left" label="辅电表" prop="YB_Yjno" width="100" />
  278. <el-table-column align="left" label="色度数" prop="印版类别" width="100" />
  279. <el-table-column align="left" label="用户" prop="YB_Yjno" width="100" />
  280. <el-table-column align="left" label="更新时间" prop="印版类别" width="100" />
  281. </el-table>
  282. </el-tab-pane>
  283. <el-tab-pane label="当日制程检验记录" @click="showTable('印件资料')" name="second">
  284. <el-table ref="multipleTable"
  285. :row-style="{ height: '20px' }"
  286. :cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
  287. :header-cell-style="{ padding: '0px' }"
  288. :show-overflow-tooltip="true"
  289. highlight-current-row="true"
  290. style="width: 100%;height: 400px" border tooltip-effect="dark" :data="drzcData" row-key="ID" @selection-change="handleSelectionChange">
  291. <el-table-column type="selection" width="55" />
  292. <el-table-column align="left" label="工单编号" prop="工单编号" width="120"/>
  293. <el-table-column align="left" label="印件号" prop="印件号" width="120" />
  294. <el-table-column align="left" label="工序名称" prop="工序名称" width="330" />
  295. <el-table-column align="left" label="检验项目" prop="检验项目" width="120"/>
  296. <el-table-column
  297. v-for="time in columnNames"
  298. :key="time"
  299. :label="time"
  300. :prop="time"
  301. align="center"
  302. width="120"
  303. ></el-table-column>
  304. </el-table>
  305. </el-tab-pane>
  306. </el-tabs>
  307. </el-dialog>
  308. <el-dialog v-model="detailShow"
  309. fullscreen
  310. style="font-size: 50px;font-weight: bold;" lock-scroll :before-close="closeDetailShow" title="机台班组维护" destroy-on-close>
  311. <div>
  312. <el-table ref="multipleTable"
  313. :row-style="{ height: '20px' }"
  314. :cell-style="{ padding: '0px' ,color:'blue'}" :header-row-style="{ height: '20px' }"
  315. :header-cell-style="{ padding: '0px' }"
  316. :show-overflow-tooltip="true"
  317. highlight-current-row="true" @row-click="BZhandle"
  318. style="width: 100%;height: 250px;margin-top: 0px;" border tooltip-effect="dark"
  319. :data="bzData" row-key="ID" @selection-change="BZSelectionChange">
  320. <!-- <el-table-column type="selection" width="55" /> -->
  321. <el-table-column align="left" label="机台" prop="JTMC" width="70"/>
  322. <el-table-column align="left" label="班组" prop="班组号" width="60"/>
  323. <el-table-column align="left" label="组员1" prop="0" width="195"/>
  324. <el-table-column align="left" label="组员2" prop="1" width="195"/>
  325. <el-table-column align="left" label="组员3" prop="2" width="195"/>
  326. <el-table-column align="left" label="组员4" prop="3" width="195"/>
  327. <el-table-column align="left" label="组员5" prop="4" width="195"/>
  328. <el-table-column align="left" label="组员6" prop="5" width="100"/>
  329. <el-table-column align="left" label="组员7" prop="6" width="100"/>
  330. <el-table-column align="left" label="组员8" prop="7" width="100"/>
  331. <el-table-column align="left" label="组员9" prop="8" width="100"/>
  332. <el-table-column align="left" label="特殊组员" prop="9" width="100"/>
  333. <el-table-column align="left" label="UNIQID" prop="ID" width="100"/>
  334. </el-table>
  335. </div>
  336. <div style="margin-top:100px;">
  337. <el-row :gutter="20">
  338. <el-col :span="10">
  339. <el-form-item label="机台编号" prop="id">
  340. <el-select v-model="selectedOption" placeholder="请选择">
  341. <el-option
  342. v-for="item in dropdownOptions"
  343. :key="item.value"
  344. :label="item.label"
  345. :value="item.value"
  346. ></el-option>
  347. </el-select>
  348. </el-form-item>
  349. </el-col>
  350. <el-col :span="10">
  351. <el-form-item label="班组编号" prop="id">
  352. <el-select v-model="BZMC" placeholder="" >
  353. <el-option label="A 班" value="A 班"></el-option>
  354. <el-option label="B 班" value="B 班"></el-option>
  355. </el-select>
  356. </el-form-item>
  357. </el-col>
  358. </el-row>
  359. <div style="display: flex;">
  360. <div class="groupbox float-div" style="height: 17vh; width: 130vh;">
  361. <span class="grouptitle">组员及分配比例</span>
  362. <el-row :gutter="10" style="margin-top: 0px; height: 5vh;">
  363. <el-col :span="2">
  364. <span></span>
  365. </el-col>
  366. <el-col :span="2">
  367. </el-col>
  368. <el-col :span="2">
  369. </el-col>
  370. <el-col :span="2">
  371. </el-col>
  372. <el-col :span="2">
  373. </el-col>
  374. <el-col :span="2">
  375. </el-col>
  376. <el-col :span="2">
  377. </el-col>
  378. <el-col :span="2">
  379. </el-col>
  380. <el-col :span="2">
  381. </el-col>
  382. <el-col :span="3">
  383. </el-col>
  384. <el-col :span="3">
  385. <el-form-item label="特殊组员" prop="id">
  386. </el-form-item>
  387. </el-col>
  388. </el-row>
  389. <el-row :gutter="10" style="margin-top: 0px;">
  390. <!-- <el-col :span="1">
  391. <span></span>
  392. </el-col> -->
  393. <el-col :span="3">
  394. <el-input v-model="formDatas.code1" @keyup.enter.native="getbzyg($event, '1')" placeholder="" />
  395. </el-col>
  396. <el-col :span="3">
  397. <el-input v-model="formDatas.code2" @keyup.enter.native="getbzyg($event, '2')" placeholder="" />
  398. </el-col>
  399. <el-col :span="3">
  400. <el-input v-model="formDatas.code3" @keyup.enter.native="getbzyg($event, '3')" placeholder="" />
  401. </el-col>
  402. <el-col :span="3">
  403. <el-input v-model="formDatas.code4" @keyup.enter.native="getbzyg($event, '4')" placeholder="" />
  404. </el-col>
  405. <el-col :span="3">
  406. <el-input v-model="formDatas.code5" @keyup.enter.native="getbzyg($event, '5')" placeholder="" />
  407. </el-col>
  408. <el-col :span="3">
  409. <el-input v-model="formDatas.code6" @keyup.enter.native="getbzyg($event, '6')" placeholder="" />
  410. </el-col>
  411. <el-col :span="3">
  412. <el-input v-model="formDatas.code7" @keyup.enter.native="getbzyg($event, '7')" placeholder="" />
  413. </el-col>
  414. <el-col :span="3">
  415. <el-input v-model="formDatas.code8" @keyup.enter.native="getbzyg($event, '8')" placeholder="" />
  416. </el-col>
  417. <!-- <el-col :span="2">
  418. <el-input v-model="formData.name" placeholder="瞿春生" />
  419. </el-col>
  420. <el-col :span="2">
  421. <el-input v-model="percentage" placeholder="11.0" />
  422. </el-col>
  423. <el-col :span="2">
  424. <el-input v-model="formData.qczl_NumDesc" placeholder="打包废纸" />
  425. </el-col>
  426. <el-col :span="2">
  427. <el-input v-model="formData.qczl_NumDesc" placeholder="是" />
  428. </el-col>
  429. <el-col :span="2">
  430. <el-input v-model="formData.qczl_NumDesc" placeholder="ZI00401" />
  431. </el-col>
  432. <el-col :span="2">
  433. <el-input v-model="formData.qczl_NumDesc" placeholder="瞿春生" />
  434. </el-col>
  435. <el-col :span="2">
  436. <el-input v-model="formData.qczl_NumDesc" placeholder="11.0" />
  437. </el-col>
  438. <el-col :span="2">
  439. <el-input v-model="formData.qczl_NumDesc" placeholder="11.0" />
  440. </el-col>
  441. <el-col :span="2">
  442. <el-input v-model="formData.qczl_NumDesc" placeholder="11.0" />
  443. </el-col> -->
  444. </el-row>
  445. <el-row :gutter="10" style="margin-top: 1px;">
  446. <!-- <el-col :span="2">
  447. <span></span>
  448. </el-col> -->
  449. <el-col :span="3">
  450. <el-input v-model="formDatas.name1" style="color:#00FF00" placeholder="" />
  451. </el-col>
  452. <el-col :span="3">
  453. <el-input v-model="formDatas.name2" placeholder="" />
  454. </el-col>
  455. <el-col :span="3">
  456. <el-input v-model="formDatas.name3" placeholder="" />
  457. </el-col>
  458. <el-col :span="3">
  459. <el-input v-model="formDatas.name4" placeholder="" />
  460. </el-col>
  461. <el-col :span="3">
  462. <el-input v-model="formDatas.name5" placeholder="" />
  463. </el-col>
  464. <el-col :span="3">
  465. <el-input v-model="formDatas.name6" placeholder="" />
  466. </el-col>
  467. <el-col :span="3">
  468. <el-input v-model="formDatas.name7" placeholder="" />
  469. </el-col>
  470. <el-col :span="3">
  471. <el-input v-model="formDatas.name8" placeholder="" />
  472. </el-col>
  473. <!-- <el-col :span="2">
  474. <el-input v-model="formData.qczl_NumDesc" placeholder="是" />
  475. </el-col>
  476. <el-col :span="2">
  477. <el-input v-model="formData.qczl_NumDesc" placeholder="ZI00401" />
  478. </el-col>
  479. <el-col :span="2">
  480. <el-input v-model="formData.qczl_NumDesc" placeholder="瞿春生" />
  481. </el-col>
  482. <el-col :span="2">
  483. <el-input v-model="formData.qczl_NumDesc" placeholder="11.0" />
  484. </el-col>
  485. <el-col :span="2">
  486. <el-input v-model="formData.qczl_NumDesc" placeholder="11.0" />
  487. </el-col>
  488. <el-col :span="2">
  489. <el-input v-model="formData.qczl_NumDesc" placeholder="11.0" />
  490. </el-col> -->
  491. </el-row>
  492. <el-row :gutter="10" style="margin-top: 1px;">
  493. <!-- <el-col :span="2">
  494. <span></span>
  495. </el-col> -->
  496. <el-col :span="3">
  497. <el-input v-model="formDatas.percentage1" placeholder="" />
  498. </el-col>
  499. <el-col :span="3">
  500. <el-input v-model="formDatas.percentage2" placeholder="" />
  501. </el-col>
  502. <el-col :span="3">
  503. <el-input v-model="formDatas.percentage3" placeholder="" />
  504. </el-col>
  505. <el-col :span="3">
  506. <el-input v-model="formDatas.percentage4" placeholder="" />
  507. </el-col>
  508. <el-col :span="3">
  509. <el-input v-model="formDatas.percentage5" placeholder="" />
  510. </el-col>
  511. <el-col :span="3">
  512. <el-input v-model="formDatas.percentage6" placeholder="" />
  513. </el-col>
  514. <el-col :span="3">
  515. <el-input v-model="formDatas.percentage7" placeholder="" />
  516. </el-col>
  517. <el-col :span="3">
  518. <el-input v-model="formDatas.percentage8" placeholder="" />
  519. </el-col>
  520. <!-- <el-col :span="2">
  521. <el-input v-model="formData.qczl_NumDesc" placeholder="是" />
  522. </el-col>
  523. <el-col :span="2">
  524. <el-input v-model="formData.qczl_NumDesc" placeholder="ZI00401" />
  525. </el-col>
  526. <el-col :span="2">
  527. <el-input v-model="formData.qczl_NumDesc" placeholder="瞿春生" />
  528. </el-col>
  529. <el-col :span="2">
  530. <el-input v-model="formData.qczl_NumDesc" placeholder="11.0" />
  531. </el-col>
  532. <el-col :span="2">
  533. <el-input v-model="formData.qczl_NumDesc" placeholder="11.0" />
  534. </el-col>
  535. <el-col :span="2">
  536. <el-input v-model="formData.qczl_NumDesc" placeholder="11.0" />
  537. </el-col> -->
  538. </el-row>
  539. </div>
  540. <div style="height: 50vh; width: 15vh;margin-top: 3vh;">
  541. <el-button type="text"></el-button>
  542. <el-button style="margin-bottom: 1vh; width:15vh;background-color:cornflowerblue;" @click="addBz" >新 增</el-button>
  543. <el-button style="margin-bottom: 1vh;width:15vh;background-color:cornflowerblue;" @click="selectBz" >更新当前班组</el-button>
  544. <el-button style="margin-bottom: 1vh;width:15vh;background-color:cornflowerblue;" @click="delBz" >删除当前班组</el-button>
  545. </div>
  546. </div>
  547. </div>
  548. </el-dialog>
  549. <el-dialog v-model="complaintsShow"
  550. fullscreen
  551. style="font-size: 50px;font-weight: bold;"
  552. lock-scroll :before-close="closecomplaintsShow"
  553. title="产品客诉查询" destroy-on-close>
  554. <el-table ref="multipleTable"
  555. :row-style="{ height: '20px' }"
  556. :cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
  557. :header-cell-style="{ padding: '0px' }"
  558. :show-overflow-tooltip="true"
  559. highlight-current-row="true" @row-click="complaintshandle"
  560. style="width: 100%;height: 30vh;margin-top: 0px;" border tooltip-effect="dark"
  561. :data="complaintsData" row-key="ID" @selection-change="complaintsSelectionChange">
  562. <!-- <el-table-column type="selection" width="55" /> -->
  563. <el-table-column align="left" label="产品编号" prop="产品编号" width="120"/>
  564. <el-table-column align="left" label="产品名称" prop="产品名称" width="200"/>
  565. <el-table-column align="left" label="客诉日期" prop="客诉日期" width="120"/>
  566. <el-table-column align="left" label="客诉单号" prop="客诉单号" width="120"/>
  567. <el-table-column align="left" label="客诉方式" prop="客诉方式" width="100"/>
  568. <el-table-column align="left" label="订单编号" prop="订单编号" width="100"/>
  569. <el-table-column align="left" label="缺陷关键字" prop="缺陷关键字" width="140"/>
  570. <el-table-column align="left" label="客诉性质" prop="客诉性质" width="100"/>
  571. <el-table-column align="left" label="主要责任部门" prop="主要责任部门" width="140"/>
  572. <el-table-column align="left" label="次要责任部门" prop="次要责任部门" width="140"/>
  573. </el-table>
  574. <el-row :gutter="20" style="margin-bottom: 1px;margin-top: 0px;">
  575. <el-col :span="6" style="margin-bottom: 1px;margin-top: 0px;">
  576. <el-form-item label="客户编号" prop="id" style="margin-bottom: 1px;margin-top: 0px;">
  577. <el-input v-model="selectedRowData.客户编号" style="margin-bottom: 1px;margin-top: 0px;" placeholder="" />
  578. </el-form-item>
  579. </el-col>
  580. <el-col :span="15" style="margin-bottom: 1px;margin-top: 0px;">
  581. <el-form-item label="客户名称" prop="id" style="margin-bottom: 1px;margin-top: 0px;">
  582. <el-input v-model="selectedRowData.客户名称" style="margin-bottom: 1px;margin-top: 0px;" placeholder="" />
  583. </el-form-item>
  584. </el-col>
  585. </el-row>
  586. <el-row :gutter="20" style="margin-bottom: 1px;margin-top: 0px;">
  587. <el-col :span="6" style="margin-bottom: 1px;margin-top: 0px;">
  588. <el-form-item label="客诉单号" prop="id" style="margin-bottom: 1px;margin-top: 0px;">
  589. <el-input v-model="selectedRowData.客诉单号" style="margin-bottom: 1px;margin-top: 0px;" placeholder="" />
  590. </el-form-item>
  591. </el-col>
  592. <el-col :span="5" style="margin-bottom: 1px;margin-top: 0px;">
  593. <el-form-item label="客诉日期" prop="id" style="margin-bottom: 1px;margin-top: 0px;">
  594. <el-input v-model="selectedRowData.客诉日期" style="margin-bottom: 1px;margin-top: 0px;" placeholder="" />
  595. </el-form-item>
  596. </el-col>
  597. <el-col :span="5" style="margin-bottom: 1px;margin-top: 0px;">
  598. <el-form-item label="方式" prop="id" style="margin-bottom: 1px;margin-top: 0px;">
  599. <el-input v-model="selectedRowData.客诉方式" style="margin-bottom: 1px;margin-top: 0px;" placeholder="" />
  600. </el-form-item>
  601. </el-col>
  602. <el-col :span="5" style="margin-bottom: 1px;margin-top: 0px;">
  603. <el-form-item label="批次号" prop="id" style="margin-bottom: 1px;margin-top: 0px;">
  604. <el-input v-model="selectedRowData.订单编号" style="margin-bottom: 1px;margin-top: 0px;" placeholder="" />
  605. </el-form-item>
  606. </el-col>
  607. </el-row>
  608. <el-row :gutter="20" style="margin-bottom: 1px;margin-top: 0px;">
  609. <el-col :span="20" style="margin-bottom: 1px;margin-top: 0px;">
  610. <el-form-item label="反馈问题" prop="id" style="margin-bottom: 1px;margin-top: 0px;">
  611. <el-input v-model="selectedRowData.客诉描述" style="margin-bottom: 1px;margin-top: 0px;" placeholder="" />
  612. </el-form-item>
  613. </el-col>
  614. </el-row>
  615. <el-row :gutter="20" style="margin-bottom: 1px;margin-top: 0px;">
  616. <el-col :span="20" style="margin-bottom: 1px;margin-top: 0px;">
  617. <el-form-item label="缺陷关键字" prop="id" style="margin-bottom: 1px;margin-top: 0px;">
  618. <el-input v-model="selectedRowData.缺陷关键字" style="margin-bottom: 1px;margin-top: 0px;" placeholder="" />
  619. </el-form-item>
  620. </el-col>
  621. </el-row>
  622. <el-row :gutter="20" style="margin-bottom: 1px;margin-top: 0px;">
  623. <el-col :span="5" style="margin-bottom: 1px;margin-top: 0px;">
  624. <el-form-item label="性质" prop="id" style="margin-bottom: 1px;margin-top: 0px;">
  625. <el-input v-model="selectedRowData.客诉性质" style="margin-bottom: 1px;margin-top: 0px;" placeholder="" />
  626. </el-form-item>
  627. </el-col>
  628. <el-col :span="5" style="margin-bottom: 1px;margin-top: 0px;">
  629. <el-form-item label="扣分" prop="id" style="margin-bottom: 1px;margin-top: 0px;">
  630. <el-input v-model="selectedRowData.扣分" style="margin-bottom: 1px;margin-top: 0px;" placeholder="" />
  631. </el-form-item>
  632. </el-col>
  633. </el-row>
  634. <el-row :gutter="20" style="margin-bottom: 1px;margin-top: 0px;">
  635. <el-col :span="20" style="margin-bottom: 1px;margin-top: 0px;">
  636. <el-form-item label="主责任部门" prop="id" style="margin-bottom: 1px;margin-top: 0px;">
  637. <el-input v-model="selectedRowData.主要责任部门" style="margin-bottom: 1px;margin-top: 0px;" placeholder="" />
  638. </el-form-item>
  639. </el-col>
  640. </el-row>
  641. <el-row :gutter="20" style="margin-bottom: 1px;margin-top: 0px;">
  642. <el-col :span="20" style="margin-bottom: 1px;margin-top: 0px;">
  643. <el-form-item label="次责任部门" prop="id" style="margin-bottom: 1px;margin-top: 0px;">
  644. <el-input v-model="selectedRowData.次要责任部门" style="margin-bottom: 1px;margin-top: 0px;" placeholder="" />
  645. </el-form-item>
  646. </el-col>
  647. </el-row>
  648. </el-dialog>
  649. <el-dialog
  650. v-model="dianjianVisible"
  651. title="设备点检记录"
  652. destroy-on-close
  653. fullscreen
  654. style="font-size: 50px;font-weight: bold;"
  655. >
  656. <el-row :gutter="24" style="margin-bottom: 0px;margin-top: 0px;">
  657. <el-col :span="4" style="margin-bottom: 0px;margin-top: 0px;">
  658. <el-form-item label="设备编号" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
  659. <el-input v-model="JTMC" placeholder="" style="margin-bottom: 0px;margin-top: 0px;"/>
  660. </el-form-item>
  661. </el-col>
  662. <el-col :span="10" style="margin-bottom: 0px;margin-top: 0px;">
  663. <el-row style="margin-bottom: 0px;margin-top: 0px;">
  664. <el-col style="margin-bottom: 0px;margin-top: 0px;">
  665. <el-input v-model="formData.产品名称" placeholder="" style="margin-bottom: 0px;margin-top: 0px;"/>
  666. </el-col>
  667. </el-row>
  668. </el-col>
  669. </el-row>
  670. <div style="display: flex;">
  671. <div style="flex: 0.1;margin-top: 0px;">
  672. <el-aside width="25vh" style="margin: 0; height: 50vh; margin-top: 0px;">
  673. <div class="JKWTree-tree" style="height: 100%; border-right: 1px solid #ebeef5;">
  674. <el-tree :data="dianjiantreeData" :props="defaultProps" highlight-current="true"
  675. @node-click="dianjianNodeClick" @node-dblclick="handleNodeDoubleClick"></el-tree>
  676. </div>
  677. </el-aside>
  678. </div>
  679. <div style="flex: 1; margin: 0;">
  680. <el-table
  681. tooltip-effect="dark"
  682. :data="dianjianselectData"
  683. row-key="ID"
  684. highlight-current-row="true"
  685. :show-overflow-tooltip="true"
  686. border @row-click="dianjianhandle"
  687. style="width:119vh; height:45vh; margin-top: 5px;"
  688. @row-dblclick="handleSelectClick"
  689. :row-class-name="rowClassName"
  690. >
  691. <el-table-column
  692. prop="检验项目"
  693. label="检验项目"
  694. width="320"
  695. />
  696. <el-table-column
  697. prop="点检方法"
  698. label="点检方法"
  699. width="180"
  700. />
  701. <el-table-column
  702. v-slot="scope"
  703. label="正常"
  704. width="70"
  705. >
  706. <el-checkbox v-model="scope.row.zc" @click="zcClick(scope.row)"></el-checkbox>
  707. </el-table-column>
  708. <el-table-column
  709. v-slot="scope"
  710. label="异常"
  711. width="70"
  712. >
  713. <el-checkbox v-model="scope.row.yc" @click="ycClick(scope.row)"></el-checkbox>
  714. </el-table-column>
  715. <el-table-column
  716. v-slot="scope"
  717. label="备注说明"
  718. width="180"
  719. >
  720. <el-input v-model="scope.row.remark"/>
  721. </el-table-column>
  722. <el-table-column
  723. v-slot="scope"
  724. label="不检测"
  725. width="75"
  726. >
  727. <el-checkbox v-model="scope.row.notjc" @click="notjcClick(scope.row)"></el-checkbox>
  728. </el-table-column>
  729. </el-table>
  730. <el-row :gutter="24">
  731. <el-col :span="17">
  732. <el-input v-model="pandingfangfa" style="margin-top=0px; height: 40px; margin-bottom: 0px;" />
  733. </el-col>
  734. </el-row>
  735. </div>
  736. </div>
  737. <template #footer>
  738. <div class="dialog-footer">
  739. <el-button @click="closedianjianDialog">关 闭</el-button>
  740. <el-button type="primary" @click="dianjianDialog">提 交</el-button>
  741. </div>
  742. </template>
  743. </el-dialog>
  744. <el-dialog
  745. v-model="zhichengVisible"
  746. title="制程检验记录"
  747. destroy-on-close
  748. fullscreen
  749. style="font-size: 50px;font-weight: bold;"
  750. >
  751. <el-row :gutter="24" style="margin-top=0px; margin-bottom: 1px;">
  752. <el-col :span="5" style="margin-top=0px; margin-bottom: 0px;">
  753. <el-form-item label="工单编号" prop="id" style="margin-top=0px; margin-bottom: 0px;">
  754. <el-input v-model="xunchaData.order" placeholder="" style="margin-top=0px; margin-bottom: 0px;"/>
  755. </el-form-item>
  756. </el-col>
  757. <el-col :span="15" style="margin-top=0px; margin-bottom: 0px;">
  758. <el-row style="margin-top=0px; margin-bottom: 0px;">
  759. <el-col style="margin-top=0px; margin-bottom: 0px;">
  760. <el-input v-model="xunchaData.product_name" placeholder="" style="margin-top=0px; margin-bottom: 0px;"/>
  761. </el-col>
  762. </el-row>
  763. </el-col>
  764. <el-col :span="4" style="margin-top=0px; margin-bottom: 0px;">
  765. <el-form-item label="流程单" prop="id" style="margin-top=0px; margin-bottom: 0px;">
  766. <el-input v-model="xunchaData.lcdh" placeholder="" style="margin-top=0px; margin-bottom: 0px;"/>
  767. </el-form-item>
  768. </el-col>
  769. </el-row>
  770. <el-row :gutter="24" style="margin-top=0px; margin-bottom: 1px;">
  771. <el-col :span="5" style="margin-top=0px; margin-bottom: 0px;">
  772. <el-form-item label="印件编号" prop="id" style="margin-top=0px; margin-bottom: 0px;">
  773. <el-input v-model="xunchaData.yjno" placeholder="" style="margin-top=0px; margin-bottom: 0px;"/>
  774. </el-form-item>
  775. </el-col>
  776. <el-col :span="15" style="margin-top=0px; margin-bottom: 0px;">
  777. <el-input v-model="xunchaData.gxmc" placeholder="" style="margin-top=0px; margin-bottom: 0px;"/>
  778. </el-col>
  779. </el-row>
  780. <div style="display: flex;">
  781. <div style="flex: 0.1;">
  782. <el-aside width="25vh" style="margin: 0;">
  783. <div class="JKWTree-tree" style="height: 100%; border-right: 1px solid #ebeef5;">
  784. <el-tree :data="zhichengtreeData" :props="defaultProps" highlight-current="true"
  785. @node-click="zhichengNodeClick"></el-tree>
  786. </div>
  787. </el-aside>
  788. </div>
  789. <div v-if="zhichengstatus" style="flex: 0; margin: 0;">
  790. <el-tabs v-model="activNames" type="card" @tab-click="handleClick">
  791. <el-tab-pane label="指标检验" @click="showTable('指标检验')" name="first">
  792. <el-table
  793. tooltip-effect="dark"
  794. :data="zhibiaoselectData"
  795. row-key="ID"
  796. highlight-current-row="true"
  797. :show-overflow-tooltip="true"
  798. border
  799. style="width:70vh; height:310px;"
  800. :row-class-name="rowClassName"
  801. >
  802. <el-table-column prop="检验项目" label="检验项目" width="110" />
  803. <el-table-column label="不检测" width="70">
  804. <template v-slot="scope">
  805. <el-radio v-model="scope.row.selected" label="不检测">
  806. <span style="visibility: hidden;">不检测</span>
  807. </el-radio>
  808. </template>
  809. </el-table-column>
  810. <el-table-column label="合格" width="60">
  811. <template v-slot="scope">
  812. <el-radio v-model="scope.row.selected" label="合格">
  813. <span style="visibility: hidden;">合格</span>
  814. </el-radio>
  815. </template>
  816. </el-table-column>
  817. <el-table-column label="不合格" width="70">
  818. <template v-slot="scope">
  819. <el-radio v-model="scope.row.selected" label="不合格">
  820. <span style="visibility: hidden;">不合格</span>
  821. </el-radio>
  822. </template>
  823. </el-table-column>
  824. <el-table-column prop="检测方法" label="检测方法" width="90" />
  825. <el-table-column prop="检验频率" label="检验频率" width="150" />
  826. <el-table-column prop="相关标准" label="相关标准" width="180" />
  827. </el-table>
  828. </el-tab-pane>
  829. <el-tab-pane label="附加检验记录" @click="showTable('附加检验记录')" name="second">
  830. <el-table
  831. tooltip-effect="dark"
  832. :data="fujiaselectData"
  833. row-key="ID"
  834. highlight-current-row="true"
  835. :show-overflow-tooltip="true"
  836. border @row-click="dianjianhandle"
  837. style="width:70vh; height:40vh;"
  838. @row-dblclick="handleSelectClick"
  839. :row-class-name="rowClassName"
  840. >
  841. <el-table-column
  842. v-slot="scope"
  843. label="不检测"
  844. width="75"
  845. >
  846. <el-checkbox v-model="scope.row.notjc"></el-checkbox>
  847. </el-table-column>
  848. <el-table-column
  849. prop="缺陷备注"
  850. label="缺陷及记录"
  851. width="720"
  852. />
  853. <el-table-column
  854. prop="编号"
  855. label="编号"
  856. width="80"
  857. />
  858. </el-table>
  859. </el-tab-pane>
  860. </el-tabs>
  861. </div>
  862. </div>
  863. <template #footer>
  864. <div v-if="zhichengstatus" class="dialog-footer">
  865. <el-button @click="closezhichengDialog">关 闭</el-button>
  866. <el-button type="primary" @click="zhichengDialog">提 交</el-button>
  867. </div>
  868. </template>
  869. </el-dialog>
  870. <el-dialog
  871. v-model="huanxingVisible"
  872. title="换型清场"
  873. destroy-on-close
  874. fullscreen
  875. style="font-size: 50px;font-weight: bold;"
  876. >
  877. <header>
  878. <div style="height: 50px;margin-left: 1vh;">
  879. <el-button type="primary" @click="onHxadd" >新增</el-button>
  880. <el-button type="primary" @click="onHxedit" >修改</el-button>
  881. <el-button type="primary" @click="onHxdel" >删除</el-button>
  882. <el-button type="primary" @click="onHxsave" v-if="huanxingType" >提交</el-button>
  883. </div>
  884. </header>
  885. <div style="display: flex;">
  886. <div style="flex: 0.1;">
  887. <el-aside width="26vh" style="margin: 0;">
  888. <div class="JKWTree-tree" style="height: 60vh; border-right: 1px solid #ebeef5;">
  889. <el-tree :data="huanxingtreeData" :props="defaultProps" highlight-current="true"
  890. @node-click="huanxingNodeClick"></el-tree>
  891. </div>
  892. </el-aside>
  893. </div>
  894. <div v-if="huanxingstatus" style="flex: 0; margin: 0;">
  895. <el-tabs v-model="activNames" type="card" @tab-click="handleClick">
  896. <el-tab-pane label="换型清场明细信息" @click="showTable('换型清场明细信息')" name="first">
  897. <div style="width:70vh">
  898. <el-descriptions :column="9" border>
  899. <el-descriptions-item :span="9">
  900. <el-row :gutter="24" style="margin-bottom: 0px;margin-top: 0px;">
  901. <el-col :span="6" style="margin-bottom: 0px;margin-top: 0px;">
  902. <el-form-item label="日期:" prop="id" style="margin-top=0px; margin-bottom: 0px;">
  903. <el-input v-model="huanxingData.日期" placeholder="" style="margin-top=0px; margin-bottom: 0px;"/>
  904. </el-form-item>
  905. </el-col>
  906. <el-col :span="2" style="margin-bottom: 0px;margin-top: 0px;">
  907. </el-col>
  908. <el-col :span="6" style="margin-bottom: 0px;margin-top: 0px;">
  909. <el-form-item label="机台编号:" prop="id" style="margin-top=0px; margin-bottom: 0px;">
  910. <el-input v-model="huanxingData.机台编号" placeholder="" style="margin-top=0px; margin-bottom: 0px;"/>
  911. </el-form-item>
  912. </el-col>
  913. <el-col :span="1" style="margin-bottom: 0px;margin-top: 0px;">
  914. </el-col>
  915. <el-col :span="6" style="margin-bottom: 0px;margin-top: 0px;">
  916. <el-form-item label="班组:" prop="id" style="margin-top=0px; margin-bottom: 0px;">
  917. <el-input v-model="huanxingData.班组" placeholder="" style="margin-top=0px; margin-bottom: 0px;"/>
  918. </el-form-item>
  919. </el-col>
  920. </el-row>
  921. </el-descriptions-item>
  922. <el-descriptions-item label="清场原因 从" :span="9">
  923. <el-row :gutter="24" style="margin-bottom: 0px;margin-top: 0px;">
  924. <el-col :span="8" style="margin-bottom: 0px;margin-top: 0px;">
  925. <el-form-item label="工单编号:" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
  926. <el-input v-model="huanxingData.工单编号A" placeholder="" style="margin-bottom: 0px;margin-top: 0px;"/>
  927. </el-form-item>
  928. </el-col>
  929. <el-col :span="16" style="margin-bottom: 0px;margin-top: 0px;">
  930. <el-form-item label="印件名称:" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
  931. <el-input v-model="huanxingData.印件名称A" placeholder="" style="margin-bottom: 0px;margin-top: 0px;"/>
  932. </el-form-item>
  933. </el-col>
  934. </el-row>
  935. <el-row :gutter="24" style="margin-bottom: 0px;margin-top: 0px;">
  936. <el-col :span="12" style="margin-bottom: 0px;margin-top: 0px;">
  937. <el-form-item label="印件工序:" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
  938. <el-input v-model="huanxingData.印件工序A" placeholder="" style="margin-bottom: 0px;margin-top: 0px;"/>
  939. </el-form-item>
  940. </el-col>
  941. <el-col :span="6" style="margin-bottom: 0px;margin-top: 0px;">
  942. </el-col>
  943. <el-col :span="6" style="margin-bottom: 0px;margin-top: 0px;">
  944. <el-form-item label="码包号" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
  945. <el-input v-model="huanxingData.码包号A" placeholder="" style="margin-bottom: 0px;margin-top: 0px;"/>
  946. </el-form-item>
  947. </el-col>
  948. </el-row>
  949. </el-descriptions-item>
  950. <el-descriptions-item label="清场原因 到" :span="9">
  951. <el-row :gutter="24" style="margin-bottom: 0px;margin-top: 0px;">
  952. <el-col :span="8" style="margin-bottom: 0px;margin-top: 0px;">
  953. <el-form-item label="工单编号:" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
  954. <el-input v-model="huanxingData.工单编号B" placeholder="" style="margin-bottom: 0px;margin-top: 0px;"/>
  955. </el-form-item>
  956. </el-col>
  957. <el-col :span="16" style="margin-bottom: 0px;margin-top: 0px;">
  958. <el-form-item label="印件名称:" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
  959. <el-input v-model="huanxingData.印件名称B" placeholder="" style="margin-bottom: 0px;margin-top: 0px;"/>
  960. </el-form-item>
  961. </el-col>
  962. </el-row>
  963. <el-row :gutter="24" style="margin-bottom: 0px;margin-top: 0px;">
  964. <el-col :span="12" style="margin-bottom: 0px;margin-top: 0px;">
  965. <el-form-item label="印件工序:" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
  966. <el-input v-model="huanxingData.印件工序B" placeholder="" style="margin-bottom: 0px;margin-top: 0px;"/>
  967. </el-form-item>
  968. </el-col>
  969. <el-col :span="6" style="margin-bottom: 0px;margin-top: 0px;">
  970. </el-col>
  971. <el-col :span="6" style="margin-bottom: 0px;margin-top: 0px;">
  972. <el-form-item label="码包号" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
  973. <el-input v-model="huanxingData.码包B" placeholder="" style="margin-bottom: 0px;margin-top: 0px;"/>
  974. </el-form-item>
  975. </el-col>
  976. </el-row>
  977. </el-descriptions-item>
  978. <el-descriptions-item label="清场确认项目" :span="9">
  979. <el-row :gutter="24" style="margin-bottom: 0px;margin-top: 0px;">
  980. <el-col :span="12" style="margin-bottom: 0px;margin-top: 0px;">
  981. <el-form-item label="菲林_标样_签样品_留样品" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
  982. <el-checkbox v-model="huanxingData.项目1"></el-checkbox>
  983. </el-form-item>
  984. </el-col>
  985. <el-col :span="12" style="margin-bottom: 0px;margin-top: 0px;">
  986. <el-form-item label="版材_纸张_电化铝_油墨" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
  987. <el-checkbox v-model="huanxingData.项目2"></el-checkbox>
  988. </el-form-item>
  989. </el-col>
  990. </el-row>
  991. <el-row :gutter="24" style="margin-bottom: 0px;margin-top: 0px;">
  992. <el-col :span="12" style="margin-bottom: 0px;margin-top: 0px;">
  993. <el-form-item label="过版纸_废品_次品" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
  994. <el-checkbox v-model="huanxingData.项目3"></el-checkbox>
  995. </el-form-item>
  996. </el-col>
  997. <el-col :span="12" style="margin-bottom: 0px;margin-top: 0px;">
  998. <el-form-item label="半成品_成品_零头" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
  999. <el-checkbox v-model="huanxingData.项目4"></el-checkbox>
  1000. </el-form-item>
  1001. </el-col>
  1002. </el-row>
  1003. <el-row :gutter="24" style="margin-bottom: 0px;margin-top: 0px;">
  1004. <el-col :span="12" style="margin-bottom: 0px;margin-top: 0px;">
  1005. <el-form-item label="操作台桌面_抽屉_地面" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
  1006. <el-checkbox v-model="huanxingData.项目5"></el-checkbox>
  1007. </el-form-item>
  1008. </el-col>
  1009. </el-row>
  1010. </el-descriptions-item>
  1011. <el-descriptions-item label="清场确认人" :span="9">
  1012. <el-row :gutter="24" style="margin-bottom: 0px;margin-top: 0px;">
  1013. <el-col :span="12" style="margin-bottom: 0px;margin-top: 0px;">
  1014. <el-form-item label="机长签字" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
  1015. <el-input v-model="huanxingData.机长" placeholder="" style="margin-bottom: 0px;margin-top: 0px;"/>
  1016. </el-form-item>
  1017. </el-col>
  1018. </el-row>
  1019. <el-row :gutter="24" style="margin-bottom: 0px;margin-top: 0px;">
  1020. <el-col :span="12" style="margin-bottom: 0px;margin-top: 0px;">
  1021. <el-form-item label="带班主管签字" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
  1022. <el-input v-model="huanxingData.班长" placeholder="" style="margin-bottom: 0px;margin-top: 0px;"/>
  1023. </el-form-item>
  1024. </el-col>
  1025. <el-col :span="12" style="margin-bottom: 0px;margin-top: 0px;">
  1026. <el-form-item label="质量巡查员签字" prop="id" style="margin-bottom: 0px;margin-top: 0px;">
  1027. <el-input v-model="huanxingData.质量巡查员" placeholder="" style="margin-bottom: 0px;margin-top: 0px;"/>
  1028. </el-form-item>
  1029. </el-col>
  1030. </el-row>
  1031. </el-descriptions-item>
  1032. </el-descriptions>
  1033. </div>
  1034. </el-tab-pane>
  1035. <el-tab-pane label="当前设备换型记录" @click="showTable('当前设备换型记录')" name="second">
  1036. <el-table
  1037. tooltip-effect="dark"
  1038. :data="huanxingselectData"
  1039. row-key="ID"
  1040. highlight-current-row="true"
  1041. :show-overflow-tooltip="true"
  1042. border @row-click="dianjianhandle"
  1043. style="width:70vh; height:50vh;"
  1044. @row-dblclick="handleSelectClick"
  1045. :row-class-name="rowClassName"
  1046. >
  1047. <el-table-column
  1048. prop="日期"
  1049. label="日期"
  1050. width="160"
  1051. />
  1052. <el-table-column
  1053. prop="机台编号"
  1054. label="机台编号"
  1055. width="90"
  1056. />
  1057. <el-table-column
  1058. prop="班组"
  1059. label="班组"
  1060. width="70"
  1061. />
  1062. <el-table-column
  1063. prop="工单编号A"
  1064. label="工单编号A"
  1065. width="95"
  1066. />
  1067. <el-table-column
  1068. prop="印件名称A"
  1069. label="印件名称A"
  1070. width="130"
  1071. />
  1072. <el-table-column
  1073. prop="印件工序A"
  1074. label="印件工序A"
  1075. width="150"
  1076. />
  1077. <el-table-column
  1078. prop="码包号A"
  1079. label="码包号A"
  1080. width="80"
  1081. />
  1082. <el-table-column
  1083. prop="工单编号B"
  1084. label="工单编号B"
  1085. width="100"
  1086. />
  1087. <el-table-column
  1088. prop="印件名称B"
  1089. label="印件名称B"
  1090. width="100"
  1091. />
  1092. <el-table-column
  1093. prop="印件工序B"
  1094. label="印件工序B"
  1095. width="150"
  1096. />
  1097. <el-table-column
  1098. prop="码包号B"
  1099. label="码包号B"
  1100. width="80"
  1101. />
  1102. <el-table-column
  1103. prop="清场项目A"
  1104. label="菲林_标样_签样品_留样品"
  1105. width="190"
  1106. />
  1107. <el-table-column
  1108. prop="清场项目B"
  1109. label="版材_纸张_电化铝_油墨"
  1110. width="190"
  1111. />
  1112. <el-table-column
  1113. prop="清场项目C"
  1114. label="过版纸_废品_次品"
  1115. width="170"
  1116. />
  1117. <el-table-column
  1118. prop="清场项目D"
  1119. label="半成品_成品_零头"
  1120. width="170"
  1121. />
  1122. <el-table-column
  1123. prop="清场项目E"
  1124. label="操作台桌面_抽屉_地面"
  1125. width="180"
  1126. />
  1127. <el-table-column
  1128. prop="机长"
  1129. label="机长"
  1130. width="80"
  1131. />
  1132. <el-table-column
  1133. prop="班长"
  1134. label="带班长"
  1135. width="80"
  1136. />
  1137. <el-table-column
  1138. prop="质量巡查员"
  1139. label="质量巡查员"
  1140. width="100"
  1141. />
  1142. <el-table-column
  1143. prop="创建时间"
  1144. label="创建时间"
  1145. width="120"
  1146. />
  1147. <el-table-column
  1148. prop="UNIQID"
  1149. label="UNIQID"
  1150. width="80"
  1151. />
  1152. </el-table>
  1153. </el-tab-pane>
  1154. </el-tabs>
  1155. </div>
  1156. </div>
  1157. </el-dialog>
  1158. <el-dialog
  1159. v-model="yinbanVisible"
  1160. title="印版领退"
  1161. destroy-on-close
  1162. fullscreen
  1163. style="font-size: 50px;font-weight: bold;"
  1164. >
  1165. <header>
  1166. <div style="height: 50px;margin-left: 1vh;">
  1167. <el-button type="primary" @click="onYbout" >领出</el-button>
  1168. <el-button type="primary" @click="onYbback" >收回</el-button>
  1169. </div>
  1170. </header>
  1171. <el-row :gutter="24">
  1172. <el-col :span="4">
  1173. <el-form-item label="工单编号" prop="id">
  1174. <el-input v-model="formData.工单编号" />
  1175. </el-form-item>
  1176. </el-col>
  1177. <el-col :span="6">
  1178. <el-form-item prop="id">
  1179. <el-input v-model="formData.productCode" />
  1180. </el-form-item>
  1181. </el-col>
  1182. <el-col :span="14">
  1183. <el-form-item prop="id">
  1184. <el-input v-model="formData.产品名称" />
  1185. </el-form-item>
  1186. </el-col>
  1187. </el-row>
  1188. <div style="display: flex;">
  1189. <div style="flex: 1;">
  1190. <el-aside width="20vh" style="margin: 0;">
  1191. <div class="JKWTree-tree" style="height: 100%; border-right: 1px solid #ebeef5;">
  1192. <el-tree :data="yinbantreeData" :props="defaultProps" highlight-current="true"
  1193. @node-click="yinbanNodeClick" @node-dblclick="handleNodeDoubleClick"></el-tree>
  1194. </div>
  1195. </el-aside>
  1196. </div>
  1197. <div style="flex: 1; margin: 0;">
  1198. <el-table
  1199. tooltip-effect="dark"
  1200. :data="yinbanselectData"
  1201. row-key="ID"
  1202. highlight-current-row="true"
  1203. :show-overflow-tooltip="true"
  1204. border @row-click="dianjianhandle"
  1205. style="width:150vh; height:50vh;"
  1206. @row-dblclick="handleSelectClick"
  1207. :row-class-name="rowClassName"
  1208. @selection-change="handleybSelectionChange"
  1209. >
  1210. <el-table-column type="selection" width="55" align="center" label=""></el-table-column>
  1211. <el-table-column
  1212. prop="存货编码"
  1213. label="存货编码"
  1214. width="100"
  1215. />
  1216. <el-table-column
  1217. prop="存货名称"
  1218. label="存货名称"
  1219. width="180"
  1220. />
  1221. <el-table-column
  1222. prop="印版名称"
  1223. label="印版名称"
  1224. width="180"
  1225. />
  1226. <el-table-column
  1227. prop="供方批号"
  1228. label="供方批号"
  1229. width="150"
  1230. />
  1231. <el-table-column
  1232. prop="制造日期"
  1233. label="制造日期"
  1234. width="170"
  1235. />
  1236. <el-table-column
  1237. prop="印数"
  1238. label="印数"
  1239. width="80"
  1240. />
  1241. <el-table-column
  1242. prop="印版类别"
  1243. label="印版类别"
  1244. width="90"
  1245. />
  1246. <el-table-column
  1247. prop="客户编号"
  1248. label="客户编号"
  1249. width="90"
  1250. />
  1251. <el-table-column
  1252. prop="客户名称"
  1253. label="客户名称"
  1254. width="180"
  1255. />
  1256. <el-table-column
  1257. prop="产品编号"
  1258. label="产品编号"
  1259. width="100"
  1260. />
  1261. <el-table-column
  1262. prop="产品名称"
  1263. label="产品名称"
  1264. width="180"
  1265. />
  1266. <el-table-column
  1267. prop="UniqId"
  1268. label="UNIQID"
  1269. width="80"
  1270. />
  1271. </el-table>
  1272. </div>
  1273. </div>
  1274. </el-dialog>
  1275. <el-dialog
  1276. v-model="xunchaVisible"
  1277. title="管理人员现场巡查记录"
  1278. destroy-on-close
  1279. fullscreen
  1280. style="font-size: 50px;font-weight: bold;"
  1281. >
  1282. <el-row :gutter="24" style="margin-top=0px; margin-bottom: 1px;">
  1283. <el-col :span="4" style="margin-top=0px; margin-bottom: 0px;">
  1284. <el-form-item label="工单编号" prop="id" style="margin-top=0px; margin-bottom: 0px;">
  1285. <el-input v-model="xunchaData.order" placeholder="" style="margin-top=0px; margin-bottom: 0px;"/>
  1286. </el-form-item>
  1287. </el-col>
  1288. <el-col :span="9" style="margin-top=0px; margin-bottom: 0px;">
  1289. <el-row style="margin-top=0px; margin-bottom: 0px;">
  1290. <el-col style="margin-top=0px; margin-bottom: 0px;">
  1291. <el-input v-model="xunchaData.product_name" placeholder="" style="margin-top=0px; margin-bottom: 0px;"/>
  1292. </el-col>
  1293. </el-row>
  1294. </el-col>
  1295. <el-col :span="4" style="margin-top=0px; margin-bottom: 0px;">
  1296. <el-form-item label="工号 " prop="id" style="margin-top=0px; margin-bottom: 0px;">
  1297. <el-input v-model="xunchaData.sczl_bh" @keyup.enter.native="getxunchayg($event)" placeholder="" style="margin-top=0px; margin-bottom: 0px;"/>
  1298. </el-form-item>
  1299. </el-col>
  1300. <el-col :span="4" style="margin-top=0px; margin-bottom: 0px;">
  1301. <el-form-item label="流程单" prop="id" style="margin-top=0px; margin-bottom: 0px;">
  1302. <el-input v-model="xunchaData.lcdh" placeholder="" style="margin-top=0px; margin-bottom: 0px;"/>
  1303. </el-form-item>
  1304. </el-col>
  1305. </el-row>
  1306. <el-row :gutter="24" style="margin-top=0px; margin-bottom: 1px;">
  1307. <el-col :span="3" style="margin-top=0px; margin-bottom: 0px;">
  1308. <el-form-item label="印件编号" prop="id" style="margin-top=0px; margin-bottom: 0px;">
  1309. <el-input v-model="xunchaData.yjno" placeholder="" style="margin-top=0px; margin-bottom: 0px;"/>
  1310. </el-form-item>
  1311. </el-col>
  1312. <el-col :span="10" style="margin-top=0px; margin-bottom: 0px;">
  1313. <el-row style="margin-top=0px; margin-bottom: 0px;">
  1314. <el-col style="margin-top=0px; margin-bottom: 0px;">
  1315. <el-input v-model="xunchaData.gxmc" placeholder="" style="margin-top=0px; margin-bottom: 0px;"/>
  1316. </el-col>
  1317. </el-row>
  1318. </el-col>
  1319. <el-col :span="4" style="margin-top=0px; margin-bottom: 0px;">
  1320. <el-form-item label="姓名" prop="id" style="margin-top=0px; margin-bottom: 0px;">
  1321. <el-input v-model="xunchaData.sczl_name" placeholder="" style="margin-top=0px; margin-bottom: 0px;"/>
  1322. </el-form-item>
  1323. </el-col>
  1324. </el-row>
  1325. <el-row :gutter="24" style="margin-top=0px; margin-bottom: 1px;">
  1326. <el-col :span="13" style="margin-top=0px; margin-bottom: 0px;">
  1327. <el-form-item label="检验备注" prop="id" style="margin-top=0px; margin-bottom: 0px;">
  1328. <el-input v-model="xunchaData.remark" placeholder="" style="margin-top=0px; margin-bottom: 0px;"/>
  1329. </el-form-item>
  1330. </el-col>
  1331. </el-row>
  1332. <div style="display: flex;">
  1333. <div style="flex: 0.1;">
  1334. <el-aside width="20vh" style="margin: 0;">
  1335. <div class="JKWTree-tree" style="height: 100%; border-right: 1px solid #ebeef5;">
  1336. <el-tree :data="xunchatreeData" :props="defaultProps" highlight-current="true"
  1337. @node-click="xunchaNodeClick" @node-dblclick="handleNodeDoubleClick"></el-tree>
  1338. </div>
  1339. </el-aside>
  1340. </div>
  1341. <div style="flex: 1; margin: 0;">
  1342. <el-table
  1343. tooltip-effect="dark"
  1344. :data="xunchaselectData"
  1345. row-key="ID"
  1346. highlight-current-row="true"
  1347. border @row-click="dianjianhandle"
  1348. style="width:170vh; height:42vh;"
  1349. @row-dblclick="handleSelectClick"
  1350. :row-class-name="rowClassName"
  1351. :show-overflow-tooltip="true"
  1352. >
  1353. <el-table-column
  1354. prop="工单编号"
  1355. label="工单编号"
  1356. width="85"
  1357. />
  1358. <el-table-column
  1359. prop="印件号"
  1360. label="印件号"
  1361. width="70"
  1362. />
  1363. <el-table-column
  1364. prop="工序名称"
  1365. label="工序名称"
  1366. width="240"
  1367. />
  1368. <el-table-column
  1369. prop="流程单号"
  1370. label="流程单号"
  1371. width="85"
  1372. />
  1373. <el-table-column
  1374. prop="设备编号"
  1375. label="设备编号"
  1376. width="85"
  1377. />
  1378. <el-table-column
  1379. prop="班组编号"
  1380. label="班组编号"
  1381. width="85"
  1382. />
  1383. <el-table-column
  1384. prop="检验备注"
  1385. label="检验备注"
  1386. width="85"
  1387. />
  1388. <el-table-column
  1389. prop="现场管理人员"
  1390. label="现场管理人员"
  1391. width="150"
  1392. />
  1393. <el-table-column
  1394. prop="提交时间"
  1395. label="提交时间"
  1396. width="165"
  1397. />
  1398. <el-table-column
  1399. prop="开工时间"
  1400. label="开工时间"
  1401. width="165"
  1402. />
  1403. <el-table-column
  1404. prop="分钟差数"
  1405. label="分钟差数"
  1406. width="85"
  1407. />
  1408. <el-table-column
  1409. prop="归属时段"
  1410. label="归属时段"
  1411. width="165"
  1412. />
  1413. </el-table>
  1414. </div>
  1415. </div>
  1416. <template #footer>
  1417. <div class="dialog-footer">
  1418. <el-button @click="closexunchaDialog">关 闭</el-button>
  1419. <el-button type="primary" @click="xunchaDialog">提 交</el-button>
  1420. </div>
  1421. </template>
  1422. </el-dialog>
  1423. <el-dialog
  1424. v-model="chanliangVisible"
  1425. title="日产量上报"
  1426. fullscreen
  1427. style="font-size: 2vh;font-weight: bold;"
  1428. >
  1429. <el-row :gutter="24" style="margin-top=0px; margin-bottom: 1px;">
  1430. <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
  1431. <el-form-item label="工单编号" prop="id" style="margin-top=0px; margin-bottom: 0px;">
  1432. <el-input style="margin-top=0px; margin-bottom: 1px;" v-model="formData3.order" id="工单编号" @keydown="ent($event, 'rate10', '工单编号', '产品名称')" placeholder="" />
  1433. </el-form-item>
  1434. </el-col>
  1435. <el-col :span="10" style="margin-top=0px; margin-bottom: 1px;">
  1436. <el-form-item label="产品名称" prop="id" style="margin-top=0px; margin-bottom: 1px;">
  1437. <el-input v-model="formData3.product_name" id="产品名称" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '工单编号', '产品名称', '工序名称')" placeholder="" />
  1438. </el-form-item>
  1439. </el-col>
  1440. <el-col :span="10" style="margin-top=0px; margin-bottom: 1px;">
  1441. <el-form-item label="工序名称" prop="id" style="margin-top=0px; margin-bottom: 1px;">
  1442. <el-input v-model="formData3.gxmc" id="工序名称" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '产品名称', '工序名称', '印件号')" placeholder="" />
  1443. </el-form-item>
  1444. </el-col>
  1445. </el-row>
  1446. <el-row :gutter="24" style="margin-top=0px; margin-bottom: 1px;">
  1447. <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
  1448. <el-form-item label="印件号" prop="id" style="margin-top=0px; margin-bottom: 1px;">
  1449. <el-input v-model="formData3.yjno" style="margin-top=0px; margin-bottom: 1px;" id="印件号" @keydown="ent($event, '工序名称', '印件号', '印件名称')" placeholder="" />
  1450. </el-form-item>
  1451. </el-col>
  1452. <el-col :span="10" style="margin-top=0px; margin-bottom: 1px;">
  1453. <el-form-item label="印件名称" prop="id" style="margin-top=0px; margin-bottom: 1px;">
  1454. <el-input v-model="formData3.yj_name" id="印件名称" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '印件号', '印件名称', '工艺名称')" placeholder="" />
  1455. </el-form-item>
  1456. </el-col>
  1457. <el-col :span="8" style="margin-top=0px; margin-bottom: 1px;">
  1458. <el-form-item label="工艺名称" prop="id" style="margin-top=0px; margin-bottom: 1px;">
  1459. <el-input v-model="formData3.gy_name" id="工艺名称" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '印件名称', '工艺名称', 'gxh')" placeholder="" />
  1460. </el-form-item>
  1461. </el-col>
  1462. <el-col :span="2" style="margin-top=0px; margin-bottom: 1px;">
  1463. <el-form-item label="" prop="id" style="margin-top=0px; margin-bottom: 1px;">
  1464. <el-input v-model="formData3.gxh" id="gxh" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '工艺名称', 'gxh', '日期')" placeholder="" />
  1465. </el-form-item>
  1466. </el-col>
  1467. </el-row>
  1468. <el-row :gutter="24" style="margin-top=0px; margin-bottom: 1px;">
  1469. <el-col :span="1" style="margin-top=0px; margin-bottom: 1px;">
  1470. </el-col>
  1471. <el-col :span="5" style="margin-top=0px; margin-bottom: 1px;">
  1472. <el-form-item label="日期" prop="id" style="margin-top=0px; margin-bottom: 1px;">
  1473. <el-input v-model="formData3.日期" id="日期" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, 'gxh', '日期', '流程标牌')" placeholder="" />
  1474. </el-form-item>
  1475. </el-col>
  1476. <el-col :span="5" style="margin-top=0px; margin-bottom: 1px;">
  1477. <el-form-item label="流程标牌" prop="id" style="margin-top=0px; margin-bottom: 1px;">
  1478. <el-input v-model="formData3.流程标牌" id="流程标牌" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '日期', '流程标牌', '上机时间')" placeholder="" />
  1479. </el-form-item>
  1480. </el-col>
  1481. <el-col :span="5" style="margin-top=0px; margin-bottom: 1px;">
  1482. <el-form-item label="上机时间" prop="id" style="margin-top=0px; margin-bottom: 1px;">
  1483. <el-input v-model="formData3.上机时间" id="上机时间" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '流程标牌', '上机时间', '下机时间')" placeholder="" />
  1484. </el-form-item>
  1485. </el-col>
  1486. <el-col :span="5" style="margin-top=0px; margin-bottom: 1px;">
  1487. <el-form-item label="下机时间" prop="" style="margin-top=0px; margin-bottom: 1px;">
  1488. <el-input v-model="formData3.下机时间" style="margin-top=0px; margin-bottom: 1px;" id="下机时间" @keydown="ent($event, '上机时间', '下机时间', '产量')" placeholder="" />
  1489. </el-form-item>
  1490. </el-col>
  1491. <el-col :span="3">
  1492. </el-col>
  1493. </el-row>
  1494. <el-row :gutter="24" style="margin-top=0px; margin-bottom: 1px;">
  1495. <el-col :span="1" style="margin-top=0px; margin-bottom: 1px;">
  1496. </el-col>
  1497. <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
  1498. <el-form-item label="产量" prop="id" style="margin-top=0px; margin-bottom: 1px;">
  1499. <el-input v-model="formData3.产量" id="产量" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '下机时间', '产量', '制程废品')" placeholder="" />
  1500. </el-form-item>
  1501. </el-col>
  1502. <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
  1503. <el-form-item label="制程废品" prop="id" style="margin-top=0px; margin-bottom: 1px;">
  1504. <el-input v-model="formData3.制程废品" id="制程废品" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '产量', '制程废品', '制程次品')" placeholder="" />
  1505. </el-form-item>
  1506. </el-col>
  1507. <el-col :span="3" style="margin-top=0px; margin-bottom: 1px;">
  1508. <el-form-item label="制程次品" prop="id" style="margin-top=0px; margin-bottom: 1px;">
  1509. <el-input v-model="formData3.制程次品" id="制程次品" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '制程废品', '制程次品', '前工序废')" placeholder="" />
  1510. </el-form-item>
  1511. </el-col>
  1512. <el-col :span="3" style="margin-top=0px; margin-bottom: 1px;">
  1513. <el-form-item label="前工序废" prop="" style="margin-top=0px; margin-bottom: 1px;">
  1514. <el-input v-model="formData3.前工序废" id="前工序废" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '制程次品', '前工序废', '来料异常')" placeholder="" />
  1515. </el-form-item>
  1516. </el-col>
  1517. <el-col :span="3" style="margin-top=0px; margin-bottom: 1px;">
  1518. <el-form-item label="来料异常" prop="" style="margin-top=0px; margin-bottom: 1px;">
  1519. <el-input v-model="formData3.来料异常" id="来料异常" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '前工序废', '来料异常', '联数')" placeholder="" />
  1520. </el-form-item>
  1521. </el-col>
  1522. <el-col :span="3" style="margin-top=0px; margin-bottom: 1px;">
  1523. <el-form-item label="联数" prop="" style="margin-top=0px; margin-bottom: 1px;">
  1524. <el-input v-model="formData3.Gy0_ls" id="联数" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '来料异常', '联数', '墨色')" placeholder="" />
  1525. </el-form-item>
  1526. </el-col>
  1527. <el-col :span="3" style="margin-top=0px; margin-bottom: 1px;">
  1528. <el-form-item label="墨色" prop="" style="margin-top=0px; margin-bottom: 1px;">
  1529. <el-input v-model="formData3.Gy0_ms" id="墨色" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '联数', '墨色', '装版总时长')" placeholder="" />
  1530. </el-form-item>
  1531. </el-col>
  1532. </el-row>
  1533. <el-row :gutter="20" style="margin-top=0px; margin-bottom: 1px;">
  1534. <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
  1535. <el-form-item label="装版总时长" prop="id" style="margin-top=0px; margin-bottom: 1px;">
  1536. <el-input v-model="formData3.装版总时长" id="装版总时长" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '墨色', '装版总时长', '打样总工时')" placeholder="" />
  1537. </el-form-item>
  1538. </el-col>
  1539. <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
  1540. <el-form-item label="打样总工时" prop="id" style="margin-top=0px; margin-bottom: 1px;">
  1541. <el-input v-model="formData3.打样总工时" style="margin-top=0px; margin-bottom: 1px;" id="打样总工时" @keydown="ent($event, '装版总时长', '打样总工时', '通电工时')" placeholder="" />
  1542. </el-form-item>
  1543. </el-col>
  1544. <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
  1545. <el-form-item label="通电工时" prop="id" style="margin-top=0px; margin-bottom: 1px;">
  1546. <el-input v-model="formData3.通电工时" style="margin-top=0px; margin-bottom: 1px;" id="通电工时" @keydown="ent($event, '打样总工时', '通电工时', '定额代号')" placeholder="" />
  1547. </el-form-item>
  1548. </el-col>
  1549. </el-row>
  1550. <el-row :gutter="20" style="margin-top=0px; margin-bottom: 1vh;">
  1551. <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
  1552. <el-form-item label="定额代号" prop="id" style="margin-top=0px; margin-bottom: 1px;">
  1553. <el-input v-model="formData3.定额代号" id="定额代号" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '通电工时', '定额代号', '码包')" placeholder="" />
  1554. </el-form-item>
  1555. </el-col>
  1556. <el-col :span="8" style="margin-top=0px; margin-bottom: 1px;">
  1557. </el-col>
  1558. <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
  1559. <el-form-item label="码包" prop="id" style="margin-top=0px; margin-bottom: 1px;">
  1560. <el-input v-model="formData3.码包" style="margin-top=0px; margin-bottom: 1px;" id="码包" @keydown="ent($event, '定额代号', '码包', '主电表')" placeholder="" />
  1561. </el-form-item>
  1562. </el-col>
  1563. <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
  1564. <el-form-item label="主电表" prop="id" style="margin-top=0px; margin-bottom: 1px;">
  1565. <el-input v-model="formData3.主电表" style="margin-top=0px; margin-bottom: 1px;" id="主电表" @keydown="ent($event, '码包', '主电表', '辅电表')" placeholder="" />
  1566. </el-form-item>
  1567. </el-col>
  1568. <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
  1569. <el-form-item label="辅电表" prop="id" style="margin-top=0px; margin-bottom: 1px;">
  1570. <el-input v-model="formData3.辅电表" id="辅电表" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '主电表', '辅电表', 'bzdh')" placeholder="" />
  1571. </el-form-item>
  1572. </el-col>
  1573. </el-row>
  1574. <div style="display: flex;">
  1575. <div style="width: 131vh;">组员及分配比例</div>
  1576. <div style="width: 13vh;">特殊组员</div>
  1577. <div>拉料人员</div>
  1578. </div>
  1579. <el-row :gutter="10" style="margin-top: 1vh;">
  1580. <el-col :span="2">
  1581. <el-input v-model="formData3.sczl_bzdh" id="bzdh" @keydown="ent($event, '辅电表', 'bzdh', 'bh1')" placeholder="ZI00401" />
  1582. </el-col>
  1583. <el-col :span="2">
  1584. <el-input v-model="formData3.sczl_bh1" id="bh1" @keydown="ent($event, 'bzdh', 'bh1', 'bh2')" @keyup.enter.native="getygsubmit($event, '1')" placeholder="" />
  1585. </el-col>
  1586. <el-col :span="2">
  1587. <el-input v-model="formData3.sczl_bh2" id="bh2" @keydown="ent($event, 'bh1', 'bh2', 'bh3')" @keyup.enter.native="getygsubmit($event, '2')" placeholder="" />
  1588. </el-col>
  1589. <el-col :span="2">
  1590. <el-input v-model="formData3.sczl_bh3" id="bh3" @keydown="ent($event, 'bh2', 'bh3', 'bh4')" @keyup.enter.native="getygsubmit($event, '3')" placeholder="" />
  1591. </el-col>
  1592. <el-col :span="2">
  1593. <el-input v-model="formData3.sczl_bh4" id="bh4" @keydown="ent($event, 'bh3', 'bh4', 'bh5')" @keyup.enter.native="getygsubmit($event, '4')" placeholder="" />
  1594. </el-col>
  1595. <el-col :span="2">
  1596. <el-input v-model="formData3.sczl_bh5" id="bh5" @keydown="ent($event, 'bh4', 'bh5', 'bh6')" @keyup.enter.native="getygsubmit($event, '5')" placeholder="" />
  1597. </el-col>
  1598. <el-col :span="2">
  1599. <el-input v-model="formData3.sczl_bh6" id="bh6" @keydown="ent($event, 'bh5', 'bh6', 'bh7')" @keyup.enter.native="getygsubmit($event, '6')" placeholder="" />
  1600. </el-col>
  1601. <el-col :span="2">
  1602. <el-input v-model="formData3.sczl_bh7" id="bh7" @keydown="ent($event, 'bh6', 'bh7', 'bh8')" @keyup.enter.native="getygsubmit($event, '7')" placeholder="" />
  1603. </el-col>
  1604. <el-col :span="2">
  1605. <el-input v-model="formData3.sczl_bh8" id="bh8" @keydown="ent($event, 'bh7', 'bh8', 'bh9')" @keyup.enter.native="getygsubmit($event, '8')" placeholder="" />
  1606. </el-col>
  1607. <el-col :span="2">
  1608. <el-input v-model="formData3.sczl_bh9" id="bh9" @keydown="ent($event, 'bh8', 'bh9', 'bh10')" @keyup.enter.native="getygsubmit($event, '9')" placeholder="" />
  1609. </el-col>
  1610. <el-col :span="2">
  1611. <el-input v-model="formData3.sczl_bh10" id="bh10" @keydown="ent($event, 'bh9', 'bh10', 'bh11')" @keyup.enter.native="getygsubmit($event, '10')" placeholder="" />
  1612. </el-col>
  1613. <el-col :span="2">
  1614. <el-input v-model="formData3.sczl_bh11" id="bh11" @keydown="ent($event, 'bh10', 'bh11', 'name1')" @keyup.enter.native="getygsubmit($event, '11')" placeholder="" />
  1615. </el-col>
  1616. </el-row>
  1617. <el-row :gutter="10" style="margin-top: 10px;">
  1618. <el-col :span="2">
  1619. </el-col>
  1620. <el-col :span="2">
  1621. <el-input v-model="formData3.sczl_name1" id="name1" @keydown="ent($event, 'bh11', 'name1', 'name2')" placeholder="" />
  1622. </el-col>
  1623. <el-col :span="2">
  1624. <el-input v-model="formData3.sczl_name2" id="name2" @keydown="ent($event, 'name1', 'name2', 'name3')" placeholder="" />
  1625. </el-col>
  1626. <el-col :span="2">
  1627. <el-input v-model="formData3.sczl_name3" id="name3" @keydown="ent($event, 'name2', 'name3', 'name4')" placeholder="" />
  1628. </el-col>
  1629. <el-col :span="2">
  1630. <el-input v-model="formData3.sczl_name4" id="name4" @keydown="ent($event, 'name3', 'name4', 'name5')" placeholder="" />
  1631. </el-col>
  1632. <el-col :span="2">
  1633. <el-input v-model="formData3.sczl_name5" id="name5" @keydown="ent($event, 'name4', 'name5', 'name6')" placeholder="" />
  1634. </el-col>
  1635. <el-col :span="2">
  1636. <el-input v-model="formData3.sczl_name6" id="name6" @keydown="ent($event, 'name5', 'name6', 'name7')" placeholder="" />
  1637. </el-col>
  1638. <el-col :span="2">
  1639. <el-input v-model="formData3.sczl_name7" id="name7" @keydown="ent($event, 'name6', 'name7', 'name8')" placeholder="" />
  1640. </el-col>
  1641. <el-col :span="2">
  1642. <el-input v-model="formData3.sczl_name8" id="name8" @keydown="ent($event, 'name7', 'name8', 'name9')" placeholder="" />
  1643. </el-col>
  1644. <el-col :span="2">
  1645. <el-input v-model="formData3.sczl_name9" id="name9" @keydown="ent($event, 'name8', 'name9', 'name10')" placeholder="" />
  1646. </el-col>
  1647. <el-col :span="2">
  1648. <el-input v-model="formData3.sczl_name10" id="name10" @keydown="ent($event, 'name9', 'name10', 'name11')" placeholder="" />
  1649. </el-col>
  1650. <el-col :span="2">
  1651. <el-input v-model="formData3.sczl_name11" id="name11" @keydown="ent($event, 'name10', 'name11', 'rate1')" placeholder="" />
  1652. </el-col>
  1653. </el-row>
  1654. <el-row :gutter="10" style="margin-top: 10px;">
  1655. <el-col :span="2">
  1656. </el-col>
  1657. <el-col :span="2">
  1658. <el-input v-model="formData3.sczl_rate1" id="rate1" @keydown="ent($event, 'name11', 'rate1', 'rate2')" placeholder="" />
  1659. </el-col>
  1660. <el-col :span="2">
  1661. <el-input v-model="formData3.sczl_rate2" id="rate2" @keydown="ent($event, 'rate1', 'rate2', 'rate3')" placeholder="" />
  1662. </el-col>
  1663. <el-col :span="2">
  1664. <el-input v-model="formData3.sczl_rate3" id="rate3" @keydown="ent($event, 'rate2', 'rate3', 'rate4')" placeholder="" />
  1665. </el-col>
  1666. <el-col :span="2">
  1667. <el-input v-model="formData3.sczl_rate4" id="rate4" @keydown="ent($event, 'rate3', 'rate4', 'rate5')" placeholder="" />
  1668. </el-col>
  1669. <el-col :span="2">
  1670. <el-input v-model="formData3.sczl_rate5" id="rate5" @keydown="ent($event, 'rate4', 'rate5', 'rate6')" placeholder="" />
  1671. </el-col>
  1672. <el-col :span="2">
  1673. <el-input v-model="formData3.sczl_rate6" id="rate6" @keydown="ent($event, 'rate5', 'rate6', 'rate7')" placeholder="" />
  1674. </el-col>
  1675. <el-col :span="2">
  1676. <el-input v-model="formData3.sczl_rate7" id="rate7" @keydown="ent($event, 'rate6', 'rate7', 'rate8')" placeholder="" />
  1677. </el-col>
  1678. <el-col :span="2">
  1679. <el-input v-model="formData3.sczl_rate8" id="rate8" @keydown="ent($event, 'rate7', 'rate8', 'rate9')" placeholder="" />
  1680. </el-col>
  1681. <el-col :span="2">
  1682. <el-input v-model="formData3.sczl_rate9" id="rate9" @keydown="ent($event, 'rate8', 'rate9', 'rate10')" placeholder="" />
  1683. </el-col>
  1684. <el-col :span="2">
  1685. <el-input v-model="formData3.sczl_rate10" id="rate10" @keydown="ent($event, 'rate9', 'rate10', '工单编号')" placeholder="" />
  1686. </el-col>
  1687. <el-col :span="2">
  1688. </el-col>
  1689. </el-row>
  1690. <el-table
  1691. tooltip-effect="dark"
  1692. :data="chanliangselectData"
  1693. row-key="ID"
  1694. highlight-current-row="true"
  1695. border
  1696. style="width:100%"
  1697. height="40vh"
  1698. @row-dblclick="batchaddSelectClick"
  1699. :selectable="row => rowSelectable(row)"
  1700. @selection-change="chanliangSelectionChange"
  1701. >
  1702. <el-table-column type="selection" width="55" align="center" label=""></el-table-column>
  1703. <el-table-column
  1704. prop="batch"
  1705. label="物料编号"
  1706. width="150"
  1707. />
  1708. <el-table-column
  1709. prop="BOM_物料名称"
  1710. label="物料名称"
  1711. width="400"
  1712. />
  1713. <el-table-column
  1714. prop="采购单号"
  1715. label="采购单号"
  1716. width="150"
  1717. />
  1718. <el-table-column
  1719. prop="st_wlbh"
  1720. label="供方批次"
  1721. width="400"
  1722. />
  1723. <el-table-column
  1724. prop="卷号"
  1725. label="卷号"
  1726. width="150"
  1727. />
  1728. <el-table-column
  1729. prop="Uniqid"
  1730. label="UniqID"
  1731. width="150"
  1732. />
  1733. </el-table>
  1734. <!-- </el-scrollbar> -->
  1735. <template #footer>
  1736. <div class="dialog-footer">
  1737. <el-button @click="closeDialog">取 消</el-button>
  1738. <el-button type="primary" @click="chanliangenterDialog">确 定</el-button>
  1739. </div>
  1740. </template>
  1741. </el-dialog>
  1742. <el-dialog
  1743. v-model="bzchanliangVisible"
  1744. title="班组产量修改"
  1745. destroy-on-close
  1746. width="140vh"
  1747. style="height: 60vh;"
  1748. >
  1749. <el-row :gutter="24" style="margin-top=0px; margin-bottom: 1px;">
  1750. <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
  1751. <el-form-item label="工单编号" prop="id" style="margin-top=0px; margin-bottom: 0px;">
  1752. <el-input style="margin-top=0px; margin-bottom: 1px;" v-model="dbformData.order" id="工单编号" disabled @keydown="ent($event, 'rate10', '工单编号', '产品名称')" placeholder="" />
  1753. </el-form-item>
  1754. </el-col>
  1755. <el-col :span="10" style="margin-top=0px; margin-bottom: 1px;">
  1756. <el-form-item label="产品名称" prop="id" style="margin-top=0px; margin-bottom: 1px;">
  1757. <el-input v-model="dbformData.product_name" id="产品名称" style="margin-top=0px; margin-bottom: 1px;" disabled @keydown="ent($event, '工单编号', '产品名称', '工序名称')" placeholder="" />
  1758. </el-form-item>
  1759. </el-col>
  1760. <el-col :span="10" style="margin-top=0px; margin-bottom: 1px;">
  1761. <el-form-item label="工序名称" prop="id" style="margin-top=0px; margin-bottom: 1px;">
  1762. <el-input v-model="dbformData.gxmc" id="工序名称" style="margin-top=0px; margin-bottom: 1px;" disabled @keydown="ent($event, '产品名称', '工序名称', '印件号')" placeholder="" />
  1763. </el-form-item>
  1764. </el-col>
  1765. </el-row>
  1766. <el-row :gutter="24" style="margin-top=0px; margin-bottom: 1px;">
  1767. <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
  1768. <el-form-item label="印件号" prop="id" style="margin-top=0px; margin-bottom: 1px;">
  1769. <el-input v-model="dbformData.yjno" style="margin-top=0px; margin-bottom: 1px;" id="印件号" disabled @keydown="ent($event, '工序名称', '印件号', '印件名称')" placeholder="" />
  1770. </el-form-item>
  1771. </el-col>
  1772. <el-col :span="10" style="margin-top=0px; margin-bottom: 1px;">
  1773. <el-form-item label="印件名称" prop="id" style="margin-top=0px; margin-bottom: 1px;">
  1774. <el-input v-model="dbformData.yj_name" id="印件名称" style="margin-top=0px; margin-bottom: 1px;" disabled @keydown="ent($event, '印件号', '印件名称', '工艺名称')" placeholder="" />
  1775. </el-form-item>
  1776. </el-col>
  1777. <el-col :span="8" style="margin-top=0px; margin-bottom: 1px;">
  1778. <el-form-item label="工艺名称" prop="id" style="margin-top=0px; margin-bottom: 1px;">
  1779. <el-input v-model="dbformData.gy_name" id="工艺名称" style="margin-top=0px; margin-bottom: 1px;" disabled @keydown="ent($event, '印件名称', '工艺名称', 'gxh')" placeholder="" />
  1780. </el-form-item>
  1781. </el-col>
  1782. <el-col :span="2" style="margin-top=0px; margin-bottom: 1px;">
  1783. <el-form-item label="" prop="id" style="margin-top=0px; margin-bottom: 1px;">
  1784. <el-input v-model="dbformData.gxh" id="gxh" style="margin-top=0px; margin-bottom: 1px;" disabled @keydown="ent($event, '工艺名称', 'gxh', '日期')" placeholder="" />
  1785. </el-form-item>
  1786. </el-col>
  1787. </el-row>
  1788. <el-row :gutter="24" style="margin-top=0px; margin-bottom: 1px;">
  1789. <el-col :span="1" style="margin-top=0px; margin-bottom: 1px;">
  1790. </el-col>
  1791. <el-col :span="5" style="margin-top=0px; margin-bottom: 1px;">
  1792. <el-form-item label="日期" prop="id" style="margin-top=0px; margin-bottom: 1px;">
  1793. <el-input v-model="dbformData.日期" id="日期" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, 'gxh', '日期', '流程标牌')" placeholder="" />
  1794. </el-form-item>
  1795. </el-col>
  1796. <el-col :span="5" style="margin-top=0px; margin-bottom: 1px;">
  1797. <el-form-item label="流程标牌" prop="id" style="margin-top=0px; margin-bottom: 1px;">
  1798. <el-input v-model="dbformData.流程标牌" id="流程标牌" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '日期', '流程标牌', '上机时间')" placeholder="" />
  1799. </el-form-item>
  1800. </el-col>
  1801. <el-col :span="5" style="margin-top=0px; margin-bottom: 1px;">
  1802. <el-form-item label="上机时间" prop="id" style="margin-top=0px; margin-bottom: 1px;">
  1803. <el-input v-model="dbformData.上机时间" id="上机时间" disabled style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '流程标牌', '上机时间', '下机时间')" placeholder="" />
  1804. </el-form-item>
  1805. </el-col>
  1806. <el-col :span="5" style="margin-top=0px; margin-bottom: 1px;">
  1807. <el-form-item label="下机时间" prop="" style="margin-top=0px; margin-bottom: 1px;">
  1808. <el-input v-model="dbformData.下机时间" style="margin-top=0px; margin-bottom: 1px;" id="下机时间" disabled @keydown="ent($event, '上机时间', '下机时间', '产量')" placeholder="" />
  1809. </el-form-item>
  1810. </el-col>
  1811. <el-col :span="3">
  1812. </el-col>
  1813. </el-row>
  1814. <el-row :gutter="24" style="margin-top=0px; margin-bottom: 1px;">
  1815. <el-col :span="1" style="margin-top=0px; margin-bottom: 1px;">
  1816. </el-col>
  1817. <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
  1818. <el-form-item label="产量" prop="id" style="margin-top=0px; margin-bottom: 1px;">
  1819. <el-input v-model="dbformData.产量" id="产量" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '下机时间', '产量', '制程废品')" placeholder="" />
  1820. </el-form-item>
  1821. </el-col>
  1822. <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
  1823. <el-form-item label="制程废品" prop="id" style="margin-top=0px; margin-bottom: 1px;">
  1824. <el-input v-model="dbformData.制程废品" id="制程废品" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '产量', '制程废品', '制程次品')" placeholder="" />
  1825. </el-form-item>
  1826. </el-col>
  1827. <el-col :span="3" style="margin-top=0px; margin-bottom: 1px;">
  1828. <el-form-item label="制程次品" prop="id" style="margin-top=0px; margin-bottom: 1px;">
  1829. <el-input v-model="dbformData.制程次品" id="制程次品" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '制程废品', '制程次品', '前工序废')" placeholder="" />
  1830. </el-form-item>
  1831. </el-col>
  1832. <el-col :span="3" style="margin-top=0px; margin-bottom: 1px;">
  1833. <el-form-item label="前工序废" prop="" style="margin-top=0px; margin-bottom: 1px;">
  1834. <el-input v-model="dbformData.前工序废" id="前工序废" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '制程次品', '前工序废', '来料异常')" placeholder="" />
  1835. </el-form-item>
  1836. </el-col>
  1837. <el-col :span="3" style="margin-top=0px; margin-bottom: 1px;">
  1838. <el-form-item label="来料异常" prop="" style="margin-top=0px; margin-bottom: 1px;">
  1839. <el-input v-model="dbformData.来料异常" id="来料异常" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '前工序废', '来料异常', '联数')" placeholder="" />
  1840. </el-form-item>
  1841. </el-col>
  1842. <el-col :span="3" style="margin-top=0px; margin-bottom: 1px;">
  1843. <el-form-item label="联数" prop="" style="margin-top=0px; margin-bottom: 1px;">
  1844. <el-input v-model="dbformData.联数" id="联数" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '来料异常', '联数', '墨色')" placeholder="" />
  1845. </el-form-item>
  1846. </el-col>
  1847. <el-col :span="3" style="margin-top=0px; margin-bottom: 1px;">
  1848. <el-form-item label="墨色" prop="" style="margin-top=0px; margin-bottom: 1px;">
  1849. <el-input v-model="dbformData.墨色" id="墨色" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '联数', '墨色', '装版总时长')" placeholder="" />
  1850. </el-form-item>
  1851. </el-col>
  1852. </el-row>
  1853. <el-row :gutter="20" style="margin-top=0px; margin-bottom: 1px;">
  1854. <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
  1855. <el-form-item label="装版总时长" prop="id" style="margin-top=0px; margin-bottom: 1px;">
  1856. <el-input v-model="dbformData.装版总时长" id="装版总时长" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '墨色', '装版总时长', '打样总工时')" placeholder="" />
  1857. </el-form-item>
  1858. </el-col>
  1859. <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
  1860. <el-form-item label="打样总工时" prop="id" style="margin-top=0px; margin-bottom: 1px;">
  1861. <el-input v-model="dbformData.打样总工时" style="margin-top=0px; margin-bottom: 1px;" id="打样总工时" @keydown="ent($event, '装版总时长', '打样总工时', '通电工时')" placeholder="" />
  1862. </el-form-item>
  1863. </el-col>
  1864. <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
  1865. <el-form-item label="通电工时" prop="id" style="margin-top=0px; margin-bottom: 1px;">
  1866. <el-input v-model="dbformData.通电工时" style="margin-top=0px; margin-bottom: 1px;" id="通电工时" @keydown="ent($event, '打样总工时', '通电工时', '定额代号')" placeholder="" />
  1867. </el-form-item>
  1868. </el-col>
  1869. </el-row>
  1870. <el-row :gutter="20" style="margin-top=0px; margin-bottom: 1vh;">
  1871. <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
  1872. <el-form-item label="定额代号" prop="id" style="margin-top=0px; margin-bottom: 1px;">
  1873. <el-input v-model="dbformData.定额代号" id="定额代号" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '通电工时', '定额代号', '码包')" placeholder="" />
  1874. </el-form-item>
  1875. </el-col>
  1876. <el-col :span="8" style="margin-top=0px; margin-bottom: 1px;">
  1877. </el-col>
  1878. <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
  1879. <el-form-item label="码包" prop="id" style="margin-top=0px; margin-bottom: 1px;">
  1880. <el-input v-model="dbformData.码包" style="margin-top=0px; margin-bottom: 1px;" id="码包" @keydown="ent($event, '定额代号', '码包', '主电表')" placeholder="" />
  1881. </el-form-item>
  1882. </el-col>
  1883. <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
  1884. <el-form-item label="主电表" prop="id" style="margin-top=0px; margin-bottom: 1px;">
  1885. <el-input v-model="dbformData.主电表" style="margin-top=0px; margin-bottom: 1px;" id="主电表" @keydown="ent($event, '码包', '主电表', '辅电表')" placeholder="" />
  1886. </el-form-item>
  1887. </el-col>
  1888. <el-col :span="4" style="margin-top=0px; margin-bottom: 1px;">
  1889. <el-form-item label="辅电表" prop="id" style="margin-top=0px; margin-bottom: 1px;">
  1890. <el-input v-model="dbformData.辅电表" id="辅电表" style="margin-top=0px; margin-bottom: 1px;" @keydown="ent($event, '主电表', '辅电表', 'bzdh')" placeholder="" />
  1891. </el-form-item>
  1892. </el-col>
  1893. </el-row>
  1894. <div style="display: flex;">
  1895. <div style="width: 131vh;">组员及分配比例</div>
  1896. <div style="width: 13vh;">特殊组员</div>
  1897. <div>拉料人员</div>
  1898. </div>
  1899. <el-row :gutter="10" style="margin-top: 1vh;">
  1900. <el-col :span="2">
  1901. <el-input v-model="BZMC" id="bzdh" disabled @keydown="ent($event, '辅电表', 'bzdh', 'bh1')" />
  1902. </el-col>
  1903. <el-col :span="2">
  1904. <el-input v-model="dbformData.sczl_bh1" id="bh1" disabled @keydown="ent($event, 'bzdh', 'bh1', 'bh2')" @keyup.enter.native="getygsubmit($event, '1')" placeholder="" />
  1905. </el-col>
  1906. <el-col :span="2">
  1907. <el-input v-model="dbformData.sczl_bh2" id="bh2" disabled @keydown="ent($event, 'bh1', 'bh2', 'bh3')" @keyup.enter.native="getygsubmit($event, '2')" placeholder="" />
  1908. </el-col>
  1909. <el-col :span="2">
  1910. <el-input v-model="dbformData.sczl_bh3" id="bh3" disabled @keydown="ent($event, 'bh2', 'bh3', 'bh4')" @keyup.enter.native="getygsubmit($event, '3')" placeholder="" />
  1911. </el-col>
  1912. <el-col :span="2">
  1913. <el-input v-model="dbformData.sczl_bh4" id="bh4" disabled @keydown="ent($event, 'bh3', 'bh4', 'bh5')" @keyup.enter.native="getygsubmit($event, '4')" placeholder="" />
  1914. </el-col>
  1915. <el-col :span="2">
  1916. <el-input v-model="dbformData.sczl_bh5" id="bh5" disabled @keydown="ent($event, 'bh4', 'bh5', 'bh6')" @keyup.enter.native="getygsubmit($event, '5')" placeholder="" />
  1917. </el-col>
  1918. <el-col :span="2">
  1919. <el-input v-model="dbformData.sczl_bh6" id="bh6" disabled @keydown="ent($event, 'bh5', 'bh6', 'bh7')" @keyup.enter.native="getygsubmit($event, '6')" placeholder="" />
  1920. </el-col>
  1921. <el-col :span="2">
  1922. <el-input v-model="dbformData.sczl_bh7" id="bh7" disabled @keydown="ent($event, 'bh6', 'bh7', 'bh8')" @keyup.enter.native="getygsubmit($event, '7')" placeholder="" />
  1923. </el-col>
  1924. <el-col :span="2">
  1925. <el-input v-model="dbformData.sczl_bh8" id="bh8" disabled @keydown="ent($event, 'bh7', 'bh8', 'bh9')" @keyup.enter.native="getygsubmit($event, '8')" placeholder="" />
  1926. </el-col>
  1927. <el-col :span="2">
  1928. <el-input v-model="dbformData.sczl_bh9" id="bh9" disabled @keydown="ent($event, 'bh8', 'bh9', 'bh10')" @keyup.enter.native="getygsubmit($event, '9')" placeholder="" />
  1929. </el-col>
  1930. <el-col :span="2">
  1931. <el-input v-model="dbformData.sczl_bh10" id="bh10" disabled @keydown="ent($event, 'bh9', 'bh10', 'bh11')" @keyup.enter.native="getygsubmit($event, '10')" placeholder="" />
  1932. </el-col>
  1933. <el-col :span="2">
  1934. <el-input v-model="dbformData.sczl_bh11" id="bh11" @keydown="ents($event, 'bh10', 'bh11', 'name1')" @keyup.enter.native="getlaliaoyg($event)" placeholder="" />
  1935. </el-col>
  1936. </el-row>
  1937. <el-row :gutter="10" style="margin-top: 10px;">
  1938. <el-col :span="2">
  1939. </el-col>
  1940. <el-col :span="2">
  1941. <el-input v-model="dbformData.sczl_name1" id="name1" disabled @keydown="ent($event, 'bh11', 'name1', 'name2')" placeholder="" />
  1942. </el-col>
  1943. <el-col :span="2">
  1944. <el-input v-model="dbformData.sczl_name2" id="name2" disabled @keydown="ent($event, 'name1', 'name2', 'name3')" placeholder="" />
  1945. </el-col>
  1946. <el-col :span="2">
  1947. <el-input v-model="dbformData.sczl_name3" id="name3" disabled @keydown="ent($event, 'name2', 'name3', 'name4')" placeholder="" />
  1948. </el-col>
  1949. <el-col :span="2">
  1950. <el-input v-model="dbformData.sczl_name4" id="name4" disabled @keydown="ent($event, 'name3', 'name4', 'name5')" placeholder="" />
  1951. </el-col>
  1952. <el-col :span="2">
  1953. <el-input v-model="dbformData.sczl_name5" id="name5" disabled @keydown="ent($event, 'name4', 'name5', 'name6')" placeholder="" />
  1954. </el-col>
  1955. <el-col :span="2">
  1956. <el-input v-model="dbformData.sczl_name6" id="name6" disabled @keydown="ent($event, 'name5', 'name6', 'name7')" placeholder="" />
  1957. </el-col>
  1958. <el-col :span="2">
  1959. <el-input v-model="dbformData.sczl_name7" id="name7" disabled @keydown="ent($event, 'name6', 'name7', 'name8')" placeholder="" />
  1960. </el-col>
  1961. <el-col :span="2">
  1962. <el-input v-model="dbformData.sczl_name8" id="name8" disabled @keydown="ent($event, 'name7', 'name8', 'name9')" placeholder="" />
  1963. </el-col>
  1964. <el-col :span="2">
  1965. <el-input v-model="dbformData.sczl_name9" id="name9" disabled @keydown="ent($event, 'name8', 'name9', 'name10')" placeholder="" />
  1966. </el-col>
  1967. <el-col :span="2">
  1968. <el-input v-model="dbformData.sczl_name10" id="name10" disabled @keydown="ent($event, 'name9', 'name10', 'name11')" placeholder="" />
  1969. </el-col>
  1970. <el-col :span="2">
  1971. <el-input v-model="dbformData.sczl_name11" id="name11" @keydown="ent($event, 'name10', 'name11', 'rate1')" placeholder="" />
  1972. </el-col>
  1973. </el-row>
  1974. <el-row :gutter="10" style="margin-top: 10px;">
  1975. <el-col :span="2">
  1976. </el-col>
  1977. <el-col :span="2">
  1978. <el-input v-model="dbformData.sczl_rate1" id="rate1" disabled @keydown="ent($event, 'name11', 'rate1', 'rate2')" placeholder="" />
  1979. </el-col>
  1980. <el-col :span="2">
  1981. <el-input v-model="dbformData.sczl_rate2" id="rate2" disabled @keydown="ent($event, 'rate1', 'rate2', 'rate3')" placeholder="" />
  1982. </el-col>
  1983. <el-col :span="2">
  1984. <el-input v-model="dbformData.sczl_rate3" id="rate3" disabled @keydown="ent($event, 'rate2', 'rate3', 'rate4')" placeholder="" />
  1985. </el-col>
  1986. <el-col :span="2">
  1987. <el-input v-model="dbformData.sczl_rate4" id="rate4" disabled @keydown="ent($event, 'rate3', 'rate4', 'rate5')" placeholder="" />
  1988. </el-col>
  1989. <el-col :span="2">
  1990. <el-input v-model="dbformData.sczl_rate5" id="rate5" disabled @keydown="ent($event, 'rate4', 'rate5', 'rate6')" placeholder="" />
  1991. </el-col>
  1992. <el-col :span="2">
  1993. <el-input v-model="dbformData.sczl_rate6" id="rate6" disabled @keydown="ent($event, 'rate5', 'rate6', 'rate7')" placeholder="" />
  1994. </el-col>
  1995. <el-col :span="2">
  1996. <el-input v-model="dbformData.sczl_rate7" id="rate7" disabled @keydown="ent($event, 'rate6', 'rate7', 'rate8')" placeholder="" />
  1997. </el-col>
  1998. <el-col :span="2">
  1999. <el-input v-model="dbformData.sczl_rate8" id="rate8" disabled @keydown="ent($event, 'rate7', 'rate8', 'rate9')" placeholder="" />
  2000. </el-col>
  2001. <el-col :span="2">
  2002. <el-input v-model="dbformData.sczl_rate9" id="rate9" disabled @keydown="ent($event, 'rate8', 'rate9', 'rate10')" placeholder="" />
  2003. </el-col>
  2004. <el-col :span="2">
  2005. <el-input v-model="dbformData.sczl_rate10" id="rate10" disabled @keydown="ent($event, 'rate9', 'rate10', '工单编号')" placeholder="" />
  2006. </el-col>
  2007. <el-col :span="2">
  2008. </el-col>
  2009. </el-row>
  2010. <!-- </el-scrollbar> -->
  2011. <template #footer>
  2012. <div class="dialog-footer">
  2013. <el-button @click="bzcloseDialog">取 消</el-button>
  2014. <el-button type="primary" @click="bzchanliangenterDialog">确 定</el-button>
  2015. </div>
  2016. </template>
  2017. </el-dialog>
  2018. <Shebeizhuangtai
  2019. v-if="dialogSbyxgl"
  2020. v-model="dialogSbyxgl"
  2021. title="【01.30 08:30】【JY01#--海德堡对开八色平版胶印机(JY08-01)】【2311116-->钻石(荷花)盒包装纸】【01--胶印】"
  2022. :formData="formData"
  2023. />
  2024. </el-main>
  2025. </el-container>
  2026. </el-container>
  2027. </div>
  2028. </template>
  2029. <script setup>
  2030. import {
  2031. createCompany,
  2032. deleteCompany,
  2033. deleteCompanyByIds,
  2034. updateCompany,
  2035. findCompany,
  2036. getCompanyList
  2037. } from '@/api/company'
  2038. import {
  2039. EquipmentSchedulingEdit,
  2040. teamDel
  2041. } from "@/api/yunyin/yunying";
  2042. import {
  2043. ProcessInspectionRecordsItemAdd,
  2044. AdditionalInspectionRecordAdd,
  2045. getMac,
  2046. remodelGetTab,
  2047. setMachineTeam,
  2048. ModelChangeRecord,
  2049. ComplaintRecord,
  2050. RemodelDetail,
  2051. MachineTeamAdd,
  2052. remodelDataAdd,
  2053. remodelDataEdit,
  2054. remodelDataDel,
  2055. PrintDetailAdd,
  2056. PrintDetailEdit,
  2057. chanliangEdit,
  2058. ChanliangDel,
  2059. MachineWorkOrderEdit
  2060. } from '@/api/jixiaoguanli/baogong'
  2061. import {
  2062. facilityTab,
  2063. facilitychanLiang,
  2064. facilityInspect,
  2065. facilityProduction,
  2066. facilityTeam,
  2067. facilityMachineList,
  2068. facilitySpotCheckItem,
  2069. facilityInspectionItem,
  2070. reportProduceInfo,
  2071. reportName,
  2072. reportInfo,
  2073. reportMachineMac,
  2074. facilityWorklist,
  2075. setProcessStatus,
  2076. submitDailyProduction,
  2077. facilityDetail,
  2078. inspectionRecord,
  2079. getYg,
  2080. submitPatrolRecord,
  2081. getMachineMac,
  2082. setMachineStatus,
  2083. fieldInspectionRecord,
  2084. InspectionItemAdd,
  2085. ProcessInspectionRecordsItem,
  2086. MachineDetailList,
  2087. facilityPrintGetTab,
  2088. facilityPrintDetail,
  2089. facilityProcedure
  2090. } from '@/api/jixiaoguanli/jitairibaobiao'
  2091. import {
  2092. demoCustomer
  2093. } from "@/api/demo";
  2094. // 全量引入格式化工具 请按需保留
  2095. import { getDictFunc, formatDate, formatBoolean, filterDict, ReturnArrImg, onDownloadFile } from '@/utils/format'
  2096. import { ElMessage, ElMessageBox } from 'element-plus'
  2097. import { ref, reactive } from 'vue'
  2098. import Shebeizhuangtai from '@/view/performance/09-workOrderVerification/componets/shebeizhuangtai.vue'
  2099. import { useUserStore } from '@/pinia/modules/user'
  2100. const userStore = useUserStore()
  2101. const sys_id='['+userStore.userInfo.userName+'/'+userStore.userInfo.nickName+']'
  2102. const dialogSbyxgl=ref(false)
  2103. const zhichengstatus=ref(false)
  2104. const yinbanselectData = ref([])
  2105. defineOptions({
  2106. name: 'Company'
  2107. })
  2108. const xunchatreeData=ref([{label: '现场巡查记录',} ])
  2109. const activName=ref('first')
  2110. const activNames=ref('first')
  2111. let checked3=ref(false)
  2112. const detailData = reactive([])
  2113. const treeData=ref([])
  2114. const huanxingtreeData=ref([])
  2115. const huanxingselectData = ref([])
  2116. const huanxingData = ref({})
  2117. const dbformData=ref({})
  2118. const huanxingstatus=ref(false)
  2119. const zhichengtreeData=ref([{
  2120. label: '首件与过程确认'
  2121. },{
  2122. label: '机台检验'
  2123. },{
  2124. label: 'IPQC检验'
  2125. }])
  2126. let dianjiantreeData;
  2127. let JTMC=ref()
  2128. let CJMC=ref()
  2129. const sbzyData = reactive([])
  2130. const FPData = reactive([])
  2131. const CLMXData = reactive([])
  2132. let JYData = reactive([])
  2133. //键盘 input框跳转
  2134. const ent = (event,id1,id2,id3) => {
  2135. if (event.keyCode === 13 || event.keyCode === 40) { // Enter 或向下箭头
  2136. const idMap = {
  2137. 'bh1': '1',
  2138. 'bh2': '2',
  2139. 'bh3': '3',
  2140. 'bh4': '4',
  2141. 'bh5': '5',
  2142. 'bh6': '6',
  2143. 'bh7': '7',
  2144. 'bh8': '8',
  2145. 'bh9': '9',
  2146. 'bh10': '10',
  2147. 'bh11': '11',
  2148. };
  2149. if (idMap.hasOwnProperty(id2) && event.keyCode === 13) {
  2150. getygsubmit('', idMap[id2]);
  2151. }else if(id3!=''){
  2152. document.getElementById(id3).focus()
  2153. }
  2154. } else if (event.keyCode === 38) { // 向上箭头
  2155. if(id1!=''){
  2156. document.getElementById(id1).focus()
  2157. }
  2158. }else if (event.keyCode === 8) { // 删除箭头
  2159. if(id1!='' && document.getElementById(id2).value==''){
  2160. document.getElementById(id1).focus()
  2161. }
  2162. console.log(document.getElementById(id2).value)
  2163. }else if (event.keyCode === 37) { // 向左箭头
  2164. if(id1!='' && document.getElementById(id2).selectionStart==0){
  2165. document.getElementById(id1).focus()
  2166. }
  2167. }else if (event.keyCode === 39) { // 向右箭头
  2168. if(id3!='' && document.getElementById(id2).selectionStart == document.getElementById(id2).value.length){
  2169. document.getElementById(id3).focus()
  2170. }
  2171. }
  2172. }
  2173. const huanxingNodeClick = (node) => {
  2174. //存放当前节点的nodeId
  2175. if(node.machine){
  2176. // console.log(node.label.split('/')[1])
  2177. huanxingstatus.value=true
  2178. formData.value.huanxingId=node.label.split('/')[1]
  2179. remodelDetail(node.label.split('/')[1])
  2180. modelChangeRecord(node.machine)
  2181. }else{
  2182. console.log('2')
  2183. }
  2184. }
  2185. const modelChangeRecord = async (val) => {
  2186. const response = await ModelChangeRecord({machine:val});
  2187. if (response.code === 0) {
  2188. huanxingselectData.value=response.data
  2189. }
  2190. }
  2191. const remodelDetail = async (val) => {
  2192. const response = await RemodelDetail({UniqId:val});
  2193. if (response.code === 0) {
  2194. huanxingData.value=response.data
  2195. if(response.data.项目1==1){
  2196. huanxingData.value.项目1=true
  2197. }else{
  2198. huanxingData.value.项目1=false
  2199. }
  2200. if(response.data.项目2==1){
  2201. huanxingData.value.项目2=true
  2202. }else{
  2203. huanxingData.value.项目2=false
  2204. }
  2205. if(response.data.项目3==1){
  2206. huanxingData.value.项目3=true
  2207. }else{
  2208. huanxingData.value.项目3=false
  2209. }
  2210. if(response.data.项目4==1){
  2211. huanxingData.value.项目4=true
  2212. }else{
  2213. huanxingData.value.项目4=false
  2214. }
  2215. if(response.data.项目5==1){
  2216. huanxingData.value.项目5=true
  2217. }else{
  2218. huanxingData.value.项目5=false
  2219. }
  2220. }
  2221. }
  2222. const handleNodeClick = (nodeData,node) => {
  2223. //存放当前节点的nodeId
  2224. if(nodeData.level === 1){
  2225. console.log('1')
  2226. }else{
  2227. console.log('2')
  2228. }
  2229. // if (nodeData.level === 1) {
  2230. // console.log(node.label); // 第一级节点
  2231. // } else if (nodeData.level === 2) {
  2232. // console.log(node.label); // 第二级节点
  2233. // JTMC=node.label.split("【")[0]
  2234. // FacilityProduction()
  2235. // FacilityWorklist()
  2236. // FacilityTeam(JTMC)
  2237. // // InspectionRecord()
  2238. // // FacilityDetail()
  2239. // // ReportProduceInfo()
  2240. // console.log(JTMC)
  2241. // } else if (nodeData.level === 3) {
  2242. // console.log(node.label); // 第三级节点
  2243. // }
  2244. // JTMC=node.label.split("【")[0]
  2245. // FacilityProduction()
  2246. // console.log(node.label)
  2247. }
  2248. //当前生产订单
  2249. // const formDatabz = reactive({
  2250. // sczl_bh12: [],
  2251. // sczl_name12: [],
  2252. // });
  2253. const classbz=ref([])
  2254. const FacilityProduction = async (addr) => {
  2255. const response = await facilityProduction({machine:JTMC});
  2256. if (response.code === 0) {
  2257. if(response.data){
  2258. formData.value.机台号=JTMC.split('#')[0]
  2259. formData.value.工单编号 = response.data.工单编号;
  2260. formData.value.印件号 = response.data.印件号;
  2261. formData.value.工序号 = response.data.工序名称.substring(0,2);
  2262. formData.value.工序名称 = response.data.工序名称;
  2263. formData.value.产品名称 = response.data.产品名称;
  2264. formData.value.班组Id=response.data.班组Id
  2265. formData.value.machine=JTMC
  2266. formData.value.状态=response.data.状态
  2267. formData.value.定额代号=response.data.定额代号
  2268. formData.value.addr=addr
  2269. BZMC.value=response.data.班组编号
  2270. // 填充sczl_bh和sczl_name字段
  2271. let sczl_bhkey=''
  2272. let sczl_namekey=''
  2273. if (response.data.班组成员) {
  2274. for (let i = 0; i < Math.min(Object.keys(response.data.班组成员).length, 9); i++) {
  2275. sczl_bhkey=`sczl_bh${i+1}`
  2276. sczl_namekey=`sczl_name${i+1}`
  2277. formData.value[sczl_bhkey] = response.data.班组成员[i]['编号'];
  2278. formData.value[sczl_namekey] = response.data.班组成员[i]['姓名'];
  2279. classbz.value[i]=response.data.班组成员[i]['编号']
  2280. }
  2281. formData.value.class=classbz.value.join(',')
  2282. }
  2283. // for (let i = 1; i <= 10; i++) {
  2284. // if (response.data.班组成员) {
  2285. // // formData.value.['sczl_bh12'] = response.data.班组成员[i]['编号'];
  2286. // // formData.value['sczl_name12'] = response.data.班组成员[i]['名字'];
  2287. // // console.log(formData)
  2288. // // console.log(response.data[sczl_bh]['员工姓名'])
  2289. // // console.log(formData.value.sczl_bh)
  2290. // // console.log(sczl_name)
  2291. // } else {
  2292. // console.log(555555555555555)
  2293. // // 如果字段不存在,可以在这里进行处理
  2294. // // console.log('2');
  2295. // // formData.value[sczl_bh] = response.data[sczl_bh]['员工编号'];
  2296. // // formData.value[sczl_name] = response.data[sczl_bh]['员工姓名'];
  2297. // // console.log(formData.value.sczl_bh)
  2298. // // console.log(sczl_name)
  2299. // }
  2300. // }
  2301. if(response.data.工单编号){
  2302. InspectionRecord()
  2303. FacilityDetail()
  2304. }
  2305. }
  2306. const responses = await MachineDetailList({workshop:CJMC});
  2307. if(responses.code===0){
  2308. responses.data.map(item=>{
  2309. if(item.设备编号==JTMC){
  2310. formData.value.status=item.状态
  2311. }
  2312. })
  2313. }
  2314. FacilityWorklist()
  2315. FacilityTeam(JTMC)
  2316. }
  2317. }
  2318. //设备工作清单
  2319. const FacilityWorklist = async () => {
  2320. const response = await facilityWorklist({machine:JTMC});
  2321. if (response.code === 0) {
  2322. sbzyData.splice(0, sbzyData.length, ...response.data);
  2323. // formData.value.productCode= response.data[0]['产品代号']
  2324. response.data.map(item=>{
  2325. if(item['工单编号|质量信息'].substring(0, 7)==formData.value.工单编号){
  2326. formData.value.productCode=item.产品代号
  2327. }
  2328. })
  2329. selectData.value=[]
  2330. const res = await facilityProcedure({ Gd_gdbh: sbzyData[0]['工单编号|质量信息'].substring(0, 7) })
  2331. // formData.value.productCode= response.data[0]['产品代号']
  2332. // console.log(res)
  2333. if (res.code === 0) {
  2334. selectData.value = res.data
  2335. }
  2336. }
  2337. }
  2338. const bzcloseDialog = async () => {
  2339. bzchanliangVisible.value=false
  2340. }
  2341. const ybupdateCompanyFunc = async (row) => {
  2342. console.log(currentBz.value)
  2343. dbformData.value = {};
  2344. if(currentBz.value){
  2345. let sczl_bhkey = ''
  2346. let sczl_namekey = ''
  2347. let percentagekey = ''
  2348. if (currentBz.value[9]) {
  2349. for (let i = 1; i <= 10; i++) {
  2350. sczl_bhkey = `sczl_bh${i}`
  2351. sczl_namekey = `sczl_name${i}`
  2352. percentagekey = `sczl_rate${i}`
  2353. dbformData.value[sczl_bhkey] = '';
  2354. dbformData.value[sczl_namekey] = '';
  2355. dbformData.value[percentagekey] = '';
  2356. }
  2357. dbformData.value.code10 = currentBz.value[9].split(' ')[0];
  2358. dbformData.value.name10 = currentBz.value[9].split(' ')[1]
  2359. dbformData.value.percentage10 = parseFloat(currentBz.value[9].split(' ')[2].split('(')[1].split(')')[0])/100
  2360. for (let i = 1; i <= Math.min(Object.keys(currentBz.value).length - 4, 6); i++) {
  2361. sczl_bhkey = `sczl_bh${i}`
  2362. sczl_namekey = `sczl_name${i}`
  2363. percentagekey = `sczl_rate${i}`
  2364. dbformData.value[sczl_bhkey] = currentBz.value[i - 1].split(' ')[0];
  2365. dbformData.value[sczl_namekey] = currentBz.value[i - 1].split(' ')[1];
  2366. if(isNaN(parseFloat(currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0]))){
  2367. dbformData.value[percentagekey] = currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0];
  2368. }else{
  2369. dbformData.value[percentagekey] = parseFloat(currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0])/100;
  2370. }
  2371. }
  2372. } else {
  2373. for (let i = 1; i <= 10; i++) {
  2374. sczl_bhkey = `sczl_bh${i}`
  2375. sczl_namekey = `sczl_name${i}`
  2376. percentagekey = `sczl_rate${i}`
  2377. dbformData.value[sczl_bhkey] = '';
  2378. dbformData.value[sczl_namekey] = '';
  2379. dbformData.value[percentagekey] = '';
  2380. }
  2381. for (let i = 1; i <= Math.min(Object.keys(currentBz.value).length - 3, 6); i++) {
  2382. sczl_bhkey = `sczl_bh${i}`
  2383. sczl_namekey = `sczl_name${i}`
  2384. percentagekey = `sczl_rate${i}`
  2385. dbformData.value[sczl_bhkey] = currentBz.value[i - 1].split(' ')[0];
  2386. dbformData.value[sczl_namekey] = currentBz.value[i - 1].split(' ')[1];
  2387. if(isNaN(parseFloat(currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0]))){
  2388. dbformData.value[percentagekey] = currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0];
  2389. }else{
  2390. dbformData.value[percentagekey] = parseFloat(currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0])/100;
  2391. }
  2392. }
  2393. }
  2394. }
  2395. console.log(row)
  2396. dbformData.value.order=row.工单编号
  2397. dbformData.value.product_name=row.产品名称
  2398. dbformData.value.gxmc=row.gxmc
  2399. dbformData.value.yjno=row.yjno
  2400. dbformData.value.yj_name=row.产品名称
  2401. dbformData.value.gy_name=row.gxmc
  2402. dbformData.value.gxh=row.gxmc.split('-')[0]
  2403. dbformData.value.日期=row.sj1.split(' ')[0]
  2404. dbformData.value.流程标牌=row.标牌号
  2405. dbformData.value.上机时间=row.sj1
  2406. dbformData.value.下机时间=row.sj2
  2407. dbformData.value.下机时间=row.sj2
  2408. dbformData.value.产量=row.产量
  2409. dbformData.value.制程废品=row.制程废品
  2410. dbformData.value.制程次品=row.制程次品
  2411. dbformData.value.前工序废=row.前工序废
  2412. dbformData.value.来料异常=row.来料异常
  2413. dbformData.value.联数=row.ls
  2414. dbformData.value.墨色=row.色度
  2415. dbformData.value.装版总时长=row.装版工时
  2416. dbformData.value.打样总工时=row.打样工时
  2417. dbformData.value.通电工时=row.通电工时
  2418. dbformData.value.定额代号=row.dedh
  2419. dbformData.value.码包=row.码包
  2420. dbformData.value.主电表=row.主电表
  2421. dbformData.value.辅电表=row.辅电表
  2422. dbformData.value.sczl_bh11=row.拉料
  2423. dbformData.value.sczl_name11=row.拉料姓名
  2424. dbformData.value.UniqId=row.UniqId
  2425. bzchanliangVisible.value=true
  2426. }
  2427. const chanliangEdits = async() => {
  2428. const response = await chanliangEdit({
  2429. sczl_num: dbformData.value.流程标牌,
  2430. sczl_rq: `${dbformData.value.日期} 00:00:00`,
  2431. sczl_cl: dbformData.value.产量,
  2432. sczl_zcfp:dbformData.value.制程废品,
  2433. sczl_zccp:dbformData.value.制程次品,
  2434. sczl_前工序废:dbformData.value.前工序废,
  2435. sczl_来料少数:dbformData.value.来料异常,
  2436. sczl_ls:dbformData.value.联数,
  2437. sczl_ms:dbformData.value.墨色,
  2438. sczl_装版总工时:dbformData.value.装版总时长,
  2439. sczl_打样总工时:dbformData.value.打样总工时,
  2440. sczl_设备运行工时:dbformData.value.通电工时,
  2441. sczl_dedh:dbformData.value.定额代号,
  2442. 码包:dbformData.value.码包,
  2443. 主电表:dbformData.value.主电表,
  2444. 辅电表:dbformData.value.辅电表,
  2445. sczl_bh98:dbformData.value.sczl_bh11,
  2446. UniqId:dbformData.value.UniqId
  2447. })
  2448. if (response.code === 0) {
  2449. bzchanliangVisible.value=false
  2450. FacilityProduction()
  2451. ElMessage({
  2452. type: 'success',
  2453. message: '成功'
  2454. })
  2455. }
  2456. }
  2457. const gyupdateCompanyFunc = async (row) => {
  2458. ElMessageBox.confirm('确定切换班组吗?', '提示', {
  2459. confirmButtonText: '确定',
  2460. cancelButtonText: '取消',
  2461. type: 'warning'
  2462. }).then(() => {
  2463. SetMachineTeams(row)
  2464. })
  2465. }
  2466. const SetMachineTeams = async(row) => {
  2467. const res = await setMachineTeam({
  2468. machine: JTMC.split("#")[0],
  2469. order: formData.value.工单编号,
  2470. yjno: formData.value.印件号,
  2471. gy_name:formData.value.工序名称,
  2472. sczl_bzdh:row.班组号,
  2473. status:'生产',
  2474. production_now:0,
  2475. production_all:0,
  2476. team_id:row.ID
  2477. })
  2478. if (res.code === 0) {
  2479. FacilityProduction()
  2480. ElMessage({
  2481. type: 'success',
  2482. message: '成功'
  2483. })
  2484. }
  2485. }
  2486. const clickybupdate = async (row) => {
  2487. ElMessageBox.confirm('确定切换当前班组人员为工作班组人员吗?', '提示', {
  2488. confirmButtonText: '确定',
  2489. cancelButtonText: '取消',
  2490. type: 'warning'
  2491. }).then(() => {
  2492. setTeams(row)
  2493. })
  2494. // const response = await facilityWorklist({machine:JTMC});
  2495. // if (response.code === 0) {
  2496. // sbzyData.splice(0, sbzyData.length, ...response.data);
  2497. // // formData.value.productCode= response.data[0]['产品代号']
  2498. // response.data.map(item=>{
  2499. // if(item['工单编号|质量信息'].substring(0, 7)==formData.value.工单编号){
  2500. // formData.value.productCode=item.产品代号
  2501. // }
  2502. // })
  2503. // selectData.value=[]
  2504. // const res = await facilityProcedure({ Gd_gdbh: sbzyData[0]['工单编号|质量信息'].substring(0, 7) })
  2505. // // formData.value.productCode= response.data[0]['产品代号']
  2506. // // console.log(res)
  2507. // if (res.code === 0) {
  2508. // selectData.value = res.data
  2509. // }
  2510. // }
  2511. }
  2512. const setTeams = async(row) => {
  2513. formData.value.班组Id=row.ID
  2514. BZMC.value=row.班组号
  2515. console.log(row)
  2516. let sczl_bhkey=''
  2517. let sczl_namekey=''
  2518. for (let i = 1; i <= 10; i++) {
  2519. sczl_bhkey = `sczl_bh${i}`
  2520. sczl_namekey = `sczl_name${i}`
  2521. formData.value[sczl_bhkey] = '';
  2522. formData.value[sczl_namekey] = '';
  2523. }
  2524. for (let i = 0; i < Object.keys(row).length-4; i++) {
  2525. sczl_bhkey=`sczl_bh${i+1}`
  2526. sczl_namekey=`sczl_name${i+1}`
  2527. formData.value[sczl_bhkey] =row[i].split(' ')[0];
  2528. formData.value[sczl_namekey] = row[i].split(' ')[1];
  2529. // console.log(formData)
  2530. }
  2531. console.log(formData)
  2532. }
  2533. //检验记录
  2534. const InspectionRecord = async () => {
  2535. JYData=[]
  2536. const response = await inspectionRecord({machine:JTMC,Gd_gdbh:formData.value.工单编号,team:BZMC.value});
  2537. if(response.code==0){
  2538. // 提取 inspectiontime 作为列名
  2539. // Extract inspectiontime as columnNames
  2540. columnNames = response.data.inspectiontime;
  2541. // Populate drzcData with row data
  2542. for (const key in response.data) {
  2543. if (key !== 'inspectiontime') {
  2544. const item = response.data[key];
  2545. const rowData = {
  2546. '工单编号': item['工单编号'],
  2547. '印件号': item['印件号'],
  2548. '工序名称': item['工序名称'],
  2549. '检验项目': item['检验项目']
  2550. };
  2551. // Initialize time columns with '—'
  2552. columnNames.forEach(time => {
  2553. rowData[time] = '';
  2554. });
  2555. // Split inspectresult and fill the corresponding time columns
  2556. const results = item['inspectresult'].split(',');
  2557. results.forEach(result => {
  2558. if (columnNames.includes(result)) {
  2559. rowData[result] = '√';
  2560. }else{rowData[result] = ''}
  2561. });
  2562. // Add the row data to drzcData
  2563. JYData.push(rowData);
  2564. }
  2565. }
  2566. console.log(JYData);
  2567. }
  2568. }
  2569. //当班产量明细
  2570. const FacilityDetail = async () => {
  2571. formData.value.production_now=0
  2572. formData.value.production_all=0
  2573. const response = await facilityDetail({ machine: JTMC, Gd_gdbh: formData.value.工单编号, team:BZMC.value });
  2574. if (response.code === 0) {
  2575. if(response.data === null){
  2576. formData.value.上机时间=currentDate+' 08:30:00'
  2577. }else{
  2578. formData.value.上机时间=currentDate.split('-')[0]+'-'+response.data[0]['生产时间段'].split('>')[1]+':00'
  2579. }
  2580. console.log(response.data)
  2581. CLMXData.splice(0, CLMXData.length, ...Object.values(response.data));
  2582. formData.value.production_now=response.data[0].产量
  2583. formData.value.production_all=response.data.total.产量
  2584. }
  2585. };
  2586. //员工编号回车事件
  2587. const getygsubmit = (event, inputName) => {
  2588. // console.log(inputName)
  2589. let combinedString = 'sczl_bh' + inputName;
  2590. // console.log(combinedString)
  2591. // let variableName = 'sczl_gdbh'+inputName;
  2592. let variableValue = eval('formData3.value.' + combinedString);
  2593. // console.log(variableValue)
  2594. GetYg(variableValue,inputName)
  2595. }
  2596. const getbzyg = async (value,key) => {
  2597. let bzyg=''
  2598. bzyg=`code${key}`
  2599. let bzxm=''
  2600. bzxm=`name${key}`
  2601. const response = await getYg({sczl_bh:formDatas.value[bzyg]});
  2602. if (response.code === 0) {
  2603. formDatas.value[bzxm]=response.data[0].ygxm
  2604. formDatas.value[bzyg]=response.data[0].员工编号
  2605. }
  2606. }
  2607. const getxunchayg = async (value) => {
  2608. const response = await getYg({sczl_bh:xunchaData.value.sczl_bh});
  2609. if (response.code === 0) {
  2610. xunchaData.value.sczl_name=response.data[0].ygxm
  2611. xunchaData.value.sczl_bh=response.data[0].员工编号
  2612. }
  2613. }
  2614. const getlaliaoyg = async (value) => {
  2615. const response = await getYg({sczl_bh:dbformData.value.sczl_bh11});
  2616. if (response.code === 0) {
  2617. dbformData.value.sczl_name11=response.data.ygxm
  2618. }
  2619. }
  2620. //获取员工信息
  2621. const GetYg = async (value,inputName) => {
  2622. const response = await getYg({sczl_bh:value});
  2623. // console.log(response)
  2624. if (response.code === 0) {
  2625. // console.log(response.data.ygxm)
  2626. let Bname = 'sczl_name' + inputName;
  2627. let Bbh = 'sczl_bh' + inputName;
  2628. console.log(Bbh)
  2629. formData3.value[Bname]=response.data.ygxm
  2630. formData3.value[Bbh]=response.data.员工编号
  2631. // console.log(formData.value[Bname])
  2632. }
  2633. }
  2634. // 验证规则
  2635. const rule = reactive({
  2636. })
  2637. const searchRule = reactive({
  2638. createdAt: [
  2639. { validator: (rule, value, callback) => {
  2640. if (searchInfo.value.startCreatedAt && !searchInfo.value.endCreatedAt) {
  2641. callback(new Error('请填写结束日期'))
  2642. } else if (!searchInfo.value.startCreatedAt && searchInfo.value.endCreatedAt) {
  2643. callback(new Error('请填写开始日期'))
  2644. } else if (searchInfo.value.startCreatedAt && searchInfo.value.endCreatedAt && (searchInfo.value.startCreatedAt.getTime() === searchInfo.value.endCreatedAt.getTime() || searchInfo.value.startCreatedAt.getTime() > searchInfo.value.endCreatedAt.getTime())) {
  2645. callback(new Error('开始日期应当早于结束日期'))
  2646. } else {
  2647. callback()
  2648. }
  2649. }, trigger: 'change' }
  2650. ],
  2651. })
  2652. const elFormRef = ref()
  2653. const elSearchFormRef = ref()
  2654. // =========== 表格控制部分 ===========
  2655. const page = ref(1)
  2656. const total = ref(0)
  2657. const pageSize = ref(10)
  2658. const tableData = ref([])
  2659. const zhibiaoselectData=ref([])
  2660. const yinbanVisible = ref(false)
  2661. const huanxingType=ref(false)
  2662. const huanxingStatus=ref(0)
  2663. const yinbantreeData=ref([])
  2664. const fujiaselectData=ref([])
  2665. const searchInfo = ref({})
  2666. const onHxadd = () => {
  2667. huanxingType.value=true
  2668. huanxingStatus.value=1
  2669. huanxingData.value.班组=''
  2670. huanxingData.value.码包B=''
  2671. huanxingData.value.工单编号A=''
  2672. huanxingData.value.印件工序A=''
  2673. huanxingData.value.码包号A=''
  2674. huanxingData.value.工单编号B=''
  2675. huanxingData.value.印件工序B=''
  2676. huanxingData.value.机长=''
  2677. huanxingData.value.班长=''
  2678. huanxingData.value.质量巡查员=''
  2679. huanxingData.value.印件名称A=''
  2680. huanxingData.value.印件名称B=''
  2681. huanxingData.value.项目1=false
  2682. huanxingData.value.项目2=false
  2683. huanxingData.value.项目3=false
  2684. huanxingData.value.项目4=false
  2685. huanxingData.value.项目5=false
  2686. }
  2687. const onHxedit = () => {
  2688. huanxingType.value=true
  2689. huanxingStatus.value=2
  2690. }
  2691. const onHxdel = () => {
  2692. ElMessageBox.confirm('确定要删除吗?', '提示', {
  2693. confirmButtonText: '确定',
  2694. cancelButtonText: '取消',
  2695. type: 'warning'
  2696. }).then(() => {
  2697. remodelDataDels()
  2698. })
  2699. }
  2700. const remodelDataDels = async() => {
  2701. const response = await remodelDataDel({
  2702. UniqId:formData.value.huanxingId
  2703. })
  2704. if (response.code === 0) {
  2705. ElMessage({
  2706. type: 'success',
  2707. message: '删除成功!'
  2708. })
  2709. huanxingtreeData.value=[]
  2710. huanxingselectData.value=[]
  2711. huanxingData.value={}
  2712. formData.value.huanxingId=''
  2713. huanxingstatus.value=false
  2714. RemodelGetTab()
  2715. }
  2716. }
  2717. const onHxsave = () => {
  2718. if(huanxingData.value.项目1==true){
  2719. huanxingData.value.项目1=1
  2720. }else{
  2721. huanxingData.value.项目1=0
  2722. }
  2723. if(huanxingData.value.项目2==true){
  2724. huanxingData.value.项目2=1
  2725. }else{
  2726. huanxingData.value.项目2=0
  2727. }
  2728. if(huanxingData.value.项目3==true){
  2729. huanxingData.value.项目3=1
  2730. }else{
  2731. huanxingData.value.项目3=0
  2732. }
  2733. if(huanxingData.value.项目4==true){
  2734. huanxingData.value.项目4=1
  2735. }else{
  2736. huanxingData.value.项目4=0
  2737. }
  2738. if(huanxingData.value.项目5==true){
  2739. huanxingData.value.项目5=1
  2740. }else{
  2741. huanxingData.value.项目5=0
  2742. }
  2743. if(huanxingStatus.value==1){
  2744. remodelDataAdds()
  2745. }
  2746. if(huanxingStatus.value==2){
  2747. remodelDataEdits()
  2748. console.log(huanxingData)
  2749. }
  2750. huanxingType.value=false
  2751. huanxingStatus.value=0
  2752. }
  2753. const remodelDataAdds = async() => {
  2754. const response = await remodelDataAdd({
  2755. 日期:huanxingData.value.日期,
  2756. 班组:huanxingData.value.班组,
  2757. 机台编号:huanxingData.value.机台编号,
  2758. 工单编号A:huanxingData.value.工单编号A,
  2759. 印件工序A:huanxingData.value.印件工序A,
  2760. 码包号A:huanxingData.value.码包号A,
  2761. 工单编号B:huanxingData.value.工单编号B,
  2762. 印件工序B:huanxingData.value.印件工序B,
  2763. 码包号B:huanxingData.value.码包B,
  2764. 清场项目A:huanxingData.value.项目1,
  2765. 清场项目B:huanxingData.value.项目2,
  2766. 清场项目C:huanxingData.value.项目3,
  2767. 清场项目D:huanxingData.value.项目4,
  2768. 清场项目E:huanxingData.value.项目5,
  2769. 机长:huanxingData.value.机长,
  2770. 班长:huanxingData.value.班长,
  2771. 质量巡查员:huanxingData.value.质量巡查员
  2772. })
  2773. if (response.code === 0) {
  2774. ElMessage({
  2775. type: 'success',
  2776. message: '新增成功!'
  2777. })
  2778. // remodelDetail(formData.value.huanxingId)
  2779. RemodelGetTab()
  2780. modelChangeRecord(JTMC)
  2781. }
  2782. }
  2783. const remodelDataEdits = async() => {
  2784. const response = await remodelDataEdit({
  2785. 日期:huanxingData.value.日期,
  2786. 班组:huanxingData.value.班组,
  2787. 机台编号:huanxingData.value.机台编号,
  2788. 工单编号A:huanxingData.value.工单编号A,
  2789. 印件工序A:huanxingData.value.印件工序A,
  2790. 码包号A:huanxingData.value.码包号A,
  2791. 工单编号B:huanxingData.value.工单编号B,
  2792. 印件工序B:huanxingData.value.印件工序B,
  2793. 码包号B:huanxingData.value.码包B,
  2794. 清场项目A:huanxingData.value.项目1,
  2795. 清场项目B:huanxingData.value.项目2,
  2796. 清场项目C:huanxingData.value.项目3,
  2797. 清场项目D:huanxingData.value.项目4,
  2798. 清场项目E:huanxingData.value.项目5,
  2799. 机长:huanxingData.value.机长,
  2800. 班长:huanxingData.value.班长,
  2801. 质量巡查员:huanxingData.value.质量巡查员,
  2802. UniqId:formData.value.huanxingId
  2803. })
  2804. if (response.code === 0) {
  2805. ElMessage({
  2806. type: 'success',
  2807. message: '修改成功!'
  2808. })
  2809. }
  2810. }
  2811. // 重置
  2812. const onReset = () => {
  2813. searchInfo.value = {}
  2814. getTableData()
  2815. }
  2816. // 搜索
  2817. const onSubmit = () => {
  2818. elSearchFormRef.value?.validate(async(valid) => {
  2819. if (!valid) return
  2820. page.value = 1
  2821. pageSize.value = 10
  2822. getTableData()
  2823. })
  2824. }
  2825. // 分页
  2826. const handleSizeChange = (val) => {
  2827. pageSize.value = val
  2828. getTableData()
  2829. }
  2830. // 修改页面容量
  2831. const handleCurrentChange = (val) => {
  2832. page.value = val
  2833. getTableData()
  2834. }
  2835. const getTableData = async () => {
  2836. const response = await facilityTab();
  2837. if (response.code === 0 && response.data) {
  2838. const workshops = response.data; // 车间数据
  2839. // 在推送新项之前将 treeData 重置为空数组
  2840. treeData.value = []; // 使用 .value 访问响应式引用的值
  2841. for (const workshopName in workshops) {
  2842. const workshopNode = {
  2843. label: workshopName,
  2844. children: [],
  2845. level: 1 // 添加层级属性
  2846. };
  2847. const machines = workshops[workshopName]; // 车间下的机器
  2848. for (const machineName in machines) {
  2849. const machineNode = {
  2850. label: machineName,
  2851. children: [],
  2852. level: 2, // 添加层级属性
  2853. parentNode: workshopNode
  2854. };
  2855. // Now that machineNode is initialized, you can refer to it
  2856. const childrenNodes = machines[machineName].map(dateTime => {
  2857. const dateOnly = dateTime.split(' ')[0];
  2858. return {
  2859. label: dateOnly,
  2860. level: 3, // 添加层级属性
  2861. parentNode: machineNode
  2862. };
  2863. });
  2864. // Assign the childrenNodes to the machineNode's children property
  2865. machineNode.children = childrenNodes;
  2866. // Finally, push the machineNode to the workshopNode's children array
  2867. workshopNode.children.push(machineNode);
  2868. }
  2869. // 将 workshopNode 推送到响应式 treeData 数组
  2870. treeData.value.push(workshopNode);
  2871. }
  2872. }
  2873. };
  2874. // 查询
  2875. const getTableList = async() => {
  2876. const table = await getCompanyList({ page: page.value, pageSize: pageSize.value, ...searchInfo.value })
  2877. if (table.code === 0) {
  2878. tableData.value = table.data.list
  2879. total.value = table.data.total
  2880. page.value = table.data.page
  2881. pageSize.value = table.data.pageSize
  2882. }
  2883. }
  2884. // getTableData()
  2885. //删除
  2886. function onDel() {
  2887. }
  2888. //完工
  2889. function onOver() {
  2890. SetProcessStatus()
  2891. FacilityProduction()
  2892. }
  2893. //完工事件
  2894. const SetProcessStatus = async () => {
  2895. const RESCODE={
  2896. order:'2311114',
  2897. yjno:'01',
  2898. gxh:'01',
  2899. }
  2900. console.log(formData.value.工单编号,formData.value.印件号,formData.value.工序号)
  2901. const response = await setProcessStatus({order:formData.value.工单编号,yjno:formData.value.印件号,gxh:formData.value.工序号});
  2902. if (response.code === 0) {
  2903. FacilityProduction
  2904. }
  2905. console.log(response)
  2906. }
  2907. import { nextTick } from 'vue';
  2908. //设备点检
  2909. function ondianjian() {
  2910. getSpotCheckItem(JTMC).then(treeData => {
  2911. if (treeData) {
  2912. // 如果获取成功,treeData 就是我们需要的树形结构数据
  2913. dianjiantreeData = treeData;
  2914. console.log('222');
  2915. console.log(dianjiantreeData);
  2916. // 使用 nextTick 来确保在更新 dianjianVisible 后立即刷新视图
  2917. nextTick(() => {
  2918. dianjianVisible.value = true;
  2919. });
  2920. // 这里可以处理treeData,例如将其赋值给某个状态管理变量或者用于渲染界面
  2921. } else {
  2922. // 如果获取失败,则treeData为null
  2923. console.log('获取巡检项目树形结构数据失败');
  2924. }
  2925. });
  2926. }
  2927. //机台印版领用->右侧详情
  2928. const facilityPrintDetailItem = async (value) => {
  2929. try {
  2930. formData.value.code=value
  2931. // 调用接口获取巡检项目数据
  2932. const response = await facilityPrintDetail({ workOrder: formData.value.工单编号,code:value,productCode:formData.value.productCode });
  2933. // const response = await facilityPrintDetail({ workOrder: '2312165',code:'0521',productCode:'104601001' });
  2934. // 检查接口返回的状态码
  2935. if (response.code === 0) {
  2936. console.log(response)
  2937. yinbanselectData.value=response.data
  2938. }
  2939. } catch (error) {
  2940. // 捕获并打印异常
  2941. console.error("获取数据出错:" + error);
  2942. return null;
  2943. }
  2944. };
  2945. const yinbanNodeClick = (node, check, nodeData) => {
  2946. if (node.children && node.children.length > 0) {
  2947. // 点击的是父节点,且有子节点
  2948. // 执行相应的父节点单击事件处理逻辑
  2949. // 这里可以添加你想要的处理逻辑,比如展开/折叠节点等
  2950. } else {
  2951. // 点击的是子节点,或者没有子节点
  2952. // 执行相应的子节点单击事件处理逻辑
  2953. yinbanselectData.value=[]
  2954. facilityPrintDetailItem(node.code)
  2955. }
  2956. };
  2957. const onyinban = async() => {
  2958. console.log(formData)
  2959. const res = await facilityPrintGetTab({productCode:formData.value.工单编号})
  2960. // const res = await facilityPrintGetTab({productCode:'104601001'})
  2961. if(res.code===0){
  2962. yinbantreeData.value=[{
  2963. label:'产品印版库',
  2964. children:res.data.map(item=>({
  2965. label:item.印版分类,
  2966. code:item.编号
  2967. }))
  2968. }]
  2969. console.log(res.data.map(item=>({
  2970. label:item.印版分类,
  2971. code:item.编号
  2972. })))
  2973. yinbanVisible.value = true;
  2974. }
  2975. }
  2976. const onYbout = async() => {
  2977. yinbanSelection.value.map((item)=>{
  2978. item.Yb_工单编号=formData.value.工单编号
  2979. item.Yb_存货编码=item.存货编码
  2980. item.Yb_供方批号=item.供方批号
  2981. item.Yb_领用机台=JTMC
  2982. item.Yb_印数=item.印数
  2983. item.Sys_id=`[${formData.value.addr}/${JTMC}]`
  2984. delete item.UniqId
  2985. delete item.产品名称
  2986. delete item.产品编号
  2987. delete item.供方批号
  2988. delete item.制造日期
  2989. delete item.印数
  2990. delete item.印版名称
  2991. delete item.印版类别
  2992. delete item.存货名称
  2993. delete item.存货编码
  2994. delete item.客户名称
  2995. delete item.客户编号
  2996. return item
  2997. })
  2998. console.log(yinbanSelection.value)
  2999. if(yinbanSelection.value.length<1){
  3000. ElMessage({
  3001. type: 'error',
  3002. message: '暂无印版数据 请确认!'
  3003. })
  3004. }else{
  3005. const response = await PrintDetailAdd(yinbanSelection.value)
  3006. if(response.code===0){
  3007. facilityPrintDetailItem(formData.value.code)
  3008. ElMessage({
  3009. type: 'success',
  3010. message: '成功!'
  3011. })
  3012. }
  3013. }
  3014. }
  3015. const onYbback = async() => {
  3016. const arr=[]
  3017. yinbanSelection.value.map((item)=>{
  3018. if(item.UniqId===null){
  3019. }else{
  3020. arr.push(item.UniqId)
  3021. }
  3022. })
  3023. const response = await PrintDetailEdit({id:arr.join(',')})
  3024. if(response.code===0){
  3025. facilityPrintDetailItem(formData.value.code)
  3026. ElMessage({
  3027. type: 'success',
  3028. message: '成功!'
  3029. })
  3030. }
  3031. }
  3032. const onzhicheng = async () => {
  3033. zhichengstatus.value=false
  3034. xunchaData.value=[]
  3035. const response = await reportProduceInfo({machine:JTMC.split("#")[0]});
  3036. if (response.code === 0) {
  3037. xunchaData.value.order=response.data.order
  3038. xunchaData.value.yjno=response.data.yjno
  3039. xunchaData.value.product_name=response.data.product_name
  3040. xunchaData.value.gxmc=response.data.gxmc
  3041. xunchaData.value.lcdh=0
  3042. xunchaData.value.sczl_bh=''
  3043. xunchaData.value.sczl_name=''
  3044. xunchaData.value.remark=''
  3045. zhichengVisible.value = true;
  3046. }
  3047. }
  3048. const chanliangselectData = reactive([])
  3049. const chanliangVisible = ref(false)
  3050. const bzchanliangVisible = ref(false)
  3051. const huanxingVisible = ref(false)
  3052. const xunchaVisible = ref(false)
  3053. //客诉记录
  3054. const complaintsShow = ref(false)
  3055. const complaintsData = ref([])
  3056. function oncomplaints() {
  3057. Complaints()
  3058. }
  3059. // 客诉记录表格填充
  3060. const Complaints = async() => {
  3061. complaintsData.value=[]
  3062. selectedRowData.value={}
  3063. const res = await ComplaintRecord({productCode :formData.value.productCode})
  3064. // const res = await ComplaintRecord({productCode :100601011})
  3065. if (res.msg === '成功') {
  3066. complaintsData.value=res.data;
  3067. selectedRowData.value=complaintsData.value[0]
  3068. complaintsShow.value=true
  3069. }else{
  3070. ElMessage({
  3071. type: 'success',
  3072. message: '未找到该产品客诉记录!'
  3073. })
  3074. }
  3075. }
  3076. const selectedRowData = ref({
  3077. })
  3078. //客诉表格单击
  3079. const complaintshandle = (val, row) => {
  3080. selectedRowData.value=val
  3081. };
  3082. //设置机台状态
  3083. function onstatus() {
  3084. FacilityProduction().then(()=>{
  3085. dialogSbyxgl.value=true
  3086. })
  3087. // SetMachineStatus()
  3088. // ReportProduceInfo()
  3089. }
  3090. function onClear() {
  3091. huanxingtreeData.value=[]
  3092. huanxingselectData.value=[]
  3093. huanxingData.value={}
  3094. huanxingstatus.value=false
  3095. huanxingVisible.value=true
  3096. RemodelGetTab()
  3097. }
  3098. const RemodelGetTab = async() => {
  3099. const response = await remodelGetTab()
  3100. let arr=[]
  3101. if (response.code === 0) {
  3102. // for(let key in response.data){
  3103. // if(response.data[key][0]){
  3104. // let children =[]
  3105. // for (let i = 0; i < response.data[key].length; i++) {
  3106. // children.push({label:response.data[key][i],machine:key})
  3107. // }
  3108. // arr.push({
  3109. // label:key,
  3110. // children:children
  3111. // })
  3112. // console.log(response.data[key].length)
  3113. // }else{
  3114. // arr.push({label:key})
  3115. // }
  3116. // }
  3117. // huanxingtreeData.value=arr
  3118. huanxingtreeData.value=[{label:JTMC,children:response.data[JTMC].map(item=>({
  3119. label:item,
  3120. machine:JTMC
  3121. }))}]
  3122. }
  3123. }
  3124. //设置机台状态
  3125. const SetMachineStatus = async (row) => {
  3126. let classString = '';
  3127. 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];
  3128. for (let i = 0; i < sczl_bh_values.length; i++) {
  3129. if (sczl_bh_values[i]) {
  3130. classString += sczl_bh_values[i] + ',';
  3131. }
  3132. }
  3133. // 去除最后一个逗号
  3134. classString = classString.slice(0, -1);
  3135. const response = await setMachineStatus({
  3136. machine: JTMC.split("#")[0],
  3137. order:row['工单编号|质量信息'].split('|')[0],
  3138. yjno:'1',
  3139. gy_name:row['工序名称'],
  3140. status:'生产',
  3141. production_now:0,
  3142. production_all:0,
  3143. class:classString
  3144. });
  3145. if (response.code === 0) {
  3146. FacilityProduction(JTMC)
  3147. }
  3148. }
  3149. //提交巡查记录
  3150. function onxuncha() {
  3151. xunchaData.value=[]
  3152. ReportProduceInfo()
  3153. }
  3154. //巡检弹窗确定
  3155. const xunchaDialog = async () => {
  3156. SubmitPatrolRecord()
  3157. }
  3158. const closexunchaDialog = async () => {
  3159. xunchaVisible.value=false
  3160. }
  3161. const dianjianDialog = async () => {
  3162. dianjianselectData.splice(0, dianjianselectData.length, ...dianjianselectData.map(item=>{
  3163. if(item.zc==true){
  3164. item.status='正常'
  3165. }
  3166. if(item.yc==true){
  3167. item.status='异常'
  3168. }
  3169. if(item.notjc==true){
  3170. item.status='不检测'
  3171. }
  3172. item.itemName=item.检验项目
  3173. item.method=item.点检方法
  3174. item.standard=item.判定标准
  3175. delete item.notjc
  3176. delete item.zc
  3177. delete item.yc
  3178. delete item.检验项目
  3179. delete item.点检方法
  3180. delete item.判定标准
  3181. return item
  3182. }))
  3183. const response = await InspectionItemAdd(dianjianselectData);
  3184. if (response.code === 0) {
  3185. ElMessage({
  3186. type: 'success',
  3187. message: '成功'
  3188. })
  3189. dianjianVisible.value=false
  3190. }
  3191. }
  3192. const zhichengDialog = async () => {
  3193. console.log(fujiaselectData.value)
  3194. let arr =[]
  3195. zhibiaoselectData.value.map(item=>{
  3196. if(item.zc==true){
  3197. item.result='合格'
  3198. item.item=item.检验项目
  3199. item.instrument=item.检测方法
  3200. item.standard=item.相关标准
  3201. delete item.notjc
  3202. delete item.zc
  3203. delete item.yc
  3204. delete item.检验项目
  3205. delete item.检测方法
  3206. delete item.相关标准
  3207. delete item.检验频率
  3208. arr.push(item)
  3209. return item
  3210. }
  3211. if(item.yc==true){
  3212. item.result='不合格'
  3213. item.item=item.检验项目
  3214. item.instrument=item.检测方法
  3215. item.standard=item.相关标准
  3216. delete item.notjc
  3217. delete item.zc
  3218. delete item.yc
  3219. delete item.检验项目
  3220. delete item.检测方法
  3221. delete item.相关标准
  3222. delete item.检验频率
  3223. arr.push(item)
  3224. return item
  3225. }
  3226. if(item.notjc==true){
  3227. item.result='不检测'
  3228. item.item=item.检验项目
  3229. item.instrument=item.检测方法
  3230. item.standard=''
  3231. delete item.notjc
  3232. delete item.zc
  3233. delete item.yc
  3234. delete item.检验项目
  3235. delete item.检测方法
  3236. delete item.相关标准
  3237. delete item.检验频率
  3238. // arr.push(item)
  3239. return item
  3240. }
  3241. })
  3242. let arrs=[]
  3243. let fujiastatus=0
  3244. fujiaselectData.value.map(item=>{
  3245. if(item.notjc==true){
  3246. return item
  3247. }else{
  3248. fujiastatus=1
  3249. item.remark=item.缺陷备注
  3250. delete item.notjc
  3251. delete item.缺陷备注
  3252. delete item.编号
  3253. arrs.push(item)
  3254. return item
  3255. }
  3256. })
  3257. if(fujiastatus==1){
  3258. const responses = await AdditionalInspectionRecordAdd(arrs);
  3259. fujiastatus=0
  3260. }
  3261. // const response = await ProcessInspectionRecordsItemAdd(arr);
  3262. const response = await ProcessInspectionRecordsItemAdd(zhibiaoselectData.value);
  3263. // const responses = await AdditionalInspectionRecordAdd(zhibiaoselectData.value);
  3264. if (response.code === 0) {
  3265. ElMessage({
  3266. type: 'success',
  3267. message: '成功'
  3268. })
  3269. InspectionRecord()
  3270. zhichengVisible.value=false
  3271. zhibiaoselectData.value=[]
  3272. fujiaselectData.value=[]
  3273. }
  3274. }
  3275. const closedianjianDialog = async () => {
  3276. dianjianVisible.value=false
  3277. }
  3278. const closezhichengDialog = async () => {
  3279. zhichengVisible.value=false
  3280. }
  3281. //获取机台生产信息
  3282. const ReportProduceInfo = async (value,inputName) => {
  3283. const response = await reportProduceInfo({machine:JTMC.split("#")[0]});
  3284. if (response.code === 0) {
  3285. xunchaData.value.order=response.data.order
  3286. xunchaData.value.yjno=response.data.yjno
  3287. xunchaData.value.product_name=response.data.product_name
  3288. xunchaData.value.gxmc=response.data.gxmc
  3289. xunchaData.value.lcdh=0
  3290. xunchaData.value.sczl_bh=''
  3291. xunchaData.value.sczl_name=''
  3292. xunchaData.value.remark=''
  3293. FieldInspectionRecord()
  3294. xunchaVisible.value=true
  3295. }
  3296. }
  3297. // 假设 xunchaselectData 是一个 ref 对象
  3298. const xunchaselectData = ref([]);
  3299. const xunchaData = ref([]);
  3300. // 在 FieldInspectionRecord 方法中填充数据
  3301. const FieldInspectionRecord = async () => {
  3302. const response = await fieldInspectionRecord({ workOrder: xunchaData.value.order, team: BZMC.value});
  3303. console.log(response);
  3304. if (response.code === 0) {
  3305. xunchaselectData.value = response.data;
  3306. }
  3307. }
  3308. //获取机台编号
  3309. const GetMachineMac = async (addr) => {
  3310. console.log(addr);
  3311. const response = await getMachineMac({ addr: addr });
  3312. // const response = await getMachineMac({ addr: '68-ED-A4-26-60-84' });
  3313. // const response = await getMachineMac({ addr: '68-ED-A4-26-5D-90' });
  3314. // const response = await getMachineMac({ addr: '68-ED-A4-26-5E-50' });
  3315. // const response = await getMachineMac({ addr: '68-ED-A4-26-60-CC' });
  3316. // const response = await getMachineMac({ addr: '68-ED-A4-26-5F-8E' });
  3317. // const response = await getMachineMac({ addr: '68-ED-A4-26-60-C8' });
  3318. // const response = await getMachineMac({ addr: '40-62-31-21-4E-15' });
  3319. // const response = await getMachineMac({ addr: '68-ED-A4-26-5F-42' });
  3320. // const response = await getMachineMac({ addr: '68-ED-A4-26-60-E5' });
  3321. // const response = await getMachineMac({ addr: '68-ED-A4-26-5E-4E' });
  3322. // const response = await getMachineMac({ addr: '68-ED-A4-26-60-D1' });
  3323. if (response.code === 0) {
  3324. if(response.data===null){
  3325. // JTMC = 'JY01#';
  3326. // CJMC='胶印车间';
  3327. // FacilityProduction(addr);
  3328. ElMessage({
  3329. type: 'error',
  3330. message: '未获取到机台编号请确认MAC地址或与管理员联系'
  3331. })
  3332. }else{
  3333. // 将接口返回的数据添加到树型结构中
  3334. let newNode = {
  3335. label: response.data["使用部门"],
  3336. level: 1,
  3337. children: [
  3338. {
  3339. label: response.data["设备编号"],
  3340. level: 2,
  3341. }
  3342. ]
  3343. };
  3344. treeData.value.push(newNode);
  3345. CJMC=newNode.label
  3346. JTMC = newNode.children[0].label;
  3347. formData.value.机台号=JTMC
  3348. // console.log('【'+MAC.value+'/'+JTMC+'】')
  3349. FacilityProduction(addr);
  3350. }
  3351. }
  3352. }
  3353. const MAC=ref()
  3354. const GetAddr = () => {
  3355. var xmlhttp = null;
  3356. var res;
  3357. if (window.XMLHttpRequest) {
  3358. xmlhttp = new XMLHttpRequest();
  3359. } else if (window.ActiveXObject) {
  3360. xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  3361. }
  3362. // 2. 设置回调函数
  3363. xmlhttp.onreadystatechange = function() {
  3364. if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
  3365. res = eval('('+xmlhttp.response+')');
  3366. let result = ''
  3367. for (let i = 0; i < res.macAddress.length; i++) {
  3368. if (i % 2 === 0 && i !== 0) {
  3369. result += '-' // 根据实际需求修改分隔符
  3370. }
  3371. result += res.macAddress[i]
  3372. }
  3373. MAC.value=result
  3374. GetMachineMac(result)
  3375. }
  3376. }
  3377. // 3. 打开一个连接http://10.10.4.42/
  3378. xmlhttp.open("get", "http://127.0.0.1:8090/init")
  3379. // 5. 发送
  3380. xmlhttp.send();
  3381. }
  3382. GetAddr()
  3383. //提交巡查记录
  3384. const SubmitPatrolRecord = async () => {
  3385. console.log(JTMC.split("#")[0])
  3386. const response = await submitPatrolRecord({
  3387. type:'现场巡查记录',
  3388. machine:JTMC.split("#")[0],
  3389. order:xunchaData.value.order,
  3390. yjno:xunchaData.value.yjno,
  3391. process:xunchaData.value.lcdh,
  3392. no:xunchaData.value.sczl_bh,
  3393. name:xunchaData.value.sczl_name,
  3394. remark:xunchaData.value.remark,
  3395. });
  3396. console.log(response)
  3397. if (response.code === 0) {
  3398. ElMessage({
  3399. type: 'success',
  3400. message: '成功'
  3401. })
  3402. xunchaVisible.value=false
  3403. }
  3404. }
  3405. //日产量上报
  3406. function onchanliang() {
  3407. console.log(JTMC.split("#")[0]); // 通过value属性获取ref对象的值,然后再调用split方法
  3408. ReportInfo()
  3409. }
  3410. // 获取当前日期
  3411. const today = new Date();
  3412. const year = today.getFullYear();
  3413. const month = String(today.getMonth() + 1).padStart(2, '0'); // 月份从 0 开始,需要补零
  3414. const day = String(today.getDate()).padStart(2, '0');
  3415. const hours = String(today.getHours()).padStart(2, '0');
  3416. const minutes = String(today.getMinutes()).padStart(2, '0');
  3417. const seconds = String(today.getSeconds()).padStart(2, '0');
  3418. const currentDate = `${year}-${month}-${day}`;
  3419. const currentTime = `${year}-${month}-${day} ${hours}:${minutes}`;
  3420. const currenttime = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
  3421. //日产量详情获取
  3422. const ReportInfo = async () => {
  3423. const response = await reportInfo({ machine: JTMC.split("#")[0] });
  3424. if (response.code === 0) {
  3425. const { order_info, class: classInfo } = response.data;
  3426. const newData = {
  3427. order: order_info.order,
  3428. yjno: order_info.yjno,
  3429. gxh: order_info.gxh,
  3430. gxmc: order_info.gxmc,
  3431. product_name: order_info.product_name,
  3432. yj_name: order_info.yj_name,
  3433. gy_name: order_info.gy_name,
  3434. 日期:currentDate,
  3435. 下机时间:currenttime,
  3436. 上机时间:formData.value.上机时间,
  3437. 装版总时长:0,
  3438. 定额代号:formData.value.定额代号,
  3439. sczl_jtbh: JTMC.split("#")[0],
  3440. sczl_bzdh: classInfo.sczl_bzdh,
  3441. sys_id: classInfo.sys_id,
  3442. sys_rq: classInfo.sys_rq,
  3443. mod_rq: classInfo.mod_rq,
  3444. UniqId: classInfo.UniqId,
  3445. sczl_bh1: classInfo.sczl_bh1,
  3446. sczl_bh2: classInfo.sczl_bh2,
  3447. sczl_bh3: classInfo.sczl_bh3,
  3448. sczl_bh4: classInfo.sczl_bh4,
  3449. sczl_bh5: classInfo.sczl_bh5,
  3450. sczl_bh6: classInfo.sczl_bh6,
  3451. sczl_bh7: classInfo.sczl_bh7,
  3452. sczl_bh8: classInfo.sczl_bh8,
  3453. sczl_bh9: classInfo.sczl_bh9,
  3454. sczl_bh10: classInfo.sczl_bh10,
  3455. sczl_name1: classInfo.sczl_name1,
  3456. sczl_name2: classInfo.sczl_name2,
  3457. sczl_name3: classInfo.sczl_name3,
  3458. sczl_name4: classInfo.sczl_name4,
  3459. sczl_name5: classInfo.sczl_name5,
  3460. sczl_name6: classInfo.sczl_name6,
  3461. sczl_name7: classInfo.sczl_name7,
  3462. sczl_name8: classInfo.sczl_name8,
  3463. sczl_name9: classInfo.sczl_name9,
  3464. sczl_name10: classInfo.sczl_name10,
  3465. sczl_rate1: classInfo.sczl_rate1,
  3466. sczl_rate2: classInfo.sczl_rate2,
  3467. sczl_rate3: classInfo.sczl_rate3,
  3468. sczl_rate4: classInfo.sczl_rate4,
  3469. sczl_rate5: classInfo.sczl_rate5,
  3470. sczl_rate6: classInfo.sczl_rate6,
  3471. sczl_rate7: classInfo.sczl_rate7,
  3472. sczl_rate8: classInfo.sczl_rate8,
  3473. sczl_rate9: classInfo.sczl_rate9,
  3474. sczl_rate10: classInfo.sczl_rate10,
  3475. Gy0_ms:order_info.Gy0_ms,
  3476. Gy0_ls:order_info.Gy0_ls,
  3477. };
  3478. formData3.value = { ...formData3.value, ...newData };
  3479. chanliangselectData.splice(0, chanliangselectData.length, ...response.data.bom)
  3480. chanliangVisible.value=true
  3481. }
  3482. // getTableData()
  3483. }
  3484. //日报表弹窗确定
  3485. const chanliangenterDialog = async () => {
  3486. SubmitDailyProduction()
  3487. }
  3488. const bzchanliangenterDialog = async () => {
  3489. chanliangEdits()
  3490. }
  3491. //日报表上传
  3492. const SubmitDailyProduction = async () => {
  3493. const restoredData = {
  3494. sczl_gdbh:formData3.value.order,
  3495. sczl_yjno:formData3.value.yjno,
  3496. sczl_gxh:formData3.value.gxh,
  3497. sczl_gxmc: formData3.value.gxmc,
  3498. sczl_bzdh: formData3.value.sczl_bzdh,
  3499. sczl_bh1: formData3.value.sczl_bh1,
  3500. sczl_bh2: formData3.value.sczl_bh2,
  3501. sczl_bh3: formData3.value.sczl_bh3,
  3502. sczl_bh4: formData3.value.sczl_bh4,
  3503. sczl_bh5: formData3.value.sczl_bh5,
  3504. sczl_bh6: formData3.value.sczl_bh6,
  3505. sczl_bh7: formData3.value.sczl_bh7,
  3506. sczl_bh8: formData3.value.sczl_bh8,
  3507. sczl_bh9: formData3.value.sczl_bh9,
  3508. sczl_bh10: formData3.value.sczl_bh10,
  3509. sczl_bh98:formData3.value.sczl_bh11,
  3510. sczl_rate1: formData3.value.sczl_rate1,
  3511. sczl_rate2: formData3.value.sczl_rate2,
  3512. sczl_rate3: formData3.value.sczl_rate3,
  3513. sczl_rate4: formData3.value.sczl_rate4,
  3514. sczl_rate5: formData3.value.sczl_rate5,
  3515. sczl_rate6: formData3.value.sczl_rate6,
  3516. sczl_rate7: formData3.value.sczl_rate7,
  3517. sczl_rate8: formData3.value.sczl_rate8,
  3518. sczl_rate9: formData3.value.sczl_rate9,
  3519. sczl_rate10: formData3.value.sczl_rate10,
  3520. sczl_jtbh: formData3.value.sczl_jtbh,
  3521. sczl_rq: formData3.value.日期,
  3522. sczl_num: formData3.value.流程标牌,
  3523. sczl_sj1: formData3.value.上机时间,
  3524. sczl_sj2: formData3.value.下机时间,
  3525. sczl_cl: formData3.value.产量,
  3526. sczl_zcfp: formData3.value.制程废品,
  3527. sczl_zccp: formData3.value.制程次品,
  3528. last_fp: formData3.value.前工序废,
  3529. less_sl: formData3.value.来料异常,
  3530. sczl_ls: formData3.value.Gy0_ls,
  3531. sczl_ms: formData3.value.Gy0_ms,
  3532. zb_time: formData3.value.装版总时长,
  3533. dy_time: formData3.value.打样总工时,
  3534. run_time: formData3.value.通电工时,
  3535. sczl_dedh: formData3.value.定额代号,
  3536. code: formData3.value.码包,
  3537. main_meter: formData3.value.主电表,
  3538. auxiliary_meter: formData3.value.辅电表,
  3539. bom: formData3.value.formattedArray
  3540. }
  3541. console.log(restoredData)
  3542. console.log(formData3.value.formattedArray)
  3543. const response = await submitDailyProduction(restoredData);
  3544. console.log(response)
  3545. if (response.code === 0) {
  3546. ElMessage({
  3547. type: 'success',
  3548. message: '成功'
  3549. })
  3550. FacilityDetail()
  3551. chanliangVisible.value=false
  3552. }
  3553. }
  3554. // let formattedArray
  3555. // 产量单选
  3556. const chanliangSelectionChange = (val) => {
  3557. // if(val.length>0){
  3558. // multipleSelection.value = val
  3559. // const lenth=val.length
  3560. // lastCellValue=val[lenth-1].UniqId
  3561. // console.log(val)
  3562. // val.splice(0, val.length); // 清空 val 数组
  3563. // console.log(lastCellValue)
  3564. // }
  3565. const selectedItems =val
  3566. // 存储batch和st_wlbh的数组
  3567. formData3.value.formattedArray = selectedItems.map(item => `${item.batch}-${item.st_wlbh}`).join(',');
  3568. console.log(formData3.value.formattedArray);
  3569. // console.log(selectedItems)
  3570. }
  3571. const handleybSelectionChange = (val) => {
  3572. yinbanSelection.value = []
  3573. if(val.length>0){
  3574. yinbanSelection.value = val
  3575. }
  3576. }
  3577. //获取设备点检->检验项目
  3578. const FacilityInspectionItem = async (value) => {
  3579. try {
  3580. // 调用接口获取巡检项目数据
  3581. const response = await facilityInspectionItem({ unitName: value ,machine:JTMC.split("#")[0]});
  3582. // 检查接口返回的状态码
  3583. if (response.code === 0) {
  3584. console.log(response)
  3585. dianjianselectData.splice(0, dianjianselectData.length, ...response.data.map(item=>{
  3586. item.notjc=true;
  3587. item.zc=false;
  3588. item.yc=false;
  3589. item.remark=''
  3590. item.unitName=value
  3591. item.team=BZMC.value
  3592. item.machine=JTMC
  3593. return item
  3594. }))
  3595. }
  3596. } catch (error) {
  3597. // 捕获并打印异常
  3598. console.error("获取巡检项目数据出错:" + error);
  3599. return null;
  3600. }
  3601. };
  3602. //树形结构单机
  3603. const dianjianselectData = reactive([])
  3604. const dianjianNodeClick = (node, check, nodeData) => {
  3605. console.log('111')
  3606. if (node.children && node.children.length > 0) {
  3607. // 点击的是父节点,且有子节点
  3608. // 执行相应的父节点单击事件处理逻辑
  3609. // 这里可以添加你想要的处理逻辑,比如展开/折叠节点等
  3610. } else {
  3611. // 点击的是子节点,或者没有子节点
  3612. // 执行相应的子节点单击事件处理逻辑
  3613. FacilityInspectionItem(node.label)
  3614. }
  3615. };
  3616. const category =ref()
  3617. const zhichengNodeClick = (node, check) => {
  3618. if(node.label){
  3619. zhichengstatus.value=true
  3620. category.value=node.label
  3621. processInspectionRecordsItem()
  3622. }
  3623. };
  3624. const processInspectionRecordsItem = async (value) => {
  3625. const response = await ProcessInspectionRecordsItem({ process: xunchaData.value.gxmc });
  3626. if (response.code === 0) {
  3627. zhibiaoselectData.value=response.data.首件.指标检验.map(item=>{
  3628. item.notjc=true;
  3629. item.zc=false;
  3630. item.yc=false;
  3631. item.remark=''
  3632. item.category=category.value
  3633. item.workOrder=xunchaData.value.order
  3634. item.yjno=xunchaData.value.yjno
  3635. item.flow=xunchaData.value.lcdh
  3636. item.team=BZMC.value
  3637. item.machine=JTMC.split("#")[0]
  3638. item.selected = '不检测';
  3639. return item
  3640. })
  3641. fujiaselectData.value=response.data.首件.附加.map(item=>{
  3642. item.notjc=true;
  3643. item.workOrder=xunchaData.value.order
  3644. item.yjno=xunchaData.value.yjno
  3645. item.flow=xunchaData.value.lcdh
  3646. item.machine=JTMC.split("#")[0]
  3647. return item
  3648. })
  3649. }
  3650. };
  3651. const notjcClick = (val) => {
  3652. try {
  3653. if(val.notjc==false){
  3654. val.zc=false
  3655. val.yc==false
  3656. }else{
  3657. val.zc=true
  3658. val.yc==false
  3659. }
  3660. } catch (error) {
  3661. console.error('An error occurred:', error);
  3662. }
  3663. };
  3664. const zcClick = (val) => {
  3665. try {
  3666. if(val.notjc==false){
  3667. if(val.zc==false){
  3668. val.yc=false
  3669. }else{
  3670. val.yc==true
  3671. }
  3672. }{
  3673. val.zc=true
  3674. }
  3675. } catch (error) {
  3676. console.error('An error occurred:', error);
  3677. }
  3678. };
  3679. const ycClick = (val) => {
  3680. try {
  3681. if(val.notjc==false){
  3682. if(val.yc==false){
  3683. val.zc=false
  3684. }else{
  3685. val.zc=true
  3686. }
  3687. }else{
  3688. val.yc=true
  3689. }
  3690. } catch (error) {
  3691. console.error('An error occurred:', error);
  3692. }
  3693. };
  3694. let pandingfangfa=ref()
  3695. //检验项目单击
  3696. const dianjianhandle = async (val, row) => {
  3697. try {
  3698. console.log(val.判定标准);
  3699. pandingfangfa.value = val.判定标准;
  3700. } catch (error) {
  3701. console.error('An error occurred:', error);
  3702. }
  3703. };
  3704. const rowClassName = (row, column) => {
  3705. try {
  3706. if (row.unchecked) {
  3707. return 'row-yellow';
  3708. }
  3709. return '';
  3710. } catch (error) {
  3711. console.error('An error occurred:', error);
  3712. return '';
  3713. }
  3714. };
  3715. function duohandleClick(table) {
  3716. console.log(table.props.label)
  3717. if(table.props.label=='当班产量明细'){
  3718. zdtreeType.value=true
  3719. }else{
  3720. zdtreeType.value=false
  3721. }
  3722. }
  3723. // 异步函数,用于获取指定设备的巡检项目,并且将结果格式化为树形结构数据
  3724. const getSpotCheckItem = async (machineName) => {
  3725. try {
  3726. // 调用接口获取巡检项目数据
  3727. const response = await facilitySpotCheckItem({ machine: machineName });
  3728. // 检查接口返回的状态码
  3729. if (response.code === 0) {
  3730. // 构建树形结构数据
  3731. const childrenData = Object.entries(response.data).map(([id, label]) => {
  3732. return {
  3733. id, // 子节点的唯一标识
  3734. label, // 子节点的标签
  3735. children: [] // 初始化子节点数组
  3736. };
  3737. });
  3738. // 创建包含父节点的树形结构数据
  3739. const treeData = [{
  3740. id: machineName, // 父节点的唯一标识
  3741. label: machineName, // 父节点的标签
  3742. children: childrenData // 子节点数据
  3743. }];
  3744. // 返回构建好的树形结构数据
  3745. return treeData;
  3746. } else {
  3747. // 如果接口返回的状态码不是0,打印错误信息
  3748. console.error("接口返回错误:" + response.msg);
  3749. return null;
  3750. }
  3751. } catch (error) {
  3752. // 捕获并打印异常
  3753. console.error("获取巡检项目数据出错:" + error);
  3754. return null;
  3755. }
  3756. };
  3757. // 班组人员及分配比例
  3758. const FacilityTeam = async (value) => {
  3759. const response = await facilityTeam({ machine: value });
  3760. if (response.code === 0) {
  3761. // 清空 bzData 数组
  3762. bzData.splice(0, bzData.length);
  3763. response.data.map(item=>{
  3764. if(formData.value['班组Id']==item.ID){
  3765. currentBz.value=item
  3766. formDatas.value = {};
  3767. let sczl_bhkey = ''
  3768. let sczl_namekey = ''
  3769. let percentagekey = ''
  3770. if (currentBz.value[9]) {
  3771. for (let i = 1; i <= 10; i++) {
  3772. sczl_bhkey = `code${i}`
  3773. sczl_namekey = `name${i}`
  3774. percentagekey = `percentage${i}`
  3775. formDatas.value[sczl_bhkey] = '';
  3776. formDatas.value[sczl_namekey] = '';
  3777. formDatas.value[percentagekey] = '';
  3778. }
  3779. formDatas.value.code8 = currentBz.value[9].split(' ')[0];
  3780. formDatas.value.name8 = currentBz.value[9].split(' ')[1]
  3781. formDatas.value.percentage8 = parseFloat(currentBz.value[9].split(' ')[2].split('(')[1].split(')')[0])/100
  3782. for (let i = 1; i <= Math.min(Object.keys(currentBz.value).length - 4, 6); i++) {
  3783. sczl_bhkey = `code${i}`
  3784. sczl_namekey = `name${i}`
  3785. percentagekey = `percentage${i}`
  3786. formDatas.value[sczl_bhkey] = currentBz.value[i - 1].split(' ')[0];
  3787. formDatas.value[sczl_namekey] = currentBz.value[i - 1].split(' ')[1];
  3788. if(isNaN(parseFloat(currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0]))){
  3789. formDatas.value[percentagekey] = currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0];
  3790. }else{
  3791. formDatas.value[percentagekey] = parseFloat(currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0])/100;
  3792. }
  3793. }
  3794. } else {
  3795. for (let i = 1; i <= 10; i++) {
  3796. sczl_bhkey = `code${i}`
  3797. sczl_namekey = `name${i}`
  3798. percentagekey = `percentage${i}`
  3799. formDatas.value[sczl_bhkey] = '';
  3800. formDatas.value[sczl_namekey] = '';
  3801. formDatas.value[percentagekey] = '';
  3802. }
  3803. for (let i = 1; i <= Math.min(Object.keys(currentBz.value).length - 3, 6); i++) {
  3804. sczl_bhkey = `code${i}`
  3805. sczl_namekey = `name${i}`
  3806. percentagekey = `percentage${i}`
  3807. formDatas.value[sczl_bhkey] = currentBz.value[i - 1].split(' ')[0];
  3808. formDatas.value[sczl_namekey] = currentBz.value[i - 1].split(' ')[1];
  3809. if(isNaN(parseFloat(currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0]))){
  3810. formDatas.value[percentagekey] = currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0];
  3811. }else{
  3812. formDatas.value[percentagekey] = parseFloat(currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0])/100;
  3813. }
  3814. }
  3815. }
  3816. console.log(formDatas)
  3817. }
  3818. })
  3819. // 遍历接口返回的数据,并给每个对象添加 JTMC 属性
  3820. const updatedData = response.data.map(item => {
  3821. return { ...item, JTMC: value }; // 添加 JTMC 属性
  3822. });
  3823. FPData.splice(0, FPData.length, ...updatedData)
  3824. // 将更新后的数据添加到 bzData 数组
  3825. bzData.push(...updatedData);
  3826. // FPData.push(...updatedData)
  3827. console.log(FPData)
  3828. }
  3829. };
  3830. //班组维护
  3831. function onBZ() {
  3832. FacilityTeam(JTMC)
  3833. fetchData()
  3834. detailShow.value=true
  3835. console.log('2222')
  3836. }
  3837. // 下拉框选项数据
  3838. const dropdownOptions = ref([]);
  3839. // 选中的选项
  3840. const selectedOption = ref('');
  3841. // 获取接口数据并转换为下拉框需要的格式
  3842. const fetchData = async () => {
  3843. try {
  3844. // Simulate API call
  3845. const response = await facilityMachineList();
  3846. if (response.code === 0) {
  3847. // Transform data format
  3848. const options = response.data.map((item) => ({
  3849. label: item,
  3850. value: item
  3851. }));
  3852. dropdownOptions.value = options;
  3853. // Default to selecting the first option
  3854. const defaultOption = options.find(option => option.value.split('|')[0] === JTMC);
  3855. if (defaultOption) {
  3856. selectedOption.value = defaultOption.value;
  3857. } else if (options.length > 0) {
  3858. // 如果 myDefaultValue 不在选项中,选择第一个选项
  3859. selectedOption.value = options[0].value;
  3860. }
  3861. }
  3862. } catch (error) {
  3863. console.error('Error fetching data:', error);
  3864. // Handle the error appropriately
  3865. }
  3866. };
  3867. // formData
  3868. let BZMC=ref()
  3869. let lastCellValue=ref()
  3870. let parts =reactive([])
  3871. const formData3= ref({
  3872. order:'',
  3873. yjno:'',
  3874. gxh:'',
  3875. gxmc:'',
  3876. product_name:'',
  3877. yj_name:'',
  3878. gy_name:'',
  3879. sczl_jtbh:'',
  3880. sczl_bzdh:'',
  3881. sys_id:'',
  3882. sys_rq:'',
  3883. mod_rq:'',
  3884. UniqId:'',
  3885. sczl_bh1:'',
  3886. sczl_bh2:'',
  3887. sczl_bh3:'',
  3888. sczl_bh4:'',
  3889. sczl_bh5:'',
  3890. sczl_bh6:'',
  3891. sczl_bh7:'',
  3892. sczl_bh8:'',
  3893. sczl_bh9:'',
  3894. sczl_bh10:'',
  3895. sczl_bh11:'',
  3896. sczl_name1:'',
  3897. sczl_name2:'',
  3898. sczl_name3:'',
  3899. sczl_name4:'',
  3900. sczl_name5:'',
  3901. sczl_name6:'',
  3902. sczl_name7:'',
  3903. sczl_name8:'',
  3904. sczl_name9:'',
  3905. sczl_name10:'',
  3906. sczl_name11:'',
  3907. sczl_rate1:'',
  3908. sczl_rate2:'',
  3909. sczl_rate3:'',
  3910. sczl_rate4:'',
  3911. sczl_rate5:'',
  3912. sczl_rate6:'',
  3913. sczl_rate7:'',
  3914. sczl_rate8:'',
  3915. sczl_rate9:'',
  3916. sczl_rate10:'',
  3917. 日期:'',
  3918. 流程标牌:'',
  3919. 上机时间:'',
  3920. 下机时间:'',
  3921. 产量:'',
  3922. 制程废品:'',
  3923. 制程次品:'',
  3924. 前工序废:'',
  3925. 来料异常:'',
  3926. Gy0_ms:'',
  3927. Gy0_ls:'',
  3928. 装版总工时:'',
  3929. 打样总工时:'',
  3930. 通电工时:'',
  3931. 定额代号:'',
  3932. 码包:'',
  3933. 主电表:'',
  3934. 辅电表:'',
  3935. formattedArray:'',
  3936. })
  3937. // 自动化生成的字典(可能为空)以及字段
  3938. const formData= ref({
  3939. // 工单编号:'',
  3940. // 印件号:'',
  3941. // 工序名称:'',
  3942. // 产品名称:'',
  3943. // sczl_bh1:'',
  3944. // sczl_bh2:'',
  3945. // sczl_bh3:'',
  3946. // sczl_bh4:'',
  3947. // sczl_bh5:'',
  3948. // sczl_bh6:'',
  3949. // sczl_bh7:'',
  3950. // sczl_bh8:'',
  3951. // sczl_bh9:'',
  3952. // sczl_bh10:'',
  3953. // sczl_name1:'',
  3954. // sczl_name2:'',
  3955. // sczl_name3:'',
  3956. // sczl_name4:'',
  3957. // sczl_name5:'',
  3958. // sczl_name6:'',
  3959. // sczl_name7:'',
  3960. // sczl_name8:'',
  3961. // sczl_name9:'',
  3962. // sczl_name10:'',
  3963. // 班组:'',
  3964. // order:'',
  3965. // yjno:'',
  3966. // product_name:'',
  3967. // gxmc:'',
  3968. })
  3969. const formDatasData= reactive([])
  3970. const formDatas = ref({
  3971. code1:'',
  3972. code2:'',
  3973. code3:'',
  3974. code4:'',
  3975. code5:'',
  3976. code6:'',
  3977. code7:'',
  3978. code8:'',
  3979. code9:'',
  3980. code10:'',
  3981. name1:'',
  3982. name2:'',
  3983. name3:'',
  3984. name4:'',
  3985. name5L:'',
  3986. name6:'',
  3987. name7:'',
  3988. name8:'',
  3989. name9:'',
  3990. name10:'',
  3991. percentage1:'',
  3992. percentage2:'',
  3993. percentage3:'',
  3994. percentage4:'',
  3995. percentage5:'',
  3996. percentage6:'',
  3997. percentage7:'',
  3998. percentage8:'',
  3999. percentage9:'',
  4000. percentage10:'',
  4001. })
  4002. const currentBz ={}
  4003. //班组单击
  4004. const BZhandle = (val) => {
  4005. currentBz.value = val
  4006. formDatas.value = {};
  4007. let sczl_bhkey = ''
  4008. let sczl_namekey = ''
  4009. let percentagekey = ''
  4010. if (currentBz.value[9]) {
  4011. for (let i = 1; i <= 9; i++) {
  4012. sczl_bhkey = `code${i}`
  4013. sczl_namekey = `name${i}`
  4014. percentagekey = `percentage${i}`
  4015. formDatas.value[sczl_bhkey] = '';
  4016. formDatas.value[sczl_namekey] = '';
  4017. formDatas.value[percentagekey] = '';
  4018. }
  4019. formDatas.value.code8 = currentBz.value[9].split(' ')[0];
  4020. formDatas.value.name8 = currentBz.value[9].split(' ')[1]
  4021. formDatas.value.percentage8 = parseFloat(currentBz.value[9].split(' ')[2].split('(')[1].split(')')[0])/100
  4022. for (let i = 1; i <= Math.min(Object.keys(currentBz.value).length - 5, 6); i++) {
  4023. sczl_bhkey = `code${i}`
  4024. sczl_namekey = `name${i}`
  4025. percentagekey = `percentage${i}`
  4026. formDatas.value[sczl_bhkey] = currentBz.value[i - 1].split(' ')[0];
  4027. formDatas.value[sczl_namekey] = currentBz.value[i - 1].split(' ')[1];
  4028. if(isNaN(parseFloat(currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0]))){
  4029. formDatas.value[percentagekey] = currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0];
  4030. }else{
  4031. formDatas.value[percentagekey] = parseFloat(currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0])/100;
  4032. }
  4033. }
  4034. } else {
  4035. for (let i = 1; i <= 10; i++) {
  4036. sczl_bhkey = `code${i}`
  4037. sczl_namekey = `name${i}`
  4038. percentagekey = `percentage${i}`
  4039. formDatas.value[sczl_bhkey] = '';
  4040. formDatas.value[sczl_namekey] = '';
  4041. formDatas.value[percentagekey] = '';
  4042. }
  4043. for (let i = 1; i <= Math.min(Object.keys(currentBz.value).length - 4, 6); i++) {
  4044. sczl_bhkey = `code${i}`
  4045. sczl_namekey = `name${i}`
  4046. percentagekey = `percentage${i}`
  4047. formDatas.value[sczl_bhkey] = currentBz.value[i - 1].split(' ')[0];
  4048. formDatas.value[sczl_namekey] = currentBz.value[i - 1].split(' ')[1];
  4049. if(isNaN(parseFloat(currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0]))){
  4050. formDatas.value[percentagekey] = currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0];
  4051. }else{
  4052. formDatas.value[percentagekey] = parseFloat(currentBz.value[i - 1].split(' ')[2].split('(')[1].split(')')[0])/100;
  4053. }
  4054. }
  4055. }
  4056. console.log(formDatas)
  4057. // for (const key in val) {
  4058. // if (val[key] === 0) {
  4059. // break;
  4060. // }
  4061. // const parts = val[key].split(/[\s()]+/);
  4062. // const code = parts[0];
  4063. // const name = parts[1];
  4064. // const percentage = parts[2];
  4065. //
  4066. // // 根据索引填充不同的字段
  4067. // const index = parseInt(key) + 1; // 索引从1开始
  4068. // formDatas.value['code' + index] = code;
  4069. // formDatas.value['name' + index] = name;
  4070. // formDatas.value['percentage' + index] = percentage;
  4071. BZMC.value=val.班组号
  4072. // }
  4073. };
  4074. const addBz = async() => {
  4075. // selectedOption.value='YS-JY06-002||印品质量检测机(JP1020-18)'
  4076. console.log(selectedOption.value)
  4077. console.log(BZMC.value)
  4078. console.log(selectedOption.value.split('|')[0])
  4079. const response = await MachineTeamAdd({
  4080. sczl_jtbh: selectedOption.value.split('|')[0],
  4081. sczl_bzdh: BZMC.value,
  4082. sczl_bh1: formDatas.value.code1,
  4083. sczl_bh2: formDatas.value.code2,
  4084. sczl_bh3: formDatas.value.code3,
  4085. sczl_bh4: formDatas.value.code4,
  4086. sczl_bh5: formDatas.value.code5,
  4087. sczl_bh6: formDatas.value.code6,
  4088. sczl_bh7: formDatas.value.code7,
  4089. sczl_bh8: formDatas.value.code10,
  4090. sczl_bh9: formDatas.value.code9,
  4091. sczl_bh10: formDatas.value.code8,
  4092. sczl_rate1: formDatas.value.percentage1,
  4093. sczl_rate2: formDatas.value.percentage2,
  4094. sczl_rate3: formDatas.value.percentage3,
  4095. sczl_rate4: formDatas.value.percentage4,
  4096. sczl_rate5: formDatas.value.percentage5,
  4097. sczl_rate6: formDatas.value.percentage6,
  4098. sczl_rate7: formDatas.value.percentage7,
  4099. sczl_rate8: formDatas.value.percentage10,
  4100. sczl_rate9: formDatas.value.percentage9,
  4101. sczl_rate10: formDatas.value.percentage8,
  4102. sys_id: '【'+MAC.value+'/'+JTMC+'】'
  4103. })
  4104. // console.log()
  4105. if (response.code === 0) {
  4106. ElMessage({
  4107. type: 'success',
  4108. message: '成功'
  4109. })
  4110. }
  4111. }
  4112. const selectBz = async() => {
  4113. if(currentBz.value){
  4114. BZMC.value=currentBz.value.班组号
  4115. let sczl_bhkey=''
  4116. let sczl_namekey=''
  4117. // if (currentBz.value) {
  4118. // for (let i = 1; i <= 6; i++) {
  4119. // sczl_bhkey=`sczl_bh${i}`
  4120. // sczl_namekey=`sczl_name${i}`
  4121. // formData.value[sczl_bhkey] = '';
  4122. // formData.value[sczl_namekey] = '';
  4123. // }
  4124. // for (let i = 1; i <= Math.min(Object.keys(currentBz.value).length-4, 6); i++) {
  4125. // sczl_bhkey=`sczl_bh${i}`
  4126. // sczl_namekey=`sczl_name${i}`
  4127. // console.log(currentBz.value[i-1].split(' '))
  4128. // formData.value[sczl_bhkey] = currentBz.value[i-1].split(' ')[0];
  4129. // formData.value[sczl_namekey] = currentBz.value[i-1].split(' ')[1];
  4130. // classbz.value[i-1]=currentBz.value[i-1].split(' ')[0]
  4131. // }
  4132. // formData.value.class=classbz.value.join(',')
  4133. // }
  4134. if (currentBz.value[9]) {
  4135. for (let i = 1; i <= 9; i++) {
  4136. sczl_bhkey=`sczl_bh${i}`
  4137. sczl_namekey=`sczl_name${i}`
  4138. formData.value[sczl_bhkey] = '';
  4139. formData.value[sczl_namekey] = '';
  4140. }
  4141. formData.value.sczl_bh10 = currentBz.value[9].split(' ')[0];
  4142. formData.value.sczl_name10=currentBz.value[9].split(' ')[1]
  4143. for (let i = 1; i <= Math.min(Object.keys(currentBz.value).length-5, 6); i++) {
  4144. sczl_bhkey=`sczl_bh${i}`
  4145. sczl_namekey=`sczl_name${i}`
  4146. console.log(currentBz.value[i-1].split(' '))
  4147. formData.value[sczl_bhkey] = currentBz.value[i-1].split(' ')[0];
  4148. formData.value[sczl_namekey] = currentBz.value[i-1].split(' ')[1];
  4149. classbz.value[i-1]=currentBz.value[i-1].split(' ')[0]
  4150. }
  4151. classbz.value.push(currentBz.value[9].split(' ')[0])
  4152. formData.value.class=classbz.value.join(',')
  4153. console.log(formData.value)
  4154. }else{
  4155. for (let i = 1; i <= 10; i++) {
  4156. sczl_bhkey=`sczl_bh${i}`
  4157. sczl_namekey=`sczl_name${i}`
  4158. formData.value[sczl_bhkey] = '';
  4159. formData.value[sczl_namekey] = '';
  4160. }
  4161. for (let i = 1; i <= Math.min(Object.keys(currentBz.value).length-4, 6); i++) {
  4162. sczl_bhkey=`sczl_bh${i}`
  4163. sczl_namekey=`sczl_name${i}`
  4164. console.log(currentBz.value[i-1].split(' '))
  4165. formData.value[sczl_bhkey] = currentBz.value[i-1].split(' ')[0];
  4166. formData.value[sczl_namekey] = currentBz.value[i-1].split(' ')[1];
  4167. classbz.value[i-1]=currentBz.value[i-1].split(' ')[0]
  4168. }
  4169. formData.value.class=classbz.value.join(',')
  4170. }
  4171. const response = await setMachineTeam({
  4172. machine: JTMC.split("#")[0],
  4173. order:formData.value.工单编号,
  4174. yjno:formData.value.印件号,
  4175. gy_name:formData.value.工序名称,
  4176. sczl_bzdh:BZMC.value,
  4177. status:'生产',
  4178. production_now:0,
  4179. production_all:0,
  4180. team_id:currentBz.value.ID
  4181. })
  4182. if(response.code===0){
  4183. ElMessage({
  4184. type: 'success',
  4185. message: '成功'
  4186. })
  4187. FacilityProduction()
  4188. }
  4189. // currentBz.value={}
  4190. }
  4191. }
  4192. const delBz = async() => {
  4193. const UniqId=currentBz.value.ID
  4194. if(currentBz.value){
  4195. ElMessageBox.confirm('确定要删除吗?', '提示', {
  4196. confirmButtonText: '确定',
  4197. cancelButtonText: '取消',
  4198. type: 'warning'
  4199. }).then(() => {
  4200. const response = teamDel({UniqId:UniqId})
  4201. response.then(result => {
  4202. if(result.code===0){
  4203. ElMessage({
  4204. type: 'success',
  4205. message: '成功'
  4206. })
  4207. console.log(response)
  4208. FacilityProduction()
  4209. }
  4210. });
  4211. })
  4212. currentBz.value={}
  4213. }
  4214. }
  4215. // ============== 表格控制部分结束 ===============
  4216. // 获取需要的字典 可能为空 按需保留
  4217. const setOptions = async () =>{
  4218. }
  4219. // 获取需要的字典 可能为空 按需保留
  4220. setOptions()
  4221. // 多选数据
  4222. const multipleSelection = ref([])
  4223. const yinbanSelection = ref([])
  4224. // 多选
  4225. const handleSelectionChange = (val) => {
  4226. multipleSelection.value = val
  4227. }
  4228. const zdtreeType = ref(false)
  4229. const selectData = ref([])
  4230. const showsTable = (val,tab) => {
  4231. }
  4232. const showTable = (val,tab) => {
  4233. // zdtreeType.value=false
  4234. }
  4235. // 删除行
  4236. const deleteRow = (row) => {
  4237. ElMessageBox.confirm('确定要删除吗?', '提示', {
  4238. confirmButtonText: '确定',
  4239. cancelButtonText: '取消',
  4240. type: 'warning'
  4241. }).then(() => {
  4242. deleteCompanyFunc(row)
  4243. })
  4244. }
  4245. // 批量删除控制标记
  4246. const deleteVisible = ref(false)
  4247. // 多选删除
  4248. const onDelete = async() => {
  4249. const ids = []
  4250. if (multipleSelection.value.length === 0) {
  4251. ElMessage({
  4252. type: 'warning',
  4253. message: '请选择要删除的数据'
  4254. })
  4255. return
  4256. }
  4257. multipleSelection.value &&
  4258. multipleSelection.value.map(item => {
  4259. ids.push(item.ID)
  4260. })
  4261. const res = await deleteCompanyByIds({ ids })
  4262. if (res.code === 0) {
  4263. ElMessage({
  4264. type: 'success',
  4265. message: '删除成功'
  4266. })
  4267. if (tableData.value.length === ids.length && page.value > 1) {
  4268. page.value--
  4269. }
  4270. deleteVisible.value = false
  4271. getTableData()
  4272. }
  4273. }
  4274. // 行为控制标记(弹窗内部需要增还是改)
  4275. const type = ref('')
  4276. // 更新行
  4277. const updateCompanyFunc = async(row) => {
  4278. const res = await findCompany({ ID: row.ID })
  4279. type.value = 'update'
  4280. if (res.code === 0) {
  4281. formData.value = res.data.recompany
  4282. dialogFormVisible.value = true
  4283. }
  4284. }
  4285. const yjupdateCompanyFunc = async(row) => {
  4286. ElMessageBox.confirm('确定切换当前工单为工作工单吗?', '提示', {
  4287. confirmButtonText: '确定',
  4288. cancelButtonText: '取消',
  4289. type: 'warning'
  4290. }).then(() => {
  4291. setMachineTeams(row)
  4292. })
  4293. }
  4294. const setMachineTeams = async(row) => {
  4295. console.log(row.UniqId)
  4296. console.log(row)
  4297. const res = await setMachineTeam({
  4298. machine: JTMC.split("#")[0],
  4299. order:row['工单编号|质量信息'].split('|')[0],
  4300. yjno:row['印件资料'].split('-')[0],
  4301. gy_name:row['工序名称'],
  4302. sczl_bzdh:BZMC.value,
  4303. status:'生产',
  4304. production_now:0,
  4305. production_all:0,
  4306. team_id:formData.value.班组Id
  4307. })
  4308. MachineWorkOrderEdits(row)
  4309. if (res.code === 0) {
  4310. // EquipmentSchedulingEdits(row)
  4311. ElMessage({
  4312. type: 'success',
  4313. message: '成功'
  4314. })
  4315. }
  4316. }
  4317. const MachineWorkOrderEdits = async(row) => {
  4318. const res = await MachineWorkOrderEdit({
  4319. UniqId:row.UniqId,
  4320. machine: JTMC,
  4321. })
  4322. if (res.code === 0) {
  4323. SetMachineStatus(row)
  4324. }
  4325. }
  4326. const EquipmentSchedulingEdits = async(row) => {
  4327. console.log(row)
  4328. const res = await EquipmentSchedulingEdit([{
  4329. capacity:row.工序产能,
  4330. ProductionHours:row.计划工时,
  4331. AuxiliaryHours:row.装版时数,
  4332. shift:row.班组,
  4333. remark:row.排产备注,
  4334. start:row.最早开工时间,
  4335. projectTime:currentTime,
  4336. UniqId:row.UniqId
  4337. }])
  4338. if (res.code === 0) {
  4339. FacilityProduction()
  4340. }
  4341. }
  4342. // 删除行
  4343. const deleteCompanyFunc = async (row) => {
  4344. const res = await deleteCompany({ ID: row.ID })
  4345. if (res.code === 0) {
  4346. ElMessage({
  4347. type: 'success',
  4348. message: '删除成功'
  4349. })
  4350. if (tableData.value.length === 1 && page.value > 1) {
  4351. page.value--
  4352. }
  4353. getTableData()
  4354. }
  4355. }
  4356. // 弹窗控制标记
  4357. const dialogFormVisible = ref(false)
  4358. const dianjianVisible = ref(false)
  4359. const zhichengVisible = ref(false)
  4360. // 查看详情控制标记
  4361. const detailShow = ref(false)
  4362. const bzData = reactive([])
  4363. // 打开详情弹窗
  4364. const openDetailShow = () => {
  4365. detailShow.value = true
  4366. }
  4367. // 打开详情
  4368. const getDetails = async (row) => {
  4369. // 打开弹窗
  4370. const res = await findCompany({ ID: row.ID })
  4371. if (res.code === 0) {
  4372. formData.value = res.data.recompany
  4373. openDetailShow()
  4374. }
  4375. }
  4376. // 关闭详情弹窗
  4377. const closeDetailShow = () => {
  4378. detailShow.value = false
  4379. // formData.value = {
  4380. // address: '',
  4381. // image: '',
  4382. // name: '',
  4383. // }
  4384. }
  4385. // 打开弹窗
  4386. const openDialog = () => {
  4387. // type.value = 'create'
  4388. // console.log('222')
  4389. // FacilityInspect()
  4390. // dialogFormVisible.value = true
  4391. }
  4392. let drzcData=[]
  4393. let columnNames=[]
  4394. //当日制程检验记录
  4395. const FacilityInspect = async () => {
  4396. const response = await facilityInspect({machine:'JY01#',date:'2024-01-04'});
  4397. console.log(response)
  4398. if(response.code==0){
  4399. // 提取 inspectiontime 作为列名
  4400. // Extract inspectiontime as columnNames
  4401. columnNames = response.data.inspectiontime;
  4402. // Populate drzcData with row data
  4403. for (const key in response.data) {
  4404. if (key !== 'inspectiontime') {
  4405. const item = response.data[key];
  4406. const rowData = {
  4407. '工单编号': item['工单编号'],
  4408. '印件号': item['印件号'],
  4409. '工序名称': item['工序名称'],
  4410. '检验项目': item['检验项目']
  4411. };
  4412. // Initialize time columns with '—'
  4413. columnNames.forEach(time => {
  4414. rowData[time] = '';
  4415. });
  4416. // Split inspectresult and fill the corresponding time columns
  4417. const results = item['inspectresult'].split(',');
  4418. results.forEach(result => {
  4419. if (columnNames.includes(result)) {
  4420. rowData[result] = '√';
  4421. }else{rowData[result] = ''}
  4422. });
  4423. // Add the row data to drzcData
  4424. drzcData.push(rowData);
  4425. }
  4426. }
  4427. console.log(drzcData);
  4428. }
  4429. }
  4430. // 关闭弹窗
  4431. const closeDialog = () => {
  4432. chanliangVisible.value=false
  4433. dialogFormVisible.value = false
  4434. formData.value = {
  4435. address: '',
  4436. image: '',
  4437. name: '',
  4438. }
  4439. }
  4440. const equipmentCode=ref('JY01')
  4441. const equipmentName=ref('海德堡对开')
  4442. const workOrder=ref('2312117')
  4443. const number=ref('1907')
  4444. // 弹窗确定
  4445. const enterDialog = async () => {
  4446. elFormRef.value?.validate( async (valid) => {
  4447. if (!valid) return
  4448. let res
  4449. switch (type.value) {
  4450. case 'create':
  4451. res = await createCompany(formData.value)
  4452. break
  4453. case 'update':
  4454. res = await updateCompany(formData.value)
  4455. break
  4456. default:
  4457. res = await createCompany(formData.value)
  4458. break
  4459. }
  4460. if (res.code === 0) {
  4461. ElMessage({
  4462. type: 'success',
  4463. message: '创建/更改成功'
  4464. })
  4465. closeDialog()
  4466. getTableData()
  4467. }
  4468. })
  4469. }
  4470. const sbzyqdplanUsageCellClass = ({row, column, rowIndex, columnIndex}) =>{
  4471. if(formData.value['工单编号'] === row['工单编号|质量信息'].split('|')[0]){
  4472. return 'back-color-row';
  4473. }
  4474. }
  4475. const bzryplanUsageCellClass = ({row, column, rowIndex, columnIndex}) =>{
  4476. if(formData.value['班组Id'] === row.ID){
  4477. return 'back-color-row';
  4478. }
  4479. }
  4480. </script>
  4481. <style scoped>
  4482. .JKWTree-container {
  4483. display: flex;
  4484. }
  4485. .JKWTree-tree {
  4486. width: 300px;
  4487. background-color: #fff;
  4488. padding: 10px;
  4489. margin-right: 20px;
  4490. }
  4491. .JKWTree-tree h3 {
  4492. font-size: 15px;
  4493. font-weight: 700;
  4494. margin: 10px 0;
  4495. }
  4496. .JKWTree-content {
  4497. flex: 1;
  4498. }
  4499. .groupbox
  4500. {margin:10px;
  4501. width:500px;
  4502. height:500px;
  4503. border:thin solid black;
  4504. padding:10px}
  4505. .grouptitle
  4506. {display:block;
  4507. margin-top:-24px;
  4508. margin-left:20px;
  4509. width:150px;
  4510. text-align:center;
  4511. background-color:white}
  4512. .bt {
  4513. margin-top: 1vh;
  4514. margin-bottom: 10PX;
  4515. height: 5vh;
  4516. width: 11vh;
  4517. font-size:1.5vh;
  4518. }
  4519. .gva-table-box{
  4520. font-size: 15px;
  4521. }
  4522. /* 选中某行时的背景色*/
  4523. :deep(.el-table__body tr.current-row)>td {
  4524. background: #ff80ff !important;
  4525. }
  4526. /*设备作业清单背景颜色*/
  4527. :deep(.el-table__body .back-color-row) {
  4528. background: #ff80ff !important;
  4529. }
  4530. </style>