gongdanziliao.vue 181 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013
  1. <template>
  2. <div>
  3. <layout>
  4. <layout-header>
  5. <div class="">
  6. <!--按钮部分-->
  7. <el-form ref="elSearchFormRef" class="demo-form-inline" :rules="searchRule" @keyup.enter="onSubmit">
  8. <el-form-item>
  9. <el-input v-model="searchInfo" placeholder="搜索工单编号、产品代号" style="width: 180px;"></el-input>
  10. <el-button type="primary" icon="search" @click="onSubmit" title="搜索" ></el-button>
  11. <el-button type="primary" icon="edit" @click="ontlssclick" class="bt" title="按工序投料反馈,试算某产量的投料">U8投料试算</el-button>
  12. <el-button type="primary" icon="edit" @click="onyycpzlclick" class="bt" title="重新引用 产品资料!">引用产品资料</el-button>
  13. <el-button type="primary" icon="edit" @click="oneditgxclhsclick" class="bt" title="工序产量核算">工序产量核算</el-button>
  14. <el-button type="primary" icon="edit" @click="oneditgylctzclick" class="bt" title="根据实际生产需要,对工艺流程做调整">工艺流程调整</el-button>
  15. <el-button type="primary" icon="edit" @click="oneditugdclick" class="bt" title="删除U8工单异常数据">查改U8工单</el-button>
  16. <!-- <el-button type="primary" icon="edit" @click="oneditztfwclick" class="bt" title="初始化中间表更新状态,便于数据重新获取" disabled>状态复位</el-button>-->
  17. <el-button type="primary" icon="edit" @click="onxzhscsclick" class="bt" title="修正核算参数">修正核算参数</el-button>
  18. <el-button type="primary" icon="edit" @click="onzjfpxsclick" class="bt" title="批量调整质检废品系数">质检废品系数</el-button>
  19. <el-button type="primary" icon="edit" @click="cp_gdprintonClick" class="bt" title="打印生产工单" >工单打印</el-button>
  20. <el-button type="primary" icon="edit" @click="gd_gxclhconClick" class="bt" title="工序产量核查">工序产量核查</el-button>
  21. <el-button type="primary" icon="edit" @click="gdlcdcxconlick" class="bt" title="流程单查询">流程单查询</el-button>
  22. <el-button type="primary" icon="edit" @click="addgd_onclick" class="bt" title="新增工单资料" disabled>新增工单资料</el-button>
  23. <el-button type="primary" icon="edit" @click="addgdyj_onclick" class="bt" title="新增印件资料" disabled>新增印件资料</el-button>
  24. <el-button type="primary" icon="edit" @click="addgdgy_onclick" class="bt" title="新增工艺资料" disabled>新增工艺资料</el-button>
  25. </el-form-item>
  26. </el-form>
  27. <!--按钮弹窗部分-->
  28. <!--U8投料试算-->
  29. <el-dialog v-model="tlsslist" title="U8投料试算" style="height: 100%;width: 100%;margin: 0;padding: 0">
  30. <el-button type="primary" icon="" disabled @click="ontlssclicks" class="bt">投料试算</el-button>
  31. <el-button type="primary" icon="" disabled @click="onbxgxclicks" class="bt">备选工序</el-button>
  32. <el-button type="primary" icon="" disabled @click="onsjgxclicks" class="bt">实际工序</el-button>
  33. <el-button type="primary" icon="" @click="oncloneclick" style="margin: 5px">退出</el-button>
  34. <div style="width: 100%; height: 60px; padding: 0px; margin: 10px 0px 0px 0px; display: flex; align-items: center;">
  35. <!-- 第一行 -->
  36. <el-form-item class="mab" label="产品代码 :" prop="currentProcess">
  37. <el-input v-model="tlssformData['cpdh']" @keyup.enter="tlssgetProductValue" placeholder="" style="width: 200px;"/>
  38. <el-input v-model="tlssformData['cpmc']" disabled placeholder="" style="width: 700px;"/>
  39. </el-form-item>
  40. </div>
  41. <div style="display: flex; align-items: center; margin: 0px; padding: 0px;">
  42. <!-- 第二行 -->
  43. <el-form-item class="mab" label="成品张数 :" prop="currentProcess" style="margin-right: 10px;">
  44. <el-input disabled v-model="tlssformData['cpzs']" @keyup.enter="tlsscpzsgetProductValue" />
  45. </el-form-item>
  46. <el-form-item class="mab" label="主印投料大张数 :" prop="currentProcess" style="margin-right: 10px;">
  47. <el-input disabled v-model="tlssformData['zytldzs']" style="width: 130px;" />
  48. </el-form-item>
  49. <el-form-item class="mab" label="目标合格率 :" prop="currentProcess" style="margin-right: 10px;">
  50. <el-input disabled v-model="tlssformData['mbhgl']" style="width: 130px;" />
  51. </el-form-item>
  52. <el-form-item class="mab" label="损耗数 :" prop="currentProcess" style="margin-right: 10px;">
  53. <el-input disabled v-model="tlssformData['shs']" style="width: 130px;" />
  54. </el-form-item>
  55. </div>
  56. <el-table ref="multipleTable"
  57. :show-overflow-tooltip="true"
  58. :row-style="{ height: '0px' }"
  59. :cell-style="{ padding: '0px' }" :header-row-style="{ height: '0px' }"
  60. :header-cell-style="{ padding: '0px' }"
  61. style="width: 100%;height: 65vh;" border tooltip-effect="dark"
  62. :data="tlsstableData" row-key="ID" @selection-change="handleSelectionChange">
  63. <!-- <el-table-column type="selection" width="55" />-->
  64. <el-table-column v-slot="scope" align="left" label=备选工序 width="100" >
  65. <el-input disabled :clearable="false"/>
  66. </el-table-column>
  67. <el-table-column v-slot="scope" align="left" label=印件号 width="80" >
  68. <el-input disabled v-model="scope.row.印件号" :clearable="false"/>
  69. </el-table-column>
  70. <el-table-column v-slot="scope" align="left" label=工序号 width="80" >
  71. <el-input disabled v-model="scope.row.工序号" :clearable="false"/>
  72. </el-table-column>
  73. <el-table-column v-slot="scope" align="left" label=工序名称 width="390" >
  74. <el-input disabled v-model="scope.row.工序名称" :clearable="false"/>
  75. </el-table-column>
  76. <el-table-column v-slot="scope" align="left" label=墨色数 width="100" >
  77. <el-input disabled v-model="scope.row.墨色数" :clearable="false"/>
  78. </el-table-column>
  79. <el-table-column v-slot="scope" align="left" label=损耗代号 width="120" >
  80. <el-input disabled v-model="scope.row.损耗代号" :clearable="false"/>
  81. </el-table-column>
  82. <el-table-column v-slot="scope" align="left" label=调机损耗 width="100" >
  83. <el-input disabled v-model="scope.row.调机损耗" :clearable="false"/>
  84. </el-table-column>
  85. <el-table-column v-slot="scope" align="left" label=运行损耗率 width="120" >
  86. <el-input disabled v-model="scope.row.运行损耗率" :clearable="false"/>
  87. </el-table-column>
  88. <el-table-column v-slot="scope" align="left" label=损耗系数 width="100" >
  89. <el-input disabled v-model="scope.row.损耗系数" :clearable="false"/>
  90. </el-table-column>
  91. <el-table-column v-slot="scope" align="left" label=加工联数 width="100" >
  92. <el-input disabled v-model="scope.row.加工联数" :clearable="false"/>
  93. </el-table-column>
  94. <el-table-column v-slot="scope" align="left" label=工序接货数 width="100" >
  95. <el-input disabled :clearable="false"/>
  96. </el-table-column>
  97. <el-table-column v-slot="scope" align="left" label=工序损耗 width="100" >
  98. <el-input disabled :clearable="false"/>
  99. </el-table-column>
  100. <el-table-column v-slot="scope" align="left" label=工序成品数 width="100" >
  101. <el-input disabled :clearable="false"/>
  102. </el-table-column>
  103. <el-table-column v-slot="scope" align="left" label=工序损耗率 width="100" >
  104. <el-input disabled :clearable="false"/>
  105. </el-table-column>
  106. <el-table-column v-slot="scope" align="left" label=产品代号 width="130" >
  107. <el-input disabled v-model="scope.row.产品代号" :clearable="false"/>
  108. </el-table-column>
  109. </el-table>
  110. </el-dialog>
  111. <!--引用产品资料-->
  112. <el-dialog v-model="onyycpzllist" title="获取产品资料" style="width: 45%;height: 47%;">
  113. <div style=" padding: 0px; align-items: center;">
  114. <el-form-item label="工单编号" prop="processName" class="mab">
  115. <el-input v-model="yycpzlformData['gdbh']" @keyup.enter="yycpzlProductValue" placeholder="" style="width: 23%;" />
  116. </el-form-item>
  117. <el-form-item label="客户代号" prop="processName" class="mab">
  118. <el-input v-model="yycpzlformData['khdh']" disabled placeholder="" />
  119. <el-input v-model="yycpzlformData['khmc']" disabled placeholder="" style="width: 320px;" />
  120. </el-form-item>
  121. <el-form-item label="产品代号" prop="processName" class="mab" >
  122. <el-input v-model="yycpzlformData['cpdh']" disabled placeholder="" style="width: 23%;" />
  123. </el-form-item>
  124. <el-form-item label="产品名称" prop="processName" class="mab" >
  125. <el-input v-model="yycpzlformData['cpmc']" disabled placeholder="" style="width: 69%; height: 70px" type="textarea" resize="none" rows="2" :resize="false" />
  126. </el-form-item>
  127. <el-form-item label="创建选择" class="mab" >
  128. <div>
  129. <el-checkbox disabled v-model="yycpzlformData['yjzl']">获取印件资料</el-checkbox>
  130. <el-checkbox disabled v-model="yycpzlformData['gyap']">获取工艺安排</el-checkbox>
  131. </div>
  132. </el-form-item>
  133. </div>
  134. <!-- <template #footer>-->
  135. <!-- <div class="dialog-footer">-->
  136. <!-- <el-button @click="yycpzlhandleCancel">放弃</el-button>-->
  137. <!-- <el-button type="primary" @click="yycpzlhandleConfirm">执行</el-button>-->
  138. <!-- </div>-->
  139. <!-- </template>-->
  140. <div slot="footer" class="dialog-footer" style="text-align: right;margin-left: 25%">
  141. <el-button @click="yycpzlhandleCancel">放弃</el-button>
  142. <el-button type="primary" @click="yycpzlhandleConfirm">执行</el-button>
  143. </div>
  144. </el-dialog>
  145. <!--工序产量核算-->
  146. <el-dialog v-model="gxclhslist" title="印件投料核算" style="width: 20%;position: fixed; bottom: 35%; left: 35%">
  147. <div style="display: flex; flex-direction: column; height: 100%;">
  148. <el-form-item label="工单编号:" prop="process" class="mab">
  149. <el-input v-model="gxclhsformData['gdbh']" :clearable="true" placeholder="" style="width: 160px;"/>
  150. </el-form-item>
  151. <div class="dialog-footer" style="margin-top: 20px; text-align: right ">
  152. <el-button @click="gxclhshandleCancel">取消</el-button>
  153. <el-button type="primary" disabled @click="gxclhshandleConfirm">确定</el-button>
  154. </div>
  155. </div>
  156. </el-dialog>
  157. <!--工艺流程调整-->
  158. <el-dialog v-model="gylctzlist" title="工艺方案附加" style="width: 100%;height: 100%;margin: 0px;padding: 0px">
  159. <el-button type="primary" @click="gylctz_gxdqcpgx" style="margin: 5px;">更新当前产品工序</el-button>
  160. <el-button type="primary" @click="gylctz_fjbzgx" style="margin: 5px;">附加标准工序</el-button>
  161. <!--工艺流程调整中 附加标准工序-->
  162. <el-dialog v-model="gdzlfjxx" title="工单工艺流程附加选择" style="width: 100%;height:100%;margin: 0">
  163. <el-button type="primary" @click="addGongyiAttach" :disabled="attachList.length === 0">执行</el-button>
  164. <el-button type="" @click="gylcfj_fangqi" >放弃</el-button>
  165. <div>
  166. <div style="width: 100%; height: 60px; padding: 0px; margin: 10px 0px 0px 0px; display: flex; align-items: center;">
  167. <el-form-item label="产品代号 :" prop="currentProcess" class="mab">
  168. <el-input v-model="gdzlfjxxformData['cpdh']" disabled placeholder="" style="width: 200px;"/>
  169. <el-input v-model="gdzlfjxxformData['cpmc']" disabled placeholder="" style="width: 500px;margin-left: 20px"/>
  170. </el-form-item>
  171. <el-form-item label="工单编号:" prop="originalName" class="mab" style="margin-left: 20px">
  172. <el-select v-model="gdzlfjxxformData.cpgyfan" placeholder="请选择" allow-create filterable >
  173. <el-option v-for="option in gdzlfjxxformData.cpgyfans" @click="ongdzlfanclick" :key="option" :label="option" :value="option" />
  174. </el-select>
  175. </el-form-item>
  176. </div>
  177. <el-table ref="paichengRef"
  178. :show-overflow-tooltip="true"
  179. :row-style="{ height: '0px' }"
  180. :cell-style="{ padding: '0px' }" :header-row-style="{ height: '0px' }"
  181. :header-cell-style="{ padding: '0px' }"
  182. style="width: 100%;height: 74vh" border tooltip-effect="dark"
  183. :data="gdzlfjxxtableData" row-key="ID"
  184. highlight-current-row="true" @selection-change="attachChange"
  185. :cell-class-name="gdzlfjxxCellClass">
  186. <el-table-column align="center" type="selection" width="30"/>
  187. <template v-for="(item, idx) in gdzlfjxxtableColumns">
  188. <el-table-column #default="{ row, column, $index }" align="left" :label="item.label" :width="item.width" >
  189. <div v-if="[''].includes(item.prop)">
  190. <el-input v-model="row[item.prop]" :clearable="false"
  191. :id="`input${idx}${$index}`" @keyup="gylctz_handleKeyDown($event, idx, $index, item.prop)"/>
  192. </div>
  193. <div v-else>{{ row[item.prop] }}</div>
  194. </el-table-column>
  195. </template>
  196. </el-table>
  197. </div>
  198. </el-dialog>
  199. <el-button type="primary" @click="gylctzhandleCancel" style="margin: 5px">放弃操作</el-button>
  200. <div>
  201. <div style="align-items: center;">
  202. <el-form-item label="当前工单:" prop="currentProcess" class="mab">
  203. <el-input v-model="gylctzformData['gdbh']" @keyup.enter="gylctzProductValue" placeholder="" style="width: 160px;margin: 10px"/>
  204. <el-input v-model="gylctzformData['gddh']" disabled placeholder="" style="width: 170px;margin-left: 10px;margin: 10px"/>
  205. <el-input v-model="gylctzformData['gdmc']" disabled placeholder="" style="width: 340px;margin-left: 10px;margin: 10px"/>
  206. </el-form-item>
  207. </div>
  208. <el-table ref="paichengRef"
  209. :show-overflow-tooltip="true"
  210. :row-style="{ height: '0px' }"
  211. :cell-style="{ padding: '0px' }" :header-row-style="{ height: '0px' }"
  212. :header-cell-style="{ padding: '0px' }"
  213. style="width: 100%;height: 74vh" border tooltip-effect="dark"
  214. :data="gylctztableData" row-key="ID"
  215. :cell-class-name="gylctzCellClass">
  216. <template v-for="(item, idx) in gylctztableColumns">
  217. <el-table-column #default="{ row, column, $index }" align="left" :label="item.label" :width="item.width" >
  218. <div v-if="['工序号'].includes(item.prop)">
  219. <el-input v-model="row[item.prop]" :clearable="false"
  220. :id="`input${idx}${$index}`" @keyup="gylctz_handleKeyDown($event, idx, $index, item.prop)"/>
  221. </div>
  222. <div v-else>{{ row[item.prop] }}</div>
  223. </el-table-column>
  224. </template>
  225. </el-table>
  226. </div>
  227. </el-dialog>
  228. <!--查改U8工单-->
  229. <el-dialog v-model="cgugdlist" title="查改U8工单" style="width: 100%;height: 100%;margin: 0;padding: 0">
  230. <el-button type="primary" icon="" @click="oncgugdclickdel" :disabled="multipleSelection.length === 0" style="margin: 0px 0px 20px 0px">删除</el-button>
  231. <el-button type="primary" icon="" @click="oncgugdcloneclick" style="margin: 0px 0px 20px 10px">退出</el-button>
  232. <div>
  233. <div style="width: 100%; padding: 0px; margin: 10px 0px 0px 0px; display: flex; align-items: center;margin: 0px 0px 20px 0px">
  234. <el-form-item label="当前工单:" prop="currentProcess" style="margin-right: 20px;padding: 0px">
  235. <el-input v-model="cgugdformData['gdbh']" @keyup.enter="cgugdProductValue" placeholder="" style="width: 200px;"/>
  236. <el-input v-model="cgugdformData['cpdh']" disabled placeholder="" style="width: 120px;margin-left: 10px"/>
  237. <el-input v-model="cgugdformData['gdmc']" disabled placeholder="" style="width: 500px;margin-left: 10px"/>
  238. </el-form-item>
  239. </div>
  240. <el-table ref="multipleTable"
  241. :show-overflow-tooltip="true"
  242. :row-style="{ height: '20px' }"
  243. :cell-style="{ padding: '0px' }"
  244. :header-row-style="{ height: '20px' }"
  245. :header-cell-style="{ padding: '0px' }"
  246. highlight-current-row="true"
  247. style="width: 100%; height: 74vh; margin: 0px;"
  248. border tooltip-effect="dark"
  249. :data="cgugdtableData" row-key="ID" @selection-change="cguzlgd_del">
  250. <el-table-column type="selection" width="55"/>
  251. <el-table-column align="left" label="工单编号" prop="工单编号" width="120"/>
  252. <el-table-column align="left" label="行号" prop="行号"/>
  253. <el-table-column align="left" label="客户代号" prop="客户代号"/>
  254. <el-table-column align="left" label="客户名称" prop="客户名称"/>
  255. <el-table-column align="left" label="成品代号" prop="成品代号"/>
  256. <el-table-column align="left" label="成品名称" prop="成品名称" width="340"/>
  257. <el-table-column align="left" label="获取日期" prop="获取日期"/>
  258. <el-table-column align="left" label="序号" prop="序号"/>
  259. </el-table>
  260. </div>
  261. </el-dialog>
  262. <!--修正核算参数-->
  263. <el-dialog v-model="xzhscslist" title="修正核算参数" style="width: 100%;height: 100%;margin: 0px;padding: 0px">
  264. <el-button type="primary" @click="xzhscsConfirm">更新</el-button>
  265. <el-button type="" @click="sxzhscsCancel">退出</el-button>
  266. <div style="width: 100%; height: 60px; padding: 0px; margin: 10px 0px 0px 0px; display: flex; align-items: center;">
  267. <el-form-item label="当前工单 :" prop="currentProcess" style="margin-right: 20px; padding: 0px">
  268. <el-input v-model="xzhscsformData['gdbh']"
  269. @keyup.enter="xzhscsgetProductValue" style="width: 200px;"/>
  270. <el-input v-model="xzhscsformData['cpdh']" disabled style="width: 120px;margin-left: 10px;"/>
  271. <el-input v-model="xzhscsformData['gdmc']" disabled style="width: 500px;"/>
  272. </el-form-item>
  273. </div>
  274. <el-table ref="paichengRef"
  275. :show-overflow-tooltip="true"
  276. :row-style="{ height: '0px' }"
  277. :cell-style="{ padding: '0px' }" :header-row-style="{ height: '0px' }"
  278. :header-cell-style="{ padding: '0px' }"
  279. style="width: 100%;height: 74vh" border tooltip-effect="dark"
  280. :data="sxzhscstableData" row-key="ID"
  281. :cell-class-name="sxzhscsCellClass">
  282. <template v-for="(item, idx) in xzhstableColumns">
  283. <el-table-column #default="{ row, column, $index }" align="left" :label="item.label" :width="item.width" >
  284. <div v-if="['难度系数', '损耗代号', '印刷方式', '版距','计损色数', '损耗系数'].includes(item.prop)">
  285. <el-input v-model="row[item.prop]" :clearable="false"
  286. :id="`input${idx}${$index}`" @keyup="handleKeyDown($event, idx, $index, item.prop)"/>
  287. </div>
  288. <div v-else>{{ row[item.prop] }}</div>
  289. </el-table-column>
  290. </template>
  291. </el-table>
  292. </el-dialog>
  293. <!--质检废品系数-->
  294. <el-dialog v-model="scfjfpxslist" title="质检废品系数" style="width: 100%;height: 100%;margin: 0px;padding: 0px">
  295. <el-button type="primary" @click="scfjfpxsConfirm">更新</el-button>
  296. <el-button type="" @click="scfjfpxsCancel">退出</el-button>
  297. <div style="width: 100%; height: 60px; padding: 0px; margin: 10px 0px 0px 0px; display: flex; align-items: center;">
  298. <el-form-item label="关键字 :" prop="currentProcess" style="margin-right: 20px; padding: 0px">
  299. <el-input v-model="scfjfpxsformData['cpdh']"
  300. @keyup.enter="scfjfpxsgetProductValue" placeholder="" style="width: 200px;"/>
  301. </el-form-item>
  302. </div>
  303. <el-table ref="paichengRef"
  304. :show-overflow-tooltip="true"
  305. :row-style="{ height: '0px' }"
  306. :cell-style="{ padding: '0px' }" :header-row-style="{ height: '0px' }"
  307. :header-cell-style="{ padding: '0px' }"
  308. style="width: 100%;height: 74vh" border tooltip-effect="dark"
  309. :data="scfjfpxstableData" row-key="ID"
  310. :cell-class-name="scfjfpxsCellClass">
  311. <template v-for="(item, idx) in zjfpxs_tableColumns">
  312. <el-table-column #default="{ row, column, $index }" align="left" :label="item.label" :width="item.width" >
  313. <div v-if="['人工正品板', '人工次品板', '人工废检', '机检正品板','机检次品板', '机检废检'].includes(item.prop)">
  314. <el-input v-model="row[item.prop]" :clearable="false"
  315. :id="`input${idx}${$index}`" @keyup="zjfpxs_handleKeyDown($event, idx, $index, item.prop)"/>
  316. </div>
  317. <div v-else>{{ row[item.prop] }}</div>
  318. </el-table-column>
  319. </template>
  320. </el-table>
  321. <!-- <el-table ref="multipleTable"-->
  322. <!-- :show-overflow-tooltip="true"-->
  323. <!-- :row-style="{ height: '0px' }"-->
  324. <!-- :cell-style="{ padding: '0px' }" :header-row-style="{ height: '0px' }"-->
  325. <!-- :header-cell-style="{ padding: '0px' }"-->
  326. <!-- style="width: 100%;height: 70vh" border tooltip-effect="dark"-->
  327. <!-- :data="scfjfpxstableData" row-key="ID" @selection-change="handleSelectionChange">-->
  328. <!-- <el-table-column v-slot="scope" align="left" label=产品编号 width="120" >-->
  329. <!-- <el-input disabled v-model="scope.row.产品编号" :clearable="false"/>-->
  330. <!-- </el-table-column>-->
  331. <!-- <el-table-column v-slot="scope" align="left" label=产品名称 width="200" >-->
  332. <!-- <el-input disabled v-model="scope.row.产品名称" :clearable="false"/>-->
  333. <!-- </el-table-column>-->
  334. <!-- <el-table-column v-slot="scope" align="left" label=印件工序及工艺 width="220" >-->
  335. <!-- <el-input disabled v-model="scope.row.印件工序及工艺" :clearable="false"/>-->
  336. <!-- </el-table-column>-->
  337. <!-- <el-table-column v-slot="scope" align="left" label=原人工正品板 width="110" >-->
  338. <!-- <el-input disabled v-model="scope.row.scfjfpxsold_人工正品板" :clearable="false"/>-->
  339. <!-- </el-table-column>-->
  340. <!-- <el-table-column v-slot="scope" align="left" label=原人工次品板 width="110" >-->
  341. <!-- <el-input disabled v-model="scope.row.scfjfpxsold_人工次品板" :clearable="false"/>-->
  342. <!-- </el-table-column>-->
  343. <!-- <el-table-column v-slot="scope" align="left" label=原人工废检 width="110" >-->
  344. <!-- <el-input disabled v-model="scope.row.scfjfpxsold_人工废检" :clearable="false"/>-->
  345. <!-- </el-table-column>-->
  346. <!-- <el-table-column v-slot="scope" align="left" label=原机检正品板 width="110" >-->
  347. <!-- <el-input disabled v-model="scope.row.scfjfpxsold_机检正品板" :clearable="false"/>-->
  348. <!-- </el-table-column>-->
  349. <!-- <el-table-column v-slot="scope" align="left" label=原机检次品板 width="110" >-->
  350. <!-- <el-input disabled v-model="scope.row.scfjfpxsold_机检次品板" :clearable="false"/>-->
  351. <!-- </el-table-column>-->
  352. <!-- <el-table-column v-slot="scope" align="left" label=原机检废检 width="110" >-->
  353. <!-- <el-input disabled v-model="scope.row.scfjfpxsold_机检废检" :clearable="false"/>-->
  354. <!-- </el-table-column>-->
  355. <!-- <el-table-column v-slot="scope" align="left" label=新人工正品板 width="110" >-->
  356. <!-- <el-input v-model="scope.row.人工正品板" :clearable="false"/>-->
  357. <!-- </el-table-column>-->
  358. <!-- <el-table-column v-slot="scope" align="left" label=新人工次品板 width="110" >-->
  359. <!-- <el-input v-model="scope.row.人工次品板" :clearable="false"/>-->
  360. <!-- </el-table-column>-->
  361. <!-- <el-table-column v-slot="scope" align="left" label=新人工废检 width="110" >-->
  362. <!-- <el-input v-model="scope.row.人工废检" :clearable="false"/>-->
  363. <!-- </el-table-column>-->
  364. <!-- <el-table-column v-slot="scope" align="left" label=新机检正品板 width="110" >-->
  365. <!-- <el-input v-model="scope.row.机检正品板" :clearable="false"/>-->
  366. <!-- </el-table-column>-->
  367. <!-- <el-table-column v-slot="scope" align="left" label=新机检次品板 width="110" >-->
  368. <!-- <el-input v-model="scope.row.机检次品板" :clearable="false"/>-->
  369. <!-- </el-table-column>-->
  370. <!-- <el-table-column v-slot="scope" align="left" label=新机检废检 width="110" >-->
  371. <!-- <el-input v-model="scope.row.机检废检" :clearable="false"/>-->
  372. <!-- </el-table-column>-->
  373. <!-- <el-table-column v-slot="scope" align="left" label=设备编号 width="100" >-->
  374. <!-- <el-input disabled v-model="scope.row.设备编号" :clearable="false"/>-->
  375. <!-- </el-table-column>-->
  376. <!-- <el-table-column v-slot="scope" align="left" label=客户名称 width="200" >-->
  377. <!-- <el-input disabled v-model="scope.row.客户名称" :clearable="false"/>-->
  378. <!-- </el-table-column>-->
  379. <!-- </el-table>-->
  380. </el-dialog>
  381. <!--工单打印【弹窗】-->
  382. <el-dialog v-model="cp_print_gdlist" title="生产工单打印" style="width: 700px;height: 400px;top: 5%">
  383. <div style="width: 600px;">
  384. <el-row>
  385. <el-form-item label="工单编号:" prop="currentProcess" class="mab">
  386. <el-input v-model="cp_print_formData['gdbh']" @keyup.enter="cp_print_ProductValue" placeholder="" />
  387. </el-form-item>
  388. </el-row>
  389. <el-row>
  390. <el-form-item label="印件号:" prop="currentProcess" class="mab" label-width="70">
  391. <el-input v-model="cp_print_formData['yjno']" placeholder="" />
  392. </el-form-item>
  393. <el-form-item label="终止工序号:" prop="currentProcess" class="mab" label-width="100">
  394. <el-input v-model="cp_print_formData['gxh']" placeholder="" />
  395. </el-form-item>
  396. </el-row>
  397. <el-row>
  398. <el-form-item label="印件名称:" prop="currentProcess" class="mab">
  399. <el-input v-model="cp_print_formData['yjmc']" placeholder="" style="width: 480px;" />
  400. </el-form-item>
  401. </el-row>
  402. <!-- <el-row>-->
  403. <!-- <el-form-item label="报表输出到:" prop="currentProcess">-->
  404. <!-- <el-radio-group v-model="cp_print_formData['status']" style="margin-left: 10px;">-->
  405. <!-- <el-radio label="显示器">显示器</el-radio>-->
  406. <!-- </el-radio-group>-->
  407. <!-- </el-form-item>-->
  408. <!-- </el-row>-->
  409. <el-row>
  410. <el-form-item label="制单:" prop="currentProcess" class="mab" label-width="70">
  411. <el-input v-model="cp_print_formData['zd']" placeholder="" style="width: 480px;" />
  412. </el-form-item>
  413. </el-row>
  414. <el-row>
  415. <el-form-item label="审核:" prop="currentProcess" class="mab" label-width="70">
  416. <el-input v-model="cp_print_formData['sh']" placeholder="" style="width: 480px;"/>
  417. </el-form-item>
  418. </el-row>
  419. </div>
  420. <div class="dialog-footer" style="text-align: right; margin-top: 40px;">
  421. <el-button @click="cp_print_handleCancel">取消</el-button>
  422. <el-button type="primary" @click="cp_print_handleConfirm">确认</el-button>
  423. </div>
  424. </el-dialog>
  425. <!--工序产量核查【弹窗】-->
  426. <el-dialog v-model="gd_gxclhclist" title="工序产量核查" style="width: 100%;height: 100%;margin: 0px;padding: 0px">
  427. <el-button type="" @click="gxclhcCancel">退出</el-button>
  428. <div style="width: 100%; height: 60px; padding: 0px; margin: 10px 0px 0px 0px; display: flex; align-items: center;">
  429. <div style="width: 100%; height: 60px; padding: 0px; display: flex; align-items: center;">
  430. <el-form-item label="工单编号" prop="currentProcess" style="margin-right: 20px; padding: 0px">
  431. <el-input v-model="gxclhcformData['gdbh']" @keyup.enter="gxclhcProductValue" placeholder="" />
  432. </el-form-item>
  433. </div>
  434. </div>
  435. <el-table ref="paichengRef"
  436. :show-overflow-tooltip="true"
  437. :row-style="{ height: '0px' }"
  438. :cell-style="{ padding: '0px' }" :header-row-style="{ height: '0px' }"
  439. :header-cell-style="{ padding: '0px' }"
  440. style="width: 100%;height: 70vh" border tooltip-effect="dark"
  441. highlight-current-row="true"
  442. @row-click="gxclhc_tableRowClick"
  443. :data="gxclhc_Data" row-key="ID"
  444. :cell-class-name="gxclhcCellClass"
  445. >
  446. <template v-for="(item, idx) in gxclhc_Columns">
  447. <el-table-column #default="{ row, column, $index }" align="left" :label="item.label" :width="item.width" >
  448. {{row[item.prop]}}
  449. </el-table-column>
  450. </template>
  451. </el-table>
  452. </el-dialog>
  453. <!--流程单查询【弹窗】-->
  454. <el-dialog v-model="gd_lcdlist" title="工单工序生产进程" style="width: 100%;height: 100%;margin: 0px;padding: 0px;">
  455. <div style="width: 100%;height: 100%;">
  456. <el-button type="" @click="gd_lcdCancel">退出</el-button>
  457. </div>
  458. <div style="width: 100%; height: 100%; display: flex; align-items: center;">
  459. <el-form-item label="工单编号" style="margin-right: 20px; padding: 0;">
  460. <el-input v-model="gd_lcdformData['gdbh']" @keyup.enter="gd_lcdProductValue"/>
  461. </el-form-item>
  462. <el-form-item label="" style="margin-right: 5px; padding: 0;">
  463. <el-input v-model="gd_lcdformData['code']" disabled/>
  464. </el-form-item>
  465. <el-form-item label="" style="margin-right: 5px; padding: 0;">
  466. <el-input v-model="gd_lcdformData['name']" disabled style="width: 500px"/>
  467. </el-form-item>
  468. </div>
  469. <div style="width: 100%; height: 70vh; display: flex;">
  470. <layout>
  471. <layout-sider :resize-directions="['right']" :width="240" style="margin-right: 10px;height: 70vh;">
  472. <div class="JKWTree-tree">
  473. <el-tree :data="lcd_treeData" @node-click="lcd_handleNodeClick" default-expand-all></el-tree>
  474. </div>
  475. </layout-sider>
  476. <layout-main>
  477. <!-- 这里放右侧的内容 -->
  478. <el-space wrap>
  479. <!-- 右侧内容 -->
  480. <template v-for="item in processList.total_process">
  481. <el-button disabled :type="! processList.process.includes(item) ? 'danger' : 'info'" plain style="width: 50px">{{ item }}</el-button>
  482. </template>
  483. </el-space>
  484. </layout-main>
  485. </layout>
  486. </div>
  487. </el-dialog>
  488. </div>
  489. </layout-header>
  490. <layout>
  491. <!-- 左侧树形结构 -->
  492. <layout-sider :resize-directions="['right']" :width="190" style="margin-right: 10px;">
  493. <div class="JKWTree-tree" style="height: 200px">
  494. <h3>工单管理</h3>
  495. <el-tree :data="treeData.data" @node-click="handleNodeClick"></el-tree>
  496. </div>
  497. </layout-sider>
  498. <!-- 右侧内容区域 -->
  499. <layout-content >
  500. <el-main>
  501. <!-- 表格列表 -->
  502. <div class="gva-table-box">
  503. <el-table ref="multipleTable"
  504. style="width: 100%;height: 30vh"
  505. :row-style="{ height: '20px' }"
  506. :cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
  507. :header-cell-style="{ padding: '0px' }"
  508. border
  509. tooltip-effect="dark"
  510. :data="tableData" row-key="ID"
  511. @row-click="tableRowClick"
  512. highlight-current-row="true"
  513. :cell-class-name="tableDataCellClass"
  514. @row-dblclick="updateCompanyFunc"
  515. @selection-change="handleSelectionChange"
  516. :show-overflow-tooltip="true">
  517. <el-table-column align="center" type="selection" width="30"/>
  518. <el-table-column align="left" sortable label="获取状态" prop="status" width="81" />
  519. <el-table-column align="left" sortable label="工单编号" prop="工单编号" width="81" />
  520. <el-table-column align="left" sortable label="生产分类" prop="生产分类" width="81" />
  521. <el-table-column align="left" sortable label="销售订单号" prop="销售订单号" width="100" />
  522. <el-table-column align="left" sortable label="产品代号" prop="产品代号" width="99" />
  523. <el-table-column align="left" sortable label="产品名称" prop="产品名称" width="370" />
  524. <el-table-column align="left" sortable label="订单数量" prop="订单数量" width="100" />
  525. <el-table-column align="left" sortable label="单位" prop="单位" width="54"/>
  526. <el-table-column align="left" sortable label="折合大箱" prop="折合大箱" width="81" />
  527. <el-table-column align="left" sortable label="投料率" prop="投料率" width="80" />
  528. <el-table-column align="left" sortable label="平均合格率" prop="平均合格率" width="95" />
  529. <el-table-column align="left" sortable label="开单日期" prop="开单日期" width="98" />
  530. <el-table-column align="left" sortable label="交货日期" prop="交货日期" width="98" />
  531. <el-table-column align="left" sortable label="工单类型" prop="工单类型" width="98" />
  532. <el-table-column align="left" sortable label="工单状态" prop="工单状态" width="85" />
  533. <el-table-column align="left" sortable label="当前生产工序" prop="当前生产工序" width="110" />
  534. <el-table-column align="left" sortable label="产量提交时间" prop="产量提交时间" width="110" />
  535. <el-table-column align="left" sortable label="建档用户" prop="建档用户" width="130" />
  536. <el-table-column align="left" sortable label="建档时间" prop="建档时间" width="115" />
  537. <el-table-column align="left" sortable label="更新时间" prop="更新时间" width="160" />
  538. </el-table>
  539. <!-- 分页 -->
  540. <div class="gva-pagination">
  541. <el-pagination
  542. @size-change="handleSizeChange"
  543. @current-change="handleCurrentChange"
  544. :current-page="page"
  545. :page-sizes="[10, 30, 50, 100]"
  546. layout="total, sizes, prev, pager, next, jumper"
  547. :total="total">
  548. </el-pagination>
  549. </div>
  550. </div>
  551. <!-- 印件资料、工艺资料、BOM资料列表 -->
  552. <el-tabs v-model="activeName" @tab-click="handleClick">
  553. <el-tab-pane label="印件资料" @click="showTable('印件资料')" name="first">
  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"
  560. @row-dblclick="gdyjupdateCompanyFunc"
  561. style="width: 100%;height: 40vh" border tooltip-effect="dark" :data="yjtableData" row-key="ID" @selection-change="handleSelectionChange">
  562. <!--<el-table-column type="selection" width="55" />-->
  563. <el-table-column align="left" sortable label="印件号" prop="印件号" width="70"/>
  564. <el-table-column align="left" sortable label="印件代号" prop="印件代号" width="98"/>
  565. <el-table-column align="left" sortable label="印件名称" prop="印件名称" width="340"/>
  566. <el-table-column align="left" sortable label="纸张代号" prop="纸张代号" width="98"/>
  567. <el-table-column align="left" sortable label="纸张名称" prop="纸张名称" width="340"/>
  568. <el-table-column align="left" sortable label="投料规格" prop="投料规格" width="90"/>
  569. <el-table-column align="left" sortable label="平张投料" prop="平张投料" width="90"/>
  570. <el-table-column align="left" sortable label="开料规格" prop="开料规格" width="90"/>
  571. <el-table-column align="left" sortable label="开数*联数" prop="开数*联数" width="90"/>
  572. <el-table-column align="left" sortable label="建档用户" prop="建档用户" width="100"/>
  573. <el-table-column align="left" sortable label="建档时间" prop="建档时间" width="160"/>
  574. <el-table-column align="left" sortable label="更新时间" prop="更新时间" width="160"/>
  575. </el-table>
  576. </el-tab-pane>
  577. <el-tab-pane label="工艺资料" @click="showTable('工艺资料')" name="second">
  578. <el-table ref="multipleTable"
  579. :row-style="{ height: '20px' }"
  580. :cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
  581. :header-cell-style="{ padding: '0px' }"
  582. highlight-current-row="true"
  583. :show-overflow-tooltip="true"
  584. size="small"
  585. :cell-class-name="gysatusCellClass"
  586. @row-dblclick="gdgyupdateCompanyFunc"
  587. @row-click="clickybupdate2"
  588. :row-class-name="rowClassStyle2"
  589. style="width: 100%;height: 40vh" border tooltip-effect="dark" :data="gytableData" row-key="ID" @selection-change="handleSelectionChange">
  590. <!-- <el-table-column type="selection" width="55" />-->
  591. <el-table-column align="left" sortable label="完工状态" prop="status" width="75"/>
  592. <el-table-column align="left" sortable label="重点工序" prop="重点工序" width="80"/>
  593. <el-table-column align="left" sortable label="印件-工序" prop="印件-工序" width="80"/>
  594. <el-table-column align="left" sortable label="备选工序" prop="备选工序" width="80"/>
  595. <el-table-column align="left" sortable label="工序名称" prop="工序名称" width="280"/>
  596. <el-table-column align="left" sortable label="计划产量" prop="计划产量" width="80"/>
  597. <el-table-column align="left" sortable label="基础损耗" prop="基础损耗" width="80"/>
  598. <el-table-column align="left" sortable label="报废定额" prop="报废定额" width="80"/>
  599. <el-table-column align="left" sortable label="允损比例" prop="允损比例" width="80"/>
  600. <el-table-column align="left" sortable label="难度系数" prop="难度系数" width="80"/>
  601. <el-table-column align="left" sortable label="损耗系数" prop="损耗系数" width="80"/>
  602. <el-table-column align="left" sortable label="人工检_次品板" prop="人工检_次品板" width="110"/>
  603. <el-table-column align="left" sortable label="人工检_废检" prop="人工检_废检" width="110"/>
  604. <el-table-column align="left" sortable label="机检_正品板" prop="机检_正品板" width="110"/>
  605. <el-table-column align="left" sortable label="机检_次品板" prop="机检_次品板" width="110"/>
  606. <el-table-column align="left" sortable label="机检_废检" prop="机检_废检" width="90"/>
  607. <!--<el-table-column align="left" label="开数*联数" prop="开数*联数" width="100"/>-->
  608. <el-table-column align="center" sortablelabel="开数" prop="开数" width="45"/>
  609. <el-table-column align="center" sortable label="联数" prop="联数" width="45"/>
  610. <el-table-column align="left" sortable label="备注" prop="备注" width="230"/>
  611. <el-table-column align="left" sortable label="印刷方式" prop="印刷方式" width="80"/>
  612. <el-table-column align="center" sortable label="版距" prop="版距" width="45"/>
  613. <el-table-column align="left" sortable label="建档用户" prop="建档用户" width="90"/>
  614. <el-table-column align="left" sortable label="建档日期" prop="建档日期" width="150"/>
  615. <el-table-column align="left" sortable label="更新时间" prop="更新时间" width="150"/>
  616. <el-table-column align="left" sortable label="更新时间" prop="更新时间" width="150"/>
  617. </el-table>
  618. </el-tab-pane>
  619. <el-tab-pane label="BOM资料" @click="showTable('BOM资料')" name="third">
  620. <el-table ref="multipleTable"
  621. :row-style="{ height: '20px' }"
  622. :cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
  623. :header-cell-style="{ padding: '0px' }"
  624. :show-overflow-tooltip="true"
  625. :cell-class-name="planUsageCellClass"
  626. highlight-current-row="true"
  627. @row-dblclick="gdbomupdateCompanyFunc"
  628. style="width: 100%;height: 40vh" border tooltip-effect="dark" :data="bomtableData" row-key="ID" @selection-change="handleSelectionChange">
  629. <el-table-column type="selection" width="30" />
  630. <el-table-column align="left" sortable label="方案" prop="方案" width="120"/>
  631. <el-table-column align="left" sortable label="物料编号" prop="物料编号" width="100"/>
  632. <el-table-column align="left" sortable label="物料名称" prop="物料名称" width="400"/>
  633. <el-table-column align="left" sortable label="消耗定量" prop="消耗定量" width="210"/>
  634. <el-table-column align="left" sortable label="计划用量" prop="计划用量" width="100" />
  635. <el-table-column align="left" sortable label="建档用户" prop="建档用户" width="120"/>
  636. <el-table-column align="left" sortable label="建档时间" prop="建档时间" width="160"/>
  637. <el-table-column align="left" sortable label="更新时间" prop="更新时间" width="160"/>
  638. </el-table>
  639. </el-tab-pane>
  640. </el-tabs>
  641. <!-- 修改工单资料弹窗 -->
  642. <el-dialog v-model="dialogFormVisible" :before-close="closeDialog" style="width: 50%;bottom: 5%;" :title="'修改工单资料'" destroy-on-close>
  643. <el-row>
  644. <el-form :model="scgdformData" label-position="right" ref="elFormRef" :rules="rule" >
  645. <el-row :gutter="24">
  646. <el-form-item label="重点工单:" prop="keyOrder" class="mab" label-width="90">
  647. <el-input v-model="scgdformData['重点工单']" style="width: 110px;" id="重点工单" @keydown="gdzlent($event, '备注', '重点工单', '开单日期')" />
  648. </el-form-item>
  649. <el-form-item label="开单日期" prop="orderDate" class="mab" label-width="70">
  650. <el-date-picker v-model="scgdformData['开单日期']" type="date" style="width: 115px;" id="开单日期" @keydown="gdzlent($event, '重点工单', '开单日期', '工单编号')" />
  651. </el-form-item>
  652. <el-form-item label="工单编号:" prop="orderNumber" class="mab" label-width="90">
  653. <el-input v-model="scgdformData['工单编号']" style="width: 80px;" id="工单编号" @keydown="gdzlent($event, '开单日期', '工单编号', '生产类型')" />
  654. </el-form-item>
  655. <el-form-item label="生产类型:" prop="productionType" class="mab" label-width="90">
  656. <el-input v-model="scgdformData['生产类型']" style="width: 100px;" id="生产类型" @keydown="gdzlent($event, '工单编号', '生产类型', '客户代号')" />
  657. </el-form-item>
  658. </el-row>
  659. <el-row :gutter="24">
  660. <el-form-item label="客户代号:" prop="customerCode" class="mab" label-width="90">
  661. <el-input v-model="scgdformData['客户代号']" style="width: 110px;" id="客户代号" @keydown="gdzlent($event, '生产类型', '客户代号', '客户名称')"/>
  662. </el-form-item>
  663. <el-form-item label="客户名称:" prop="customerName" class="mab" label-width="75">
  664. <el-input v-model="scgdformData['客户名称']" style="width: 520px;" id="客户名称" @keydown="gdzlent($event, '客户代号', '客户名称', '产品代号')"/>
  665. </el-form-item>
  666. </el-row>
  667. <el-row :gutter="24">
  668. <el-form-item label="产品代码:" prop="productCode" class="mab" label-width="90">
  669. <el-input v-model="scgdformData['产品代号']" style="width: 110px;" id="产品代号" @keydown="gdzlent($event, '客户名称', '产品代号', '产品名称')"/>
  670. </el-form-item>
  671. <el-form-item label="产品名称:" prop="productName" class="mab" label-width="75">
  672. <el-input v-model="scgdformData['产品名称']" style="width: 520px;" id="产品名称" @keydown="gdzlent($event, '产品代号', '产品名称', '印件代号')" />
  673. </el-form-item>
  674. </el-row>
  675. <el-row :gutter="24">
  676. <el-form-item label="印件代码:" prop="customerCode" class="mab" label-width="90">
  677. <el-input v-model="scgdformData['印件代号']" style="width: 110px;" id="印件代号" @keydown="gdzlent($event, '产品名称', '印件代号', '印件名称')"/>
  678. </el-form-item>
  679. <el-form-item label="印件名称:" prop="customerName" class="mab" label-width="75">
  680. <el-input v-model="scgdformData['印件名称']" id="印件名称" style="width: 520px;" @keydown="gdzlent($event, '印件代号', '印件名称', '订单数量')" />
  681. </el-form-item>
  682. </el-row>
  683. <el-row :gutter="24">
  684. <el-form-item label="订单数量:" prop="orderQuantity" class="mab" label-width="90">
  685. <el-input v-model="scgdformData['订单数量']" style="width: 110px;" id="订单数量" @keydown="gdzlent($event, '印件名称', '订单数量', '交货日期')" />
  686. </el-form-item>
  687. <el-form-item label="交货日期:" prop="deliveryDate" class="mab" label-width="75">
  688. <el-date-picker v-model="scgdformData['交货日期']" type="date" style="width: 120px;" id="交货日期" @keydown="gdzlent($event, '订单数量', '交货日期', '投料率')"/>
  689. </el-form-item>
  690. <el-form-item label="投料率:" prop="feedRate" class="mab" label-width="80">
  691. <el-input v-model="scgdformData['投料率']" style="width: 100px;" id="投料率" @keydown="gdzlent($event, '交货日期', '投料率', '平均合格率')"/>
  692. </el-form-item>
  693. <el-form-item label="平均合格率:" prop="passRate" class="mab" label-width="90">
  694. <el-input v-model="scgdformData['平均合格率']" style="width: 130px;" id="平均合格率" @keydown="gdzlent($event, '投料率', '平均合格率', '平张投料')"/>
  695. </el-form-item>
  696. </el-row>
  697. <el-row :gutter="24">
  698. <el-form-item label="平张投料:" prop="flatFeed" class="mab" label-width="90">
  699. <el-input v-model="scgdformData['平张投料']" style="width: 110px;" id="平张投料" @keydown="gdzlent($event, '平均合格率', '平张投料', '万小张')"/>
  700. </el-form-item>
  701. <el-form-item label="万小张:" prop="perTenThousand" class="mab" label-width="70">
  702. <el-input v-model="scgdformData['万小张']" style="width: 95px;" id="万小张" @keydown="gdzlent($event, '平张投料', '万小张', '单位')"/>
  703. <el-input v-model="scgdformData['单位']" style="width: 50px;" id="单位" @keydown="gdzlent($event, '万小张', '单位', '投料大箱')"/>
  704. </el-form-item>
  705. <el-form-item label="投料大箱:" prop="feedBox" class="mab" label-width="75">
  706. <el-input v-model="scgdformData['投料大箱']" style="width: 90px;" id="投料大箱" @keydown="gdzlent($event, '单位', '投料大箱', '库存大箱')"/>
  707. </el-form-item>
  708. <el-form-item label="库存大箱:" prop="stockBox" class="mab" label-width="80">
  709. <el-input v-model="scgdformData['库存大箱']" style="width: 135px;" id="库存大箱" @keydown="gdzlent($event, '投料大箱', '库存大箱', '销售订单号')"/>
  710. </el-form-item>
  711. </el-row>
  712. <el-row :gutter="20">
  713. <el-form-item label="销售订单号:" prop="salesOrder" class="mab" label-width="90">
  714. <el-input v-model="scgdformData['销售订单号']" style="width: 700px;" id="销售订单号" @keydown="gdzlent($event, '库存大箱', '销售订单号', '警语版面')"/>
  715. </el-form-item>
  716. </el-row>
  717. <el-row :gutter="20">
  718. <el-form-item label="警语版面:" prop="warningLayout" class="mab" label-width="90">
  719. <el-input v-model="scgdformData['警语版面']" style="width: 700px;" id="警语版面" @keydown="gdzlent($event, '销售订单号', '警语版面', '版本号')"/>
  720. </el-form-item>
  721. </el-row>
  722. <el-row :gutter="20">
  723. <el-form-item label="版本号:" prop="versionNumber" class="mab" label-width="90">
  724. <el-input v-model="scgdformData['版本号']" id="版本号" style="width: 180px;" @keydown="gdzlent($event, '警语版面', '版本号', '客户ERP编码')" />
  725. </el-form-item>
  726. <el-form-item label="客户ERP编码:" prop="customerErpCode" class="mab" label-width="120">
  727. <el-input v-model="scgdformData['客户ERP编码']" style="width: 400px;" id="客户ERP编码" @keydown="gdzlent($event, '版本号', '客户ERP编码', '码源数量')"/>
  728. </el-form-item>
  729. </el-row>
  730. <el-row :gutter="20">
  731. <el-form-item label="码源数量:" prop="codeSourceQuantity" class="mab" label-width="90">
  732. <el-input v-model="scgdformData['码源数量']" style="width: 180px;" id="码源数量" @keydown="gdzlent($event, '客户ERP编码', '码源数量', '进程备注')" />
  733. </el-form-item>
  734. </el-row>
  735. <el-row :gutter="20">
  736. <el-form-item label="进程备注:" prop="processNote" class="mab" label-width="90">
  737. <el-input v-model="scgdformData['进程备注']" style="width: 700px;" id="进程备注" @keydown="gdzlent($event, '码源数量', '进程备注', '备注')"/>
  738. </el-form-item>
  739. </el-row>
  740. <el-row :gutter="20">
  741. <el-form-item label="备注说明:" prop="remark" class="mab" label-width="90">
  742. <el-input type="textarea" v-model="scgdformData['备注']" :rows="2" :clearable="true" style="width: 700px;" resize="none" id="备注" @keydown="gdzlent($event, '进程备注', '备注', '重点工单')"/>
  743. </el-form-item>
  744. </el-row>
  745. </el-form>
  746. </el-row>
  747. <template #footer>
  748. <div class="dialog-footer" style="text-align: right;">
  749. <el-button @click="closeDialog">取 消</el-button>
  750. <el-button type="primary" @click="enterDialog">确 定</el-button>
  751. </div>
  752. </template>
  753. </el-dialog>
  754. <!-- 新增工单资料弹窗 -->
  755. <el-dialog v-model="add_gddialogFormVisible" :before-close="add_gdcloseDialog" style="width: 50%;bottom: 5%;" :title="'新增工单资料'" destroy-on-close>
  756. <el-row>
  757. <el-form :model="add_gdscgdformData" label-position="right" ref="elFormRef" :rules="rule" >
  758. <!-- 第一排 -->
  759. <el-row :gutter="24">
  760. <el-form-item label="重点工单:" prop="keyOrder" class="mab" label-width="90">
  761. <el-input v-model="add_gdscgdformData['重点工单']" style="width: 110px;" id="重点工单" @keydown="add_gdzlent($event, '备注', '重点工单', '开单日期')" />
  762. </el-form-item>
  763. <el-form-item label="开单日期" prop="orderDate" class="mab" label-width="70">
  764. <el-date-picker v-model="add_gdscgdformData['开单日期']" type="date" style="width: 120px;" id="开单日期" @keydown="add_gdzlent($event, '重点工单', '开单日期', '工单编号')" />
  765. </el-form-item>
  766. <el-form-item label="工单编号:" prop="orderNumber" class="mab" label-width="90">
  767. <el-input v-model="add_gdscgdformData['工单编号']" style="width: 85px;" id="工单编号" @keydown="add_gdzlent($event, '开单日期', '工单编号', '生产类型')" />
  768. </el-form-item>
  769. <el-form-item label="生产类型:" prop="productionType" class="mab" label-width="90">
  770. <el-input v-model="add_gdscgdformData['生产类型']" style="width: 100px;" id="生产类型" @keydown="add_gdzlent($event, '工单编号', '生产类型', '客户代号')" />
  771. </el-form-item>
  772. </el-row>
  773. <el-row :gutter="24">
  774. <el-form-item label="客户代号:" prop="customerCode" class="mab" label-width="90">
  775. <el-input v-model="add_gdscgdformData['客户代号']" style="width: 110px;" id="客户代号" @keydown="add_gdzlent($event, '生产类型', '客户代号', '客户名称')"/>
  776. </el-form-item>
  777. <el-form-item label="客户名称:" prop="customerName" class="mab" label-width="75">
  778. <el-input v-model="add_gdscgdformData['客户名称']" style="width: 520px;" id="客户名称" @keydown="add_gdzlent($event, '客户代号', '客户名称', '产品代号')"/>
  779. </el-form-item>
  780. </el-row>
  781. <el-row :gutter="24">
  782. <el-form-item label="产品代码:" prop="productCode" class="mab" label-width="90">
  783. <el-input v-model="add_gdscgdformData['产品代号']" style="width: 110px;" id="产品代号" @keydown="add_gdzlent($event, '客户名称', '产品代号', '产品名称')"/>
  784. </el-form-item>
  785. <el-form-item label="产品名称:" prop="productName" class="mab" label-width="75">
  786. <el-input v-model="add_gdscgdformData['产品名称']" style="width: 520px;" id="产品名称" @keydown="add_gdzlent($event, '产品代号', '产品名称', '印件代号')" />
  787. </el-form-item>
  788. </el-row>
  789. <el-row :gutter="24">
  790. <el-form-item label="印件代码:" prop="customerCode" class="mab" label-width="90">
  791. <el-input v-model="add_gdscgdformData['印件代号']" style="width: 110px;" id="印件代号" @keydown="add_gdzlent($event, '产品名称', '印件代号', '印件名称')"/>
  792. </el-form-item>
  793. <el-form-item label="印件名称:" prop="customerName" class="mab" label-width="75">
  794. <el-input v-model="add_gdscgdformData['印件名称']" id="印件名称" style="width: 520px;" @keydown="add_gdzlent($event, '印件代号', '印件名称', '订单数量')" />
  795. </el-form-item>
  796. </el-row>
  797. <el-row :gutter="24">
  798. <el-form-item label="订单数量:" prop="orderQuantity" class="mab" label-width="90">
  799. <el-input v-model="add_gdscgdformData['订单数量']" style="width: 110px;" id="订单数量" @keydown="add_gdzlent($event, '印件名称', '订单数量', '交货日期')" />
  800. </el-form-item>
  801. <el-form-item label="交货日期:" prop="deliveryDate" class="mab" label-width="75">
  802. <el-date-picker v-model="add_gdscgdformData['交货日期']" type="date" style="width: 120px;" id="交货日期" @keydown="add_gdzlent($event, '订单数量', '交货日期', '投料率')"/>
  803. </el-form-item>
  804. <el-form-item label="投料率:" prop="feedRate" class="mab" label-width="80">
  805. <el-input v-model="add_gdscgdformData['投料率']" style="width: 100px;" id="投料率" @keydown="add_gdzlent($event, '交货日期', '投料率', '平均合格率')"/>
  806. </el-form-item>
  807. <el-form-item label="平均合格率:" prop="passRate" class="mab" label-width="90">
  808. <el-input v-model="add_gdscgdformData['平均合格率']" style="width: 130px;" id="平均合格率" @keydown="add_gdzlent($event, '投料率', '平均合格率', '平张投料')"/>
  809. </el-form-item>
  810. </el-row>
  811. <el-row :gutter="24">
  812. <el-form-item label="平张投料:" prop="flatFeed" class="mab" label-width="90">
  813. <el-input v-model="add_gdscgdformData['平张投料']" style="width: 110px;" id="平张投料" @keydown="add_gdzlent($event, '平均合格率', '平张投料', '万小张')"/>
  814. </el-form-item>
  815. <el-form-item label="万小张:" prop="perTenThousand" class="mab" label-width="70">
  816. <el-input v-model="add_gdscgdformData['万小张']" style="width: 95px;" id="万小张" @keydown="add_gdzlent($event, '平张投料', '万小张', '单位')"/>
  817. <el-input v-model="add_gdscgdformData['单位']" style="width: 50px;" id="单位" @keydown="add_gdzlent($event, '万小张', '单位', '投料大箱')"/>
  818. </el-form-item>
  819. <el-form-item label="投料大箱:" prop="feedBox" class="mab" label-width="75">
  820. <el-input v-model="add_gdscgdformData['投料大箱']" style="width: 90px;" id="投料大箱" @keydown="add_gdzlent($event, '单位', '投料大箱', '库存大箱')"/>
  821. </el-form-item>
  822. <el-form-item label="库存大箱:" prop="stockBox" class="mab" label-width="80">
  823. <el-input v-model="add_gdscgdformData['库存大箱']" style="width: 135px;" id="库存大箱" @keydown="add_gdzlent($event, '投料大箱', '库存大箱', '销售订单号')"/>
  824. </el-form-item>
  825. </el-row>
  826. <el-row :gutter="20">
  827. <el-form-item label="销售订单号:" prop="salesOrder" class="mab" label-width="90">
  828. <el-input v-model="add_gdscgdformData['销售订单号']" style="width: 700px;" id="销售订单号" @keydown="add_gdzlent($event, '库存大箱', '销售订单号', '警语版面')"/>
  829. </el-form-item>
  830. </el-row>
  831. <el-row :gutter="20">
  832. <el-form-item label="警语版面:" prop="warningLayout" class="mab" label-width="90">
  833. <el-input v-model="add_gdscgdformData['警语版面']" style="width: 700px;" id="警语版面" @keydown="add_gdzlent($event, '销售订单号', '警语版面', '版本号')"/>
  834. </el-form-item>
  835. </el-row>
  836. <el-row :gutter="20">
  837. <el-form-item label="版本号:" prop="versionNumber" class="mab" label-width="90">
  838. <el-input v-model="add_gdscgdformData['版本号']" id="版本号" style="width: 180px;" @keydown="add_gdzlent($event, '警语版面', '版本号', '客户ERP编码')" />
  839. </el-form-item>
  840. <el-form-item label="客户ERP编码:" prop="customerErpCode" class="mab" label-width="120">
  841. <el-input v-model="add_gdscgdformData['客户ERP编码']" style="width: 400px;" id="客户ERP编码" @keydown="add_gdzlent($event, '版本号', '客户ERP编码', '码源数量')"/>
  842. </el-form-item>
  843. </el-row>
  844. <el-row :gutter="20">
  845. <el-form-item label="码源数量:" prop="codeSourceQuantity" class="mab" label-width="90">
  846. <el-input v-model="add_gdscgdformData['码源数量']" style="width: 180px;" id="码源数量" @keydown="add_gdzlent($event, '客户ERP编码', '码源数量', '进程备注')" />
  847. </el-form-item>
  848. </el-row>
  849. <el-row :gutter="20">
  850. <el-form-item label="进程备注:" prop="processNote" class="mab" label-width="90">
  851. <el-input v-model="add_gdscgdformData['进程备注']" style="width: 700px;" id="进程备注" @keydown="add_gdzlent($event, '码源数量', '进程备注', '备注')"/>
  852. </el-form-item>
  853. </el-row>
  854. <el-row :gutter="20">
  855. <el-form-item label="备注说明:" prop="remark" class="mab" label-width="90">
  856. <el-input type="textarea" v-model="add_gdscgdformData['备注']" :rows="2" :clearable="true" style="width: 700px;" resize="none" id="备注" @keydown="add_gdzlent($event, '进程备注', '备注', '重点工单')"/>
  857. </el-form-item>
  858. </el-row>
  859. </el-form>
  860. </el-row>
  861. <template #footer>
  862. <div class="dialog-footer" style="text-align: right;">
  863. <el-button @click="add_gdcloseDialog">取 消</el-button>
  864. <el-button type="primary" @click="add_gdenterDialog">确 定</el-button>
  865. </div>
  866. </template>
  867. </el-dialog>
  868. <!-- 修改印件表格资料弹窗 -->
  869. <el-dialog v-model="gdyjdialogFormVisible" :before-close="gdyjcloseDialog"
  870. style="width: 1000px; height: 730px; margin-top: 0;margin-bottom: 0;top: 7%" :title="'修改印件资料'" destroy-on-close>
  871. <el-form label-width="100px">
  872. <el-form-item label="印件号:" prop="keyOrder">
  873. <el-input v-model="gdyjformData['印件号']" placeholder="" style="width: 140px;"/>
  874. </el-form-item>
  875. <el-form-item label="印件代码:" prop="keyOrder">
  876. <el-input v-model="gdyjformData['印件代号']" placeholder="" style="width: 140px;"/>
  877. <el-input v-model="gdyjformData['印件名称']" placeholder="" style="width: 80%; margin-left: 10px"/>
  878. </el-form-item>
  879. <el-form-item label="纸张编号:" prop="keyOrder">
  880. <el-input v-model="gdyjformData['纸张代号']" placeholder="" style="width: 140px;"/>
  881. <el-input v-model="gdyjformData['纸张名称']" placeholder="" style="width: 80%; margin-left: 10px"/>
  882. </el-form-item>
  883. <el-form-item label="备用纸张1:" prop="keyOrder">
  884. <el-input v-model="gdyjformData['备用纸张1']" placeholder="" style="width: 140px;"/>
  885. <el-input v-model="gdyjformData['纸张名称11']" placeholder="" style="width: 80%; margin-left: 10px"/>
  886. </el-form-item>
  887. <el-form-item label="备用纸张2:" prop="keyOrder">
  888. <el-input v-model="gdyjformData['备用纸张2']" placeholder="" style="width: 140px;"/>
  889. <el-input v-model="gdyjformData['纸张名称22']" placeholder="" style="width: 80%; margin-left: 10px"/>
  890. </el-form-item>
  891. <el-form-item label="备用纸张3:" prop="keyOrder">
  892. <el-input v-model="gdyjformData['备用纸张3']" placeholder="" style="width: 140px;"/>
  893. <el-input v-model="gdyjformData['纸张名称33']" placeholder="" style="width: 80%; margin-left: 10px"/>
  894. </el-form-item>
  895. <el-form-item label="备用纸张4:" prop="keyOrder">
  896. <el-input v-model="gdyjformData['备用纸张4']" placeholder="" style="width: 140px;"/>
  897. <el-input v-model="gdyjformData['纸张名称44']" placeholder="" style="width: 80%; margin-left: 10px"/>
  898. </el-form-item>
  899. <div style="display: flex; gap: 0px;">
  900. <el-form-item label="订单数量:" prop="keyOrder">
  901. <el-input v-model="gdyjformData['订单数量']" placeholder="" style="width: 100px;"/>
  902. </el-form-item>
  903. <el-form-item label="平张投料:" prop="keyOrder">
  904. <el-input v-model="gdyjformData['平张投料']" placeholder="" style="width: 100px;"/>
  905. </el-form-item>
  906. <el-form-item label="万小张:" prop="keyOrder">
  907. <el-input v-model="gdyjformData['万小张']" placeholder="" style="width: 100px;"/>
  908. </el-form-item>
  909. <el-form-item label="纸张规格:" prop="keyOrder">
  910. <el-input disabled v-model="gdyjformData['投料规格']" placeholder="" style="width: 240px;"/>
  911. </el-form-item>
  912. </div>
  913. <div style="display: flex; gap: 0px;">
  914. <el-form-item label="投料规格:" prop="keyOrder">
  915. <el-input v-model="gdyjformData['开料规格']" placeholder="" style="width: 100px;"/>
  916. </el-form-item>
  917. <el-form-item label="开料开数:" prop="keyOrder">
  918. <el-input v-model="gdyjformData['开数']" placeholder="" style="width: 100px;"/>
  919. </el-form-item>
  920. <el-form-item label="开料联数:" prop="keyOrder">
  921. <el-input v-model="gdyjformData['联数']" placeholder="" style="width: 100px;"/>
  922. </el-form-item>
  923. <el-form-item label="核算规格:" prop="keyOrder">
  924. <el-input v-model="gdyjformData['核算规格']" placeholder="" style="width: 240px;"/>
  925. </el-form-item>
  926. </div>
  927. <el-form-item label="备注说明:" prop="remark">
  928. <el-input type="textarea" v-model="gdyjformData['备注说明']" resize="none" rows="4" clearable placeholder="" />
  929. </el-form-item>
  930. </el-form>
  931. <template #footer>
  932. <div class="dialog-footer" style="text-align: right;">
  933. <el-button @click="gdyjcloseDialog">取消</el-button>
  934. <el-button type="primary" @click="gdyjenterDialog">确定</el-button>
  935. </div>
  936. </template>
  937. </el-dialog>
  938. <!-- 新增印件资料弹窗 -->
  939. <el-dialog v-model="add_gdyjdialogFormVisible" :before-close="add_gdyjcloseDialog"
  940. style="width: 1000px; height: 730px; margin-top: 0;margin-bottom: 0;top: 7%" :title="'新增印件资料'" destroy-on-close>
  941. <el-form label-width="100px">
  942. <el-form-item label="印件号:" prop="keyOrder">
  943. <el-input v-model="add_yjzlformdata.yjno" placeholder="" style="width: 140px;"/>
  944. </el-form-item>
  945. <el-form-item label="印件代码:" prop="keyOrder">
  946. <el-input v-model="add_yjzlformdata.yjdh" placeholder="" style="width: 140px;"/>
  947. <el-input v-model="add_yjzlformdata.yjmc" placeholder="" style="width: 80%; margin-left: 10px"/>
  948. </el-form-item>
  949. <el-form-item label="纸张编号:" prop="keyOrder">
  950. <el-input v-model="add_yjzlformdata.zzdh" placeholder="" style="width: 140px;"/>
  951. <el-input v-model="add_yjzlformdata.zzmc" placeholder="" style="width: 80%; margin-left: 10px"/>
  952. </el-form-item>
  953. <el-form-item label="备用纸张1:" prop="keyOrder">
  954. <el-input v-model="add_yjzlformdata.zzdh1" placeholder="" style="width: 140px;"/>
  955. <el-input v-model="add_yjzlformdata.zzmc1" placeholder="" style="width: 80%; margin-left: 10px"/>
  956. </el-form-item>
  957. <el-form-item label="备用纸张2:" prop="keyOrder">
  958. <el-input v-model="add_yjzlformdata.zzdh2" placeholder="" style="width: 140px;"/>
  959. <el-input v-model="add_yjzlformdata.zzmc2" placeholder="" style="width: 80%; margin-left: 10px"/>
  960. </el-form-item>
  961. <el-form-item label="备用纸张3:" prop="keyOrder">
  962. <el-input v-model="add_yjzlformdata.zzdh3" placeholder="" style="width: 140px;"/>
  963. <el-input v-model="add_yjzlformdata.zzmc3" placeholder="" style="width: 80%; margin-left: 10px"/>
  964. </el-form-item>
  965. <el-form-item label="备用纸张4:" prop="keyOrder">
  966. <el-input v-model="add_yjzlformdata.zzdh4" placeholder="" style="width: 140px;"/>
  967. <el-input v-model="add_yjzlformdata.zzmc4" placeholder="" style="width: 80%; margin-left: 10px"/>
  968. </el-form-item>
  969. <div style="display: flex; gap: 0px;">
  970. <el-form-item label="订单数量:" prop="keyOrder">
  971. <el-input v-model="add_yjzlformdata.cpsl" placeholder="" style="width: 100px;"/>
  972. </el-form-item>
  973. <el-form-item label="平张投料:" prop="keyOrder">
  974. <el-input v-model="add_yjzlformdata.pztl" placeholder="" style="width: 100px;"/>
  975. </el-form-item>
  976. <el-form-item label="万小张:" prop="keyOrder">
  977. <el-input v-model="add_yjzlformdata.万小张" placeholder="" style="width: 100px;"/>
  978. </el-form-item>
  979. <el-form-item label="纸张规格:" prop="keyOrder">
  980. <el-input v-model="add_yjzlformdata.tlgg" placeholder="" style="width: 240px;"/>
  981. </el-form-item>
  982. </div>
  983. <div style="display: flex; gap: 0px;">
  984. <el-form-item label="投料规格:" prop="keyOrder">
  985. <el-input v-model="add_yjzlformdata.klgg" placeholder="" style="width: 100px;"/>
  986. </el-form-item>
  987. <el-form-item label="开料开数:" prop="keyOrder">
  988. <el-input v-model="add_yjzlformdata.ks" placeholder="" style="width: 100px;"/>
  989. </el-form-item>
  990. <el-form-item label="开料联数:" prop="keyOrder">
  991. <el-input v-model="add_yjzlformdata.ls" placeholder="" style="width: 100px;"/>
  992. </el-form-item>
  993. <el-form-item label="核算规格:" prop="keyOrder">
  994. <el-input v-model="add_yjzlformdata.hsgg" placeholder="" style="width: 240px;"/>
  995. </el-form-item>
  996. </div>
  997. <el-form-item label="备注说明:" prop="remark">
  998. <el-input v-model="add_yjzlformdata.desc" type="textarea" resize="none" rows="4" clearable placeholder="" />
  999. </el-form-item>
  1000. </el-form>
  1001. <template #footer>
  1002. <div class="dialog-footer" style="text-align: right;">
  1003. <el-button @click="add_dyjcloseDialog">取消</el-button>
  1004. <el-button type="primary" @click="add_gdyjenterDialog">确定</el-button>
  1005. </div>
  1006. </template>
  1007. </el-dialog>
  1008. <!-- 修改工艺资料弹窗 -->
  1009. <el-dialog v-model="gdgydialogFormVisible" :before-close="gycloseDialog" style="width: 1100px;" :title="'修改工艺资料'" destroy-on-close>
  1010. <el-form>
  1011. <div>
  1012. <div style="display: flex; gap: 0px;">
  1013. <el-form-item label="印件编号:" class="mab" prop="keyOrder">
  1014. <el-input disabled v-model="gdgyformData['印件']" style="width: 100px;"/>
  1015. </el-form-item>
  1016. <el-form-item label="工序编号:" class="mab" prop="keyOrder" label-width=" 90">
  1017. <el-input disabled v-model="gdgyformData['工序']" style="width: 100px;"/>
  1018. </el-form-item>
  1019. <el-form-item label="重点工序:" class="mab" prop="keyOrder" label-width=" 90">
  1020. <el-input v-model="gdgyformData['重点工序']" id="重点工序" @keydown="gyzlent($event, '', '重点工序', '设备编号')" style="width: 100px;"/>
  1021. </el-form-item>
  1022. <el-form-item label="备选工序:" class="mab" prop="isBanciSelected" label-width=" 90">
  1023. <el-checkbox v-model="gdgyformData['备选工序']"></el-checkbox>
  1024. </el-form-item>
  1025. <el-form-item label="加工开数:" class="mab" prop="keyOrder" label-width=" 125">
  1026. <el-input disabled v-model="gdgyformData['开数']" style="width: 100px;"/>
  1027. </el-form-item>
  1028. <el-form-item label="加工联数:" class="mab" prop="keyOrder" label-width=" 80">
  1029. <el-input disabled v-model="gdgyformData['联数']" style="width: 100px;"/>
  1030. </el-form-item>
  1031. </div>
  1032. <div style="display: flex; gap: 0px;">
  1033. <el-form-item label="车间名称:" class="mab" prop="keyOrder">
  1034. <el-input disabled v-model="gdgyformData['车间名称']" style="width: 130px;"/>
  1035. </el-form-item>
  1036. <el-form-item label="工艺名称:" class="mab" prop="keyOrder" label-width=" 90">
  1037. <el-input disabled v-model="gdgyformData['工艺名称']" style="width: 140px;"/>
  1038. </el-form-item>
  1039. <el-form-item label="工序名称:" class="mab" prop="keyOrder" label-width=" 90">
  1040. <el-input disabled v-model="gdgyformData['工序名称']" style="width: 400px;"/>
  1041. </el-form-item>
  1042. <el-form-item label="计损色数" class="mab" prop="keyOrder" label-width=" 80">
  1043. <el-input disabled v-model="gdgyformData['计损色数']" style="width: 90px;"/>
  1044. </el-form-item>
  1045. </div>
  1046. <el-form-item label="设备编号:" class="mab" prop="remark">
  1047. <el-select v-model="gdgyformData['设备编号']" multiple
  1048. id="设备编号" @keydown="gyzlent($event, '重点工序', '设备编号', '工序损耗')"
  1049. style="flex: 1; height: auto;">
  1050. <el-option
  1051. @keydown.tab.prevent="sbbhclick"
  1052. @click="sbbhclick"
  1053. v-for="(item, index) in gdzl_MachineList_address.data"
  1054. :key="index"
  1055. :label="item.split('-->')[0].trim()"
  1056. :value="item.split('-->')[0].trim()">
  1057. {{ item }}
  1058. </el-option>
  1059. </el-select>
  1060. </el-form-item>
  1061. <el-form-item label="工序损耗:" class="mab" prop="keyOrder" >
  1062. <el-input v-model="gdgyformData['shdh']" style="width: 10%;" id="工序损耗" @keydown="gyzlent($event, '设备编号', '工序损耗', '损耗系数')"/>
  1063. <el-input disabled v-model="gdgyformData['工序名称']" style="width: 88.7%;margin-left: 10px"/>
  1064. </el-form-item>
  1065. <div style="display: flex; gap: 0px;">
  1066. <el-form-item label="损耗系数:" class="mab" prop="keyOrder">
  1067. <el-input v-model="gdgyformData['损耗系数']" style="flex: 1;" id="损耗系数" @keydown="gyzlent($event, '工序损耗', '损耗系数', '难度系数')"/>
  1068. </el-form-item>
  1069. <el-form-item label="难度系数" class="mab" prop="keyOrder">
  1070. <el-input v-model="gdgyformData['难度系数']" style="flex: 1;" id="难度系数" @keydown="gyzlent($event, '设备编号', '难度系数', '小时产能')"/>
  1071. </el-form-item>
  1072. <el-form-item label="装版工时:" class="mab" prop="keyOrder">
  1073. <el-input disabled v-model="gdgyformData['装版工时']" style="flex: 1;"/>
  1074. </el-form-item>
  1075. <el-form-item label="排产小时产能:" class="mab" prop="keyOrder" label-width=" 120px">
  1076. <el-input v-model="gdgyformData['小时产能']" style="flex: 1;" id="小时产能" @keydown="gyzlent($event, '难度系数', '小时产能', '')"/>
  1077. </el-form-item>
  1078. <el-form-item label="印刷方式" class="mab" prop="keyOrder">
  1079. <el-input disabled v-model="gdgyformData['印刷方式']" style="flex: 1;"/>
  1080. </el-form-item>
  1081. <el-form-item label="版距" class="mab" prop="keyOrder">
  1082. <el-input disabled v-model="gdgyformData['版距']" style="flex: 1;"/>
  1083. </el-form-item>
  1084. </div>
  1085. <el-form-item label="工序备注:" class="mab" prop="remark">
  1086. <el-input disabled type="textarea" resize="none" v-model="gdgyformData['备注']" rows="3" clearable style="flex: 1;resize: none" />
  1087. </el-form-item>
  1088. <el-form-item label="质量要求:" class="mab" prop="remark">
  1089. <el-input disabled type="textarea" resize="none" v-model="gdgyformData['质量要求']" rows="2" clearable style="flex: 1;resize: both;"/>
  1090. </el-form-item>
  1091. <el-form-item label="质量隐患:" class="mab" prop="remark">
  1092. <el-input disabled type="textarea" resize="none" v-model="gdgyformData['质量隐患']" rows="2" clearable style="flex: 1;"/>
  1093. </el-form-item>
  1094. </div>
  1095. </el-form>
  1096. <template #footer>
  1097. <div class="dialog-footer" style="text-align: right;top: auto">
  1098. <el-button @click="gdgycloseDialog">取 消</el-button>
  1099. <el-button type="primary" @click="gdgyenterDialog">确 定</el-button>
  1100. </div>
  1101. </template>
  1102. </el-dialog>
  1103. <!-- 新增工艺资料弹窗 -->
  1104. <el-dialog v-model="add_gdgydialogFormVisible" :before-close="add_gycloseDialog" style="width: 1100px;" :title="'新增工艺资料'" destroy-on-close>
  1105. <el-form>
  1106. <div>
  1107. <div style="display: flex; gap: 0px;">
  1108. <el-form-item label="印件编号:" class="mab" prop="keyOrder">
  1109. <el-input v-model="add_gdgyformData.yjno" style="width: 100px;"/>
  1110. </el-form-item>
  1111. <el-form-item label="工序编号:" class="mab" prop="keyOrder" label-width=" 90">
  1112. <el-input disabled v-model="add_gdgyformData['工序']" style="width: 100px;"/>
  1113. </el-form-item>
  1114. <el-form-item label="重点工序:" class="mab" prop="keyOrder" label-width=" 90">
  1115. <el-input v-model="add_gdgyformData['重点工序']" id="重点工序" @keydown="gyzlent($event, '', '重点工序', '设备编号')" style="width: 100px;"/>
  1116. </el-form-item>
  1117. <el-form-item label="备选工序:" class="mab" prop="isBanciSelected" label-width=" 90">
  1118. <el-checkbox v-model="add_gdgyformData['备选工序']"></el-checkbox>
  1119. </el-form-item>
  1120. <el-form-item label="加工开数:" class="mab" prop="keyOrder" label-width=" 125">
  1121. <el-input disabled v-model="add_gdgyformData['开数']" style="width: 100px;"/>
  1122. </el-form-item>
  1123. <el-form-item label="加工联数:" class="mab" prop="keyOrder" label-width=" 80">
  1124. <el-input disabled v-model="add_gdgyformData['联数']" style="width: 100px;"/>
  1125. </el-form-item>
  1126. </div>
  1127. <div style="display: flex; gap: 0px;">
  1128. <el-form-item label="车间名称:" class="mab" prop="keyOrder">
  1129. <el-input disabled v-model="add_gdgyformData['车间名称']" style="width: 130px;"/>
  1130. </el-form-item>
  1131. <el-form-item label="工艺名称:" class="mab" prop="keyOrder" label-width=" 90">
  1132. <el-input disabled v-model="add_gdgyformData['工艺名称']" style="width: 140px;"/>
  1133. </el-form-item>
  1134. <el-form-item label="工序名称:" class="mab" prop="keyOrder" label-width=" 90">
  1135. <el-input disabled v-model="add_gdgyformData['工序名称']" style="width: 400px;"/>
  1136. </el-form-item>
  1137. <el-form-item label="计损色数" class="mab" prop="keyOrder" label-width=" 80">
  1138. <el-input disabled v-model="add_gdgyformData['计损色数']" style="width: 90px;"/>
  1139. </el-form-item>
  1140. </div>
  1141. <el-form-item label="设备编号:" class="mab" prop="remark">
  1142. <el-select v-model="add_gdgyformData['设备编号']" multiple
  1143. id="设备编号" @keydown="gyzlent($event, '重点工序', '设备编号', '工序损耗')"
  1144. style="flex: 1; height: auto;">
  1145. <el-option
  1146. @keydown.tab.prevent="sbbhclick"
  1147. @click="sbbhclick"
  1148. v-for="(item, index) in gdzl_MachineList_address.data"
  1149. :key="index"
  1150. :label="item.split('-->')[0].trim()"
  1151. :value="item.split('-->')[0].trim()">
  1152. {{ item }}
  1153. </el-option>
  1154. </el-select>
  1155. </el-form-item>
  1156. <el-form-item label="工序损耗:" class="mab" prop="keyOrder" >
  1157. <el-input v-model="add_gdgyformData['shdh']" style="width: 10%;" id="工序损耗" @keydown="gyzlent($event, '设备编号', '工序损耗', '损耗系数')"/>
  1158. <el-input disabled v-model="add_gdgyformData['工序名称']" style="width: 88.7%;margin-left: 10px"/>
  1159. </el-form-item>
  1160. <div style="display: flex; gap: 0px;">
  1161. <el-form-item label="损耗系数:" class="mab" prop="keyOrder">
  1162. <el-input v-model="add_gdgyformData['损耗系数']" style="flex: 1;" id="损耗系数" @keydown="gyzlent($event, '工序损耗', '损耗系数', '难度系数')"/>
  1163. </el-form-item>
  1164. <el-form-item label="难度系数" class="mab" prop="keyOrder">
  1165. <el-input v-model="add_gdgyformData['难度系数']" style="flex: 1;" id="难度系数" @keydown="gyzlent($event, '设备编号', '难度系数', '小时产能')"/>
  1166. </el-form-item>
  1167. <el-form-item label="装版工时:" class="mab" prop="keyOrder">
  1168. <el-input disabled v-model="add_gdgyformData['装版工时']" style="flex: 1;"/>
  1169. </el-form-item>
  1170. <el-form-item label="排产小时产能:" class="mab" prop="keyOrder" label-width=" 120px">
  1171. <el-input v-model="add_gdgyformData['小时产能']" style="flex: 1;" id="小时产能" @keydown="gyzlent($event, '难度系数', '小时产能', '')"/>
  1172. </el-form-item>
  1173. <el-form-item label="印刷方式" class="mab" prop="keyOrder">
  1174. <el-input disabled v-model="add_gdgyformData['印刷方式']" style="flex: 1;"/>
  1175. </el-form-item>
  1176. <el-form-item label="版距" class="mab" prop="keyOrder">
  1177. <el-input disabled v-model="add_gdgyformData['版距']" style="flex: 1;"/>
  1178. </el-form-item>
  1179. </div>
  1180. <el-form-item label="工序备注:" class="mab" prop="remark">
  1181. <el-input type="textarea" resize="none" v-model="add_gdgyformData['备注']" rows="3" clearable style="flex: 1;resize: none" />
  1182. </el-form-item>
  1183. <el-form-item label="质量要求:" class="mab" prop="remark">
  1184. <el-input type="textarea" resize="none" v-model="add_gdgyformData['质量要求']" rows="2" clearable style="flex: 1;resize: both;"/>
  1185. </el-form-item>
  1186. <el-form-item label="质量隐患:" class="mab" prop="remark">
  1187. <el-input type="textarea" resize="none" v-model="add_gdgyformData['质量隐患']" rows="2" clearable style="flex: 1;"/>
  1188. </el-form-item>
  1189. </div>
  1190. </el-form>
  1191. <template #footer>
  1192. <div class="dialog-footer" style="text-align: right;top: auto">
  1193. <el-button @click="add_gdgycloseDialog">取 消</el-button>
  1194. <el-button type="primary" @click="add_gdgyenterDialog">确 定</el-button>
  1195. </div>
  1196. </template>
  1197. </el-dialog>
  1198. </el-main>
  1199. </layout-content>
  1200. </layout>
  1201. </layout>
  1202. </div>
  1203. </template>
  1204. <script>
  1205. //点击按钮显示下方表格
  1206. export default {
  1207. data() {
  1208. return {
  1209. currentTable: '', // 当前展示的表格
  1210. activeName: 'first',
  1211. };
  1212. },
  1213. methods: {
  1214. showTable(tableName) {
  1215. this.currentTable = tableName;
  1216. },
  1217. showTableChange() {
  1218. // 处理表格选中事件
  1219. },
  1220. }
  1221. };
  1222. </script>
  1223. <script setup>
  1224. // 全量引入格式化工具 请按需保留
  1225. import { Layout, LayoutSider, LayoutContent } from '@arco-design/web-vue';
  1226. import { ElMessage, ElMessageBox } from 'element-plus'
  1227. import { ref, reactive } from 'vue'
  1228. import { hiprint, defaultElementTypeProvider } from 'vue-plugin-hiprint'
  1229. import {
  1230. DataList,
  1231. WorkList, gdzl_MachineList,PrintCodeList,
  1232. U8workOrder, ProcessDetailEdit, PrintedEdit, PrintJobOrder,
  1233. WorkOrderEdit, ReferenceWorkOrder,getOrderProcessLeft,
  1234. editGyWaste, U8DataCorrection, AccountingParameterEdit,
  1235. ProductInformation, TestCoefficient, capacityList,getOrderProcessRight,
  1236. DataCorrection, U8Trial, ProcessFlow, AccountingParameter,
  1237. setProductStatus,
  1238. getProduct, getProductGy, ProductInformationEdit, workOrderListDetail, editProduct, getOrderProcessCount, StatusEdit,
  1239. } from "@/api/yunyin/yunying";
  1240. defineOptions({name: 'Company'})
  1241. // =========== 修正核算参数 ===========
  1242. const xzhstableColumns = ref(
  1243. [
  1244. { label: '方案', prop: '方案', width: '65' },
  1245. { label: '印件号及工序名称', prop: '印件号及工序名称', width: '300' },
  1246. { label: '参照设备', prop: '参照设备', width: '90' },
  1247. { label: '难度系数', prop: 'sxzhscsold_难度系数', width: '90' },
  1248. { label: '新难度系数', prop: '难度系数', width: '100' },
  1249. { label: '原损耗代号', prop: 'sxzhscsold_损耗代号', width: '150' },
  1250. { label: '基础损耗', prop: '基础损耗', width: '90' },
  1251. { label: '新损耗代号', prop: '损耗代号', width: '150' },
  1252. { label: '原印刷方式', prop: 'sxzhscsold_印刷方式', width: '150' },
  1253. { label: '原来版距', prop: 'sxzhscsold_版距', width: '100' },
  1254. { label: '新印刷方式', prop: '印刷方式', width: '100' },
  1255. { label: '新来版距', prop: '版距', width: '90' },
  1256. { label: '原计损色数', prop: 'sxzhscsold_计损色数', width: '100' },
  1257. { label: '新计损色数', prop: '计损色数', width: '100' },
  1258. { label: '原损耗系数', prop: 'sxzhscsold_损耗系数', width: '100' },
  1259. { label: '新损耗系数', prop: '损耗系数', width: '100' },
  1260. ]
  1261. )
  1262. const handleKeyDown = (event, x, y, prop) => {
  1263. const currentElement = document.getElementById(`input${x}${y}`);
  1264. if (currentElement === null && currentElement === undefined) return
  1265. let move = 0
  1266. switch (event.keyCode) {
  1267. case 13: // Enter
  1268. case 40: // 向下箭头
  1269. if (y < sxzhscstableData.value.length )
  1270. document.getElementById(`input${x}${y + 1}`).focus();
  1271. break;
  1272. case 38: // 向上箭头
  1273. if ( y > 0) {
  1274. document.getElementById(`input${x}${y - 1}`).focus();
  1275. }
  1276. break;
  1277. case 39: // 向左箭头
  1278. if ( x === 4) {
  1279. move = x + 3
  1280. } else if(x === 7){
  1281. move = x + 3
  1282. } else if( x === 10){
  1283. move = x + 1
  1284. }else if( x === 11){
  1285. move = x + 2
  1286. }else if( x === 13){
  1287. move = x + 2
  1288. }
  1289. document.getElementById(`input${move}${y}`).focus();
  1290. break;
  1291. case 37: // 向右箭头
  1292. if ( x === 15) {
  1293. move = x - 2
  1294. } else if (x=== 13) {
  1295. move = x - 2
  1296. }else if (x=== 11) {
  1297. move = x - 1
  1298. }else if (x=== 10) {
  1299. move = x - 3
  1300. }else if (x=== 7) {
  1301. move = x - 3
  1302. }
  1303. document.getElementById(`input${move}${y}`).focus();
  1304. break;
  1305. default:
  1306. break;
  1307. }
  1308. }
  1309. const xzhscslist = ref(false);
  1310. const xzhscsformData = reactive({
  1311. gdbh: '',
  1312. cpdh: '',
  1313. gdmc: '',
  1314. });
  1315. const sxzhscstableData = ref([]);
  1316. //修正核算参数按钮
  1317. const onxzhscsclick = () => {
  1318. if(_Gd_gdbh.value == null){
  1319. xzhscslist.value = false;
  1320. ElMessage({type: 'warning',message: '请选择具体的工单后,再操作此功能' })
  1321. }else{
  1322. xzhscsformData['gdbh'] = _Gd_gdbh.value;
  1323. xzhscsformData['cpdh'] = _Gd_cpdh.value;
  1324. xzhscsformData['gdmc'] = _Gd_cpmc.value;
  1325. _AccountingParameterdata();
  1326. xzhscslist.value = true;
  1327. }
  1328. };
  1329. //修正核算参数回车
  1330. const xzhscsgetProductValue = () => {
  1331. _AccountingParameterdata()
  1332. };
  1333. // 修正工单核算参数表格数据
  1334. const _AccountingParameterdata = async ()=>{
  1335. let workOrder = xzhscsformData['gdbh'];
  1336. try {
  1337. const AccountingParameterdata = await AccountingParameter({workOrder:workOrder});
  1338. sxzhscstableData.value = AccountingParameterdata.data;
  1339. const formattedData = AccountingParameterdata.data.map(item=>{
  1340. item.sxzhscsold_难度系数 = item.难度系数;
  1341. item.sxzhscsold_损耗代号 = item.损耗代号;
  1342. item.sxzhscsold_印刷方式 = item.印刷方式;
  1343. item.sxzhscsold_版距 = item.版距;
  1344. item.sxzhscsold_计损色数 = item.计损色数;
  1345. item.sxzhscsold_损耗系数 = item.损耗系数;
  1346. return item
  1347. });
  1348. } catch (error) {
  1349. console.error(error);
  1350. }
  1351. }
  1352. //修正核算参数更新
  1353. const xzhscsConfirm = async () => {
  1354. const firstCharValid = sxzhscstableData.value.map(item => {
  1355. const firstChar = item["损耗代号"] ? item["损耗代号"].charAt(0) : '';
  1356. return firstChar === '0' || firstChar === '';
  1357. });
  1358. if(firstCharValid.includes(false)){
  1359. ElMessage({type: 'warning',message: '损耗代号开头必须是 0' })
  1360. return false;
  1361. }
  1362. if (sxzhscstableData.value) {
  1363. const formattedData = sxzhscstableData.value.map(item => {
  1364. return {
  1365. Uniqid: parseInt(item.UniqId),
  1366. chromatic: parseFloat(item.计损色数) ?? '',
  1367. difficulty: parseFloat(item.难度系数) ?? '',
  1368. loss: item.损耗代号 ??'',
  1369. plate: parseInt(item.版距) ?? '',
  1370. printMode: item.印刷方式 ?? '',
  1371. wastage: parseFloat(item.损耗系数),
  1372. }
  1373. });
  1374. // console.log(formattedData)
  1375. const AccountingParameterEditdata = await AccountingParameterEdit(formattedData);
  1376. if (AccountingParameterEditdata.code === 0) {
  1377. xzhscslist.value = false;
  1378. ElMessage({ type: 'success', message: '更新成功' });
  1379. } else {
  1380. ElMessage({ type: 'error', message: '更新失败' });
  1381. }
  1382. } else {
  1383. console.error("数据错误");
  1384. }
  1385. };
  1386. //修正核算参数退出
  1387. const sxzhscsCancel = () => {
  1388. xzhscslist.value = false;
  1389. };
  1390. // =========== 质检废品系数 ===========
  1391. const zjfpxs_tableColumns = ref(
  1392. [
  1393. { label: '产品编号', prop: '产品编号', width: '95' },
  1394. { label: '产品名称', prop: '产品名称', width: '200' },
  1395. { label: '印件工序及工艺', prop: '印件工序及工艺', width: '220' },
  1396. { label: '新人工正品板', prop: 'scfjfpxsold_人工正品板', width: '110' },
  1397. { label: '新人工次品板', prop: 'scfjfpxsold_人工次品板', width: '110' },
  1398. { label: '新人工废检', prop: 'scfjfpxsold_人工废检', width: '110' },
  1399. { label: '新机检正品板', prop: 'scfjfpxsold_机检正品板', width: '110' },
  1400. { label: '新机检次品板', prop: 'scfjfpxsold_机检次品板', width: '110' },
  1401. { label: '新机检废检', prop: 'scfjfpxsold_机检废检', width: '110' },
  1402. { label: '人工正品板', prop: '人工正品板', width: '110' },
  1403. { label: '人工次品板', prop: '人工次品板', width: '110' },
  1404. { label: '人工废检', prop: '人工废检', width: '110' },
  1405. { label: '机检正品板', prop: '机检正品板', width: '110' },
  1406. { label: '机检次品板', prop: '机检次品板', width: '110' },
  1407. { label: '机检废检', prop: '机检废检', width: '110' },
  1408. { label: '设备编号', prop: '设备编号', width: '100' },
  1409. { label: '客户名称', prop: '客户名称', width: '200' },
  1410. ]
  1411. )
  1412. const zjfpxs_handleKeyDown = (event, x, y, prop) => {
  1413. const currentElement = document.getElementById(`input${x}${y}`);
  1414. if (currentElement === null && currentElement === undefined) return
  1415. let move = 0
  1416. switch (event.keyCode) {
  1417. case 13: // Enter
  1418. case 40: // 向下箭头
  1419. if (y < scfjfpxstableData.value.length )
  1420. document.getElementById(`input${x}${y + 1}`).focus();
  1421. break;
  1422. case 38: // 向上箭头
  1423. if ( y > 0) {
  1424. document.getElementById(`input${x}${y - 1}`).focus();
  1425. }
  1426. break;
  1427. case 39: // 向左箭头
  1428. if (x >= 9 && x <=14) {
  1429. move = x + 1
  1430. }
  1431. document.getElementById(`input${move}${y}`).focus();
  1432. break;
  1433. case 37: // 向右箭头
  1434. if (x >= 9 && x <=14) {
  1435. move = x - 1
  1436. }
  1437. document.getElementById(`input${move}${y}`).focus();
  1438. break;
  1439. default:
  1440. break;
  1441. }
  1442. }
  1443. const scfjfpxslist = ref(false);
  1444. const scfjfpxsformData = reactive({
  1445. cpdh: '',
  1446. });
  1447. const scfjfpxstableData = ref([]);
  1448. //质检废品系数【按钮】
  1449. const onzjfpxsclick = () => {
  1450. if(_Gd_gdbh.value == null){
  1451. scfjfpxslist.value = false;
  1452. ElMessage({type: 'warning',message: '请选择具体的工单后,再操作此功能'});
  1453. }else{
  1454. scfjfpxsformData['cpdh'] = _Gd_gdbh.value;
  1455. _TestCoefficient();
  1456. scfjfpxslist.value = true;
  1457. }
  1458. };
  1459. //质检废品系数【回车】
  1460. const scfjfpxsgetProductValue = () => {
  1461. if(scfjfpxsformData['cpdh'] === ''){
  1462. scfjfpxstableData.value = [];
  1463. ElMessage({type: 'warning',message: '输入框为空'});
  1464. return false;
  1465. }
  1466. _TestCoefficient();
  1467. };
  1468. //修正工单核算参数->数据获取
  1469. const _TestCoefficient = async ()=>{
  1470. let workOrder = scfjfpxsformData['cpdh'];
  1471. try {
  1472. const TestCoefficientdata = await TestCoefficient({workOrder:workOrder});
  1473. scfjfpxstableData.value = TestCoefficientdata.data;
  1474. const formattedData = TestCoefficientdata.data.map(item=>{
  1475. item.scfjfpxsold_人工正品板 = item.人工正品板;
  1476. item.scfjfpxsold_人工次品板 = item.人工次品板;
  1477. item.scfjfpxsold_人工废检 = item.人工废检;
  1478. item.scfjfpxsold_机检正品板 = item.机检正品板;
  1479. item.scfjfpxsold_机检次品板 = item.机检次品板;
  1480. item.scfjfpxsold_机检废检 = item.机检废检;
  1481. return item
  1482. });
  1483. } catch (error) {
  1484. console.error(error);
  1485. }
  1486. }
  1487. //质检废品系数【更新】
  1488. const scfjfpxsConfirm = async () => {
  1489. const rawValueArray = scfjfpxstableData._rawValue;
  1490. const formattedData = rawValueArray.map(item => {
  1491. return {
  1492. UniqID: item.Uniqid,
  1493. artificial_zp: item.人工正品板 !== null ? item.人工正品板 : "",
  1494. artificial_cp: item.人工次品板 !== null ? item.人工次品板 : "",
  1495. artificial_fj: item.人工废检 !== null ? item.人工废检 : "",
  1496. machine_zp: item.机检正品板 !== null ? item.机检正品板 : "",
  1497. machine_cp: item.机检次品板 !== null ? item.机检次品板 : "",
  1498. machine_fj: item.机检废检 !== null ? item.机检废检 : ""
  1499. }
  1500. });
  1501. const editGyWastes = await editGyWaste(formattedData);
  1502. if (editGyWastes.code === 0) {
  1503. scfjfpxslist.value = false;
  1504. ElMessage({type: 'success',message: '更新成功'})
  1505. } else {
  1506. ElMessage({type: 'error',message: '更新失败'})
  1507. }
  1508. };
  1509. //质检废品系数【退出】
  1510. const scfjfpxsCancel = () => {
  1511. scfjfpxslist.value = false;
  1512. };
  1513. //==============工单打印=============
  1514. const cp_print_gdlist = ref(false);
  1515. const cp_print_formData = reactive({
  1516. gdbh: '',
  1517. yjno: '',
  1518. gxh: '',
  1519. yjmc: '',
  1520. zd: '',
  1521. sh: '',
  1522. // status: '显示器',
  1523. });
  1524. //工单打印按钮
  1525. const cp_gdprintonClick = async () => {
  1526. // if(_Gd_gdbh.value == null){
  1527. // cp_print_gdlist.value = false;
  1528. // ElMessage({type: 'warning',message: '请选择具体的工单后,再操作此功能'});
  1529. // }else{
  1530. cp_print_formData['gdbh'] = "2310707";
  1531. // cp_print_formData['gdbh'] = _Gd_gdbh.value;
  1532. cp_print_formData['zd'] = "刘玲";
  1533. cp_print_formData['sh'] ="谭鸿忠";
  1534. cp_print_formData['yjno'] =1;
  1535. cp_print_formData['gxh'] =20;
  1536. _PrintCodeList();
  1537. cp_print_gdlist.value = true;
  1538. // }
  1539. }
  1540. //工单打印回车
  1541. const cp_print_ProductValue = async () => {
  1542. _PrintCodeList();
  1543. }
  1544. //打印作业通知单->工单印件及工序列表
  1545. const _PrintCodeList = async () => {
  1546. const workOrder = cp_print_formData['gdbh'];
  1547. const PrintCodeList_list = await PrintCodeList({workOrder:workOrder});
  1548. if(PrintCodeList_list.data.length === 0){
  1549. ElMessage({type: 'warning',message: '请输入正确的工单编号'});
  1550. }else{
  1551. console.log(PrintCodeList_list)
  1552. }
  1553. }
  1554. //json打印表格数据
  1555. const jsondata = {"panels":[{"index":0,"name":1,"paperType":"A4","height":210,"width":297,"paperHeader":162,"paperFooter":540,"printElements":[{"options":{"left":510,"top":6,"height":40.5,"width":211.5,"title":"文本","right":723.75,"bottom":46.5,"vCenter":618,"hCenter":26.25,"field":"ztlx","coordinateSync":false,"widthHeightSync":false,"hideTitle":true,"fontSize":21,"fontWeight":"bold","color":"#ff1414","textAlign":"center","textContentVerticalAlign":"middle","qrCodeLevel":0},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":755.4545454545455,"top":11,"height":56,"width":56,"textAlign":"center","title":"二维码","right":817.6363761208273,"bottom":54.13636363636363,"vCenter":789.8863761208273,"hCenter":26.386363636363637,"field":"printcode","testData":"2401191","coordinateSync":false,"widthHeightSync":false,"hideTitle":true},"printElementType":{"title":"二维码","type":"qrcode"}},{"options":{"left":318.95454545454544,"top":12,"height":30,"width":168,"title":"生产作业通知单","coordinateSync":false,"widthHeightSync":false,"fontSize":16.5,"color":"#000000","textAlign":"center","textContentVerticalAlign":"middle","qrCodeLevel":0,"right":489.75,"bottom":42,"vCenter":405.75,"hCenter":25.5},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":510,"top":51,"height":16,"width":48,"title":"打印时间","coordinateSync":false,"widthHeightSync":false,"textAlign":"center","textContentVerticalAlign":"middle","qrCodeLevel":0,"right":551.25,"bottom":66,"vCenter":527.25,"hCenter":55.5},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":557,"top":51,"height":16,"width":141,"title":"文本","right":697.5,"bottom":66,"vCenter":637.5,"hCenter":55.5,"field":"dysj","coordinateSync":false,"widthHeightSync":false,"hideTitle":true,"textContentVerticalAlign":"middle","qrCodeLevel":0,"textContentWrap":"clip"},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":2.9545454545454533,"top":51.5,"height":16,"width":74,"title":"生产批次号:","right":76.49999491373697,"bottom":64.77777523464624,"vCenter":40.49999491373698,"hCenter":54.27777523464624,"coordinateSync":false,"widthHeightSync":false,"fontSize":12,"fontWeight":"bold","color":"#f50808","textContentVerticalAlign":"middle","qrCodeLevel":0},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":77.45454545454545,"top":51.5,"height":16,"width":90,"title":"文本","right":182.38889058430985,"bottom":64.7777684529622,"vCenter":137.38889058430985,"hCenter":53.527768452962206,"field":"scpch","coordinateSync":false,"widthHeightSync":false,"hideTitle":true,"textContentVerticalAlign":"middle","qrCodeLevel":0},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":173.45454545454544,"top":51.5,"height":16,"width":75,"title":"销售订单号:","right":312.75,"bottom":54.75,"vCenter":252.75,"hCenter":49.875,"coordinateSync":false,"widthHeightSync":false,"fontSize":12,"textContentVerticalAlign":"middle","qrCodeLevel":0},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":251.45454545454544,"top":51.5,"height":16,"width":250.5,"title":"文本","right":370.9444427490233,"bottom":64.99218665228948,"vCenter":310.9444427490233,"hCenter":54.492186652289476,"field":"xsddh","coordinateSync":false,"widthHeightSync":false,"hideTitle":true,"textContentVerticalAlign":"middle","qrCodeLevel":0,"textContentWrap":"clip"},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":3,"top":70,"height":88.5,"width":836,"right":840.0000024092825,"bottom":226.50000271044274,"vCenter":421.5000024092825,"hCenter":147.75000271044274,"coordinateSync":false,"widthHeightSync":false},"printElementType":{"title":"矩形","type":"rect"}},{"options":{"left":54.95454545454545,"top":70.5,"height":49,"width":2,"right":79.50000508626299,"bottom":157.3333324856228,"vCenter":75.00000508626299,"hCenter":113.8333324856228,"coordinateSync":false,"widthHeightSync":false},"printElementType":{"title":"竖线","type":"vline"}},{"options":{"left":195,"top":70.5,"height":49,"width":2,"right":200.33333841959626,"bottom":163.49999745686844,"vCenter":195.83333841959626,"hCenter":118.49999745686844,"coordinateSync":false,"widthHeightSync":false},"printElementType":{"title":"竖线","type":"vline"}},{"options":{"left":263.45454545454544,"top":70.5,"height":49,"width":2,"coordinateSync":false,"widthHeightSync":false},"printElementType":{"title":"竖线","type":"vline"}},{"options":{"left":457.5,"top":70.5,"height":88,"width":2,"right":447.47367638035814,"bottom":150.63157533344466,"vCenter":442.97367638035814,"hCenter":105.63157533344466,"coordinateSync":false,"widthHeightSync":false},"printElementType":{"title":"竖线","type":"vline"}},{"options":{"left":513,"top":70.5,"height":32,"width":2,"right":521.4807621882509,"bottom":159.9230751624474,"vCenter":516.9807621882509,"hCenter":114.92307516244738,"coordinateSync":false,"widthHeightSync":false},"printElementType":{"title":"竖线","type":"vline"}},{"options":{"left":6,"top":73,"height":12,"width":45,"title":"客户代码","right":117,"bottom":163.5,"vCenter":89.25,"hCenter":155.25,"coordinateSync":false,"widthHeightSync":false,"textAlign":"center","textContentVerticalAlign":"middle","qrCodeLevel":0},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":198,"top":73,"height":12,"width":60,"title":"产品代码","coordinateSync":false,"widthHeightSync":false,"textAlign":"center","textContentVerticalAlign":"middle","qrCodeLevel":0,"right":255.71054077148432,"bottom":75.15788871363587,"vCenter":226.46054077148432,"hCenter":69.15788871363587},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":461,"top":73,"height":12,"width":50,"title":"版本号","right":495.45312499999983,"bottom":85.49999999999997,"vCenter":470.45312499999983,"hCenter":79.49999999999997,"coordinateSync":false,"widthHeightSync":false,"textAlign":"center","textContentVerticalAlign":"middle","qrCodeLevel":0},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":58.5,"top":73.5,"height":12,"width":132,"title":"客户名称","right":183.99608670748194,"bottom":85.49999647874095,"vCenter":120.99608670748194,"hCenter":79.49999647874095,"coordinateSync":false,"widthHeightSync":false,"textAlign":"center","textContentVerticalAlign":"middle","qrCodeLevel":0},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":267,"top":73.5,"height":12,"width":189,"title":"产品名称","coordinateSync":false,"widthHeightSync":false,"textAlign":"center","textContentVerticalAlign":"middle","qrCodeLevel":0},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":516,"top":73.5,"height":12,"width":120,"title":"警语版面","right":636.3749999999998,"bottom":86.99999999999997,"vCenter":576.3749999999998,"hCenter":80.99999999999997,"coordinateSync":false,"widthHeightSync":false,"textContentVerticalAlign":"middle","qrCodeLevel":0},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":3,"top":87,"height":9,"width":836,"borderWidth":"0.75","coordinateSync":false,"widthHeightSync":false,"right":839.9960895885121,"bottom":96.00000416148792,"vCenter":421.99608958851206,"hCenter":91.50000416148792},"printElementType":{"title":"横线","type":"hline"}},{"options":{"left":6,"top":88.5,"height":12,"width":45,"title":"文本","right":63,"bottom":120.00000423855246,"vCenter":35.25,"hCenter":108.75000423855246,"field":"khdh","coordinateSync":false,"widthHeightSync":false,"hideTitle":true,"textAlign":"center","textContentVerticalAlign":"middle","qrCodeLevel":0},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":59,"top":88.5,"height":12,"width":132,"title":"文本","field":"khmc","coordinateSync":false,"widthHeightSync":false,"hideTitle":true,"textAlign":"center","textContentVerticalAlign":"middle","qrCodeLevel":0,"right":188.6052679764597,"bottom":97.5789413452148,"vCenter":127.10526797645967,"hCenter":87.0789413452148,"textContentWrap":"clip"},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":199,"top":88.5,"height":12,"width":60,"title":"100301047","field":"cpdm","coordinateSync":false,"widthHeightSync":false,"hideTitle":true,"textAlign":"center","textContentVerticalAlign":"middle","qrCodeLevel":0,"right":255.00000214576713,"bottom":119.99999999999996,"vCenter":225.75000214576713,"hCenter":109.49999999999996},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":267,"top":88.5,"height":12,"width":189,"title":"文本","right":384.23684873078986,"bottom":89.56578826904293,"vCenter":324.23684873078986,"hCenter":84.69078826904293,"field":"cpmc","coordinateSync":false,"widthHeightSync":false,"hideTitle":true,"qrCodeLevel":0,"textContentVerticalAlign":"middle","textContentWrap":"clip"},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":461,"top":88.5,"height":13,"width":50,"title":"文本","field":"bbh","coordinateSync":false,"widthHeightSync":false,"hideTitle":true,"qrCodeLevel":0,"right":572.4473732396174,"bottom":89.01315909937804,"vCenter":512.4473732396174,"hCenter":84.13815909937804,"textAlign":"center","textContentVerticalAlign":"middle"},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":516,"top":88.5,"height":12,"width":316.5,"title":"文本","right":638.5000228881836,"bottom":98.12499618530272,"vCenter":578.5000228881836,"hCenter":93.24999618530272,"field":"jybm","coordinateSync":false,"widthHeightSync":false,"hideTitle":true,"qrCodeLevel":0,"textContentVerticalAlign":"middle","textContentWrap":"clip"},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":3,"top":102,"height":9,"width":836,"borderWidth":"0.75","coordinateSync":false,"widthHeightSync":false},"printElementType":{"title":"横线","type":"hline"}},{"options":{"left":501,"top":102,"height":17,"width":9,"coordinateSync":false,"widthHeightSync":false,"right":517.3124971389768,"bottom":119.74999141693111,"vCenter":512.8124971389768,"hCenter":111.24999141693111},"printElementType":{"title":"竖线","type":"vline"}},{"options":{"left":556.5,"top":102,"height":17,"width":9,"coordinateSync":false,"widthHeightSync":false,"right":564.3750085830686,"bottom":119.0000028610229,"vCenter":559.8750085830686,"hCenter":110.5000028610229},"printElementType":{"title":"竖线","type":"vline"}},{"options":{"left":616.5,"top":102,"height":17,"width":9,"right":624.1874971389768,"bottom":187.9687643051147,"vCenter":619.6874971389768,"hCenter":142.9687643051147,"coordinateSync":false,"widthHeightSync":false},"printElementType":{"title":"竖线","type":"vline"}},{"options":{"left":691.5,"top":102,"height":17,"width":9,"right":563.999985694885,"bottom":272.3437643051147,"vCenter":559.499985694885,"hCenter":227.3437643051147,"coordinateSync":false,"widthHeightSync":false},"printElementType":{"title":"竖线","type":"vline"}},{"options":{"left":765,"top":102,"height":17,"width":9,"right":774.0937414169308,"bottom":193.8750028610229,"vCenter":769.5937414169308,"hCenter":148.8750028610229,"coordinateSync":false,"widthHeightSync":false},"printElementType":{"title":"竖线","type":"vline"}},{"options":{"left":459,"top":104,"height":12,"width":42,"title":"开单日期","coordinateSync":false,"widthHeightSync":false,"textAlign":"center","textContentVerticalAlign":"middle","qrCodeLevel":0},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":693,"top":104,"height":12,"width":68,"title":"平张投料(张)","coordinateSync":false,"widthHeightSync":false,"textAlign":"center","textContentVerticalAlign":"middle","qrCodeLevel":0,"right":767.9062242507932,"bottom":114.9375028610229,"vCenter":731.9062242507932,"hCenter":108.9375028610229},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":6,"top":105,"height":12,"width":45,"title":"码源数量","right":46.78570556640625,"bottom":117.2142933436802,"vCenter":26.535705566406246,"hCenter":111.2142933436802,"coordinateSync":false,"widthHeightSync":false,"textAlign":"center","textContentVerticalAlign":"middle","qrCodeLevel":0},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":60,"top":105,"height":12,"width":130.5,"title":"文本","field":"mysl","coordinateSync":false,"widthHeightSync":false,"hideTitle":true,"textAlign":"center","textContentVerticalAlign":"middle","qrCodeLevel":0},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":199.5,"top":105,"height":12,"width":58.5,"title":"客户ERP编码","coordinateSync":false,"widthHeightSync":false,"qrCodeLevel":0,"right":318.78572736467623,"bottom":115.92856597900385,"vCenter":258.78572736467623,"hCenter":109.92856597900385},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":267,"top":105,"height":11,"width":189,"title":"文本","field":"kherpbm","coordinateSync":false,"widthHeightSync":false,"hideTitle":true,"textAlign":"center","textContentVerticalAlign":"middle","qrCodeLevel":0,"right":387.07142421177446,"bottom":113.96428680419916,"vCenter":327.07142421177446,"hCenter":109.08928680419916,"textContentWrap":"clip"},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":502.5,"top":105,"height":12,"width":52.5,"title":"文本","field":"kdrq","coordinateSync":false,"widthHeightSync":false,"hideTitle":true,"textAlign":"center","textContentVerticalAlign":"middle","qrCodeLevel":0,"right":553.8749742507932,"bottom":115.21874141693111,"vCenter":527.6249742507932,"hCenter":109.21874141693111,"textContentWrap":"clip"},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":561,"top":105,"height":12,"width":45,"title":"交货日期","right":607.499985694885,"bottom":115.9687585830688,"vCenter":584.999985694885,"hCenter":109.9687585830688,"coordinateSync":false,"widthHeightSync":false,"textAlign":"center","textContentVerticalAlign":"middle","qrCodeLevel":0},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":620,"top":105,"height":12,"width":68,"title":"文本","right":674.968735694885,"bottom":118.21875286102292,"vCenter":648.968735694885,"hCenter":112.21875286102292,"field":"jhrq","coordinateSync":false,"widthHeightSync":false,"hideTitle":true,"textAlign":"center","textContentVerticalAlign":"middle","qrCodeLevel":0,"textContentWrap":"clip"},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":767,"top":106,"height":12,"width":69,"title":"文本","field":"pzll","coordinateSync":false,"widthHeightSync":false,"hideTitle":true,"textAlign":"center","textContentVerticalAlign":"middle","qrCodeLevel":0,"right":835.5000083229755,"bottom":115.15908973867236,"vCenter":801.0000083229755,"hCenter":109.15908973867236},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":617,"top":118,"height":39,"width":5,"coordinateSync":false,"widthHeightSync":false,"right":621.1590992320664,"bottom":159.15908973867238,"vCenter":618.6590992320664,"hCenter":138.65908973867238},"printElementType":{"title":"竖线","type":"vline"}},{"options":{"left":4,"top":118.5,"height":9,"width":836,"borderWidth":"0.75","coordinateSync":false,"widthHeightSync":false,"right":840.0714263916016,"bottom":127.35713522774827,"vCenter":422.07142639160156,"hCenter":122.85713522774827},"printElementType":{"title":"横线","type":"hline"}},{"options":{"left":556.5,"top":118.5,"height":39,"width":5,"coordinateSync":false,"widthHeightSync":false,"right":564.4999771118162,"bottom":160.50000762939447,"vCenter":561.9999771118162,"hCenter":140.00000762939447},"printElementType":{"title":"竖线","type":"vline"}},{"options":{"left":691.5,"top":118.5,"height":39,"width":5,"coordinateSync":false,"widthHeightSync":false,"right":702.9999771118162,"bottom":166.0000076293945,"vCenter":700.4999771118162,"hCenter":145.5000076293945},"printElementType":{"title":"竖线","type":"vline"}},{"options":{"left":765,"top":118.5,"height":39,"width":5,"right":774.4999771118161,"bottom":170.50000762939447,"vCenter":771.9999771118161,"hCenter":150.00000762939447,"coordinateSync":false,"widthHeightSync":false},"printElementType":{"title":"竖线","type":"vline"}},{"options":{"left":501,"top":119,"height":39,"width":5,"coordinateSync":false,"widthHeightSync":false},"printElementType":{"title":"竖线","type":"vline"}},{"options":{"left":4.5,"top":121,"height":34.5,"width":49.5,"title":"工单说明:","right":126.79411495433133,"bottom":137.73529580060165,"vCenter":66.79411495433133,"hCenter":131.73529580060165,"coordinateSync":false,"widthHeightSync":false,"color":"#ff0000","qrCodeLevel":0},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":55.5,"top":121,"height":34.5,"width":400,"title":"文本","right":176.7794171501608,"bottom":132.74999629749965,"vCenter":116.77941715016081,"hCenter":127.87499629749964,"field":"gdsm","coordinateSync":false,"widthHeightSync":false,"hideTitle":true,"qrCodeLevel":0},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":463,"top":122,"height":12,"width":36,"title":"投料率","right":499.1052679764595,"bottom":134.05263037430606,"vCenter":481.1052679764595,"hCenter":128.05263037430606,"coordinateSync":false,"widthHeightSync":false,"textAlign":"center","textContentVerticalAlign":"middle","qrCodeLevel":0},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":504,"top":122,"height":12,"width":50,"title":"目标合格率","right":659.6841960706207,"bottom":132.55263669867261,"vCenter":625.1841960706207,"hCenter":126.55263669867261,"coordinateSync":false,"widthHeightSync":false,"textAlign":"center","textContentVerticalAlign":"middle","qrCodeLevel":0},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":559.5,"top":122,"height":12,"width":56,"title":"平均合格率","coordinateSync":false,"widthHeightSync":false,"textAlign":"center","textContentVerticalAlign":"middle","qrCodeLevel":0,"right":734.7631723504314,"bottom":134.36841653522686,"vCenter":700.2631723504314,"hCenter":128.36841653522686},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":619.5,"top":122,"height":12,"width":69,"title":"订货数量(箱)","right":676.8947320235401,"bottom":210.71053143551467,"vCenter":616.8947320235401,"hCenter":204.71053143551467,"coordinateSync":false,"widthHeightSync":false,"qrCodeLevel":0},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":694.5,"top":122,"height":12,"width":69,"title":"库存数量(箱)","right":787.7727564031427,"bottom":171.5454545454545,"vCenter":753.2727564031427,"hCenter":165.5454545454545,"coordinateSync":false,"widthHeightSync":false,"qrCodeLevel":0},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":768,"top":122,"height":12,"width":69,"title":"投料数量(箱)","coordinateSync":false,"widthHeightSync":false,"qrCodeLevel":0,"right":843.6818473122336,"bottom":134.18182650479406,"vCenter":809.1818473122336,"hCenter":128.18182650479406},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":458,"top":138,"height":6,"width":382,"borderWidth":"0.75","coordinateSync":false,"widthHeightSync":false},"printElementType":{"title":"横线","type":"hline"}},{"options":{"left":464,"top":142,"height":12,"width":36,"title":"文本","right":497.0000076293944,"bottom":153.5000076293945,"vCenter":479.0000076293944,"hCenter":147.5000076293945,"field":"tll","coordinateSync":false,"widthHeightSync":false,"hideTitle":true,"textAlign":"center","textContentVerticalAlign":"middle","qrCodeLevel":0},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":504,"top":142,"height":12,"width":50,"title":"文本","right":554.5000381469724,"bottom":151.9999923706054,"vCenter":529.5000381469724,"hCenter":145.9999923706054,"field":"mbhgl","coordinateSync":false,"widthHeightSync":false,"hideTitle":true,"textAlign":"center","textContentVerticalAlign":"middle","qrCodeLevel":0},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":694,"top":142,"height":12,"width":69,"title":"文本","field":"kcsl","coordinateSync":false,"widthHeightSync":false,"hideTitle":true,"textAlign":"center","textContentVerticalAlign":"middle","qrCodeLevel":0,"right":766.0000076293943,"bottom":155.0000076293945,"vCenter":731.5000076293943,"hCenter":149.5000076293945},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":767,"top":142,"height":12,"width":69,"title":"文本","right":864.0000076293944,"bottom":151.50000762939447,"vCenter":829.5000076293944,"hCenter":145.50000762939447,"field":"tlsl","coordinateSync":false,"widthHeightSync":false,"hideTitle":true,"textAlign":"center","textContentVerticalAlign":"middle","qrCodeLevel":0},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":559,"top":142.5,"height":12,"width":56,"title":"文本","right":613.9999771118162,"bottom":179.00000762939447,"vCenter":585.9999771118162,"hCenter":173.00000762939447,"field":"pjhgl","coordinateSync":false,"widthHeightSync":false,"hideTitle":true,"textAlign":"center","textContentVerticalAlign":"middle","qrCodeLevel":0},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":619,"top":142.5,"height":12,"width":69,"title":"文本","right":608.9999771118162,"bottom":198.25000762939447,"vCenter":548.9999771118162,"hCenter":193.37500762939447,"field":"dhsl","coordinateSync":false,"widthHeightSync":false,"hideTitle":true,"textAlign":"center","textContentVerticalAlign":"middle","qrCodeLevel":0},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":1020,"top":162,"height":9.75,"width":99,"title":"投料规格","coordinateSync":false,"widthHeightSync":false,"textAlign":"center","textContentVerticalAlign":"middle","qrCodeLevel":0,"right":646.973684210526,"bottom":172.22368210240407,"vCenter":586.973684210526,"hCenter":167.34868210240407},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":3,"top":170,"height":9,"width":836,"borderWidth":"0.75","coordinateSync":false,"widthHeightSync":false,"right":838.999994614545,"bottom":178.49999949511354,"vCenter":420.999994614545,"hCenter":173.99999949511354},"printElementType":{"title":"横线","type":"hline"}},{"options":{"left":37.5,"top":170,"height":38,"width":9,"right":47.383238050672716,"bottom":207.05165354410798,"vCenter":42.883238050672716,"hCenter":190.55165354410798,"coordinateSync":false,"widthHeightSync":false},"printElementType":{"title":"竖线","type":"vline"}},{"options":{"left":288,"top":170,"height":38,"width":9,"right":297.0499182807073,"bottom":207.72222646077464,"vCenter":292.5499182807073,"hCenter":191.22222646077464,"coordinateSync":false,"widthHeightSync":false},"printElementType":{"title":"竖线","type":"vline"}},{"options":{"left":839,"top":170,"height":39,"width":9,"right":863.478268830672,"bottom":259.63042881177813,"vCenter":858.978268830672,"hCenter":214.63042881177813,"coordinateSync":false,"widthHeightSync":false},"printElementType":{"title":"竖线","type":"vline"}},{"options":{"left":3,"top":171,"height":38,"width":9,"right":11.647058823529411,"bottom":211.38234705083505,"vCenter":7.147058823529411,"hCenter":192.38234705083505,"coordinateSync":false,"widthHeightSync":false},"printElementType":{"title":"竖线","type":"vline"}},{"options":{"left":346.5,"top":171,"height":38,"width":9,"coordinateSync":false,"widthHeightSync":false,"right":355.3333468967012,"bottom":205.50000423855244,"vCenter":350.8333468967012,"hCenter":189.00000423855244},"printElementType":{"title":"竖线","type":"vline"}},{"options":{"left":567,"top":171,"height":38,"width":9,"right":577.1110975477427,"bottom":208.05555301242396,"vCenter":572.6110975477427,"hCenter":188.55555301242396,"coordinateSync":false,"widthHeightSync":false},"printElementType":{"title":"竖线","type":"vline"}},{"options":{"left":645,"top":171,"height":38,"width":9,"right":655.827731662326,"bottom":205.6627646552191,"vCenter":651.327731662326,"hCenter":189.1627646552191,"coordinateSync":false,"widthHeightSync":false},"printElementType":{"title":"竖线","type":"vline"}},{"options":{"left":679.5,"top":171,"height":38,"width":9,"coordinateSync":false,"widthHeightSync":false,"right":689.3889295789927,"bottom":207.27777184380417,"vCenter":684.8889295789927,"hCenter":190.77777184380417},"printElementType":{"title":"竖线","type":"vline"}},{"options":{"left":714,"top":171,"height":38,"width":5,"right":720.9943983289927,"bottom":208.7777786254882,"vCenter":718.4943983289927,"hCenter":192.2777786254882,"coordinateSync":false,"widthHeightSync":false},"printElementType":{"title":"竖线","type":"vline"}},{"options":{"left":291,"top":174,"height":12,"width":53,"title":"平张投料量","right":343.93882242838527,"bottom":186.1111119588215,"vCenter":317.43882242838527,"hCenter":180.1111119588215,"coordinateSync":false,"widthHeightSync":false,"textAlign":"center","textContentVerticalAlign":"middle","qrCodeLevel":0},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":348,"top":174,"height":12,"width":218,"title":"纸张名称","right":566.8832600911456,"bottom":186.66666751437708,"vCenter":457.88326009114564,"hCenter":180.66666751437708,"coordinateSync":false,"widthHeightSync":false,"textAlign":"center","textContentVerticalAlign":"middle","qrCodeLevel":0},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":568,"top":174,"height":12,"width":76.5,"title":"投料规格","coordinateSync":false,"widthHeightSync":false,"textAlign":"center","textContentVerticalAlign":"middle","qrCodeLevel":0,"right":647.7222629123262,"bottom":186.3888897365993,"vCenter":609.4722629123262,"hCenter":180.3888897365993},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":648,"top":174,"height":12,"width":30,"title":"联数","right":678.6054823133676,"bottom":186.66666751437708,"vCenter":663.6054823133676,"hCenter":180.66666751437708,"coordinateSync":false,"widthHeightSync":false,"textAlign":"center","textContentVerticalAlign":"middle","qrCodeLevel":0},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":682,"top":174,"height":12,"width":30,"title":"开数","right":713.9388020833329,"bottom":186.55554962158195,"vCenter":698.9388020833329,"hCenter":180.55554962158195,"coordinateSync":false,"widthHeightSync":false,"textAlign":"center","textContentVerticalAlign":"middle","qrCodeLevel":0},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":715.5,"top":174,"height":12,"width":115,"title":"备注","right":832.6054551866315,"bottom":187.22222306993262,"vCenter":775.1054551866315,"hCenter":181.22222306993262,"coordinateSync":false,"widthHeightSync":false,"textAlign":"center","textContentVerticalAlign":"middle","qrCodeLevel":0},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":6,"top":175.5,"height":12,"width":31,"title":"印件","coordinateSync":false,"widthHeightSync":false,"textAlign":"center","textContentVerticalAlign":"middle","qrCodeLevel":0,"right":41.05263639751233,"bottom":177.39473232470056,"vCenter":25.30263639751233,"hCenter":171.39473232470056},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":39,"top":175.5,"height":12,"width":245,"title":"印件代号及名称","coordinateSync":false,"widthHeightSync":false,"textAlign":"center","textContentVerticalAlign":"middle","qrCodeLevel":0,"right":275.36842105263156,"bottom":173.6447371432655,"vCenter":161.36842105263156,"hCenter":168.7697371432655},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":3,"top":189.5,"height":9,"width":836,"borderWidth":"0.75","right":516.3749999999998,"bottom":185.24998855590812,"vCenter":471.37499999999983,"hCenter":180.74998855590812,"coordinateSync":false,"widthHeightSync":false},"printElementType":{"title":"横线","type":"hline"}},{"options":{"left":569,"top":191,"height":12,"width":76,"title":"文本","field":"tlgg","coordinateSync":false,"widthHeightSync":false,"hideTitle":true,"textContentVerticalAlign":"middle","qrCodeLevel":0,"textAlign":"center","textContentWrap":"clip","right":645.4388156467011,"bottom":204.2777854071722,"vCenter":607.4388156467011,"hCenter":198.2777854071722},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":6,"top":192,"height":12,"width":31,"title":"文本","coordinateSync":false,"widthHeightSync":false,"textAlign":"center","textContentVerticalAlign":"middle","qrCodeLevel":0,"right":40.24999999999999,"bottom":192.99608612060536,"vCenter":24.749999999999993,"hCenter":186.99608612060536,"field":"yjh","hideTitle":true},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":39,"top":192,"height":12,"width":247,"title":"文本","field":"thdhjmc","coordinateSync":false,"widthHeightSync":false,"hideTitle":true,"textContentVerticalAlign":"middle","qrCodeLevel":0,"right":287.125,"bottom":190.12498855590812,"vCenter":168.12499999999997,"hCenter":184.12498855590812,"textContentWrap":"clip"},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":348,"top":192,"height":12,"width":218,"title":"文本","right":481.50000214576704,"bottom":188.99998855590812,"vCenter":421.50000214576704,"hCenter":184.12498855590812,"field":"zzmc","coordinateSync":false,"widthHeightSync":false,"hideTitle":true,"textContentVerticalAlign":"middle","qrCodeLevel":0,"textContentWrap":"clip"},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":682.5,"top":192,"height":12,"width":30,"title":"文本","field":"ks","coordinateSync":false,"widthHeightSync":false,"hideTitle":true,"textAlign":"center","textContentVerticalAlign":"middle","qrCodeLevel":0,"right":715.1249999999997,"bottom":188.99998855590815,"vCenter":700.1249999999997,"hCenter":182.99998855590815,"textContentWrap":"clip"},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":715.5,"top":192,"height":12,"width":115,"title":"文本","right":833.5499403211802,"bottom":205.1111187405055,"vCenter":776.0499403211802,"hCenter":199.1111187405055,"field":"bz","coordinateSync":false,"widthHeightSync":false,"hideTitle":true,"qrCodeLevel":0,"textContentWrap":"clip"},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":291,"top":193,"height":14,"width":52,"title":"文本","right":348.7222425672742,"bottom":193.22222985161665,"vCenter":322.7222425672742,"hCenter":186.22222985161665,"field":"pztll","coordinateSync":false,"widthHeightSync":false,"hideTitle":true,"textAlign":"center","textContentVerticalAlign":"middle","qrCodeLevel":0},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":648,"top":194,"height":12,"width":30,"title":"文本","field":"ls","coordinateSync":false,"widthHeightSync":false,"hideTitle":true,"textAlign":"center","textContentVerticalAlign":"middle","qrCodeLevel":0,"right":679.8276774088538,"bottom":205.49999745686839,"vCenter":664.8276774088538,"hCenter":199.49999745686839,"textContentWrap":"clip"},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":3,"top":209,"height":9,"width":836,"borderWidth":"0.75","coordinateSync":false,"widthHeightSync":false,"right":936,"bottom":217.49999879535866,"vCenter":468,"hCenter":212.99999879535866},"printElementType":{"title":"横线","type":"hline"}},{"options":{"left":3,"top":225,"height":102,"width":837,"field":"table1","coordinateSync":false,"widthHeightSync":false,"textAlign":"center","tableHeaderBackground":"#ffffff","autoCompletion":true,"gridColumns":2,"right":839.3181776566939,"bottom":371.3181818181818,"vCenter":420.8181776566939,"hCenter":297.8181818181818,"columns":[[{"width":345.14797554026427,"title":"物料代码及名称","titleSync":false,"field":"wldmjmc","checked":true,"columnId":"wldmjmc","fixed":false,"rowspan":1,"colspan":1,"align":"left","halign":"left","vAlign":"middle","tableQRCodeLevel":0,"tableSummaryTitle":true,"tableSummary":"","tableSummaryAlign":"justify"},{"width":46.29508215204342,"title":"计划用量","titleSync":false,"field":"jhyl","checked":true,"columnId":"jhyl","fixed":false,"rowspan":1,"colspan":1,"tableQRCodeLevel":0,"tableSummaryTitle":true,"tableSummary":""},{"width":27.056942307692264,"title":"单位","titleSync":false,"field":"dw","checked":true,"columnId":"dw","fixed":false,"rowspan":1,"colspan":1,"align":"center","halign":"center","vAlign":"middle","tableQRCodeLevel":0,"tableSummaryTitle":true,"tableSummary":""},{"width":85.97291065362847,"title":"物料代码及名称","titleSync":false,"field":"wldmjmc1","checked":false,"columnId":"wldmjmc1","fixed":false,"rowspan":1,"colspan":1,"tableQRCodeLevel":0,"tableSummaryTitle":true,"tableSummary":""},{"width":107.88106549200486,"title":"计划用量","titleSync":false,"field":"jhyl1","checked":false,"columnId":"jhyl1","fixed":false,"rowspan":1,"colspan":1,"tableQRCodeLevel":0,"tableSummaryTitle":true,"tableSummary":""},{"width":170.29501525940995,"title":"单位","titleSync":false,"field":"dw1","checked":false,"columnId":"dw1","fixed":false,"rowspan":1,"colspan":1,"tableQRCodeLevel":0,"tableSummaryTitle":true,"tableSummary":""},{"width":85.25,"checked":false,"fixed":false,"rowspan":1,"colspan":1},{"width":85.25,"checked":false,"fixed":false,"rowspan":1,"colspan":1}]]},"printElementType":{"title":"表格","type":"table","editable":true,"columnDisplayEditable":true,"columnDisplayIndexEditable":true,"columnTitleEditable":true,"columnResizable":true,"columnAlignEditable":true,"isEnableEditField":true,"isEnableContextMenu":true,"isEnableInsertRow":true,"isEnableDeleteRow":true,"isEnableInsertColumn":true,"isEnableDeleteColumn":true,"isEnableMergeCell":true}},{"options":{"left":3,"top":331.5,"height":202.5,"width":837,"right":838.4999875155362,"bottom":519.0000083229759,"vCenter":419.99998751553625,"hCenter":425.2500083229758,"field":"table2","coordinateSync":false,"widthHeightSync":false,"tableHeaderBackground":"#ffffff","columns":[[{"width":307.9108700734162,"title":"印件及工序名称","titleSync":false,"field":"yjjgxmc","checked":true,"columnId":"yjjgxmc","fixed":false,"rowspan":1,"colspan":1,"tableQRCodeLevel":0,"tableSummaryTitle":true,"tableSummary":""},{"width":55.88612827789838,"title":"转序数(张)","titleSync":false,"field":"zxs","checked":true,"columnId":"zxs","fixed":false,"rowspan":1,"colspan":1,"tableQRCodeLevel":0,"tableSummaryTitle":true,"tableSummary":""},{"width":46.707750862917976,"title":"报废定额","titleSync":false,"field":"bfde","checked":true,"columnId":"bfde","fixed":false,"rowspan":1,"colspan":1,"tableQRCodeLevel":0,"tableSummaryTitle":true,"tableSummary":""},{"width":47.3252499999999,"title":"允许比例","titleSync":false,"field":"yxbl","checked":true,"columnId":"yxbl","fixed":false,"rowspan":1,"colspan":1,"tableQRCodeLevel":0,"tableSummaryTitle":true,"tableSummary":""},{"width":47.45945440258765,"title":"损耗系数","titleSync":false,"field":"shxs","checked":true,"columnId":"shxs","fixed":false,"rowspan":1,"colspan":1,"tableQRCodeLevel":0,"tableSummaryTitle":true,"tableSummary":""},{"width":46.89900944189668,"title":"装板工时","titleSync":false,"field":"zbgs","checked":true,"columnId":"zbgs","fixed":false,"rowspan":1,"colspan":1,"tableQRCodeLevel":0,"tableSummaryTitle":true,"tableSummary":""},{"width":47.083726290395816,"title":"小时定额","titleSync":false,"field":"xsde","checked":true,"columnId":"xsde","fixed":false,"rowspan":1,"colspan":1,"tableQRCodeLevel":0,"tableSummaryTitle":true,"tableSummary":""},{"width":52.408579881656706,"title":"生产工时","titleSync":false,"field":"scgs","checked":true,"columnId":"scgs","fixed":false,"rowspan":1,"colspan":1,"tableQRCodeLevel":0,"tableSummaryTitle":true,"tableSummary":""},{"width":185.3192307692308,"title":"备注","titleSync":false,"field":"bz","checked":true,"columnId":"bz","fixed":false,"rowspan":1,"colspan":1,"align":"center","halign":"center","vAlign":"middle","tableQRCodeLevel":0,"tableSummaryTitle":true,"tableSummary":""}]]},"printElementType":{"title":"表格","type":"table","editable":true,"columnDisplayEditable":true,"columnDisplayIndexEditable":true,"columnTitleEditable":true,"columnResizable":true,"columnAlignEditable":true,"isEnableEditField":true,"isEnableContextMenu":true,"isEnableInsertRow":true,"isEnableDeleteRow":true,"isEnableInsertColumn":true,"isEnableDeleteColumn":true,"isEnableMergeCell":true}},{"options":{"left":396,"top":544.5,"height":14,"width":40.5,"title":"审核:","right":515.8636405251243,"bottom":559.3181734952059,"vCenter":455.8636405251243,"hCenter":552.3181734952059,"coordinateSync":false,"widthHeightSync":false,"fontSize":12,"textAlign":"center","textContentVerticalAlign":"middle","qrCodeLevel":0},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":436.5,"top":544.5,"height":14,"width":120,"title":"文本","right":559.2421875,"bottom":557.99609375,"vCenter":499.2421875,"hCenter":550.99609375,"field":"shr","coordinateSync":false,"widthHeightSync":false,"hideTitle":true,"fontSize":12,"textContentVerticalAlign":"middle","qrCodeLevel":0},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":15,"top":546,"height":14,"width":45,"title":"制单:","coordinateSync":false,"widthHeightSync":false,"fontSize":12,"textAlign":"center","textContentVerticalAlign":"middle","qrCodeLevel":0,"right":45.54545038396662,"bottom":559.9999916770241,"vCenter":29.045450383966617,"hCenter":552.9999916770241},"printElementType":{"title":"文本","type":"text"}},{"options":{"left":63,"top":546,"height":14,"width":120,"title":"文本","right":170.31817349520597,"bottom":559.0454711914062,"vCenter":110.31817349520597,"hCenter":552.0454711914062,"field":"zdr","coordinateSync":false,"widthHeightSync":false,"hideTitle":true,"fontSize":12,"textContentVerticalAlign":"middle","qrCodeLevel":0},"printElementType":{"title":"文本","type":"text"}}],"paperNumberLeft":565.5,"paperNumberTop":573,"paperNumberContinue":true,"backgroundColor":"#ffffff","overPrintOptions":{"content":"","opacity":0.7,"type":1},"watermarkOptions":{"content":"","fillStyle":"rgba(87, 13, 248, 0.5)","fontSize":"36px","rotate":25,"width":413,"height":310,"timestamp":false,"format":"YYYY-MM-DD HH:mm"}}]}
  1556. hiprint.init()
  1557. const hiprintTemplate = new hiprint.PrintTemplate({ template: jsondata })
  1558. const cp_print_handleConfirm = async () => {
  1559. let params = {};
  1560. params.workOrder = cp_print_formData['gdbh'];
  1561. params.PrepareDocument = cp_print_formData['zd'];
  1562. params.examine = cp_print_formData['sh'];
  1563. params.yjno = cp_print_formData['yjno'];
  1564. params.gxh = cp_print_formData['gxh'];
  1565. //调用打印接口【打印作业通知单】
  1566. const print_PrintJobOrder = await PrintJobOrder(params);
  1567. // console.log(print_PrintJobOrder.data)
  1568. print_PrintJobOrder.data['工单说明']
  1569. const printdata = {
  1570. "printcode":print_PrintJobOrder.data['二维码'],
  1571. "dysj":"打印时间",
  1572. "scpch":print_PrintJobOrder.data['生产批次号'],
  1573. "xsddh":print_PrintJobOrder.data['生产批次号'],
  1574. // "xsddh":print_PrintJobOrder.data['销售订单号'],
  1575. "khdh": print_PrintJobOrder.data['客户代码'],
  1576. "khmc": print_PrintJobOrder.data['客户名称'],
  1577. "cpdm": print_PrintJobOrder.data['产品代码'],
  1578. "cpmc": print_PrintJobOrder.data['产品名称'],
  1579. "bbh": print_PrintJobOrder.data['版本号'],
  1580. "jybm": print_PrintJobOrder.data['警语版面'],
  1581. "mysl": print_PrintJobOrder.data['码源数量'],
  1582. "kherpbm": print_PrintJobOrder.data['客户ERP编码'],
  1583. "kdrq": print_PrintJobOrder.data['开单日期'],
  1584. "jhrq": print_PrintJobOrder.data['交货日期'],
  1585. "pzll": print_PrintJobOrder.data['平张投料量'],
  1586. "gdsm":print_PrintJobOrder.data['工单说明'],
  1587. "tll":print_PrintJobOrder.data['投料率'],
  1588. "mbhgl":print_PrintJobOrder.data['目标合格率'],
  1589. "pjhgl":print_PrintJobOrder.data['平均合格率'],
  1590. "dhsl":print_PrintJobOrder.data['订货数量'],
  1591. "kcsl":print_PrintJobOrder.data['库存数量'],
  1592. "tlsl":print_PrintJobOrder.data['投料数量'],
  1593. "yjh":print_PrintJobOrder.data['印件'],
  1594. "thdhjmc":print_PrintJobOrder.data['印件代号及名称'],
  1595. "pztll":print_PrintJobOrder.data['平张投料量'],
  1596. "zzmc":print_PrintJobOrder.data['纸张名称'],
  1597. "tlgg":print_PrintJobOrder.data['投料规格'],
  1598. "ks":print_PrintJobOrder.data['开数'],
  1599. "ls":print_PrintJobOrder.data['联数'],
  1600. "bz":print_PrintJobOrder.data['印件备注'],
  1601. "shr":cp_print_formData['sh'],
  1602. "zdr":cp_print_formData['zd']
  1603. }
  1604. hiprintTemplate.print(printdata);
  1605. // cp_print_gdlist.value = false;
  1606. }
  1607. //工单打印取消
  1608. const cp_print_handleCancel = async () => {
  1609. cp_print_gdlist.value = false;
  1610. }
  1611. //=========工序产量核查===========
  1612. const gd_gxclhclist = ref(false);
  1613. const gxclhc_Data = ref([]);
  1614. const gxclhc_Columns = ref(
  1615. [
  1616. { label: '印件及工序名称', prop: 'concatenatedData', width: '380' },
  1617. // { label: '印件', prop: 'Gy0_yjno', width: '130' },
  1618. // { label: '工序', prop: 'Gy0_gxh', width: '130' },
  1619. // { label: '名称', prop: 'Gy0_gxmc', width: '130' },
  1620. { label: '工序计划产量', prop: 'Gy0_计划接货数', width: '120' },
  1621. { label: '联数', prop: 'Gy0_ls', width: '70' },
  1622. { label: '折算车头产量', prop: '折算车头产量', width: '120' },
  1623. { label: '实际上报产量', prop: 'sczl_cl', width: '120' },
  1624. { label: '制程废品', prop: 'sczl_zcfp', width: '120' },
  1625. { label: '制程废品率', prop: '制程废品率', width: '120' },
  1626. { label: '来料异常', prop: '来料异常', width: '90' },
  1627. { label: '流程单数', prop: 'process_num', width: '90' },
  1628. { label: '当前设备', prop: 'Gy0_sbbh', width: '120' },
  1629. { label: '工序状态', prop: 'PD_WG', width: '90'},
  1630. { label: '首板生产日期', prop: 'sczl_rq', width: '160' },
  1631. ]
  1632. )
  1633. const gxclhcformData = reactive({
  1634. gdbh: '',
  1635. gdmc: '',
  1636. });
  1637. // 工序产量核查按钮
  1638. const gd_gxclhconClick = async () => {
  1639. if(_Gd_gdbh.value === '' || _Gd_gdbh.value === null){
  1640. ElMessage({type: 'warning',message: '请选择具体的工单,在进行操作'})
  1641. return false;
  1642. }
  1643. gxclhcformData['gdbh'] = _Gd_gdbh.value;
  1644. gd_gxclhclist.value = true;
  1645. _getOrderProcessCount();
  1646. };
  1647. //工序产量核查回车
  1648. const gxclhcProductValue = async () => {
  1649. _getOrderProcessCount();
  1650. }
  1651. //工序产量核查退出
  1652. const gxclhcCancel = async () => {
  1653. gd_gxclhclist.value = false;
  1654. };
  1655. //工序产量核查方法接口
  1656. const _getOrderProcessCount = async () => {
  1657. const order = gxclhcformData['gdbh'];
  1658. const getOrderProcessCount_list = await getOrderProcessCount({order:order});
  1659. const concatenatedData = getOrderProcessCount_list.data.map(item => {
  1660. // 优化后的代码,使用模板字符串连接字段值并在单个数字前添加零
  1661. const formattedYjno = item.Gy0_yjno.length === 1 ? `0${item.Gy0_yjno}` : item.Gy0_yjno;
  1662. const formattedGxh = item.Gy0_gxh.length === 1 ? `0${item.Gy0_gxh}` : item.Gy0_gxh;
  1663. const concatenatedValue = `${formattedYjno}-${formattedGxh} ${item.Gy0_gxmc}`;
  1664. return {
  1665. ...item,
  1666. concatenatedData: concatenatedValue, // 使用新属性名
  1667. };
  1668. });
  1669. gxclhc_Data.value = concatenatedData;
  1670. };
  1671. //工序产量核查
  1672. const gxclhcCellClass = ({row, column, rowIndex, columnIndex}) =>{
  1673. if (column.label === '实际上报产量' ||column.label === '制程废品' || column.label === '制程废品率' ||
  1674. column.label === '来料异常' || column.label === '流程单数' || column.label === '当前设备') {
  1675. return 'lan-plan-usage-lows';
  1676. }
  1677. if (column.label === '折算车头产量') {
  1678. return 'gxclhc—color-column-red';
  1679. }
  1680. // 如果不是 'PD_WG' 列,返回空字符串或其他样式类
  1681. if (column.label === '工序状态'){
  1682. if(row['PD_WG'] === '完工'){
  1683. return 'lan-plan-usage-lowshui';
  1684. }else{
  1685. return 'pczccolor-column-lan';
  1686. }
  1687. }
  1688. }
  1689. // =========== 流程单查询 ===========
  1690. const gd_lcdlist = ref(false);
  1691. const gd_lcdformData = reactive({
  1692. gdbh: '',
  1693. code: '',
  1694. name: '',
  1695. });
  1696. // 流程单查询按钮
  1697. const processList = ref([]);
  1698. const gdlcdcxconlick = async () => {
  1699. if(_Gd_gdbh.value === '' || _Gd_gdbh.value === null){
  1700. ElMessage({type: 'warning',message: '请选择具体的工单,在进行操作'})
  1701. return false;
  1702. }else{
  1703. gd_lcdformData['gdbh'] = _Gd_gdbh.value;
  1704. _getOrderProcessLeft_list();
  1705. gd_lcdlist.value = true;
  1706. processList.value = []
  1707. }
  1708. }
  1709. //流程单查询回车
  1710. const gd_lcdProductValue = async () => {
  1711. _getOrderProcessLeft_list();
  1712. }
  1713. const lcd_treeData = ref([]);
  1714. const _getOrderProcessLeft_list = async () => {
  1715. const order = gd_lcdformData['gdbh'];
  1716. try {
  1717. //5.1流程单查询-工单工序生产进程菜单栏
  1718. const getOrderProcessLeft_list = await getOrderProcessLeft({ order:order});
  1719. gd_lcdformData['code'] = getOrderProcessLeft_list.data.Gd_info['code'];
  1720. gd_lcdformData['name'] = getOrderProcessLeft_list.data.Gd_info['name'];
  1721. lcd_treeData.value = [{
  1722. label: order + '-' + getOrderProcessLeft_list.data.Gd_info['name'],
  1723. // label: getOrderProcessLeft_list.data.Gd_info['code'] + '-' + getOrderProcessLeft_list.data.Gd_info['name'],
  1724. value: undefined,
  1725. children: []
  1726. }]
  1727. const newData = [];
  1728. for (let key in getOrderProcessLeft_list.data.Gy_info) {
  1729. let temp = getOrderProcessLeft_list.data.Gy_info[key];
  1730. let concatenatedValue = `${temp.Gy0_yjno}-${temp.Gy0_gxh} ---> ${temp.Gy0_gxmc}`;
  1731. newData.push({ label: concatenatedValue,value: temp.Gy0_gxh });
  1732. }
  1733. lcd_treeData.value[0].children = newData;
  1734. //5.2流程单查询-获取工单工序生产进程右侧【接口】【进入页面默认显示第一个数据】
  1735. const getOrderProcessRight_list = await getOrderProcessRight({order: order, gxNo:newData[0].value});
  1736. processList.value = getOrderProcessRight_list.data
  1737. } catch (error) {
  1738. console.error(error);
  1739. }
  1740. };
  1741. //点击左侧获取工序显示右侧数据
  1742. const lcd_handleNodeClick = async (node) => {
  1743. if (node.value === undefined) return
  1744. const order = gd_lcdformData['gdbh'];
  1745. //5.2流程单查询-获取工单工序生产进程右侧【接口】
  1746. const getOrderProcessRight_list = await getOrderProcessRight({order:order, gxNo:node.value});
  1747. processList.value = getOrderProcessRight_list.data
  1748. };
  1749. // 流程单查询退出
  1750. const gd_lcdCancel = async () => {
  1751. gd_lcdlist.value = false;
  1752. }
  1753. // =========== 新增工单资料 ===========
  1754. // 获取当前日期
  1755. const today = new Date();
  1756. const year = today.getFullYear();
  1757. const month = String(today.getMonth() + 1).padStart(2, '0'); // 月份从 0 开始,需要补零
  1758. const day = String(today.getDate()).padStart(2, '0');
  1759. const currentDate = `${year}-${month}-${day}`;
  1760. const add_gddialogFormVisible = ref(false)
  1761. const add_gdscgdformData = reactive({
  1762. 重点工单: '',
  1763. 开单日期: '',
  1764. 工单编号: '',
  1765. 生产类型: '',
  1766. 客户代号: '',
  1767. 客户名称: '',
  1768. 产品代号: '',
  1769. 产品名称: '',
  1770. 印件代号: '',
  1771. 印件名称: '',
  1772. 订单数量: '',
  1773. 交货日期: '',
  1774. 投料率: '',
  1775. 平均合格率: '',
  1776. 平张投料: '',
  1777. 万小张: '',
  1778. 单位: '',
  1779. 投料大箱: '',
  1780. 库存大箱: '',
  1781. 销售订单号: '',
  1782. 警语版面: '',
  1783. 版本号: '',
  1784. 客户ERP编码: '',
  1785. 码源数量: '',
  1786. 进程备注: '',
  1787. 备注: '',
  1788. });
  1789. //清空对象的属性值
  1790. const gd_clearFormData = () => {
  1791. Object.keys(add_gdscgdformData).forEach(key => {
  1792. add_gdscgdformData[key] = '';
  1793. });
  1794. };
  1795. //新增工单资料按钮
  1796. const addgd_onclick = () => {
  1797. gd_clearFormData();
  1798. add_gdscgdformData['重点工单'] = '打样工单';
  1799. add_gdscgdformData['订单数量'] = 0;
  1800. add_gdscgdformData['平张投料'] = 0;
  1801. add_gdscgdformData['万小张'] = 0;
  1802. add_gdscgdformData['单位'] = "张";
  1803. add_gdscgdformData['投料大箱'] = 0;
  1804. add_gdscgdformData['码源数量'] = 0;
  1805. add_gdscgdformData['开单日期'] = currentDate;
  1806. add_gddialogFormVisible.value = true
  1807. }
  1808. //新增工单资料确定
  1809. const add_gdenterDialog = () => {
  1810. console.log(add_gdscgdformData)
  1811. // add_gddialogFormVisible.value = false
  1812. }
  1813. //新增工单资料取消
  1814. const add_gdcloseDialog = () => {
  1815. add_gddialogFormVisible.value = false
  1816. }
  1817. //新增工单资料弹窗 键盘 input框跳转
  1818. const add_gdzlent = (event,id1,id2,id3) => {
  1819. console.log(event.keyCode)
  1820. if(event.keyCode === 40){
  1821. if(id3!=''){
  1822. document.getElementById(id3).focus()
  1823. }
  1824. }else if (event.keyCode === 13) { // Enter 或向下箭头
  1825. if(id3!=''){
  1826. document.getElementById(id3).focus()
  1827. }
  1828. } else if (event.keyCode === 38) { // 向上箭头
  1829. if(id1!=''){
  1830. document.getElementById(id1).focus()
  1831. }
  1832. }else if (event.keyCode === 8) { // 删除箭头
  1833. if(id1!='' && document.getElementById(id2).value==''){
  1834. document.getElementById(id1).focus()
  1835. }
  1836. // console.log(document.getElementById(id2).value)
  1837. }else if (event.keyCode === 37) { // 向左箭头
  1838. if(id1!='' && document.getElementById(id2).selectionStart==0){
  1839. document.getElementById(id1).focus()
  1840. }
  1841. }else if (event.keyCode === 39) { // 向右箭头
  1842. if(id3!='' && document.getElementById(id2).selectionStart == document.getElementById(id2).value.length){
  1843. document.getElementById(id3).focus()
  1844. }
  1845. }
  1846. }
  1847. // =========== 新增印件资料 ===========
  1848. //默认弹窗关闭
  1849. const add_gdyjdialogFormVisible = ref(false)
  1850. const add_yjzlformdata = reactive({
  1851. yjno: '',
  1852. yjdh: '',
  1853. yjmc: '',
  1854. zzdh: '',
  1855. zzdh1: '',
  1856. zzdh2: '',
  1857. zzdh3: '',
  1858. zzdh4: '',
  1859. zzmc: '',
  1860. zzmc1: '',
  1861. zzmc2: '',
  1862. zzmc3: '',
  1863. zzmc4: '',
  1864. cpsl: '',
  1865. sjtl: '',
  1866. pztl: '',
  1867. tlgg: '',
  1868. klgg: '',
  1869. hsgg: '',
  1870. ks: '',
  1871. ls: '',
  1872. desc: '',
  1873. 万小张: '',
  1874. });
  1875. //清空对象的属性值
  1876. const gdyj_clearFormData = () => {
  1877. Object.keys(add_yjzlformdata).forEach(key => {
  1878. add_yjzlformdata[key] = '';
  1879. });
  1880. };
  1881. //新增印件资料弹窗
  1882. const addgdyj_onclick = () => {
  1883. gdyj_clearFormData();
  1884. add_gdyjdialogFormVisible.value = true
  1885. }
  1886. //印件新增确定
  1887. const add_gdyjenterDialog = () => {
  1888. console.log(add_yjzlformdata)
  1889. // add_gdyjdialogFormVisible.value = false
  1890. }
  1891. //印件新增取消
  1892. const add_dyjcloseDialog = () => {
  1893. add_gdyjdialogFormVisible.value = false
  1894. }
  1895. // =========== 新增工艺资料 ===========
  1896. //默认弹窗关闭
  1897. const add_gdgydialogFormVisible = ref(false)
  1898. const add_gdgyformData = reactive({});
  1899. //清空对象的属性值
  1900. const gdgy_clearFormData = () => {
  1901. Object.keys(add_gdgyformData).forEach(key => {
  1902. add_gdgyformData[key] = '';
  1903. });
  1904. };
  1905. //新增工艺资料弹窗
  1906. const addgdgy_onclick = () => {
  1907. gdgy_clearFormData(); // 调用清空函数
  1908. add_gdgydialogFormVisible.value = true
  1909. }
  1910. //新增工艺资料确定
  1911. const add_gdgyenterDialog = () => {
  1912. console.log(add_gdgyformData)
  1913. // add_gdgydialogFormVisible.value = false
  1914. }
  1915. //新增工艺资料取消
  1916. const add_gdgycloseDialog = () => {
  1917. add_gdgydialogFormVisible.value = false
  1918. }
  1919. // =========== 查改U8工单 ===========
  1920. const cgugdlist = ref(false);
  1921. const cgugdformData = reactive({
  1922. gdbh: '',
  1923. cpdh: '',
  1924. gdmc: '',
  1925. });
  1926. const cgugdtableData = ref([]);
  1927. //查改U8工单【按钮】
  1928. const oneditugdclick = () => {
  1929. if(_Gd_gdbh.value == null){
  1930. cgugdlist.value = false;
  1931. ElMessage({
  1932. type: 'warning',
  1933. message: '请选择具体的工单后,再操作此功能'
  1934. })
  1935. }else{
  1936. cgugdformData['gdbh'] = _Gd_gdbh.value;
  1937. cgugdformData['cpdh'] = _Gd_cpdh.value;
  1938. cgugdformData['gdmc'] = _Gd_cpmc.value;
  1939. _U8workOrder();
  1940. cgugdlist.value = true;
  1941. }
  1942. };
  1943. //查改U8工单【回车】
  1944. const cgugdProductValue = () => {
  1945. _U8workOrder();
  1946. };
  1947. //查改U8工单->工单列表
  1948. const _U8workOrder = async ()=>{
  1949. let workOrder = cgugdformData['gdbh'];
  1950. // console.log(workOrder)
  1951. try {
  1952. const U8workOrderdata = await U8workOrder({workOrder:workOrder});
  1953. cgugdtableData.value = U8workOrderdata.data;
  1954. } catch (error) {
  1955. console.error(error);
  1956. }
  1957. }
  1958. // // 多选数据
  1959. // const multipleSelection = ref([]);
  1960. //
  1961. // // 多选
  1962. // const cguzlgd_del = (val) => {
  1963. // if (Array.isArray(val) && val.length === 0) {
  1964. // multipleSelection.value = [];
  1965. // } else {
  1966. // multipleSelection.value.push(...val.map(item => item.序号));
  1967. // }
  1968. // }
  1969. //查改U8工单(工单删除)
  1970. const oncgugdclickdel = async ()=>{
  1971. const Uniqid = multipleSelection.value.join(',');
  1972. try {
  1973. const U8DataCorrection_del = await U8DataCorrection({Uniqid:Uniqid});
  1974. if (U8DataCorrection_del.code === 0) {
  1975. multipleSelection.value = [];
  1976. ElMessage({type: 'success',message: '删除成功'})
  1977. } else {
  1978. ElMessage({type: 'error',message: '删除失败'})
  1979. }
  1980. // 清空 multipleSelection 为空数组,只有在处理完数据后清空
  1981. } catch (error) {
  1982. console.error(error);
  1983. }
  1984. }
  1985. //查改U8工单【退出】
  1986. const oncgugdcloneclick = () => {
  1987. cgugdlist.value = false;
  1988. };
  1989. // =========== 工艺流程调整 ===========
  1990. const gylctztableColumns = ref(
  1991. [
  1992. { label: '方案', prop: '方案', width: '60' },
  1993. { label: '印件号', prop: '印件号', width: '70' },
  1994. { label: '工序号', prop: '工序号', width: '80' },
  1995. { label: '工序名称', prop: '工序名称', width: '440' },
  1996. { label: '工价系数', prop: '工价系数', width: '100' },
  1997. { label: '损耗系数', prop: '损耗系数', width: '100' },
  1998. { label: '开数', prop: 'ks', width: '60' },
  1999. { label: '联数', prop: 'ls', width: '60' },
  2000. { label: '备注', prop: '备注', width: '200' },
  2001. { label: '车间', prop: '车间', width: '90' },
  2002. { label: '设备编号', prop: '设备编号', width: '100' },
  2003. { label: '设备名称', prop: '设备名称', width: '100' },
  2004. { label: '建档用户', prop: '建档用户', width: '100' },
  2005. { label: '建档时间', prop: '建档时间', width: '160' },
  2006. { label: '更新时间', prop: '更新时间', width: '160' },
  2007. ]
  2008. )
  2009. const gylctz_handleKeyDown = (event, x, y, prop) => {
  2010. const currentElement = document.getElementById(`input${x}${y}`);
  2011. if (currentElement === null && currentElement === undefined) return
  2012. switch (event.keyCode) {
  2013. case 13: // Enter
  2014. case 40: // 向下箭头
  2015. if (y < gylctztableData.value.length )
  2016. document.getElementById(`input${x}${y + 1}`).focus();
  2017. break;
  2018. case 38: // 向上箭头
  2019. if ( y > 0) {
  2020. document.getElementById(`input${x}${y - 1}`).focus();
  2021. }
  2022. break;
  2023. default:
  2024. break;
  2025. }
  2026. }
  2027. const gylctzlist = ref(false);
  2028. const gylctzformData = reactive({
  2029. gdbh: '',
  2030. gddh: '',
  2031. gdmc: '',
  2032. });
  2033. const gylctztableData = ref([]);
  2034. //工艺流程调整【按钮】
  2035. const oneditgylctzclick = () => {
  2036. if(_Gd_gdbh.value == null){
  2037. gylctzlist.value = false;
  2038. ElMessage({
  2039. type: 'warning',
  2040. message: '请选择具体的工单后,再操作此功能'
  2041. })
  2042. }else{
  2043. gylctzformData['gdbh'] = _Gd_gdbh.value;
  2044. _ProcessFlow();
  2045. gylctzlist.value = true;
  2046. }
  2047. };
  2048. ////工艺流程调整【回车】
  2049. const gylctzProductValue = () => {
  2050. _ProcessFlow();
  2051. };
  2052. // 工艺流程调整->获取当前工单工艺资料
  2053. const _ProcessFlow = async ()=>{
  2054. let workOrder = gylctzformData['gdbh'];
  2055. try {
  2056. const ProcessFlowdata = await ProcessFlow({workOrder:workOrder});
  2057. gylctzformData["gddh"] = ProcessFlowdata.data.成品编号;
  2058. gylctzformData["gdmc"] = ProcessFlowdata.data.成品名称;
  2059. gylctztableData.value = ProcessFlowdata.data.process;
  2060. } catch (error) {
  2061. console.error(error);
  2062. }
  2063. }
  2064. //附加标准工序【按钮】
  2065. const gdzlfjxx = ref(false);
  2066. const gdzlfjxxformData = reactive({
  2067. gdbh: '',
  2068. cpmc: '',
  2069. // 下拉框选项数据
  2070. cpgyfans: [],
  2071. // 设置默认值
  2072. cpgyfan: '',
  2073. });
  2074. //点击下拉框获取输入框的值
  2075. const ongdzlfanclick = () => {
  2076. const workOrder = gdzlfjxxformData.cpgyfan;
  2077. _ProcessFlow_xiala(workOrder);
  2078. }
  2079. // 工艺流程调整->获取当前工单工艺资料
  2080. const gdzlfjxxtableData = ref([]);
  2081. const _ProcessFlow_xiala = async (workOrder)=>{
  2082. try {
  2083. const ProcessFlow_xiala = await ProcessFlow({ workOrder });
  2084. if (ProcessFlow_xiala.data) {
  2085. gdzlfjxxtableData.value = ProcessFlow_xiala.data.process;
  2086. } else {
  2087. console.log("工艺流程调整->获取当前工单工艺资料 中缺少 data 属性");
  2088. }
  2089. } catch (error) {
  2090. console.error(error);
  2091. }
  2092. }
  2093. //工艺方案附加【下拉框工单编号数据】
  2094. const attachList = ref([])
  2095. const attachChange = (val) => {
  2096. attachList.value = val
  2097. }
  2098. //工艺方案附加【执行】
  2099. const addGongyiAttach = () => {
  2100. attachList.value.map(row => gylctztableData.value.push(row))
  2101. gdzlfjxx.value = false
  2102. }
  2103. const gdzlfjxxtableColumns = ref(
  2104. [
  2105. { label: '方案', prop: '方案', width: '70' },
  2106. { label: '印件号', prop: '印件号', width: '70' },
  2107. { label: '工序号', prop: '工序号', width: '70' },
  2108. { label: '工序名称', prop: '工序名称', width: '370' },
  2109. { label: '工价系数', prop: '工价系数', width: '87' },
  2110. { label: '损耗系数', prop: '损耗系数', width: '87' },
  2111. { label: '开数', prop: 'ks', width: '65' },
  2112. { label: '联数', prop: 'ls', width: '65' },
  2113. { label: '备注', prop: '备注', width: '240' },
  2114. { label: '车间', prop: '车间', width: '105' },
  2115. { label: '设备编号', prop: '设备编号', width: '100' },
  2116. { label: '设备名称', prop: '设备名称', width: '100' },
  2117. { label: '建档用户', prop: '建档用户', width: '100' },
  2118. { label: '建档时间', prop: '建档时间', width: '160' },
  2119. { label: '更新时间', prop: '更新时间', width: '160' },
  2120. ]
  2121. )
  2122. //工艺方案附加【放弃】
  2123. const gylcfj_fangqi = () => {
  2124. gdzlfjxx.value = false
  2125. }
  2126. //点击附加标准工序【按钮】
  2127. const gylctz_fjbzgx = async () => {
  2128. gdzlfjxxformData['cpdh'] = gylctzformData['gddh'];
  2129. gdzlfjxxformData['cpmc'] = gylctzformData['gdmc'];
  2130. gdzlfjxxtableData.value = [];
  2131. await _ReferenceWorkOrder();
  2132. gdzlfjxx.value = true;
  2133. };
  2134. // 工艺流程调整->参照工单列表获取【展示下拉框的数据】
  2135. const _ReferenceWorkOrder = async ()=>{
  2136. let params = {};
  2137. params.productCode = gylctzformData['gddh'];
  2138. params.workOrder = _Gd_gdbh.value;
  2139. try {
  2140. const ReferenceWorkOrder_data = await ReferenceWorkOrder(params);
  2141. if(ReferenceWorkOrder_data.code === 0){
  2142. // 从数据中提取方案
  2143. const schemes = ReferenceWorkOrder_data.data || [];
  2144. // 直接将数组作为工艺方案数组
  2145. gdzlfjxxformData.cpgyfans = schemes;
  2146. if (gdzlfjxxformData.cpgyfans.length > 0) {
  2147. gdzlfjxxformData.cpgyfan = [gdzlfjxxformData.cpgyfans[0]];
  2148. }
  2149. //默认获取下拉框第一个值
  2150. const workOrder = gdzlfjxxformData.cpgyfan[0]
  2151. gdzlfjxxformData.cpgyfan = gdzlfjxxformData.cpgyfans[0]
  2152. _ProcessFlow_xiala(workOrder)
  2153. }else{
  2154. console.log("该产品下没有工单")
  2155. }
  2156. } catch (error) {
  2157. console.error(error);
  2158. }
  2159. }
  2160. //更新当前产品工序【按钮】
  2161. const gylctz_gxdqcpgx = async () => {
  2162. const rawValueArray = gylctztableData.value;
  2163. const formattedData = rawValueArray.map(item => {
  2164. return {
  2165. workOrder: gylctzformData['gdbh'],
  2166. UniqId: item.UniqId,
  2167. gxh: item['工序号'],
  2168. }
  2169. });
  2170. const ProcessCopy_edit = await ProcessCopy(formattedData);
  2171. console.log(ProcessCopy_edit)
  2172. // if(ProcessCopy_edit.code === 0) {
  2173. // ElMessage({type: 'success',message: '更新成功'})
  2174. // } else {
  2175. // ElMessage({type: 'error',message: '更新失败' })
  2176. // }
  2177. };
  2178. //放弃操作【按钮】
  2179. const gylctzhandleCancel = () => {
  2180. gylctzlist.value = false;
  2181. };
  2182. // =========== 工序产量核算 ===========
  2183. const gxclhslist = ref(false);
  2184. const gxclhsformData = reactive({
  2185. gdbh: '',
  2186. });
  2187. //工序产量核算【按钮】
  2188. const oneditgxclhsclick = () => {
  2189. if(_Gd_gdbh.value == null){
  2190. gxclhslist.value = false;
  2191. ElMessage({
  2192. type: 'warning',
  2193. message: '请选择具体的工单后,再操作此功能'
  2194. })
  2195. }else{
  2196. gxclhsformData['gdbh'] = _Gd_gdbh.value;
  2197. gxclhslist.value = true;
  2198. }
  2199. };
  2200. //工序产量核算【确定】
  2201. const gxclhshandleConfirm = () => {gxclhslist.value = false;};
  2202. //工序产量核算【取消】
  2203. const gxclhshandleCancel = () => {gxclhslist.value = false;};
  2204. // =========== U8投料试算 ===========
  2205. const tlsslist = ref(false);
  2206. const tlsstableData = ref([]);
  2207. const tlssformData = reactive({
  2208. cpdh: '',
  2209. cpmc: '',
  2210. cpzs: '',
  2211. zytldzs: '',
  2212. mbhgl: '',
  2213. shs: '',
  2214. });
  2215. //点击U8投料试算【按钮】
  2216. const ontlssclick = () => {
  2217. //工单编号
  2218. if(_Gd_gdbh.value == null){
  2219. tlsslist.value = false;
  2220. ElMessage({
  2221. type: 'warning',
  2222. message: '请选择具体的工单后,再操作此功能'
  2223. })
  2224. }else{
  2225. // //产品代号
  2226. // if( _Gd_cpdh.value === ''){
  2227. // tlsslist.value = false;
  2228. // ElMessage({
  2229. // type: 'warning',
  2230. // message: '该产品号未查询到'
  2231. // })
  2232. // }else{
  2233. // tlssformData['cpdh'] = _Gd_cpdh.value;
  2234. tlssformData['cpdh'] = '100401101';
  2235. tlssformData['cpmc'] = _Gd_cpmc.value;
  2236. tlsslist.value = true;
  2237. _U8Trial();
  2238. // }
  2239. }
  2240. };
  2241. //点击U8投料试算【回车】
  2242. const tlssgetProductValue = async () => {
  2243. _U8Trial();
  2244. };
  2245. //点击U8投料试算【成品张数回车】
  2246. const tlsscpzsgetProductValue = async () => {
  2247. console.log("成品张数回车")
  2248. };
  2249. //U8投料试算
  2250. const _U8Trial = async ()=>{
  2251. let productCode = tlssformData['cpdh'];
  2252. console.log(productCode)
  2253. try {
  2254. const U8Trialdata = await U8Trial({productCode:productCode});
  2255. console.log(U8Trialdata)
  2256. tlsstableData.value = U8Trialdata.data;
  2257. } catch (error) {
  2258. console.error(error);
  2259. }
  2260. }
  2261. //U8投料试算【退出】
  2262. const oncloneclick = () => {tlsslist.value = false;};
  2263. // =========== 引用产品资料 ===========
  2264. const yycpzlformData = reactive({
  2265. gdbh: '',
  2266. khdh: '',
  2267. khmc: '',
  2268. cpdh: '',
  2269. cpmc: '',
  2270. yjzl:true,
  2271. gyap: true,
  2272. gyfa: '',
  2273. });
  2274. const onyycpzllist = ref(false);
  2275. //引用产品资料【按钮】
  2276. const onyycpzlclick = () => {
  2277. if(_Gd_gdbh.value == null){
  2278. onyycpzllist.value = false;
  2279. ElMessage({type: 'warning',message: '请选择具体的工单后,再操作此功能'})
  2280. }else{
  2281. yycpzlformData['gdbh'] = _Gd_gdbh.value;
  2282. _ProductInformations();
  2283. onyycpzllist.value = true;
  2284. }
  2285. };
  2286. //引用产品资料【回车】
  2287. const yycpzlProductValue = async () => {
  2288. _ProductInformations();
  2289. };
  2290. //引用产品资料->获取产品资料
  2291. const _ProductInformations = async ()=>{
  2292. let workOrder = yycpzlformData['gdbh'];
  2293. // try {
  2294. const ProductInformations = await ProductInformation({workOrder:workOrder});
  2295. if(ProductInformations.msg === '未找到工单信息'){
  2296. yycpzlformData['khdh'] = '';
  2297. yycpzlformData['khmc'] = '';
  2298. yycpzlformData['cpdh'] = '';
  2299. yycpzlformData['cpmc'] = '';
  2300. ElMessage({type: 'warning',message: '未找到工单信息'})
  2301. return false;
  2302. }else{
  2303. yycpzlformData['gdbh'] = ProductInformations.data['工单编号'];
  2304. yycpzlformData['khdh'] = ProductInformations.data['客户代号'];
  2305. yycpzlformData['khmc'] = ProductInformations.data['客户名称'];
  2306. yycpzlformData['cpdh'] = ProductInformations.data['产品代号'];
  2307. yycpzlformData['cpmc'] = ProductInformations.data['产品名称'];
  2308. }
  2309. // } catch (error) {
  2310. // console.error(error);
  2311. // }
  2312. }
  2313. //引用产品资料【执行】
  2314. const yycpzlhandleConfirm = async () => {
  2315. _ProductInformationEdit();
  2316. };
  2317. //引用产品资料->获取产品资料
  2318. const _ProductInformationEdit = async ()=>{
  2319. let params = {}
  2320. params.oldWorkOrder = _Gd_gdbh.value;
  2321. params.newWorkOrder = yycpzlformData['gdbh'];
  2322. try {
  2323. const ProductInformationEditdata = await ProductInformationEdit(params);
  2324. if (ProductInformationEditdata.code === 0) {
  2325. ElMessage({
  2326. type: 'success',
  2327. message: '更新成功'
  2328. })
  2329. } else {
  2330. ElMessage({
  2331. type: 'error',
  2332. message: '更新失败'
  2333. })
  2334. }
  2335. } catch (error) {
  2336. console.error(error);
  2337. }
  2338. onyycpzllist.value = false;
  2339. }
  2340. //引用产品资料【放弃】
  2341. const yycpzlhandleCancel = () => {onyycpzllist.value = false;};
  2342. // =========== 左侧树侧形结构 ===========
  2343. const treeData = reactive({data:[]});
  2344. // const treeData = ref({})
  2345. const defaultProps = {
  2346. children: 'children',
  2347. label: 'label'
  2348. };
  2349. //工单资料菜单列表
  2350. const DataListdata = async () => {
  2351. try {
  2352. const data = await DataList();
  2353. for (let key in data.data) {
  2354. // 忽略 "productingAll" 和 "progressAll"
  2355. if (key !== "productingAll" && key !== "progressAll") {
  2356. let temp = data.data[key];
  2357. let object = {};
  2358. object.id = temp[0];
  2359. object.label = data.data[key];
  2360. object.children = [];
  2361. treeData.data.push(object);
  2362. }
  2363. }
  2364. } catch (error) {
  2365. console.error(error);
  2366. }
  2367. };
  2368. DataListdata();
  2369. //点击左侧树形获取编号
  2370. const tableData = reactive([])
  2371. const _Gd_khdh = ref(null)
  2372. const handleNodeClick = async (node) => {
  2373. searchInfo.value = '';
  2374. gytableData.value = [];
  2375. yjtableData.value = [];
  2376. bomtableData.value = [];
  2377. _Gd_khdh.value = node.label.substring(0, 4);
  2378. _WorkList_page();
  2379. };
  2380. //工单资料
  2381. const _WorkList_page = async () => {
  2382. try {
  2383. const WorkListdata = await WorkList({ Gd_khdh:_Gd_khdh.value,limit:pageSize.value,page:page.value});//接口调用函数
  2384. tableData.splice(0,tableData.length,...WorkListdata.data.data);//表格数据
  2385. total.value =WorkListdata.data.total;//共多少条
  2386. } catch (error) {
  2387. console.error(error);
  2388. }
  2389. };
  2390. //查询
  2391. const searchInfo = ref('')
  2392. //查询按钮
  2393. const onSubmit = () => {
  2394. _cha_WorkList();
  2395. };
  2396. const _cha_WorkList = async (node) => {
  2397. if(searchInfo.value === ''){
  2398. ElMessage({type: 'warning',message: '请输入搜索的信息'})
  2399. return false;
  2400. }
  2401. const search = searchInfo.value;
  2402. try {
  2403. const WorkListdata = await WorkList({ search:search,limit:1,page:1});//接口调用函数
  2404. if(WorkListdata.data.total === 0){
  2405. ElMessage({type: 'warning',message: '未搜索具体查询条件'})
  2406. }
  2407. tableData.splice(0,tableData.length,...WorkListdata.data.data);//表格数据
  2408. total.value = WorkListdata.data.total;//共多少条
  2409. } catch (error) {
  2410. console.error(error);
  2411. }
  2412. };
  2413. // 分页
  2414. const page = ref(1)
  2415. const total = ref(0)
  2416. const pageSize = ref(50)
  2417. const handleCurrentChange = (val) => {
  2418. page.value = val;
  2419. _WorkList_page();
  2420. };
  2421. // 修改页面容量 点击多少条/页
  2422. const handleSizeChange = (val) => {
  2423. // page.value = 10;
  2424. pageSize.value = val;
  2425. _WorkList_page();
  2426. };
  2427. //点击表格行获取下方表格数据列表
  2428. //印件资料
  2429. const yjtableData = ref([])
  2430. //工艺资料
  2431. const gytableData = ref([])
  2432. //BOM资料
  2433. const bomtableData = ref([])
  2434. //全局调用工单编号
  2435. const _Gd_gdbh = ref(null)
  2436. //全局调用产品代号
  2437. const _Gd_cpdh = ref(null)
  2438. //全局调用产品名称
  2439. const _Gd_cpmc = ref(null)
  2440. //工单印件、工艺、BOM详情
  2441. const tableRowClick = async (row) => {
  2442. _Gd_gdbh.value = row.工单编号;
  2443. _Gd_cpdh.value = row.产品代号;
  2444. _Gd_cpmc.value = row.产品名称;
  2445. const workOrderListDetail_data = await workOrderListDetail({Gd_gdbh:_Gd_gdbh.value});
  2446. yjtableData.value = workOrderListDetail_data.data.printList;
  2447. gytableData.value = workOrderListDetail_data.data.processList;
  2448. bomtableData.value = workOrderListDetail_data.data.BOM;
  2449. };
  2450. // 多选数据
  2451. const multipleSelection = ref([])
  2452. // 多选
  2453. const handleSelectionChange = (val) => {
  2454. multipleSelection.value = val
  2455. }
  2456. // 行为控制标记(弹窗内部需要增还是改)
  2457. const type = ref('')
  2458. //=========表格列表修改========
  2459. let scgdformData = ref([])
  2460. //双击修改
  2461. const updateCompanyFunc = async(row) => {
  2462. const DataCorrection_list = await DataCorrection({ Gd_gdbh:row['工单编号']});//接口调用函数
  2463. scgdformData.value = DataCorrection_list.data;
  2464. dialogFormVisible.value = true
  2465. }
  2466. // 弹窗控制标记
  2467. const dialogFormVisible = ref(false)
  2468. // 弹窗确定
  2469. const enterDialog = async () => {
  2470. const zdgx = /^[A-Za-z0-9\u4e00-\u9fa5\s]*$/.test(scgdformData.value['重点工单']);
  2471. if (!zdgx) {
  2472. ElMessage({ type: 'warning', message: '重点工单数据中 只允许出现中文、数字、空格' });
  2473. return false;
  2474. }
  2475. const formatDate = (date) => {
  2476. const year = date.getFullYear();
  2477. const month = String(date.getMonth() + 1).padStart(2, '0');
  2478. const day = String(date.getDate()).padStart(2, '0');
  2479. return `${year}-${month}-${day}`;
  2480. };
  2481. const formattedData = {
  2482. lx: scgdformData.value['重点工单'],
  2483. kdrq: formatDate(new Date(scgdformData.value['开单日期'])),
  2484. gdbh: scgdformData.value['工单编号'],
  2485. scfl: scgdformData.value['生产类型'],
  2486. khdh: scgdformData.value['客户代号'],
  2487. khmc: scgdformData.value['客户名称'],
  2488. cpdh: scgdformData.value['产品代号'],
  2489. cpmc: scgdformData.value['产品名称'],
  2490. ddsl: scgdformData.value['订单数量'],
  2491. jhrq: scgdformData.value['交货日期'],
  2492. tll: scgdformData.value['投料率'],
  2493. jhtl: scgdformData.value['平张投料'],
  2494. sjtl: scgdformData.value['万小张'],
  2495. jldw: scgdformData.value['单位'],
  2496. tldx: scgdformData.value['投料大箱'],
  2497. xsddh: scgdformData.value['销售订单号'],
  2498. jymb: scgdformData.value['警语版面'],
  2499. bbh: scgdformData.value['版本号'],
  2500. erp: scgdformData.value['客户ERP编码'],
  2501. ymsl: scgdformData.value['码源数量'],
  2502. jcbz: scgdformData.value['进程备注'],
  2503. desc: scgdformData.value['备注'],
  2504. Uniqid: scgdformData.value['Uniqid'],
  2505. yjdh: scgdformData.value['印件代号'],
  2506. yjmc: scgdformData.value['印件名称'],
  2507. kc: scgdformData.value['库存大箱'],
  2508. avg:scgdformData.value['平均合格率'] === undefined ? '' : scgdformData.value['平均合格率'],
  2509. printID: scgdformData.value['印件ID'],
  2510. };
  2511. const WorkOrderEdit_edit = await WorkOrderEdit(formattedData);
  2512. if (WorkOrderEdit_edit.code === 0) {
  2513. dialogFormVisible.value = false
  2514. ElMessage({type: 'success',message: '更新成功' })
  2515. } else {
  2516. ElMessage({type: 'error', message: '更新失败'})
  2517. }
  2518. }
  2519. // 关闭弹窗
  2520. const closeDialog = () => {dialogFormVisible.value = false}
  2521. //=========印件列表修改========
  2522. // 弹窗控制标记
  2523. const gdyjdialogFormVisible = ref(false)
  2524. const gdyjformData = reactive({})
  2525. //双击打开印件列表修改
  2526. const gdyjupdateCompanyFunc = async(row) => {
  2527. gdyjformData['开数'] = row['开数'];
  2528. gdyjformData['联数'] = row['联数'];
  2529. Object.assign(gdyjformData,row);
  2530. gdyjdialogFormVisible.value = true
  2531. }
  2532. //印件列表修改【确定】
  2533. const gdyjenterDialog = async () => {
  2534. const formattedData = {
  2535. Uniqid: gdyjformData['Uniqid'],
  2536. yjno: gdyjformData['印件号'] ? gdyjformData['印件号'] : "",
  2537. yjdh: gdyjformData['印件代号'] ? gdyjformData['印件代号'] : "",
  2538. yjmc: gdyjformData['印件名称'] ? gdyjformData['印件名称'] : "",
  2539. zzdh:gdyjformData['纸张代号'] ? gdyjformData['纸张代号'] : "",
  2540. zzmc:gdyjformData['纸张名称'] ? gdyjformData['纸张名称'] : "",
  2541. zzdh1:gdyjformData['zzdh1'] ? gdyjformData['zzdh1'] : "",
  2542. zzdh2:gdyjformData['zzdh2'] ? gdyjformData['zzdh2'] : "",
  2543. zzdh3:gdyjformData['zzdh3'] ? gdyjformData['zzdh3'] : "",
  2544. zzdh4:gdyjformData['zzdh4'] ? gdyjformData['zzdh4'] : "",
  2545. zzmc1:gdyjformData['zzmc1'] ? gdyjformData['zzmc1'] : "",
  2546. zzmc2:gdyjformData['zzmc2'] ? gdyjformData['zzmc2'] : "",
  2547. zzmc3:gdyjformData['zzmc3'] ? gdyjformData['zzmc3'] : "",
  2548. zzmc4:gdyjformData['zzmc4'] ? gdyjformData['zzmc4'] : "",
  2549. cpsl:gdyjformData['订单数量'] ? gdyjformData['订单数量'] : "",
  2550. pztl:gdyjformData['平张投料'] ? gdyjformData['平张投料'] : "",
  2551. sjtl:gdyjformData['万小张'] ? gdyjformData['万小张'] : "",
  2552. tlgg:gdyjformData['投料规格'] ? gdyjformData['投料规格'] : "",
  2553. klgg:gdyjformData['开料规格'] ? gdyjformData['开料规格'] : "",
  2554. ks:gdyjformData['开数'] ? gdyjformData['开数'] : "",
  2555. ls:gdyjformData['联数'] ? gdyjformData['联数'] : "",
  2556. hsgg:gdyjformData['核算规格'] ? gdyjformData['核算规格'] : "",
  2557. desc:gdyjformData['备注'] ? gdyjformData['备注'] : "",
  2558. };
  2559. const PrintedEdit_edit = await PrintedEdit(formattedData);
  2560. if (PrintedEdit_edit.code === 0) {
  2561. gdyjdialogFormVisible.value = false
  2562. ElMessage({type: 'success',message: '更新成功' })
  2563. } else {
  2564. ElMessage({type: 'error', message: '更新失败'})
  2565. }
  2566. }
  2567. // 印件列表修改【关闭弹窗】
  2568. const gdyjcloseDialog = () => {
  2569. gdyjdialogFormVisible.value = false
  2570. }
  2571. //=========工艺修改========
  2572. const gdgydialogFormVisible = ref(false)
  2573. const gdgyformData = reactive({})
  2574. const gdzl_MachineList_address = reactive({
  2575. data: []
  2576. });
  2577. const _cjmc = ref(null);
  2578. //双击修改
  2579. const gdgyupdateCompanyFunc = async(row) => {
  2580. gdgyformData['设备编号'] = [];
  2581. if(row['车间名称']){
  2582. _cjmc.value = row['车间名称']
  2583. }else{
  2584. _cjmc.value = '';
  2585. }
  2586. //通过车间名称查询机台
  2587. const MachineList_jitai = await gdzl_MachineList({address:_cjmc.value});
  2588. gdzl_MachineList_address.data = MachineList_jitai.data;
  2589. // 示例字符串
  2590. const processName = row['工序名称'];
  2591. // 初始化工艺名称和工序名称
  2592. let technologyName = '';
  2593. let operationName = '';
  2594. // 检查字符串中是否包含【】
  2595. const bracketIndex = processName.indexOf('【');
  2596. if (bracketIndex !== -1) {
  2597. // 如果包含【】,则分割字符串
  2598. technologyName = processName.substring(0, bracketIndex).trim();
  2599. operationName = processName.substring(bracketIndex + 1, processName.indexOf('】')).trim();
  2600. } else {
  2601. // 如果没有【】,则整个字符串是工艺名称,工序名称为空
  2602. technologyName = processName.trim();
  2603. }
  2604. // 示例字符串
  2605. const printProcess = row['印件-工序'];
  2606. // 初始化印件和工序
  2607. let yinjian = '';
  2608. let gongxu = '';
  2609. // 检查字符串中是否包含 "-"
  2610. const dashIndex = printProcess.indexOf('-');
  2611. if (dashIndex !== -1) {
  2612. // 如果包含 "-",则分割字符串
  2613. yinjian = printProcess.substring(0, dashIndex).trim();
  2614. gongxu = printProcess.substring(dashIndex + 1).trim();
  2615. } else {
  2616. // 如果没有 "-",则整个字符串是印件,工序为空
  2617. yinjian = printProcess.trim();
  2618. }
  2619. gdgyformData['印件'] = yinjian;
  2620. gdgyformData['工序'] = gongxu;
  2621. gdgyformData['工艺名称'] = technologyName;
  2622. gdgyformData['工序名称'] = operationName;
  2623. Object.assign(gdgyformData,row);
  2624. gdgydialogFormVisible.value = true
  2625. }
  2626. //工艺列表修改【确定】
  2627. const gdgyenterDialog = async () => {
  2628. if(_Gd_gdbh.value){
  2629. const selectedValuesAsString = gdgyformData['设备编号'].join(' ');
  2630. if(gdgyformData['shdh'] === ''){
  2631. ElMessage({type: 'warning', message: '工序损耗不能为空'})
  2632. return false;
  2633. }
  2634. if(gdgyformData['小时产能'] === '' || gdgyformData['小时产能'] === "0"){
  2635. ElMessage({type: 'warning', message: '排产小时产能 不能为空或0'})
  2636. return false;
  2637. }
  2638. if(gdgyformData['设备编号'] === '' || gdgyformData['设备编号'] === "0"){
  2639. ElMessage({type: 'warning', message: '设备编号 不能为空'})
  2640. return false;
  2641. }
  2642. const formattedData = {
  2643. sbbh: selectedValuesAsString ? selectedValuesAsString : "",
  2644. shdh: gdgyformData['shdh'] ? gdgyformData['shdh'] : "",
  2645. shxs:gdgyformData['损耗系数'] ? gdgyformData['损耗系数'] : "",
  2646. ndxs:gdgyformData['难度系数'] ? gdgyformData['难度系数'] : "",
  2647. zdgx: gdgyformData['重点工序'] ? gdgyformData['重点工序'] : "",
  2648. xscn: gdgyformData['小时产能'] ? gdgyformData['小时产能'] : "",
  2649. bxgx: gdgyformData['备选工序'] ? 1 : "",
  2650. UniqId: gdgyformData['UniqId'],
  2651. workOrder: _Gd_gdbh.value,
  2652. };
  2653. // const ProcessDetailEdit_edit = await ProcessDetailEdit(formattedData);
  2654. if (ProcessDetailEdit_edit.code === 0) {
  2655. gdgydialogFormVisible.value = false
  2656. ElMessage({type: 'success',message: '更新成功' })
  2657. } else {
  2658. ElMessage({type: 'error', message: '更新失败'})
  2659. }
  2660. }else{
  2661. ElMessage({type: 'error', message: '更新失败'})
  2662. }
  2663. gdgyformData['设备编号'] = [];
  2664. }
  2665. //工艺列表修改【关闭弹窗】
  2666. const gdgycloseDialog = () => {
  2667. gdgyformData['设备编号'] = [];
  2668. gdgydialogFormVisible.value = false
  2669. }
  2670. //点击设备编号
  2671. const _capacityListsbbh = ref(null)
  2672. const sbbhclick = () => {
  2673. _capacityList();
  2674. }
  2675. const _capacityList = async () => {
  2676. if(gdgyformData['设备编号'] === ''){
  2677. return false;
  2678. }else{
  2679. _capacityListsbbh.value = gdgyformData['设备编号'].join(' ');
  2680. const editProductedit_machine = await capacityList({machine:_capacityListsbbh.value});
  2681. gdgyformData['小时产能'] = editProductedit_machine.data;
  2682. }
  2683. };
  2684. //=========BOM列表修改========
  2685. // const bomdialogFormVisible = ref(false)
  2686. // //双击修改
  2687. // const gdbomdialogFormVisible = async(row) => {
  2688. // Object.assign(scgdformData,row);
  2689. // bomdialogFormVisible.value = true
  2690. // }
  2691. // // BOM列表修改【确定】
  2692. // const bomenterDialog = () => {
  2693. // bomdialogFormVisible.value = false
  2694. // }
  2695. // // BOM列表修改【关闭弹窗】
  2696. // const bomcloseDialog = () => {
  2697. // bomdialogFormVisible.value = false
  2698. // }
  2699. //截取印件前两位
  2700. const clickybupdate2 = (row,column,event) => {
  2701. currentGy0_yjno.value = row['印件-工序'].substr(0, 2)
  2702. }
  2703. //===============颜色==================================
  2704. //工艺资料背景颜色变黄
  2705. const currentGy0_yjno = ref(null)
  2706. const rowClassStyle2 = ({row,rowIndex}) =>{
  2707. if(row['印件-工序'].substr(0, 2)==currentGy0_yjno.value){
  2708. return "warning-row"
  2709. }
  2710. return "warning-row"
  2711. }
  2712. //表格文字颜色
  2713. const tableDataCellClass = ({row, column, rowIndex, columnIndex}) =>{
  2714. if (column.property === '订单数量') {
  2715. return 'plan-usage-low';
  2716. }
  2717. }
  2718. //工艺流程调整颜色
  2719. const gylctzCellClass = ({row, column, rowIndex, columnIndex}) =>{
  2720. if (column.label === '工序号') {
  2721. return 'background-plan-usage-low';
  2722. }
  2723. }
  2724. //修正核算参数颜色
  2725. const sxzhscsCellClass = ({row, column, rowIndex, columnIndex}) =>{
  2726. if (column.label === '新难度系数' || column.label === '新损耗代号' || column.label === '新印刷方式' || column.label === '新来版距' || column.label === '新计损色数' || column.label === '新损耗系数') {
  2727. return 'background-plan-usage-low';
  2728. }
  2729. }
  2730. //质检废品系数颜色
  2731. const scfjfpxsCellClass = ({row, column, rowIndex, columnIndex}) =>{
  2732. if (column.label === '人工正品板' || column.label === '人工次品板' || column.label === '人工废检' || column.label === '机检正品板' || column.label === '机检次品板' || column.label === '机检废检') {
  2733. return 'background-plan-usage-low';
  2734. }
  2735. }
  2736. //根据工艺状态文字颜色
  2737. const gysatusCellClass = ({row, column, rowIndex, columnIndex}) =>{
  2738. if(row['status'] === '未完工'){
  2739. return 'status-plan-usage-low';
  2740. }
  2741. if(row['status'] === '已完工'){
  2742. return 'statusy-plan-usage-low';
  2743. }
  2744. }
  2745. //bom颜色
  2746. const planUsageCellClass = ({row, column, rowIndex, columnIndex}) =>{
  2747. if (column.property === '计划用量') {
  2748. return 'plan-usage-low';
  2749. }
  2750. }
  2751. //工艺文字变色
  2752. // const planUsageCellClass = ({row, column, rowIndex, columnIndex}) =>{
  2753. // if (column.property === '计划用量') {
  2754. // return 'plan-usage-low';
  2755. // }
  2756. // }
  2757. //修改工单资料弹窗 键盘 input框跳转
  2758. const gdzlent = (event,id1,id2,id3) => {
  2759. if (event.keyCode === 13 || event.keyCode === 40) { // Enter 或向下箭头
  2760. if(id3!=''){
  2761. document.getElementById(id3).focus()
  2762. }
  2763. } else if (event.keyCode === 38) { // 向上箭头
  2764. if(id1!=''){
  2765. document.getElementById(id1).focus()
  2766. }
  2767. }else if (event.keyCode === 8) { // 删除箭头
  2768. if(id1!='' && document.getElementById(id2).value==''){
  2769. document.getElementById(id1).focus()
  2770. }
  2771. // console.log(document.getElementById(id2).value)
  2772. }else if (event.keyCode === 37) { // 向左箭头
  2773. if(id1!='' && document.getElementById(id2).selectionStart==0){
  2774. document.getElementById(id1).focus()
  2775. }
  2776. }else if (event.keyCode === 39) { // 向右箭头
  2777. if(id3!='' && document.getElementById(id2).selectionStart == document.getElementById(id2).value.length){
  2778. document.getElementById(id3).focus()
  2779. }
  2780. }
  2781. }
  2782. //修改工艺资料弹窗 键盘 input框跳转
  2783. const gyzlent = (event,id1,id2,id3) => {
  2784. if (event.keyCode === 13 || event.keyCode === 40) { // Enter 或向下箭头
  2785. if(id3!=''){
  2786. document.getElementById(id3).focus()
  2787. }
  2788. } else if (event.keyCode === 38) { // 向上箭头
  2789. if(id1!=''){
  2790. document.getElementById(id1).focus()
  2791. }
  2792. }else if (event.keyCode === 8) { // 删除箭头
  2793. if(id1!='' && document.getElementById(id2).value==''){
  2794. document.getElementById(id1).focus()
  2795. }
  2796. // console.log(document.getElementById(id2).value)
  2797. }else if (event.keyCode === 37) { // 向左箭头
  2798. if(id1!='' && document.getElementById(id2).selectionStart==0){
  2799. document.getElementById(id1).focus()
  2800. }
  2801. }else if (event.keyCode === 39) { // 向右箭头
  2802. if(id3!='' && document.getElementById(id2).selectionStart == document.getElementById(id2).value.length){
  2803. document.getElementById(id3).focus()
  2804. }
  2805. }
  2806. }
  2807. </script>
  2808. <style scoped>
  2809. /* 在样式表中使用媒体查询 */
  2810. @media (max-width: 768px) {
  2811. /* 在小屏幕下的样式设置 */
  2812. .dialog-footer {
  2813. text-align: center;
  2814. }
  2815. }
  2816. /*工序产量核查*/
  2817. :deep(.gxclhc—color-column-red div) {
  2818. color: red !important;
  2819. }
  2820. :deep(.lan-plan-usage-lows div) {
  2821. color: blue !important;
  2822. font-weight: bold;
  2823. }
  2824. :deep(.lan-plan-usage-lowshui div) {
  2825. color: #8c939d !important;
  2826. }
  2827. /*背景颜色*/
  2828. /*印件背景颜色变黄*/
  2829. :deep(.el-table__body .warning-row) {
  2830. background: #FFFF80 !important;
  2831. }
  2832. /*修正工单核算参数背景*/
  2833. :deep(.el-table__body .background-plan-usage-low div div div) {
  2834. background: #80FA80 !important;
  2835. }
  2836. /* 选中某行时的背景色 */
  2837. :deep(.el-table__body tr.current-row) > td {
  2838. background: #ff80ff !important;
  2839. }
  2840. /*文字颜色*/
  2841. /*bom计划用量文字变色【表格中单独文字变色】*/
  2842. :deep(.plan-usage-low div) {
  2843. color: red !important;
  2844. }
  2845. /*根据工艺状态文字变色*/
  2846. :deep(.status-plan-usage-low div) {
  2847. color: blue !important;
  2848. }
  2849. :deep(.statusy-plan-usage-low div) {
  2850. color: #8c939d !important;
  2851. }
  2852. /* 在样式表中添加以下样式 */
  2853. .el-input__textarea {
  2854. resize: none; /* 禁止调整大小 */
  2855. }
  2856. .JKWTree-container {
  2857. display: flex;
  2858. }
  2859. .JKWTree-tree {
  2860. width: 300px;
  2861. background-color: #fff;
  2862. padding: 10px;
  2863. margin-right: 20px;
  2864. }
  2865. .JKWTree-tree h3 {
  2866. font-size: 15px;
  2867. font-weight: 700;
  2868. margin: 10px 0;
  2869. }
  2870. .JKWTree-content {
  2871. flex: 1;
  2872. }
  2873. /*关闭拖拽功能*/
  2874. .el-textarea textarea {
  2875. resize: none !important;
  2876. }
  2877. </style>
  2878. <style scoped>
  2879. :deep(.el-table td .cell) {
  2880. line-height: 20px !important;
  2881. }
  2882. :deep(.el-tabs__header){
  2883. margin-bottom: 0;
  2884. }
  2885. .search{
  2886. margin-left: 0px !important;
  2887. margin-right: 10px !important;
  2888. }
  2889. .bt{
  2890. margin-left: 2px !important;
  2891. padding: 3px !important;
  2892. font-size: 12px;
  2893. }
  2894. .el-tabs__header{
  2895. margin: 0px !important;
  2896. }
  2897. .gva-table-box{
  2898. padding: 0px !important;
  2899. }
  2900. .el-pagination{
  2901. margin-top: 0px !important;
  2902. }
  2903. .mab{
  2904. margin-bottom: 5px;
  2905. }
  2906. </style>