chanpinziliao.vue 102 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143
  1. <template>
  2. <div>
  3. <layout>
  4. <layout-header >
  5. <div class="">
  6. <!--按钮部分-->
  7. <el-form ref="elSearchFormRef" :inline="true" class="demo-form-inline" :rules="searchRule" @keyup.enter="onSubmit">
  8. <el-form-item>
  9. <el-input v-model="searchInfo" placeholder="搜索产品编号或产品名称" clearable style="width: 180px;"></el-input>
  10. <el-button type="primary" icon="search" @click="onSubmit" class="search"></el-button>
  11. <el-button type="primary" icon="edit" @click="onStatusClick" class="bt"><i class="el-icon-edit"></i>状态设置</el-button>
  12. <!-- <el-button type="primary" disabled icon="edit" @click="" style="margin-left: 10px">工艺方案复制</el-button>-->
  13. <el-button type="primary" icon="edit" @click="gygmClick" class="bt">工艺方案更名</el-button>
  14. <el-button type="primary" icon="edit" @click="fjClick" class="bt">工艺方案附加</el-button>
  15. <el-button type="primary" icon="edit" @click="jsssxzClick" class="bt">计损色数修正</el-button>
  16. <el-button type="primary" icon="edit" @click="fjfpxsClick" class="bt">质检废品系数</el-button>
  17. <el-button type="primary" icon="edit" @click="pccstzClick" class="bt">排产参数调整</el-button>
  18. <el-button type="primary" icon="edit" @click="hscstzClick" class="bt">核算参数调整</el-button>
  19. <el-button type="primary" icon="edit" @click="addcpyj_onclick" class="bt">新增印件资料</el-button>
  20. <el-button type="primary" icon="edit" disabled @click="addcpgy_onclick" class="bt">新增工艺资料</el-button>
  21. <el-button type="primary" disabled icon="Download" @click="cpexportToExcel" style="margin: 5px;display: none">导出产品资料</el-button>
  22. <el-button type="primary" disabled icon="Download" @click="gyexportToExcel" style="margin: 5px;margin-top: 5px;display: none">导出工艺流程</el-button>
  23. </el-form-item>
  24. </el-form>
  25. <!--按钮弹窗部分-->
  26. <!--状态设置-->
  27. <el-dialog v-model="onstatuslist" title="状态设置" style="width: 300px; top: 20%">
  28. <div>
  29. <el-radio-group v-model="status">
  30. <el-radio label="在产">在产</el-radio>
  31. <el-radio label="停产">停产</el-radio>
  32. </el-radio-group>
  33. </div>
  34. <div slot="footer" class="dialog-footer" style="text-align: right;">
  35. <el-button @click="handleCancel">取消</el-button>
  36. <el-button type="primary" @click="handleConfirm">确定</el-button>
  37. </div>
  38. </el-dialog>
  39. <!--工艺方案更名-->
  40. <el-dialog v-model="gygmlist" title="工艺方案更名" style="width: 35%;top: 15%;">
  41. <el-form-item label="产品代号:" prop="process" class="mab">
  42. <el-input v-model="gyformData['process']" disabled :clearable="true" placeholder="" style="width: 160px;"/>
  43. </el-form-item>
  44. <br>
  45. <el-form-item label="产品名称" prop="processName" class="mab">
  46. <el-input v-model="gyformData['processName']" disabled :clearable="true" placeholder="" style="width: 90%;" />
  47. </el-form-item>
  48. <br>
  49. <el-form-item label="工艺方案原名:" prop="originalName" class="mab">
  50. <el-select v-model="gyformData.originalName" placeholder="请选择" style="width: 160px;">
  51. <el-option v-for="option in gyformData.originalNameOptions" :key="option" :label="option" :value="option" />
  52. </el-select>
  53. </el-form-item>
  54. <br>
  55. <el-form-item label="工艺方案新名:" prop="newName" class="mab">
  56. <el-input v-model="gyformData['newName']" :clearable="true" placeholder="" style="width: 160px;"/>
  57. </el-form-item>
  58. <div class="dialog-footer" style="text-align: right ">
  59. <el-button @click="gygmhandleCancel">取消</el-button>
  60. <el-button type="primary" @click="gygmhandleConfirm">确定</el-button>
  61. </div>
  62. </el-dialog>
  63. <!--工艺方案附加 -->
  64. <el-dialog v-model="fjlist" title="工艺方案附加" style="width: 100%;height: 100%;margin: 0px">
  65. <el-button type="primary" @click="fjbzgx">附加标准工序</el-button>
  66. <el-button type="primary" @click="gxdqcpgx">更新当前产品工序</el-button>
  67. <!-- :disabled="!fjformData['dqoriginalName']" 替换 disabled -->
  68. <el-button type="primary" disabled @click="fjhandleConfirm">建立工艺方案</el-button>
  69. <el-button type="primary" @click="fjhandleCancel">放弃操作</el-button>
  70. <div>
  71. <br>
  72. <div style="height: 38px; display: flex; align-items: center;">
  73. <el-form-item label="当前产品:" prop="currentProcess" style="margin-right: 20px;padding: 0px">
  74. <el-input v-model="fjformData['process']" disabled :clearable="true" placeholder="" style="width: 160px;"/>
  75. <el-input v-model="fjformData['processName']" disabled :clearable="true" placeholder="" style="width: 500px;flex: 1;"/>
  76. </el-form-item>
  77. <el-form-item label="工艺方案:" prop="originalName" style="margin-left: 20px;">
  78. <el-select v-model="fjformData.originalName" placeholder="请选择" style="width: 160px;">
  79. <el-option v-for="option in fjformData.originalNameOptions" @click="onoriginalNameclick" :key="option" :label="option" :value="option" />
  80. </el-select>
  81. </el-form-item>
  82. </div>
  83. <div style="height: 38px;display: flex; align-items: center;">
  84. <el-form-item label="新 产 品 :" prop="currentProcess" style="margin-right: 20px;">
  85. <el-input v-model="fjformData['dqprocess']"
  86. @keyup.enter="getProductValue" placeholder="输入新产品" style="width: 160px;"/>
  87. <el-input v-model="fjformData['dqprocessName']"
  88. :disabled="!!fjformData['dqprocessName']"
  89. placeholder="点击输框获取产品名称" @click="ondqprocessNameclick" style="width: 500px;flex: 1;"/>
  90. </el-form-item>
  91. <el-form-item label="工艺方案:" prop="originalName" style="margin-left: 20px;">
  92. <el-input v-model="fjformData['dqoriginalName']"
  93. :disabled="!fjformData['dqprocessName']"
  94. :clearable="true" placeholder="" style="width: 160px;"/>
  95. </el-form-item>
  96. </div>
  97. <el-table ref="multipleTable"
  98. :show-overflow-tooltip="true"
  99. :row-style="{ height: '0px' }"
  100. :cell-style="{ padding: '0px' }" :header-row-style="{ height: '0px' }"
  101. :header-cell-style="{ padding: '0px' }"
  102. style="width: 100%;height: 70vh;" border tooltip-effect="dark"
  103. :data="fjtableData" row-key="ID" @selection-change="handleSelectionChange">
  104. <el-table-column v-slot="scope" align="left" label=方案 width="100" >
  105. <el-input disabled v-model="scope.row.programme" :clearable="false"/>
  106. </el-table-column>
  107. <el-table-column v-slot="scope" align="left" label="印件号" width="100">
  108. <el-input v-model="scope.row.Gy0_yjno" :clearable="false"/>
  109. </el-table-column>
  110. <el-table-column v-slot="scope" align="left" label="工序号" width="100" >
  111. <el-input v-model="scope.row.Gy0_gxh" :clearable="false"/>
  112. </el-table-column>
  113. <el-table-column v-slot="scope" align="left" label="工序名称" width="600" >
  114. <el-input disabled v-model="scope.row.Add_gxmc" :clearable="false"/>
  115. </el-table-column>
  116. <el-table-column v-slot="scope" align="left" label="工价系列" width="100" >
  117. <el-input disabled v-model="scope.row.difficulty_coe" :clearable="false"/>
  118. </el-table-column>
  119. <el-table-column v-slot="scope" align="left" label="损耗系数" width="100" >
  120. <el-input disabled v-model="scope.row.loss_coe" :clearable="false"/>
  121. </el-table-column>
  122. <el-table-column v-slot="scope" align="left" label="开数" width="100" >
  123. <el-input v-model="scope.row.Gy0_Ks" :clearable="false"/>
  124. </el-table-column>
  125. <el-table-column v-slot="scope" align="left" label="联数" width="100" >
  126. <el-input v-model="scope.row.Gy0_ls" :clearable="false"/>
  127. </el-table-column>
  128. <el-table-column v-slot="scope" align="left" label="备注" width="340" >
  129. <el-input disabled v-model="scope.row.remark" :clearable="false"/>
  130. </el-table-column>
  131. <el-table-column v-slot="scope" align="left" label="车间" width="130" >
  132. <el-input disabled v-model="scope.row.Gy0_site" :clearable="false"/>
  133. </el-table-column>
  134. <el-table-column v-slot="scope" align="left" label="设备编号" width="110" >
  135. <el-input disabled v-model="scope.row.Gy0_sbbh" :clearable="false"/>
  136. </el-table-column>
  137. </el-table>
  138. <!-- <div class="dialog-footer" style="text-align: right;margin: 0;">-->
  139. <!-- <el-button type="primary" @click="fjbzgx">附加标准工序</el-button>-->
  140. <!-- <el-button type="primary" @click="gxdqcpgx">更新当前产品工序</el-button>-->
  141. <!-- &lt;!&ndash; :disabled="!fjformData['dqoriginalName']" 替换 disabled &ndash;&gt;-->
  142. <!-- <el-button type="primary" disabled @click="fjhandleConfirm">建立工艺方案</el-button>-->
  143. <!-- <el-button type="primary" @click="fjhandleCancel">放弃操作</el-button>-->
  144. <!-- </div>-->
  145. </div>
  146. </el-dialog>
  147. <!--工艺方案附加中 附加标准工序-->
  148. <el-dialog v-model="cpgylcfjxx" title="产品工艺流程附加选择" width="1400px" style="height: 740px;bottom: 6%;">
  149. <div>
  150. <div style="width: 100%; height: 60px; padding: 0px; margin: 10px 0px 0px 0px; display: flex; align-items: center;">
  151. <el-form-item label="产品代号 :" prop="currentProcess" style="margin-right: 20px; padding: 0px">
  152. <el-input v-model="cpgyformData['cpgydh']"
  153. @keyup.enter="cpgygetProductValue" placeholder="输入新产品" style="width: 160px;"/>
  154. <el-input v-model="cpgyformData['cpgymc']"
  155. disabled
  156. placeholder="" @click="oncpgymcclick" style="width: 500px;flex: 1;"/>
  157. </el-form-item>
  158. <el-form-item label="工艺方案:" prop="originalName" style="margin-left: 20px;">
  159. <el-select v-model="cpgyformData.cpgyfan" placeholder="请选择" style="width: 160px;">
  160. <el-option v-for="option in cpgyformData.cpgyfans" @click="oncpgyfanclick" :key="option" :label="option" :value="option" />
  161. </el-select>
  162. </el-form-item>
  163. </div>
  164. <el-table ref="multipleTable"
  165. v-if="cpgyformData['cpgydh'] && cpgyformData['cpgydh'].length > 0"
  166. :show-overflow-tooltip="true"
  167. :row-style="{ height: '20px' }"
  168. :cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
  169. :header-cell-style="{ padding: '0px' }"
  170. :hidden="!cpgyformData['cpgymc']"
  171. style="width: 100%;height: 450px" border tooltip-effect="dark"
  172. :data="cpgytableData" row-key="ID" @selection-change="handleSelectionChange">
  173. <el-table-column v-slot="scope" align="left" label=方案 width="100" >
  174. <el-input disabled v-model="scope.row.programme" :clearable="false"/>
  175. </el-table-column>
  176. <el-table-column v-slot="scope" align="left" label="印件号" width="100">
  177. <el-input disabled v-model="scope.row.Gy0_yjno" :clearable="false"/>
  178. </el-table-column>
  179. <el-table-column v-slot="scope" align="left" label="工序号" width="100" >
  180. <el-input disabled v-model="scope.row.Gy0_gxh" :clearable="false"/>
  181. </el-table-column>
  182. <el-table-column v-slot="scope" align="left" label="工序名称" width="340" >
  183. <el-input disabled v-model="scope.row.Add_gxmc" :clearable="false"/>
  184. </el-table-column>
  185. <el-table-column v-slot="scope" align="left" label="工价系列" width="100" >
  186. <el-input disabled v-model="scope.row.difficulty_coe" :clearable="false"/>
  187. </el-table-column>
  188. <el-table-column v-slot="scope" align="left" label="损耗系数" width="100" >
  189. <el-input disabled v-model="scope.row.loss_coe" :clearable="false"/>
  190. </el-table-column>
  191. <el-table-column v-slot="scope" align="left" label="开数" width="100" >
  192. <el-input disabled v-model="scope.row.Gy0_Ks" :clearable="false"/>
  193. </el-table-column>
  194. <el-table-column v-slot="scope" align="left" label="联数" width="100" >
  195. <el-input disabled v-model="scope.row.Gy0_ls" :clearable="false"/>
  196. </el-table-column>
  197. <el-table-column v-slot="scope" align="left" label="备注" width="200" >
  198. <el-input disabled v-model="scope.row.remark" :clearable="false"/>
  199. </el-table-column>
  200. <el-table-column v-slot="scope" align="left" label="车间" width="120" >
  201. <el-input disabled v-model="scope.row.Gy0_site" :clearable="false"/>
  202. </el-table-column>
  203. <el-table-column v-slot="scope" align="left" label="设备编号" width="100" >
  204. <el-input disabled v-model="scope.row.Gy0_sbbh" :clearable="false"/>
  205. </el-table-column>
  206. </el-table>
  207. <!-- <div class="dialog-footer" style="margin-top: 80px; margin-left: 45%;">-->
  208. <!-- <el-button type="primary" @click="onfjbzgxexecute">执 行</el-button>-->
  209. <!-- <el-button type="primary" @click="onfjbzgxcancellation">放 弃</el-button>-->
  210. <!-- </div>-->
  211. </div>
  212. </el-dialog>
  213. <!--计损色数修正-->
  214. <el-dialog v-model="jsssxzlist" title="计损色数修正" style="width: 100%;height: 100%;margin: 0;">
  215. <el-button type="" @click="jsssxzCancel">取消</el-button>
  216. <el-button type="primary" @click="jsssxzConfirm">确定</el-button>
  217. <div style="width: 100%; height: 60px; padding: 0px; margin: 0px 0px 6px 0px; display: flex; align-items: center;">
  218. <el-form-item label="关键字 :" prop="currentProcess" style="margin-right: 20px; padding: 0px">
  219. <el-input v-model="jsssxzformData['cpdh']"
  220. @keyup.enter="jsssxzgetProductValue" placeholder="输入产品编号" style="width: 500px;"/>
  221. </el-form-item>
  222. </div>
  223. <el-table ref="multipleTable"
  224. :show-overflow-tooltip="true"
  225. :row-style="{ height: '20px' }"
  226. :header-row-style="{ height: '20px' }"
  227. :header-cell-style="{ padding: '0px' }"
  228. style="width: 100%;height: 70vh" border tooltip-effect="dark"
  229. :data="jsssxztableData" row-key="ID" @selection-change="handleSelectionChange">
  230. <el-table-column v-slot="scope" align="left" label=产品名称 width="320" >
  231. <el-input disabled v-model="scope.row.product_name" :clearable="false"/>
  232. </el-table-column>
  233. <el-table-column v-slot="scope" align="left" label=方案 width="70" >
  234. <el-input disabled v-model="scope.row.programme" :clearable="false"/>
  235. </el-table-column>
  236. <el-table-column v-slot="scope" align="left" label=印件 width="70" >
  237. <el-input disabled v-model="scope.row.Gy0_yjno" :clearable="false"/>
  238. </el-table-column>
  239. <el-table-column v-slot="scope" align="left" label=工序 width="70" >
  240. <el-input disabled v-model="scope.row.Gy0_gxh" :clearable="false"/>
  241. </el-table-column>
  242. <el-table-column v-slot="scope" align="left" label=工艺 width="120" >
  243. <el-input disabled v-model="scope.row.gy0_gxmc" :clearable="false"/>
  244. </el-table-column>
  245. <el-table-column v-slot="scope" align="left" label="原计损色数" width="100">
  246. <el-input :value="scope.row.old_ms_coe" disabled :clearable="false"/>
  247. </el-table-column>
  248. <el-table-column v-slot="scope" align="left" prop="ms_coe" label=新计损色数 width="100" >
  249. <el-input v-model="scope.row.ms_coe" :clearable="false"/>
  250. </el-table-column>
  251. <el-table-column v-slot="scope" align="left" prop="Gy0_Ks" label=新开数 width="90" >
  252. <el-input v-model="scope.row.Gy0_Ks" :clearable="false"/>
  253. </el-table-column>
  254. <el-table-column v-slot="scope" align="left" prop="Gy0_ls" label=新联数 width="90" >
  255. <el-input v-model="scope.row.Gy0_ls" :clearable="false"/>
  256. </el-table-column>
  257. <el-table-column v-slot="scope" align="left" prop="Add_gxmc" label=工序名称 width="210" >
  258. <el-input v-model="scope.row.Add_gxmc" :clearable="false"/>
  259. </el-table-column>
  260. <el-table-column v-slot="scope" align="left" prop="remark" label=工序备注说明 width="340" >
  261. <el-input v-model="scope.row.remark" :clearable="false"/>
  262. </el-table-column>
  263. <el-table-column v-slot="scope" align="left" label=设备编号 width="100" >
  264. <el-input disabled v-model="scope.row.Gy0_sbbh" :clearable="false"/>
  265. </el-table-column>
  266. <el-table-column v-slot="scope" align="left" label=客户名称 width="200" >
  267. <el-input disabled v-model="scope.row.custom_name" :clearable="false"/>
  268. </el-table-column>
  269. </el-table>
  270. <!-- <div class="dialog-footer" style="text-align: right; margin-top: 1%;">-->
  271. <!-- <el-button type="" @click="jsssxzCancel">取消</el-button>-->
  272. <!-- <el-button type="primary" @click="jsssxzConfirm">确定</el-button>-->
  273. <!-- </div>-->
  274. </el-dialog>
  275. <!--质检废品系数-->
  276. <el-dialog v-model="fjfpxslist" title="质检废品系数" style="width: 100%;height: 100%;margin: 0;">
  277. <el-button type="" @click="fjfpxsCancel">取消</el-button>
  278. <el-button type="primary" @click="fjfpxsConfirm">确认</el-button>
  279. <div style="width: 100%; height: 60px; padding: 0px; margin: 0px 0px 6px 0px; display: flex; align-items: center;">
  280. <el-form-item label="关键字 :" prop="currentProcess" style="margin-right: 20px; padding: 0px">
  281. <el-input v-model="fjfpxsformData['cpdh']"
  282. @keyup.enter="fjfpxsgetProductValue" placeholder="输入产品编号" style="width: 500px;"/>
  283. </el-form-item>
  284. </div>
  285. <el-table ref="multipleTable"
  286. :show-overflow-tooltip="true"
  287. :row-style="{ height: '20px' }"
  288. :cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
  289. :header-cell-style="{ padding: '0px' }"
  290. style="width: 100%;height: 70vh" border tooltip-effect="dark"
  291. :data="fjfpxstableData" row-key="ID" @selection-change="handleSelectionChange">
  292. <el-table-column v-slot="scope" align="left" label=产品名称 width="300" >
  293. <el-input disabled v-model="scope.row.product_name" :clearable="false"/>
  294. </el-table-column>
  295. <el-table-column v-slot="scope" align="left" label=印件 width="70" >
  296. <el-input disabled v-model="scope.row.Gy0_yjno" :clearable="false"/>
  297. </el-table-column>
  298. <el-table-column v-slot="scope" align="left" label=工序 width="70" >
  299. <el-input disabled v-model="scope.row.Gy0_gxh" :clearable="false"/>
  300. </el-table-column>
  301. <el-table-column v-slot="scope" align="left" label=工艺 width="120" >
  302. <el-input disabled v-model="scope.row.gy0_gxmc" :clearable="false"/>
  303. </el-table-column>
  304. <el-table-column v-slot="scope" align="left" label=原人工正品版 width="110" >
  305. <el-input disabled v-model="scope.row.old_artificial_zp" :clearable="false"/>
  306. </el-table-column>
  307. <el-table-column v-slot="scope" align="left" label=原人工次品板 width="110" >
  308. <el-input disabled v-model="scope.row.old_artificial_cp" :clearable="false"/>
  309. </el-table-column>
  310. <el-table-column v-slot="scope" align="left" label=原人工废检 width="100" >
  311. <el-input disabled v-model="scope.row.old_artificial_fj" :clearable="false"/>
  312. </el-table-column>
  313. <el-table-column v-slot="scope" align="left" label=原机检正品版 width="110" >
  314. <el-input disabled v-model="scope.row.old_machine_zp" :clearable="false"/>
  315. </el-table-column>
  316. <el-table-column v-slot="scope" align="left" label=原机检次品版 width="110" >
  317. <el-input disabled v-model="scope.row.old_machine_cp" :clearable="false"/>
  318. </el-table-column>
  319. <el-table-column v-slot="scope" align="left" label=原机检废检 width="100" >
  320. <el-input disabled v-model="scope.row.old_machine_fj" :clearable="false"/>
  321. </el-table-column>
  322. <el-table-column v-slot="scope" align="left" label=新人工正品版 width="110" >
  323. <el-input v-model="scope.row.artificial_zp" :clearable="false"/>
  324. </el-table-column>
  325. <el-table-column v-slot="scope" align="left" label=新人工次品板 width="110" >
  326. <el-input v-model="scope.row.artificial_cp" :clearable="false"/>
  327. </el-table-column>
  328. <el-table-column v-slot="scope" align="left" label=新人工废检 width="100" >
  329. <el-input v-model="scope.row.artificial_fj" :clearable="false"/>
  330. </el-table-column>
  331. <el-table-column v-slot="scope" align="left" label=新机检正品版 width="110" >
  332. <el-input v-model="scope.row.machine_zp" :clearable="false"/>
  333. </el-table-column>
  334. <el-table-column v-slot="scope" align="left" label=新机检次品版 width="110" >
  335. <el-input v-model="scope.row.machine_cp" :clearable="false"/>
  336. </el-table-column>
  337. <el-table-column v-slot="scope" align="left" label=新机检废检 width="100" >
  338. <el-input v-model="scope.row.machine_fj" :clearable="false"/>
  339. </el-table-column>
  340. <el-table-column v-slot="scope" align="left" label=设备编号 width="100" >
  341. <el-input disabled v-model="scope.row.Gy0_sbbh" :clearable="false"/>
  342. </el-table-column>
  343. <el-table-column v-slot="scope" align="left" label=客户名称 width="200" >
  344. <el-input disabled v-model="scope.row.custom_name" :clearable="false"/>
  345. </el-table-column>
  346. </el-table>
  347. <!-- <div class="dialog-footer" style="text-align: right; margin-top: 1%;">-->
  348. <!-- <el-button type="" @click="fjfpxsCancel">取消</el-button>-->
  349. <!-- <el-button type="primary" disabled @click="fjfpxsConfirm">确认</el-button>-->
  350. <!-- </div>-->
  351. </el-dialog>
  352. <!--排产参数调整-->
  353. <el-dialog v-model="pccstzlist" title="排产参数调整" style="width: 100%;height: 100%;margin: 0;">
  354. <el-button type="" @click="pccstzCancel">取消</el-button>
  355. <el-button type="primary" @click="pccstzConfirm">确认</el-button>
  356. <div style="width: 100%; height: 60px; padding: 0px; margin: 0px 0px 6px 0px; display: flex; align-items: center;">
  357. <el-form-item label="关键是字 :" prop="currentProcess" style="margin-right: 20px; padding: 0px">
  358. <el-input v-model="pccstzformData['cpdh']"
  359. @keyup.enter="pccstzProductValue" placeholder="输入产品编号" style="width: 500px;"/>
  360. </el-form-item>
  361. </div>
  362. <el-table ref="multipleTable"
  363. :show-overflow-tooltip="true"
  364. :row-style="{ height: '20px' }"
  365. :cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
  366. :header-cell-style="{ padding: '0px' }"
  367. style="width: 100%;height: 70vh;" border tooltip-effect="dark"
  368. :data="pccstztableData" row-key="ID" @selection-change="handleSelectionChange">
  369. <el-table-column v-slot="scope" align="left" label=产品名称 width="230" >
  370. <el-input disabled v-model="scope.row.product_name" :clearable="false"/>
  371. </el-table-column>
  372. <el-table-column v-slot="scope" align="left" label=方案 width="70" >
  373. <el-input disabled v-model="scope.row.programme" :clearable="false"/>
  374. </el-table-column>
  375. <el-table-column v-slot="scope" align="left" label=印件 width="70" >
  376. <el-input disabled v-model="scope.row.Gy0_yjno" :clearable="false"/>
  377. </el-table-column>
  378. <el-table-column v-slot="scope" align="left" label=工序 width="70" >
  379. <el-input disabled v-model="scope.row.Gy0_gxh" :clearable="false"/>
  380. </el-table-column>
  381. <el-table-column v-slot="scope" align="left" label=工序名称 width="150" >
  382. <el-input disabled v-model="scope.row.gy0_gxmc" :clearable="false"/>
  383. </el-table-column>
  384. <el-table-column v-slot="scope" align="left" label=原A类产能 width="100" >
  385. <el-input disabled v-model="scope.row.old_A_power" :clearable="false"/>
  386. </el-table-column>
  387. <el-table-column v-slot="scope" align="left" label=原损耗代号 width="170" >
  388. <el-input disabled v-model="scope.row.old_Gy0_shdh" :clearable="false"/>
  389. </el-table-column>
  390. <el-table-column v-slot="scope" align="left" label=原机组编号 width="100" >
  391. <el-input disabled v-model="scope.row.old_Gy0_sbbh" :clearable="false"/>
  392. </el-table-column>
  393. <el-table-column v-slot="scope" align="left" label=新A类产能 width="115" >
  394. <el-input v-model="scope.row.A_power" :clearable="false"/>
  395. </el-table-column>
  396. <el-table-column v-slot="scope" align="left" label=新损耗代号 width="170" >
  397. <el-input v-model="scope.row.Gy0_shdh" :clearable="false"/>
  398. </el-table-column>
  399. <el-table-column v-slot="scope" align="left" label=新机组编号 width="115" >
  400. <el-input v-model="scope.row.Gy0_sbbh" :clearable="false"/>
  401. </el-table-column>
  402. <el-table-column v-slot="scope" align="left" label=新装版开工时 width="115" >
  403. <el-input v-model="scope.row.Gy0_辅助工时" :clearable="false"/>
  404. </el-table-column>
  405. <el-table-column v-slot="scope" align="left" label=开数 width="70" >
  406. <el-input disabled v-model="scope.row.Gy0_Ks" :clearable="false"/>
  407. </el-table-column>
  408. <el-table-column v-slot="scope" align="left" label=联数 width="70" >
  409. <el-input disabled v-model="scope.row.Gy0_ls" :clearable="false"/>
  410. </el-table-column>
  411. <el-table-column v-slot="scope" align="left" label=车间 width="110" >
  412. <el-input disabled v-model="scope.row.Gy0_site" :clearable="false"/>
  413. </el-table-column>
  414. <el-table-column v-slot="scope" align="left" label=设备编号 width="100" >
  415. <el-input disabled v-model="scope.row.olds_Gy0_sbbh" :clearable="false"/>
  416. </el-table-column>
  417. <el-table-column v-slot="scope" align="left" label=客户名称 width="300" >
  418. <el-input disabled v-model="scope.row.custom_name" :clearable="false"/>
  419. </el-table-column>
  420. </el-table>
  421. <!-- <div class="dialog-footer" style="text-align: right; margin-top: 1%;">-->
  422. <!-- <el-button type="" @click="pccstzCancel">取消</el-button>-->
  423. <!-- <el-button type="primary" @click="pccstzConfirm">确认</el-button>-->
  424. <!-- </div>-->
  425. </el-dialog>
  426. <!--核算参数调整-->
  427. <el-dialog v-model="hscstzlist" title="核算参数调整" style="width: 100%;height: 100%;margin: 0;">
  428. <el-button type="" @click="hscstzCancel">取消</el-button>
  429. <el-button type="primary" @click="hscstzConfirm">确认</el-button>
  430. <div style="width: 100%; height: 60px; padding: 0px; margin: 0px 0px 6px 0px; display: flex; align-items: center;">
  431. <el-form-item label="关键是字 :" prop="currentProcess" style="margin-right: 20px; padding: 0px">
  432. <el-input v-model="hscstzformData['cpdh']"
  433. @keyup.enter="hscstzProductValue" placeholder="输入产品编号" style="width: 500px;"/>
  434. </el-form-item>
  435. </div>
  436. <el-table ref="multipleTable"
  437. :show-overflow-tooltip="true"
  438. :row-style="{ height: '20px' }"
  439. :cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
  440. :header-cell-style="{ padding: '0px' }"
  441. style="width: 100%;height: 70vh;" border tooltip-effect="dark"
  442. :data="hscstztableData" row-key="ID" @selection-change="handleSelectionChange">
  443. <el-table-column v-slot="scope" align="left" label=产品名称 width="260" >
  444. <el-input disabled v-model="scope.row.product_name" :clearable="false"/>
  445. </el-table-column>
  446. <el-table-column v-slot="scope" align="left" label=方案 width="70" >
  447. <el-input disabled v-model="scope.row.programme" :clearable="false"/>
  448. </el-table-column>
  449. <el-table-column v-slot="scope" align="left" label=印件 width="70" >
  450. <el-input disabled v-model="scope.row.Gy0_yjno" :clearable="false"/>
  451. </el-table-column>
  452. <el-table-column v-slot="scope" align="left" label=工序 width="70" >
  453. <el-input disabled v-model="scope.row.Gy0_gxh" :clearable="false"/>
  454. </el-table-column>
  455. <el-table-column v-slot="scope" align="left" label=工序名称 width="150" >
  456. <el-input disabled v-model="scope.row.gy0_gxmc" :clearable="false"/>
  457. </el-table-column>
  458. <!-- 原难度系数、原损耗系数、原计损色数-->
  459. <el-table-column v-slot="scope" align="left" label=原难度系数 width="115" >
  460. <el-input disabled v-model="scope.row.hscstzold_difficulty_coe" :clearable="false"/>
  461. </el-table-column>
  462. <el-table-column v-slot="scope" align="left" label=原损耗系数 width="115" >
  463. <el-input disabled v-model="scope.row.hscstzold_loss_coe" :clearable="false"/>
  464. </el-table-column>
  465. <el-table-column v-slot="scope" align="left" label=原计损色数 width="115" >
  466. <el-input disabled v-model="scope.row.hscstzold_ms_coe" :clearable="false"/>
  467. </el-table-column>
  468. <!-- 新难度系数、新损耗系数、新计损色数-->
  469. <el-table-column v-slot="scope" align="left" label=新难度系数 width="115" >
  470. <el-input v-model="scope.row.difficulty_coe" :clearable="false"/>
  471. </el-table-column>
  472. <el-table-column v-slot="scope" align="left" label=新损耗系数 width="115" >
  473. <el-input v-model="scope.row.loss_coe" :clearable="false"/>
  474. </el-table-column>
  475. <el-table-column v-slot="scope" align="left" label=新计损色数 width="115" >
  476. <el-input v-model="scope.row.ms_coe" :clearable="false"/>
  477. </el-table-column>
  478. <el-table-column v-slot="scope" align="left" label=开数 width="70" >
  479. <el-input disabled v-model="scope.row.Gy0_Ks" :clearable="false"/>
  480. </el-table-column>
  481. <el-table-column v-slot="scope" align="left" label=联数 width="70" >
  482. <el-input disabled v-model="scope.row.Gy0_ls" :clearable="false"/>
  483. </el-table-column>
  484. <el-table-column v-slot="scope" align="left" label=车间 width="110" >
  485. <el-input disabled v-model="scope.row.Gy0_site" :clearable="false"/>
  486. </el-table-column>
  487. <el-table-column v-slot="scope" align="left" label=设备编号 width="100" >
  488. <el-input disabled v-model="scope.row.Gy0_sbbh" :clearable="false"/>
  489. </el-table-column>
  490. <el-table-column v-slot="scope" align="left" label=客户名称 width="300" >
  491. <el-input disabled v-model="scope.row.custom_name" :clearable="false"/>
  492. </el-table-column>
  493. </el-table>
  494. <!-- <div class="dialog-footer" style="text-align: right; margin-top: 1%;">-->
  495. <!-- <el-button type="" @click="hscstzCancel">取消</el-button>-->
  496. <!-- <el-button type="primary" @click="hscstzConfirm">确认</el-button>-->
  497. <!-- </div>-->
  498. </el-dialog>
  499. <!--导出产品资料-->
  500. <el-dialog v-model="cpdialogexportToExcel" title="导出产品资料" width="50%">
  501. </el-dialog>
  502. <!--导出工艺流程-->
  503. <el-dialog v-model="gydialogexportToExcel" title="导出工艺流程" width="50%">
  504. </el-dialog>
  505. </div>
  506. </layout-header>
  507. <layout>
  508. <!-- 左侧树侧形结构-->
  509. <layout-sider :resize-directions="['right']" :width="190" style="margin-right: 10px;">
  510. <div class="JKWTree-tree" style="height: 200px">
  511. <h3> 产品管理</h3>
  512. <el-tree :data="treeData" @node-click="handleNodeClick" @node-expand="handleNodeExpand">
  513. <template #default="{node,data}">{{data['客户编号']}}【{{data['客户名称']}}】</template>
  514. </el-tree>
  515. </div>
  516. </layout-sider>
  517. <!-- 右侧内容区域 -->
  518. <layout-content >
  519. <!-- 产品表格列表 -->
  520. <div class="gva-table-box">
  521. <el-table ref="multipleTable"
  522. style="width: 100%;height: 25vh;"
  523. :row-style="{ height: '15px' }"
  524. :cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
  525. :header-cell-style="{ padding: '0px' }"
  526. border tooltip-effect="dark" :data="tableData" row-key="ID"
  527. :row-class-name="tableRowClass" highlight-current-row="true"
  528. size="small"
  529. :cell-class-name="tableDataCellClass"
  530. @selection-change="handleSelectionChange"
  531. @row-dblclick="updateCompanyFunc"
  532. @row-click="tableRowClick"
  533. :show-overflow-tooltip="true">
  534. <el-table-column type="selection" width="30" />
  535. <el-table-column align="left" label="产品编号" prop="产品编号" width="115" />
  536. <el-table-column align="left" label="产品名称" prop="产品名称" width="340" />
  537. <el-table-column align="left" label="版本号" prop="版本号" width="100"/>
  538. <el-table-column align="left" label="成品规格" prop="成品规格" width="100" />
  539. <el-table-column align="left" label="单位" prop="计量单位" width="100"/>
  540. <el-table-column align="left" label="产品分类" prop="产品类别" width="100" />
  541. <el-table-column align="left" label="最近接单时间" prop="receiveDate" width="160" />
  542. <el-table-column align="left" label="印件数" prop="yjData" width="100" />
  543. <el-table-column align="left" label="工艺" prop="gyData" width="100"/>
  544. <el-table-column align="left" label="当前状态" prop="状态" width="100"/>
  545. <el-table-column align="left" label="最后修改" prop="Sys_id" width="160" />
  546. <el-table-column align="left" label="建档日期" prop="Sys_rq" width="160" />
  547. <el-table-column sortable align="left" label="更新日期" prop="Mod_rq" width="160" />
  548. </el-table>
  549. <div class="gva-pagination">
  550. <el-pagination
  551. @size-change="handleSizeChange"
  552. @current-change="handleCurrentChange"
  553. :current-page="page"
  554. :page-sizes="[10, 30, 50, 100]"
  555. layout="total, sizes, prev, pager, next, jumper"
  556. :total="total">
  557. </el-pagination>
  558. </div>
  559. </div>
  560. <!-- 印件资料、工艺资料、印版资料、技术资料附件表格 -->
  561. <el-tabs v-model="activeName" @tab-click="handleClick" class="ta">
  562. <el-tab-pane label="印件资料" @click="showTable('印件资料')" name="first">
  563. <el-table ref="multipleTable"
  564. :show-overflow-tooltip="true"
  565. highlight-current-row="true"
  566. :row-style="{ height: '20px' }"
  567. :cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
  568. :header-cell-style="{ padding: '0px' }"
  569. @row-dblclick="yjupdateCompanyFunc"
  570. style="width: 100%;height: 40vh" border tooltip-effect="dark" :data="yjtableData" row-key="ID" @selection-change="handleSelectionChange">
  571. <el-table-column type="selection" width="30" />
  572. <el-table-column align="left" label="印件号" prop="yj_yjno" width="80"/>
  573. <el-table-column align="left" label="印件代号" prop="yj_yjdh" width="100" />
  574. <el-table-column align="left" label="印件名称" prop="yj_yjmc" width="540" />
  575. <el-table-column align="left" label="纸张单号" prop="yj_zzdh" width="100"/>
  576. <el-table-column align="left" label="纸张名称" prop="yj_zzmc" width="340"/>
  577. <el-table-column align="left" label="投料规格" prop="yj_tlgg" width="240"/>
  578. <el-table-column align="left" label="开料规格" prop="yj_klgg" width="100"/>
  579. <el-table-column align="left" label="开数" prop="yj_ks" width="80" />
  580. <el-table-column align="left" label="联数" prop="yj_ls" width="80" />
  581. <el-table-column align="left" label="备注" prop="yj_desc" width="200" />
  582. <el-table-column align="left" label="建档用户" prop="sys_id" width="130" />
  583. <el-table-column align="left" label="建档日期" prop="sys_rq" width="160" />
  584. <el-table-column align="left" label="更新日期" prop="mod_rq" width="160"/>
  585. </el-table>
  586. </el-tab-pane>
  587. <el-tab-pane label="工艺资料" @click="showTable('工艺资料')" name="second">
  588. <el-table ref="multipleTable"
  589. highlight-current-row="true"
  590. :show-overflow-tooltip="true"
  591. :row-style="{ height: '20px' }"
  592. :cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
  593. :header-cell-style="{ padding: '0px' }"
  594. @row-dblclick="gyupdateCompanyFunc"
  595. :row-class-name="rowClassStyle"
  596. style="width: 100%;height: 40vh" border tooltip-effect="dark" :data="gytableData" row-key="ID" @selection-change="handleSelectionChange"
  597. @row-click="clickybupdate">
  598. <el-table-column type="selection" width="30" />
  599. <el-table-column align="left" label="方案" prop="方案" width="70"/>
  600. <el-table-column align="left" label="印件" prop="Gy0_yjno" width="80" />
  601. <el-table-column align="left" label="工序" prop="Gy0_gxh" width="70" />
  602. <el-table-column align="left" label="工序名称" prop="gy0_gxmc" width="120" />
  603. <el-table-column align="left" label="工序名称" prop="add_gxmc" width="340" />
  604. <el-table-column align="left" label="开数" prop="Gy0_Ks" width="70" />
  605. <el-table-column align="left" label="联数" prop="Gy0_ls" width="70" />
  606. <el-table-column align="left" label="备注" prop="备注" width="150" />
  607. <el-table-column align="left" label="工价系数" prop="工价系数" width="100" />
  608. <el-table-column align="left" label="损耗系数" prop="损耗系数" width="100" />
  609. <el-table-column align="left" label="计损色数" prop="Gy0_Ms" width="100" />
  610. <el-table-column align="left" label="人工检_正品版" prop="人工检_正品版" width="120" />
  611. <el-table-column align="left" label="人工检_次品版" prop="人工检_正品版" width="120" />
  612. <el-table-column align="left" label="人工检_废检" prop="人工检_废检" width="120"/>
  613. <el-table-column align="left" label="机检_正品版" prop="机检_正品版" width="120"/>
  614. <el-table-column align="left" label="机检_次品检" prop="机检_次品检" width="120"/>
  615. <el-table-column align="left" label="机检_废检" prop="机检_废检" width="120"/>
  616. <el-table-column align="left" label="设备编号" prop="Gy0_sbmc" width="100"/>
  617. <el-table-column align="left" label="最后修改" prop="最后修改" width="160"/>
  618. <el-table-column align="left" label="建档日期" prop="建档日期" width="160"/>
  619. <el-table-column align="left" label="更新日期" prop="更新日期" width="160"/>
  620. </el-table>
  621. </el-tab-pane>
  622. <el-tab-pane label="印版资料" @click="showTable('印版资料')" name="third">
  623. <el-table ref="multipleTable"
  624. highlight-current-row="true"
  625. :show-overflow-tooltip="true"
  626. :row-style="{ height: '20px' }"
  627. :cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
  628. :header-cell-style="{ padding: '0px' }"
  629. @row-dblclick="ybupdateCompanyFunc"
  630. style="width: 100%;height: 40vh" border tooltip-effect="dark" :data="ybtableData" row-key="ID" @selection-change="handleSelectionChange"
  631. >
  632. <el-table-column type="selection" width="30" />
  633. <el-table-column align="left" label="方案" prop="YB_方案" width="70"/>
  634. <el-table-column align="left" label="印件号" prop="YB_Yjno" width="80" />
  635. <el-table-column align="left" label="印版类别" prop="印版类别" width="100" />
  636. <el-table-column align="left" label="存货编码" prop="存货编码" width="100"/>
  637. <el-table-column align="left" label="印版名称" prop="印版名称" width="440"/>
  638. <el-table-column align="left" label="考核印数" prop="考核印数" width="100"/>
  639. <el-table-column align="left" label="建档用户" prop="Sys_id" width="120" />
  640. <el-table-column align="left" label="建档日期" prop="建档日期" width="160" />
  641. <el-table-column align="left" label="更新日期" prop="更新日期" width="160" />
  642. </el-table>
  643. </el-tab-pane>
  644. <el-tab-pane label="技术资料附件" @click="showTable('技术资料附件')" name="fourth">
  645. <el-table ref="multipleTable"
  646. :row-style="{ height: '20px' }"
  647. :cell-style="{ padding: '0px' }" :header-row-style="{ height: '20px' }"
  648. :header-cell-style="{ padding: '0px' }"
  649. :show-overflow-tooltip="true"
  650. highlight-current-row="true"
  651. style="width: 100%;height: 40vh" border tooltip-effect="dark" :data="jstableData" row-key="ID" @selection-change="handleSelectionChange">
  652. <!-- <el-table-column type="selection" width="55" />-->
  653. <el-table-column align="left" label="序号" prop="序号" width="120"/>
  654. <el-table-column align="left" label="适用工序" prop="适用工序" width="120" />
  655. <el-table-column align="left" label="备注" prop="备注" width="120" />
  656. <el-table-column align="left" label="文件类型" prop="文件类型" width="120"/>
  657. <el-table-column align="left" label="关联产品" prop="关联产品" width="360"/>
  658. <el-table-column align="left" label="建档用户" prop="建档用户" width="120"/>
  659. <el-table-column align="left" label="建档日期" prop="建档日期" width="160" />
  660. <el-table-column align="left" label="更新日期" prop="更新日期" width="160" />
  661. </el-table>
  662. </el-tab-pane>
  663. </el-tabs>
  664. <!-- 修改产品产品基本资料表格弹窗 -->
  665. <el-dialog v-model="dialogFormVisible" :before-close="closeDialog" :title="'修改产品基本资料'" height="80%" width="60%" destroy-on-close>
  666. <el-row>
  667. <el-scrollbar>
  668. <el-form :model="formDataTest" label-position="right" ref="elFormRef" :rules="rule" label-width="80px">
  669. <el-row>
  670. <el-col :span="24">
  671. <el-form-item label="客户编号:" prop="address" class="mab">
  672. <el-input v-model="formDataTest['客户编号']" :clearable="true" id="id1" placeholder="" @keydown="ent($event, '', 'id1', 'id2')" style="width: 150px;" />
  673. </el-form-item>
  674. </el-col>
  675. <el-col :span="24">
  676. <el-form-item label="客户名称:" prop="gender" class="mab">
  677. <el-input v-model="formDataTest['客户名称']" :clearable="true" id="id2" placeholder="" @keydown="ent($event, 'id1', 'id2', 'id3')" />
  678. </el-form-item>
  679. </el-col>
  680. <el-col :span="9">
  681. <el-form-item label="印品代号:" prop="address" class="mab">
  682. <el-input v-model="formDataTest['产品编号']" :clearable="true" id="id3" placeholder="" @keydown="ent($event, 'id2', 'id3', '版本号')" style="width: 150px;" />
  683. </el-form-item>
  684. </el-col>
  685. <el-col :span="6">
  686. <el-form-item label="版本号:" prop="gender" label-width="60px" class="mab">
  687. <el-input v-model="formDataTest['版本号']" :clearable="true" placeholder="" id="版本号" @keydown="ent($event, 'id3', '版本号', '客户料号')" style="width: 120px;" />
  688. </el-form-item>
  689. </el-col>
  690. <el-col :span="9">
  691. <el-form-item label="客户料号:" prop="idCard" label-width="110px" class="mab">
  692. <el-input v-model="formDataTest['客户料号']" :clearable="true" placeholder="" id="客户料号" @keydown="ent($event, '版本号', '客户料号', '产品名称')" style="width: 150px;" />
  693. </el-form-item>
  694. </el-col>
  695. </el-row>
  696. <el-row>
  697. <el-col :span="24">
  698. <el-form-item label="产品名称:" prop="department" class="mab">
  699. <el-input v-model="formDataTest['产品名称']" :clearable="true" placeholder="" id="产品名称" @keydown="ent($event, '客户料号', '产品名称', '产品类别')" />
  700. </el-form-item>
  701. </el-col>
  702. </el-row>
  703. <el-row>
  704. <el-col :span="9">
  705. <el-form-item label="产品类别:" prop="department" class="mab">
  706. <el-input v-model="formDataTest['产品类别']" :clearable="true" placeholder="" id="产品类别" @keydown="ent($event, '产品名称', '产品类别', '计量单位')" style="width: 150px;" />
  707. </el-form-item>
  708. </el-col>
  709. <el-col :span="15">
  710. <el-form-item label="单位:" prop="department" label-width="60px" class="mab">
  711. <el-input v-model="formDataTest['计量单位']" :clearable="true" placeholder="" id="计量单位" @keydown="ent($event, '产品类别', '计量单位', '成品规格')" style="width: 120px;" />
  712. </el-form-item>
  713. </el-col>
  714. </el-row>
  715. <el-col :span="24">
  716. <el-form-item label="成品规格:" prop="department" class="mab">
  717. <el-input v-model="formDataTest['成品规格']" :clearable="true" placeholder="" id="成品规格" @keydown="ent($event, '计量单位', '成品规格', '产品备注')" />
  718. </el-form-item>
  719. </el-col>
  720. <el-col :span="24">
  721. <el-form-item label="产品备注:" prop="remark" class="mab">
  722. <el-input type="textarea" v-model="formDataTest['产品备注']" :rows="4" :clearable="true" placeholder="" id="产品备注" @keydown="ent($event, '成品规格', '产品备注', 'id1')" />
  723. </el-form-item>
  724. </el-col>
  725. </el-form>
  726. </el-scrollbar>
  727. </el-row>
  728. <template #footer>
  729. <div class="dialog-footer">
  730. <el-button @click="closeDialog">取 消</el-button>
  731. <el-button type="primary" @click="enterDialog">确 定</el-button>
  732. </div>
  733. </template>
  734. </el-dialog>
  735. <!-- 修改印件资料-->
  736. <el-dialog v-model="yjdialogFormVisible" :before-close="yjcloseDialog" :title="'修改印件资料'" height="80%" width="50%" destroy-on-close>
  737. <el-row>
  738. <el-scrollbar >
  739. <el-form :model="yjformDataTest" label-position="right" ref="elFormRef" :rules="rule">
  740. <el-row>
  741. <el-form-item label="印件号:" prop="address" class="mab" label-width="70px">
  742. <el-input v-model="yjformDataTest['yj_yjno']" clearable placeholder="请输入印件号" style="width: 140px;" id="印件号" @keydown="ent($event, '', '印件号', '印件代号')" />
  743. </el-form-item>
  744. </el-row>
  745. <el-row>
  746. <el-form-item label="印件代号:" prop="address" class="mab">
  747. <el-input v-model="yjformDataTest['yj_yjdh']" clearable placeholder="请输入印件代码" style="width: 140px;" id="印件代号" @keydown="ent($event, '印件号', '印件代号', '印件名称')" />
  748. </el-form-item>
  749. </el-row>
  750. <el-row>
  751. <el-col :span="24">
  752. <el-form-item label="印件名称:" prop="address" class="mab">
  753. <el-input v-model="yjformDataTest['yj_yjmc']" clearable placeholder="请输入印件代码" style="width: 100%;" id="印件名称" @keydown="ent($event, '印件代号', '印件名称', 'yj_zzdh')" />
  754. </el-form-item>
  755. </el-col>
  756. </el-row>
  757. <el-row>
  758. <el-col :span="24">
  759. <el-form-item label="纸张:" prop="address" class="mab" label-width="70px">
  760. <el-row>
  761. <el-input v-model="yjformDataTest['yj_zzdh']" clearable placeholder="" style="width: 140px;" id="yj_zzdh" @keydown="ent($event, '印件名称', 'yj_zzdh', 'yj_zzmc')" />
  762. <el-input v-model="yjformDataTest['yj_zzmc']" clearable placeholder="" style="width: 460px;" id="yj_zzmc" @keydown="ent($event, 'yj_zzdh', 'yj_zzmc', 'yj_tlgg')" />
  763. </el-row>
  764. </el-form-item>
  765. </el-col>
  766. </el-row>
  767. <el-row>
  768. <el-col :span="12">
  769. <el-form-item label="投料(mm*mm):" prop="address" class="mab">
  770. <el-input v-model="yjformDataTest['yj_tlgg']" clearable placeholder="请输入投料规格" style="width: 140px;" id="yj_tlgg" @keydown="ent($event, 'yj_zzmc', 'yj_tlgg', 'yj_klgg')"/>
  771. </el-form-item>
  772. </el-col>
  773. <el-col :span="12">
  774. <el-form-item label="开料(mm*mm):" prop="address" class="mab">
  775. <el-input v-model="yjformDataTest['yj_klgg']" clearable placeholder="请输入开料规格" style="width: 140px;" id="yj_klgg" @keydown="ent($event, 'yj_tlgg', 'yj_klgg', 'yj_ks')"/>
  776. </el-form-item>
  777. </el-col>
  778. </el-row>
  779. <el-row>
  780. <el-col :span="12">
  781. <el-form-item label="开数:" prop="address" class="mab" label-width="70px">
  782. <el-input v-model="yjformDataTest['yj_ks']" clearable placeholder="请输入开数" style="width: 140px;" id="yj_ks" @keydown="ent($event, 'yj_tlgg', 'yj_ks', 'yj_ls')"/>
  783. </el-form-item>
  784. </el-col>
  785. <el-col :span="12">
  786. <el-form-item label="联数:" prop="address" class="mab">
  787. <el-input v-model="yjformDataTest['yj_ls']" clearable placeholder="请输入联数" style="width: 140px;" id="yj_ls" @keydown="ent($event, 'yj_ks', 'yj_ls', 'yj_desc')"/>
  788. </el-form-item>
  789. </el-col>
  790. </el-row>
  791. <el-row>
  792. <el-col :span="24">
  793. <el-form-item label="备注说明:" prop="remark" class="mab">
  794. <el-input type="textarea" v-model="yjformDataTest['yj_desc']" rows="4" clearable placeholder="请输入备注说明" id="yj_desc" @keydown="ent($event, 'yj_ls', 'yj_desc', '印件号')"/>
  795. </el-form-item>
  796. </el-col>
  797. </el-row>
  798. </el-form>
  799. </el-scrollbar>
  800. </el-row>
  801. <template #footer>
  802. <div class="dialog-footer">
  803. <el-button @click="yjcloseDialog">取 消</el-button>
  804. <el-button type="primary" disabled @click="yjenterDialog">确 定</el-button>
  805. </div>
  806. </template>
  807. </el-dialog>
  808. <!-- 新增印件资料 -->
  809. <el-dialog v-model="add_yjdialogFormVisible" :before-close="add_yjcloseDialog" :title="'修改印件资料'" height="80%" width="50%" destroy-on-close>
  810. <el-row>
  811. <el-scrollbar >
  812. <el-form :model="add_yjformDataTest" label-position="right" ref="elFormRef" :rules="rule">
  813. <el-row>
  814. <el-form-item label="印件号:" prop="address" class="mab" label-width="70px">
  815. <el-input placeholder="" style="width: 140px;" id="印件号" @keydown="ent($event, '', '印件号', '印件代号')" />
  816. </el-form-item>
  817. </el-row>
  818. <el-row>
  819. <el-form-item label="印件代号:" prop="address" class="mab">
  820. <el-input placeholder="" style="width: 140px;" id="印件代号" @keydown="ent($event, '印件号', '印件代号', '印件名称')" />
  821. </el-form-item>
  822. </el-row>
  823. <el-row>
  824. <el-col :span="24">
  825. <el-form-item label="印件名称:" prop="address" class="mab">
  826. <el-input placeholder="" style="width: 100%;" id="印件名称" @keydown="ent($event, '印件代号', '印件名称', 'yj_zzdh')" />
  827. </el-form-item>
  828. </el-col>
  829. </el-row>
  830. <el-row>
  831. <el-col :span="24">
  832. <el-form-item label="纸张:" prop="address" class="mab" label-width="70px">
  833. <el-row>
  834. <el-input placeholder="" style="width: 140px;" id="yj_zzdh" @keydown="ent($event, '印件名称', 'yj_zzdh', 'yj_zzmc')" />
  835. <el-input placeholder="" style="width: 460px;" id="yj_zzmc" @keydown="ent($event, 'yj_zzdh', 'yj_zzmc', 'yj_tlgg')" />
  836. </el-row>
  837. </el-form-item>
  838. </el-col>
  839. </el-row>
  840. <el-row>
  841. <el-col :span="12">
  842. <el-form-item label="投料(mm*mm):" prop="address" class="mab">
  843. <el-input placeholder="" style="width: 140px;" id="yj_tlgg" @keydown="ent($event, 'yj_zzmc', 'yj_tlgg', 'yj_klgg')"/>
  844. </el-form-item>
  845. </el-col>
  846. <el-col :span="12">
  847. <el-form-item label="开料(mm*mm):" prop="address" class="mab">
  848. <el-input placeholder="" style="width: 140px;" id="yj_klgg" @keydown="ent($event, 'yj_tlgg', 'yj_klgg', 'yj_ks')"/>
  849. </el-form-item>
  850. </el-col>
  851. </el-row>
  852. <el-row>
  853. <el-col :span="12">
  854. <el-form-item label="开数:" prop="address" class="mab" label-width="70px">
  855. <el-input placeholder="" style="width: 140px;" id="yj_ks" @keydown="ent($event, 'yj_tlgg', 'yj_ks', 'yj_ls')"/>
  856. </el-form-item>
  857. </el-col>
  858. <el-col :span="12">
  859. <el-form-item label="联数:" prop="address" class="mab">
  860. <el-input placeholder="" style="width: 140px;" id="yj_ls" @keydown="ent($event, 'yj_ks', 'yj_ls', 'yj_desc')"/>
  861. </el-form-item>
  862. </el-col>
  863. </el-row>
  864. <el-row>
  865. <el-col :span="24">
  866. <el-form-item label="备注说明:" prop="remark" class="mab">
  867. <el-input type="textarea" rows="4" clearable placeholder="请输入备注说明" id="yj_desc" @keydown="ent($event, 'yj_ls', 'yj_desc', '印件号')"/>
  868. </el-form-item>
  869. </el-col>
  870. </el-row>
  871. </el-form>
  872. </el-scrollbar>
  873. </el-row>
  874. <template #footer>
  875. <div class="dialog-footer">
  876. <el-button @click="add_yjcloseDialog">取 消</el-button>
  877. <el-button type="primary" disabled @click="add_yjenterDialog">确 定</el-button>
  878. </div>
  879. </template>
  880. </el-dialog>
  881. <!-- 修改工艺资料 弹窗 -->
  882. <el-dialog v-model="gydialogFormVisible" :before-close="gycloseDialog" :title="'修改工艺资料'" destroy-on-close>
  883. <el-row>
  884. <el-scrollbar height="500px">
  885. <el-form :model="gyformDataTest" label-position="right" ref="elFormRef" :rules="rule" label-width="100px" >
  886. <el-row>
  887. <el-col :span="5">
  888. <el-form-item label="工序方案:" prop="address" class="mab">
  889. <el-input v-model="gyformDataTest['方案']" clearable placeholder="" style="width: 90px;" id="方案" @keydown="ent($event, '备注', '方案', 'Gy0_yjno')"/>
  890. </el-form-item>
  891. </el-col>
  892. <el-col :span="4">
  893. <el-form-item label="印件编号:" prop="address" class="mab">
  894. <el-input v-model="gyformDataTest['Gy0_yjno']" clearable placeholder="" style="width: 90px;" id="Gy0_yjno" @keydown="ent($event, '方案', 'Gy0_yjno', 'Gy0_gxh')"/>
  895. </el-form-item>
  896. </el-col>
  897. <el-col :span="4">
  898. <el-form-item label="工序编号:" prop="address" class="mab">
  899. <el-input v-model="gyformDataTest['Gy0_gxh']" clearable placeholder="" style="width: 90px;" id="Gy0_gxh" @keydown="ent($event, 'Gy0_yjno', 'Gy0_gxh', 'Gy0_Ks')"/>
  900. </el-form-item>
  901. </el-col>
  902. <el-col :span="4">
  903. <el-form-item label="加工开数" prop="address" class="mab">
  904. <el-input v-model="gyformDataTest['Gy0_Ks']" clearable placeholder="" style="width: 90px;" id="Gy0_Ks" @keydown="ent($event, 'Gy0_gxh', 'Gy0_Ks', 'Gy0_ls')"/>
  905. </el-form-item>
  906. </el-col>
  907. <el-col :span="4">
  908. <el-form-item label="加工联数:" prop="address" class="mab">
  909. <el-input v-model="gyformDataTest['Gy0_ls']" clearable placeholder="" style="width: 90px;" id="Gy0_ls" @keydown="ent($event, 'Gy0_Ks', 'Gy0_ls', 'gy0_site')"/>
  910. </el-form-item>
  911. </el-col>
  912. </el-row>
  913. <el-row>
  914. <el-col :span="6">
  915. <el-form-item label="车间名称:" prop="address" class="mab">
  916. <el-input v-model="gyformDataTest['gy0_site']" clearable placeholder="" style="width: 140px;" id="gy0_site" @keydown="ent($event, 'Gy0_ls', 'gy0_site', 'gy0_gxmc')"/>
  917. </el-form-item>
  918. </el-col>
  919. <el-col :span="6">
  920. <el-form-item label="工艺名称:" prop="address" class="mab">
  921. <el-input v-model="gyformDataTest['gy0_gxmc']" clearable placeholder="" style="width: 140px;" id="gy0_gxmc" @keydown="ent($event, 'gy0_site', 'gy0_gxmc', 'add_gxmc')"/>
  922. </el-form-item>
  923. </el-col>
  924. </el-row>
  925. <el-row>
  926. <el-col :span="24">
  927. <el-form-item label="工序名称:" prop="address" class="mab">
  928. <el-input v-model="gyformDataTest['add_gxmc']" clearable placeholder="" style="width: 100%;" id="add_gxmc" @keydown="ent($event, 'gy0_gxmc', 'add_gxmc', 'Gy0_sbbh')"/>
  929. </el-form-item>
  930. </el-col>
  931. </el-row>
  932. <el-row>
  933. <el-col :span="6">
  934. <el-form-item label="可用设备:" prop="address" class="mab">
  935. <el-input v-model="gyformDataTest['Gy0_sbbh']" clearable placeholder="" style="width: 140px;" id="Gy0_sbbh" @keydown="ent($event, 'add_gxmc', 'Gy0_sbbh', 'Gy0_shdh')"/>
  936. </el-form-item>
  937. </el-col>
  938. </el-row>
  939. <el-row>
  940. <el-col :span="5">
  941. <el-form-item label="标准损耗:" prop="address" class="mab">
  942. <el-input v-model="gyformDataTest['Gy0_shdh']" clearable placeholder="" style="width: 90px;" id="Gy0_shdh" @keydown="ent($event, 'Gy0_sbbh', 'Gy0_shdh', '基础损耗')"/>
  943. </el-form-item>
  944. </el-col>
  945. <el-col :span="5">
  946. <el-form-item label="基础损耗:" prop="address" class="mab">
  947. <el-input v-model="gyformDataTest['基础损耗']" clearable placeholder="" style="width: 90px;" id="基础损耗" @keydown="ent($event, 'Gy0_shdh', '基础损耗', '损耗率')"/>
  948. </el-form-item>
  949. </el-col>
  950. <el-col :span="6">
  951. <el-form-item label="损耗率" prop="address" class="mab">
  952. <el-input v-model="gyformDataTest['损耗率']" clearable placeholder="" style="width: 90px;" id="损耗率" @keydown="ent($event, '基础损耗', '损耗率', '工价系数')"/>
  953. </el-form-item>
  954. </el-col>
  955. <el-col :span="6">
  956. <el-form-item label="工价系数:" prop="address" class="mab">
  957. <el-input v-model="gyformDataTest['工价系数']" clearable placeholder="" style="width: 90px;" id="工价系数" @keydown="ent($event, '损耗率', '工价系数', '损耗系数')"/>
  958. </el-form-item>
  959. </el-col>
  960. <el-col :span="6">
  961. <el-form-item label="损耗系数:" prop="address" class="mab">
  962. <el-input v-model="gyformDataTest['损耗系数']" clearable placeholder="" style="width: 90px;" id="损耗系数" @keydown="ent($event, '工价系数', '损耗系数', '备注')"/>
  963. </el-form-item>
  964. </el-col>
  965. </el-row>
  966. <el-row>
  967. <el-col :span="24">
  968. <el-form-item label="工序备注:" prop="remark" class="mab">
  969. <el-input type="textarea" v-model="gyformDataTest['备注']" rows="4" clearable placeholder="请输入备注说明" id="备注" @keydown="ent($event, '损耗系数', '备注', '方案')" />
  970. </el-form-item>
  971. </el-col>
  972. </el-row>
  973. </el-form>
  974. </el-scrollbar>
  975. </el-row>
  976. <template #footer>
  977. <div class="dialog-footer">
  978. <el-button @click="gycloseDialog">取 消</el-button>
  979. <el-button type="primary" disabled @click="gyenterDialog">确 定</el-button>
  980. </div>
  981. </template>
  982. </el-dialog>
  983. <!-- 修改印版资料 弹窗 -->
  984. <el-dialog v-model="ybdialogFormVisible" :before-close="ybcloseDialog" :title="'修改印版资料'" destroy-on-close>
  985. <el-row>
  986. <el-scrollbar height="500px">
  987. <el-form :model="ybformDataTest" label-position="right" ref="elFormRef" :rules="rule" label-width="100px" >
  988. <el-row>
  989. <el-col :span="8">
  990. <el-form-item label="工序方案:" prop="address" class="mab">
  991. <el-input v-model="ybformDataTest['YB_方案']" clearable placeholder="" style="width: 100px;" id="YB_方案" @keydown="ent($event, 'gy0_site', 'YB_方案', 'YB_Yjno')"/>
  992. </el-form-item>
  993. </el-col>
  994. <el-col :span="8">
  995. <el-form-item label="印件号:" prop="address" class="mab">
  996. <el-input v-model="ybformDataTest['YB_Yjno']" clearable placeholder="" style="width: 100px;" id="YB_Yjno" @keydown="ent($event, 'YB_方案', 'YB_Yjno', '工序编号')"/>
  997. </el-form-item>
  998. </el-col>
  999. <el-col :span="8">
  1000. <el-form-item label="工序编号:" prop="address" class="mab">
  1001. <el-input v-model="ybformDataTest['']" clearable placeholder="" style="width: 100px;" id="工序编号" @keydown="ent($event, 'YB_Yjno', '工序编号', '工艺名称')"/>
  1002. </el-form-item>
  1003. </el-col>
  1004. </el-row>
  1005. <el-row>
  1006. <el-col :span="24">
  1007. <el-form-item label="工艺名称:" prop="address" class="mab">
  1008. <el-input v-model="ybformDataTest['gy0_site']" clearable placeholder="" style="width: 100%;" id="工艺名称" @keydown="ent($event, '工序编号', '工艺名称', '工序名称')"/>
  1009. </el-form-item>
  1010. </el-col>
  1011. </el-row>
  1012. <el-row>
  1013. <el-col :span="24">
  1014. <el-form-item label="工序名称:" prop="address" class="mab">
  1015. <el-input v-model="ybformDataTest['gy0_site']" clearable placeholder="" style="width: 100%;" id="工序名称" @keydown="ent($event, '工艺名称', '工序名称', '存货编码')"/>
  1016. </el-form-item>
  1017. </el-col>
  1018. </el-row>
  1019. <el-row>
  1020. <el-col :span="10 ">
  1021. <el-form-item label="存货编码:" prop="address" class="mab">
  1022. <el-input v-model="ybformDataTest['存货编码']" clearable placeholder="" style="width: 140px;" id="存货编码" @keydown="ent($event, '工序名称', '存货编码', '印版名称')"/>
  1023. </el-form-item>
  1024. </el-col>
  1025. </el-row>
  1026. <el-row>
  1027. <el-col :span="24">
  1028. <el-form-item label="存货名称:" prop="address" class="mab">
  1029. <el-input v-model="ybformDataTest['印版名称']" clearable placeholder="" style="width: 100%;" id="印版名称" @keydown="ent($event, '存货编码', '印版名称', 'gy0_site')"/>
  1030. </el-form-item>
  1031. </el-col>
  1032. </el-row>
  1033. <el-row>
  1034. <el-col :span="24">
  1035. <el-form-item label="印版备注:" prop="address" class="mab">
  1036. <el-input v-model="ybformDataTest['gy0_site']" clearable placeholder="" style="width: 100%;" id="gy0_site" @keydown="ent($event, '印版名称', 'gy0_site', 'YB_方案')"/>
  1037. </el-form-item>
  1038. </el-col>
  1039. </el-row>
  1040. </el-form>
  1041. </el-scrollbar>
  1042. </el-row>
  1043. <template #footer>
  1044. <div class="dialog-footer">
  1045. <el-button @click="ybcloseDialog">取 消</el-button>
  1046. <el-button type="primary" disabled @click="ybenterDialog">确 定</el-button>
  1047. </div>
  1048. </template>
  1049. </el-dialog>
  1050. </layout-content>
  1051. </layout>
  1052. </layout>
  1053. </div>
  1054. </template>
  1055. <script>
  1056. //点击按钮显示下方表格
  1057. export default {
  1058. data() {
  1059. return {
  1060. currentTable: '',
  1061. activeName: 'first',
  1062. currentGy0_yjno: null
  1063. };
  1064. },
  1065. methods: {
  1066. tableRowClass({row,rowIndex}){
  1067. if(row.状态==="停产"){
  1068. return "warning-row"
  1069. }
  1070. },
  1071. rowClassStyle({row,rowIndex}){
  1072. // debugger
  1073. // console.log(row.Gy0_yjno, this.currentGy0_yjno)
  1074. if(row.Gy0_yjno==this.currentGy0_yjno){
  1075. return "warning-row"
  1076. }
  1077. },
  1078. clickybupdate(row,column,event){
  1079. this.currentGy0_yjno = row.Gy0_yjno
  1080. },
  1081. showTable(tableName) {
  1082. // console.log(tableName)
  1083. // 根据点击的按钮设置当前展示的表格
  1084. // this.currentTable = tableName;
  1085. },
  1086. showTableChange() {
  1087. // 处理表格选中事件
  1088. },
  1089. // 其他方法...
  1090. }
  1091. };
  1092. </script>
  1093. <script setup>
  1094. // 全量引入格式化工具 请按需保留
  1095. import { ElMessage, ElMessageBox } from 'element-plus'
  1096. //拖拽 import { Layout, LayoutSider, LayoutContent } from '@arco-design/web-vue';
  1097. import { Layout, LayoutSider, LayoutContent } from '@arco-design/web-vue';
  1098. import { ref, reactive } from 'vue'
  1099. import {
  1100. DataList,editGyName, editGyNo, editProduct,
  1101. getCustom,getDepartment,getProduct,editGy,getProductData,
  1102. getProductGy,editGyWaste,editGyMs,getStaffList,setProductStatus} from "@/api/yunyin/yunying";
  1103. defineOptions({ name: 'Company'})
  1104. // =========== 导出Excel表格 ===========
  1105. // //导出产品
  1106. // const cpdialogexportToExcel = ref(false)
  1107. // const cpexportToExcel = () => {
  1108. // console.log('点击了导出产品按钮')
  1109. // cpdialogexportToExcel.value = true;
  1110. // }
  1111. //
  1112. // //导出工艺
  1113. // const gydialogexportToExcel = ref(false)
  1114. // const gyexportToExcel = () => {
  1115. // console.log('点击了导出工艺流程按钮')
  1116. // gydialogexportToExcel.value = true;
  1117. // }
  1118. // =========== 状态设置 ===========
  1119. const onstatuslist = ref(false);
  1120. const status = ref('在产'); // 默认选择在产
  1121. const _stacode = ref(null);
  1122. //点击【状态设置】按钮
  1123. const onStatusClick = () => {
  1124. if(_product_code.value == null){
  1125. onstatuslist.value = false;
  1126. ElMessage({
  1127. type: 'warning',
  1128. message: '请选择树形后,再操作此功能'
  1129. })
  1130. }else{
  1131. _stacode.value = _product_code.value;
  1132. onstatuslist.value = true;
  1133. }
  1134. };
  1135. // 状态设置放弃按钮
  1136. const handleCancel = () => {
  1137. onstatuslist.value = false;
  1138. };
  1139. // 状态设置执行按钮
  1140. const handleConfirm = async () => {
  1141. onstatuslist.value = false;
  1142. let statusCode;
  1143. let code = _stacode.value;
  1144. if (status.value === '在产') {
  1145. statusCode = 1;
  1146. } else if (status.value === '停产') {
  1147. statusCode = 2;
  1148. }
  1149. const data = await setProductStatus({ code: code, status: statusCode });
  1150. if (data.code === 0) {
  1151. ElMessage({
  1152. type: 'success',
  1153. message: '更新成功'
  1154. })
  1155. } else {
  1156. ElMessage({
  1157. type: 'error',
  1158. message: '更新成功'
  1159. })
  1160. }
  1161. };
  1162. handleCancel(_stacode);
  1163. // =========== 工艺方案附加 ===========
  1164. const fjlist = ref(false);
  1165. const fjformData = reactive({
  1166. //当前产品
  1167. process: '',
  1168. //产品名称
  1169. processName: '',
  1170. //工艺方案
  1171. processfa: [],
  1172. // 工艺方案默认选择的值
  1173. originalName: '',
  1174. //↓新产品数据
  1175. dqprocess: '',
  1176. dqprocessName: '',
  1177. dqoriginalName: ''
  1178. });
  1179. const fjtableData = ref([]);
  1180. const _originalNamev = ref(null);
  1181. //1.点击【工艺方案附加】按钮
  1182. const fjClick = () => {
  1183. if(_product_code.value == null){
  1184. fjlist.value = false;
  1185. ElMessage({
  1186. type: 'warning',
  1187. message: '请选择分类项目,再操作此功能'
  1188. })
  1189. }else{
  1190. fjlist.value = true;
  1191. if (gytableData.length === 0) {
  1192. fjlist.value = false;
  1193. ElMessage({
  1194. type: 'warning',
  1195. message: '没有工艺资料'
  1196. })
  1197. } else {
  1198. //将值赋值给当前产品
  1199. fjformData.process = _product_code.value;
  1200. fjformData.processName = _kehu_code.value;
  1201. //默认新产品为空
  1202. fjformData.dqprocess = ''
  1203. fjformData.dqprocessName = ''
  1204. fjformData.dqoriginalName = ''
  1205. //获取方案
  1206. const uniqueSchemeSet = new Set();
  1207. gytableData.forEach(item => {
  1208. uniqueSchemeSet.add(item['方案']);
  1209. });
  1210. const uniqueSchemeArray = Array.from(uniqueSchemeSet);
  1211. fjformData.originalNameOptions = [];// 清空原有数据
  1212. fjformData.originalNameOptions = fjformData.originalNameOptions.concat(uniqueSchemeArray);
  1213. // 设置默认选择第一个选项
  1214. if (fjformData.originalNameOptions.length > 0) {
  1215. fjformData.originalName = fjformData.originalNameOptions[0];
  1216. }
  1217. }
  1218. const product_code = fjformData.process
  1219. const plan = fjformData.originalName
  1220. getProductGys(product_code,plan)
  1221. }
  1222. };
  1223. //2.输入新产品点击后面input获取新产品的值
  1224. const ondqprocessNameclick = () => {
  1225. _originalNamev.value = fjformData['dqprocess'];
  1226. _ongetProductclick();
  1227. }
  1228. //2.新产品输入框回车事件
  1229. const getProductValue = () => {
  1230. if(fjformData['dqprocessName'] === ''){
  1231. fjformData['dqprocessName'] = '';
  1232. }
  1233. _originalNamev.value = fjformData['dqprocess'];
  1234. _ongetProductclick();
  1235. }
  1236. //封装获取单个产品基础数据方法[用来获取新产品名称]
  1237. const _ongetProductclick = async ()=>{
  1238. let params = {}
  1239. params.search = _originalNamev.value;
  1240. params.limit = 999;
  1241. params.page = 1;
  1242. try {
  1243. const WorkListdata = await getProduct(params);
  1244. fjformData['dqprocessName'] = WorkListdata.data.data[0]['产品名称'];
  1245. } catch (error) {
  1246. console.error(error);
  1247. }
  1248. }
  1249. //3.获取选择下拉框当前方案的值
  1250. const onoriginalNameclick = () => {
  1251. //获取方案
  1252. const uniqueSchemeSet = new Set();
  1253. gytableData.forEach(item => {
  1254. uniqueSchemeSet.add(item['方案']);
  1255. });
  1256. const uniqueSchemeArray = Array.from(uniqueSchemeSet);
  1257. fjformData.originalNameOptions = [];// 清空原有数据
  1258. fjformData.originalNameOptions = fjformData.originalNameOptions.concat(uniqueSchemeArray);
  1259. const product_code = fjformData.process
  1260. const plan = fjformData.originalName
  1261. getProductGys(product_code,plan)
  1262. }
  1263. //当前产品号通过接口查询工艺数据,用来展示表格
  1264. const getProductGys = async (product_code,plan) => {
  1265. const getProductGydata = await getProductGy({product_code:product_code,plan:plan});
  1266. fjtableData.value = getProductGydata.data;
  1267. };
  1268. //==========点击【附加标准工序】按钮=====弹出新页面==========
  1269. const cpgylcfjxx = ref(false);
  1270. //产品代号
  1271. const _cpgyoriginalNamev = ref(null);
  1272. const cpgyformData = reactive({
  1273. //当前产品代号
  1274. cpgydh: '',
  1275. //当前产品名称
  1276. cpgymc: '',
  1277. //当前产品工艺方案
  1278. cpgyfan: [],
  1279. // 当前工艺方案默认选择的值
  1280. cpgyfans: '',
  1281. });
  1282. //点击【附加标准工序按钮】打开页面清空输入框数据
  1283. const fjbzgx = async () => {
  1284. cpgyformData['cpgydh'] = '';
  1285. cpgyformData['cpgymc'] = '';
  1286. cpgyformData['cpgyfan'] = '';
  1287. cpgylcfjxx.value = true;
  1288. }
  1289. //输入新产品点击后面input获取新产品的值
  1290. const oncpgymcclick = () => {
  1291. _cpgyoriginalNamev.value = cpgyformData['cpgydh'];
  1292. _cpgyongetProductclick();
  1293. _ongetProductclicks();
  1294. }
  1295. //新产品输入框回车事件
  1296. const cpgygetProductValue = () => {
  1297. if(cpgyformData['cpgydh'] == ''){
  1298. cpgyformData['cpgymc'] = '';
  1299. }
  1300. _cpgyoriginalNamev.value = cpgyformData['cpgydh'];
  1301. _cpgyongetProductclick();
  1302. _ongetProductclicks();
  1303. }
  1304. //3.点击工艺方案下拉框获取输入框的值
  1305. const oncpgyfanclick = () => {
  1306. // 产品代号
  1307. const product_code = cpgyformData.cpgydh;
  1308. // 选中的工艺方案
  1309. const plan = cpgyformData.cpgyfan;
  1310. getProductGyss(product_code,plan)
  1311. }
  1312. const yincangtableData = ref([]);
  1313. const _cpgyongetProductclick = async ()=>{
  1314. const product_code = _cpgyoriginalNamev.value;//产品号
  1315. const getProductDatadata = await getProductData({product_code:product_code});
  1316. // 从数据中提取方案
  1317. const schemes = getProductDatadata.data.gyData.map(item => item.方案);
  1318. // 使用 Set 进行去重
  1319. const uniqueSchemes = Array.from(new Set(schemes));
  1320. // 更新工艺方案数组
  1321. cpgyformData.cpgyfans = uniqueSchemes;
  1322. // 设置默认选择第一个选项
  1323. if (cpgyformData.cpgyfans.length > 0) {
  1324. cpgyformData.cpgyfan = [cpgyformData.cpgyfans[0]];
  1325. }
  1326. const plan = cpgyformData.cpgyfan[0]
  1327. getProductGyss(product_code,plan)
  1328. }
  1329. //当前产品号通过接口查询工艺数据,用来展示表格
  1330. const cpgytableData = ref([]);
  1331. const getProductGyss = async (product_code,plan) => {
  1332. const getProductGydata = await getProductGy({product_code:product_code,plan:plan});
  1333. cpgytableData.value = getProductGydata.data;
  1334. };
  1335. const _ongetProductclicks = async ()=>{
  1336. let params = {}
  1337. params.search = _cpgyoriginalNamev.value;
  1338. params.limit = 999;
  1339. params.page = 1;
  1340. try {
  1341. const getProductdata = await getProduct(params);
  1342. cpgyformData['cpgymc'] = getProductdata.data.data[0]['产品名称'];
  1343. } catch (error) {
  1344. console.error(error);
  1345. }
  1346. }
  1347. //点击【附加标准工序执行】按钮
  1348. const onfjbzgxexecute = async () => {
  1349. cpgylcfjxx.value = false;
  1350. }
  1351. //点击【附加标准工序放弃】按钮
  1352. const onfjbzgxcancellation = async () => {cpgylcfjxx.value = false;}
  1353. //点击【更新当前产品工序】按钮,更新的是表格数据
  1354. const gxdqcpgx = async () => {
  1355. const rawValueArray = fjtableData._rawValue;
  1356. const formattedData = rawValueArray.map(item => {
  1357. return {
  1358. UniqID: item.UniqID,
  1359. Gy0_yjno: item.Gy0_yjno,
  1360. Gy0_gxh: item.Gy0_gxh,
  1361. Gy0_Ks: item.Gy0_Ks,
  1362. Gy0_ls: item.Gy0_ls
  1363. };
  1364. });
  1365. const editGyNamedata = await editGyNo(formattedData);
  1366. if (editGyNamedata.code === 0) {
  1367. ElMessage({
  1368. type: 'success',
  1369. message: '更新成功'
  1370. })
  1371. } else {
  1372. ElMessage({
  1373. type: 'error',
  1374. message: '更新失败'
  1375. })
  1376. }
  1377. fjlist.value = false;
  1378. };
  1379. //点击【建立工艺方案】按钮,当前的方案建立到新产品方案中
  1380. const fjhandleConfirm = async () => {
  1381. fjlist.value = false;
  1382. };
  1383. //点击【工艺方案附加放弃操作】按钮
  1384. const fjhandleCancel = () => {
  1385. fjlist.value = false;
  1386. };
  1387. // =========== 工艺方案更名 ===========
  1388. const gygmlist = ref(false);
  1389. const _gygmstacode = ref(null);
  1390. const gyformData = reactive({
  1391. process: '',
  1392. processName: '',
  1393. originalNameOptions: [],
  1394. newName: '',
  1395. originalName: '', // 工艺方案默认选择的值
  1396. });
  1397. //点击【工艺方案更名】按钮
  1398. const gygmClick = () => {
  1399. if(_product_code.value == null){
  1400. gygmlist.value = false;
  1401. ElMessage({
  1402. type: 'warning',
  1403. message: '请选择分类项目,再操作此功能'
  1404. })
  1405. }else{
  1406. gygmlist.value = true;
  1407. gyformData.process = _product_code.value;
  1408. gyformData.processName = _kehu_code.value;
  1409. if (gytableData.length === 0) {
  1410. gygmlist.value = false;
  1411. ElMessage({
  1412. type: 'warning',
  1413. message: '没有工艺资料'
  1414. })
  1415. } else {
  1416. const uniqueSchemeSet = new Set();
  1417. gytableData.forEach(item => {
  1418. uniqueSchemeSet.add(item['方案']);
  1419. });
  1420. const uniqueSchemeArray = Array.from(uniqueSchemeSet);
  1421. gyformData.originalNameOptions = []; // 清空原有数据
  1422. gyformData.originalNameOptions = gyformData.originalNameOptions.concat(uniqueSchemeArray);
  1423. // 设置默认选择第一个选项
  1424. if (gyformData.originalNameOptions.length > 0) {
  1425. gyformData.originalName = gyformData.originalNameOptions[0];
  1426. }
  1427. }
  1428. }
  1429. };
  1430. // 工艺方案更名放弃按钮
  1431. const gygmhandleCancel = () => {gygmlist.value = false;};
  1432. // 点击工艺方案更名【执行】按钮
  1433. const gygmhandleConfirm = async () => {
  1434. gygmlist.value = false;
  1435. let params = {}
  1436. params.code = gyformData.process;
  1437. params.old_name = gyformData.originalName;
  1438. params.new_name = gyformData.newName;
  1439. //确定后清空 工艺方案原名 输入框
  1440. gyformData.originalName = ''
  1441. //确定后清空 工艺方案新名 输入框
  1442. gyformData.newName = ''
  1443. try {
  1444. const WorkListdata = await editGyName(params);
  1445. if (WorkListdata.code === 0) {
  1446. ElMessage({type: 'success',message: '更新成功'})
  1447. } else {
  1448. ElMessage({type: 'error',message: '更新失败'})
  1449. }
  1450. } catch (error) {
  1451. console.error(error);
  1452. }
  1453. };
  1454. gygmhandleCancel(_gygmstacode);
  1455. // =========== 计损色数修正 ===========
  1456. const jsssxzlist = ref(false);
  1457. const jsssxztableData = ref([]);
  1458. const jsssxzformData = reactive({cpdh: '',});
  1459. //点击【计损色数修正】按钮
  1460. const jsssxzClick = () => {
  1461. if(_product_code.value == null){
  1462. jsssxzlist.value = false;
  1463. ElMessage({
  1464. type: 'warning',
  1465. message: '请选择分类项目,再操作此功能'
  1466. })
  1467. }else{
  1468. _jsssxzgetProductGy();
  1469. jsssxzformData['cpdh'] = _product_code.value;
  1470. jsssxzlist.value = true;
  1471. }
  1472. }
  1473. //计损色数修正【回车】
  1474. const jsssxzgetProductValue = async () => {
  1475. _product_code.value = '';
  1476. _jsssxzgetProductGy();
  1477. };
  1478. //计损色数修正获取工艺表格数据
  1479. const _jsssxzgetProductGy = async ()=>{
  1480. let product_code = _product_code.value || jsssxzformData['cpdh'];
  1481. try {
  1482. const getProductGydata = await getProductGy({product_code:product_code});
  1483. jsssxztableData.value = getProductGydata.data;
  1484. const formattedData = getProductGydata.data.map(item=>{
  1485. item.old_ms_coe = item.ms_coe
  1486. return item
  1487. });
  1488. } catch (error) {
  1489. console.error(error);
  1490. }
  1491. }
  1492. //计损色数修正更新按钮
  1493. const jsssxzConfirm = async () => {
  1494. const rawValueArray = jsssxztableData._rawValue;
  1495. const formattedData = rawValueArray.map(item => {
  1496. return {
  1497. UniqID: item.UniqID,
  1498. Gy0_Ms: item.ms_coe,
  1499. Gy0_gxh: item.Gy0_gxh,
  1500. Gy0_Ks: item.Gy0_Ks,
  1501. Add_gxmc: item.Add_gxmc,
  1502. remark: item.remark
  1503. };
  1504. });
  1505. const editeditGyMs = await editGyMs(formattedData);
  1506. if (editeditGyMs.code === 0) {
  1507. ElMessage({type: 'success',message: '更新成功'})
  1508. } else {
  1509. ElMessage({type: 'error',message: '更新失败'})
  1510. }
  1511. jsssxzlist.value = false;
  1512. };
  1513. //计损色数修正放弃按钮
  1514. const jsssxzCancel = () => {jsssxzlist.value = false;};
  1515. // =========== 质检废品系数 ===========
  1516. const fjfpxslist = ref(false);
  1517. const fjfpxstableData = ref([]);
  1518. const fjfpxsformData = reactive({cpdh: '',});
  1519. //点击【质检废品系数】按钮
  1520. const fjfpxsClick = () => {
  1521. if(_product_code.value == null){
  1522. gygmlist.value = false;
  1523. ElMessage({type: 'warning',message: '请选择分类项目,再操作此功能'})
  1524. }else{
  1525. fjfpxsformData['cpdh'] = _product_code.value;
  1526. _fjfpxsgetProductGy();
  1527. fjfpxslist.value = true;
  1528. }
  1529. }
  1530. //质检废品系数回车
  1531. const fjfpxsgetProductValue = async () => {
  1532. _product_code.value = '';
  1533. _fjfpxsgetProductGy();
  1534. };
  1535. //质检废品系数获取工艺表格数据
  1536. const _fjfpxsgetProductGy = async ()=>{
  1537. let product_code = _product_code.value || fjfpxsformData['cpdh'];
  1538. try {
  1539. const getProductGydata = await getProductGy({product_code:product_code});
  1540. fjfpxstableData.value = getProductGydata.data;
  1541. const formattedData = getProductGydata.data.map(item=>{
  1542. item.old_artificial_zp = item.artificial_zp;
  1543. item.old_artificial_cp = item.artificial_cp;
  1544. item.old_artificial_fj = item.artificial_fj;
  1545. item.old_machine_zp = item.machine_zp;
  1546. item.old_machine_cp = item.machine_cp;
  1547. item.old_machine_fj = item.machine_fj;
  1548. return item
  1549. });
  1550. } catch (error) {
  1551. console.error(error);
  1552. }
  1553. }
  1554. //质检废品系数更新按钮
  1555. const fjfpxsConfirm = async () => {
  1556. const rawValueArray = fjfpxstableData._rawValue;
  1557. const formattedData = rawValueArray.map(item => {
  1558. return {
  1559. UniqID: item.UniqID,
  1560. artificial_zp: parseFloat(item.artificial_zp) || item.artificial_zp === 0 ? parseFloat(item.artificial_zp).toFixed(3) : "0.000",
  1561. artificial_cp: parseFloat(item.artificial_cp) || item.artificial_cp === 0 ? parseFloat(item.artificial_cp).toFixed(3) : "0.000",
  1562. artificial_fj: parseFloat(item.artificial_fj) || item.artificial_fj === 0 ? parseFloat(item.artificial_fj).toFixed(3) : "0.000",
  1563. machine_zp: parseFloat(item.machine_zp) || item.machine_zp === 0 ? parseFloat(item.machine_zp).toFixed(3) : "0.000",
  1564. machine_cp: parseFloat(item.machine_cp) || item.machine_cp === 0 ? parseFloat(item.machine_cp).toFixed(3) : "0.000",
  1565. machine_fj: parseFloat(item.machine_fj) || item.machine_fj === 0 ? parseFloat(item.machine_fj).toFixed(3) : "0.000"
  1566. };
  1567. });
  1568. const editGyWastes = await editGyWaste(formattedData);
  1569. if (editGyWastes.code === 0) {
  1570. ElMessage({type: 'success',message: '更新成功'})
  1571. } else {
  1572. ElMessage({type: 'error',message: '更新失败'})
  1573. }
  1574. fjfpxslist.value = false;
  1575. };
  1576. //质检废品系数放弃按钮
  1577. const fjfpxsCancel = () => {fjfpxslist.value = false;};
  1578. // =========== 排产参数调整 ===========
  1579. const pccstzlist = ref(false);
  1580. const pccstztableData = ref([]);
  1581. const pccstzformData = reactive({cpdh: '',});
  1582. //点击【排产参数调整】按钮
  1583. const pccstzClick = () => {
  1584. if(_product_code.value == null){
  1585. pccstzlist.value = false;
  1586. ElMessage({type: 'warning',message: '请选择分类项目,再操作此功能'})
  1587. }else{
  1588. pccstzformData['cpdh'] = _product_code.value;
  1589. _pccstzgetProductGy();
  1590. pccstzlist.value = true;
  1591. }
  1592. }
  1593. //排产参数调整 回车
  1594. const pccstzProductValue = async () => {
  1595. _product_code.value = '';
  1596. _pccstzgetProductGy();
  1597. };
  1598. //排产参数调整 获取单个工艺数据(排产参数调整)
  1599. const _pccstzgetProductGy = async ()=>{
  1600. let product_code = _product_code.value || pccstzformData['cpdh'];
  1601. try {
  1602. const getProductGydata = await getProductGy({product_code:product_code});
  1603. pccstztableData.value = getProductGydata.data;
  1604. const formattedData = getProductGydata.data.map(item=>{
  1605. //原A类产能
  1606. item.old_A_power = item.A_power;
  1607. //原损耗代号
  1608. item.old_Gy0_shdh = item.Gy0_shdh;
  1609. // 原机组编号
  1610. item.old_Gy0_sbbh = item.Gy0_sbbh;
  1611. //设备编号
  1612. item.olds_Gy0_sbbh = item.Gy0_sbbh;
  1613. return item
  1614. });
  1615. } catch (error) {
  1616. console.error(error);
  1617. }
  1618. }
  1619. //排产参数调整 【执行更新按钮】
  1620. const pccstzConfirm = async () => {
  1621. const rawValueArray = pccstztableData._rawValue;
  1622. const formattedData = rawValueArray.map(item => {
  1623. return {
  1624. UniqID: item.UniqID,
  1625. A_power: item.A_power,
  1626. shdh: item.Gy0_shdh,
  1627. machine: item.Gy0_sbbh,
  1628. time: item.Gy0_辅助工时,
  1629. };
  1630. });
  1631. const editGy_edit = await editGy(formattedData);
  1632. if (editGy_edit.code === 0) {
  1633. ElMessage({type: 'success',message: '更新成功'})
  1634. } else {
  1635. ElMessage({type: 'error',message: '更新失败'})
  1636. }
  1637. pccstzlist.value = false;
  1638. };
  1639. //排产参数调整 放弃
  1640. const pccstzCancel = () => {pccstzlist.value = false;};
  1641. // =========== 核算参数调整 ===========
  1642. const hscstzlist = ref(false);
  1643. const hscstztableData = ref([]);
  1644. const hscstzformData = reactive({cpdh: '',});
  1645. //点击【核算参数调整】按钮
  1646. const hscstzClick = () => {
  1647. if(_product_code.value == null){
  1648. hscstzlist.value = false;
  1649. ElMessage({type: 'warning',message: '请选择分类项目,再操作此功能'})
  1650. }else{
  1651. hscstzformData['cpdh'] = _product_code.value;
  1652. _hscstzgetProductGy();
  1653. hscstzlist.value = true;
  1654. }
  1655. }
  1656. //排产参数调整 回车
  1657. const hscstzProductValue = async () => {
  1658. _product_code.value = '';
  1659. _hscstzgetProductGy();
  1660. };
  1661. //核算参数调整 获取单个工艺数据(排产参数调整)
  1662. const _hscstzgetProductGy = async ()=>{
  1663. let product_code = _product_code.value || hscstzformData['cpdh'];
  1664. try {
  1665. const hscstz_getProductGy = await getProductGy({product_code:product_code});
  1666. hscstztableData.value = hscstz_getProductGy.data;
  1667. const formattedData = hscstz_getProductGy.data.map(item=>{
  1668. //原难度系数
  1669. item.hscstzold_difficulty_coe = item.difficulty_coe;
  1670. //原损耗系数
  1671. item.hscstzold_loss_coe = item.loss_coe;
  1672. //原计损色数
  1673. item.hscstzold_ms_coe = item.ms_coe;
  1674. return item
  1675. });
  1676. } catch (error) {
  1677. console.error(error);
  1678. }
  1679. }
  1680. //核算参数调整 【执行按钮】
  1681. const hscstzConfirm = async () => {
  1682. const rawValueArray = hscstztableData._rawValue;
  1683. const formattedData = rawValueArray.map(item => {
  1684. return {
  1685. UniqID: item.UniqID,
  1686. difficulty_coe: item.difficulty_coe,
  1687. loss_coe: item.loss_coe,
  1688. ms_coe: item.ms_coe,
  1689. };
  1690. });
  1691. const hscstz_edit = await editGy(formattedData);
  1692. if (hscstz_edit.code === 0) {
  1693. ElMessage({type: 'success',message: '更新成功'})
  1694. } else {
  1695. ElMessage({type: 'error',message: '更新失败'})
  1696. }
  1697. hscstzlist.value = false;
  1698. };
  1699. //核算参数调整 放弃
  1700. const hscstzCancel = () => {hscstzlist.value = false;};
  1701. // =========== 左侧树侧形结构 ===========
  1702. const treeData = ref({})
  1703. const getCustomdata = async () => {
  1704. try {
  1705. const data = await getCustom()
  1706. treeData.value = data.data;
  1707. } catch (error) {
  1708. console.error('Error fetching custom data:', error);
  1709. }
  1710. }
  1711. getCustomdata()
  1712. //点击左侧树形获取列表
  1713. const tableData = reactive([])
  1714. const _custom_code = ref(null)
  1715. const handleNodeClick = async (node) => {
  1716. _custom_code.value = node.客户编号;
  1717. //清空搜索框
  1718. searchInfo.value = '';
  1719. _getProduct()
  1720. };
  1721. //印件资料
  1722. const yjtableData = reactive([])
  1723. //工艺资料
  1724. const gytableData = reactive([])
  1725. //印版资料
  1726. const ybtableData = reactive([])
  1727. //技术资料附件【暂时为空】
  1728. const jstableData = reactive([])
  1729. //全局调用产品编号
  1730. const _product_code = ref(null)
  1731. //全局调用产品名称
  1732. const _kehu_code = ref(null)
  1733. //点击表格行 下方表格获取数据
  1734. const tableRowClick = async (row) => {
  1735. _product_code.value = row.产品编号;
  1736. _kehu_code.value = row.产品名称;
  1737. const res = await getProductData({product_code:_product_code.value});
  1738. yjtableData.splice(0, yjtableData.length, ...res.data.yjData);
  1739. gytableData.splice(0, gytableData.length, ...res.data.gyData);
  1740. ybtableData.splice(0, ybtableData.length, ...res.data.ybData);
  1741. };
  1742. //搜索查询
  1743. const searchInfo = ref('')
  1744. //点击【查询】按钮
  1745. const onSubmit = () => {
  1746. _custom_code.value = '';
  1747. _getProduct();
  1748. };
  1749. //封装获取单个产品基础数据方法
  1750. const _getProduct = async ()=>{
  1751. let params = {}
  1752. params.search = searchInfo.value;
  1753. params.custom_code = _custom_code.value;
  1754. params.limit = pageSize.value;
  1755. params.page = page.value;
  1756. try {
  1757. const WorkListdata = await getProduct(params);
  1758. console.log(WorkListdata.data.data)
  1759. if(WorkListdata.data.data === []){
  1760. ElMessage({type: 'warning',message: '未查询到搜索条件'})
  1761. }else{
  1762. tableData.splice(0, tableData.length, ...WorkListdata.data.data);//表格
  1763. console.log(WorkListdata)
  1764. total.value = WorkListdata.data.total;//共多少条
  1765. }
  1766. } catch (error) {
  1767. console.error(error);
  1768. }
  1769. }
  1770. // 分页
  1771. const page = ref(1)
  1772. const total = ref(0)
  1773. const pageSize = ref(50)
  1774. const handleCurrentChange = (val) => {
  1775. page.value = val;
  1776. _WorkList_page();
  1777. };
  1778. // 修改页面容量 点击多少条/页
  1779. const handleSizeChange = (val) => {
  1780. page.value = 1;
  1781. pageSize.value = val;
  1782. _WorkList_page();
  1783. };
  1784. //=========修改产品基本资料产品表格弹窗========
  1785. let formDataTest = reactive({})
  1786. //弹窗
  1787. const dialogFormVisible = ref(false)
  1788. //双击修改弹窗
  1789. const dbclickId = ref()
  1790. const updateCompanyFunc = async (row, cols) => {
  1791. dbclickId.value = row.UniqID
  1792. formDataTest = Object.assign(formDataTest,row);
  1793. dialogFormVisible.value = true;
  1794. };
  1795. //关闭修改弹窗
  1796. const closeDialog = () => {
  1797. dialogFormVisible.value = false
  1798. }
  1799. //点击确定修改表格
  1800. const enterDialog = async () => {
  1801. const formattedData = {
  1802. '客户编号': formDataTest['客户编号'],
  1803. '客户名称': formDataTest['客户名称'],
  1804. '印品代号': formDataTest['产品编号'],
  1805. '版本号': formDataTest['版本号'],
  1806. '客户料号': formDataTest['客户料号'],
  1807. '产品名称': formDataTest['产品名称'],
  1808. '产品类别': formDataTest['产品类别'],
  1809. '计量单位': formDataTest['计量单位'],
  1810. '成品规格': formDataTest['成品规格'],
  1811. '产品备注': formDataTest['产品备注'],
  1812. };
  1813. const editProductedit = await editProduct(formattedData);
  1814. if (editProductedit.code === 0) {
  1815. const row = tableData.find(item => item.UniqID === dbclickId.value)
  1816. Object.keys(formDataTest).map( key => {
  1817. row[key] = formDataTest[key]
  1818. })
  1819. ElMessage({type: 'success',message: '更新成功'})
  1820. } else {
  1821. ElMessage({ type: 'error',message: '更新失败'})
  1822. }
  1823. dialogFormVisible.value = false;
  1824. }
  1825. //=========修改印件资料========
  1826. let yjformDataTest = reactive({})
  1827. //双击修改
  1828. const yjupdateCompanyFunc = async (row) => {
  1829. Object.assign(yjformDataTest,row);
  1830. // yjformDataTest = row;
  1831. yjdialogFormVisible.value = true;
  1832. };
  1833. // 弹窗
  1834. const yjdialogFormVisible = ref(false)
  1835. //关闭修改弹窗
  1836. const yjcloseDialog = () => {
  1837. yjdialogFormVisible.value = false
  1838. }
  1839. //点击确定修改表格
  1840. const yjenterDialog = async () => {
  1841. console.log(yjformDataTest)
  1842. const formattedData = {
  1843. '印件号': yjformDataTest['yj_yjno'],
  1844. '印件代号': yjformDataTest['yj_yjdh'],
  1845. '印件名称': yjformDataTest['yj_yjmc'],
  1846. '纸张单号': yjformDataTest['yj_zzdh'],
  1847. '纸张名称': yjformDataTest['yj_zzmc'],
  1848. '投料': yjformDataTest['yj_tlgg'],
  1849. '开料': yjformDataTest['yj_klgg'],
  1850. '开数': yjformDataTest['yj_ks'],
  1851. '联数': yjformDataTest['yj_ls'],
  1852. '备注说明': yjformDataTest['yj_desc'],
  1853. };
  1854. console.log(formattedData)
  1855. // const editdata = await 修改印件接口函数(formattedData);
  1856. // if (editdata.code === 0) {
  1857. // ElMessage({type: 'success',message: '更新成功'})
  1858. // } else {
  1859. // ElMessage({ type: 'error',message: '更新失败'})
  1860. // }
  1861. // yjdialogFormVisible.value = false;
  1862. }
  1863. //=========新增印件资料========
  1864. //默认弹窗关闭
  1865. const add_yjdialogFormVisible = ref(false)
  1866. //新增弹窗
  1867. const addcpyj_onclick = () => {
  1868. add_yjdialogFormVisible.value = true
  1869. }
  1870. //印件新增确定
  1871. const add_yjcloseDialog = () => {
  1872. add_yjdialogFormVisible.value = true
  1873. }
  1874. //印件新增取消
  1875. const add_yjenterDialog = () => {
  1876. add_yjdialogFormVisible.value = true
  1877. }
  1878. //=========修改工艺资料========
  1879. let gyformDataTest = reactive({})
  1880. //双击修改
  1881. const gyupdateCompanyFunc = async (row) => {
  1882. Object.assign(gyformDataTest,row);
  1883. // gyformDataTest = row;
  1884. gydialogFormVisible.value = true;
  1885. };
  1886. //弹窗
  1887. const gydialogFormVisible = ref(false)
  1888. //打开修改弹窗
  1889. const gyenterDialog = () => {
  1890. console.log(gyformDataTest)
  1891. const formattedData = {
  1892. '工序方案': gyformDataTest['方案'],
  1893. '印件编号': gyformDataTest['Gy0_yjno'],
  1894. '工序编号': gyformDataTest['Gy0_gxh'],
  1895. '加工开数': gyformDataTest['Gy0_Ks'],
  1896. '加工联数': gyformDataTest['Gy0_ls'],
  1897. '车间名称': gyformDataTest['gy0_site'],
  1898. '工艺名称': gyformDataTest['gy0_gxmc'],
  1899. '工序名称': gyformDataTest['add_gxmc'],
  1900. '可用设备': gyformDataTest['Gy0_sbbh'],
  1901. '标准损耗': gyformDataTest['Gy0_shdh'],
  1902. '基础损耗': gyformDataTest['基础损耗'],
  1903. '损耗率': gyformDataTest['损耗率'],
  1904. '工价系数': gyformDataTest['工价系数'],
  1905. '损耗系数': gyformDataTest['损耗系数'],
  1906. '工序备注': gyformDataTest['备注'],
  1907. };
  1908. console.log(formattedData)
  1909. // const editdata = await 修改工艺接口函数(formattedData);
  1910. // if (editdata.code === 0) {
  1911. // ElMessage({type: 'success',message: '更新成功'})
  1912. // } else {
  1913. // ElMessage({ type: 'error',message: '更新失败'})
  1914. // }
  1915. // gydialogFormVisible.value = true
  1916. }
  1917. //关闭修改弹窗
  1918. const gycloseDialog = () => {
  1919. gydialogFormVisible.value = false
  1920. }
  1921. //=========印版修改========
  1922. let ybformDataTest = reactive({})
  1923. //双击修改
  1924. const ybupdateCompanyFunc = async (row) => {
  1925. Object.assign(ybformDataTest,row);
  1926. // ybformDataTest = row;
  1927. ybdialogFormVisible.value = true;
  1928. };
  1929. // 弹窗
  1930. const ybdialogFormVisible = ref(false)
  1931. // 打开修改弹窗
  1932. const ybenterDialog = () => {
  1933. console.log(ybformDataTest)
  1934. const formattedData = {
  1935. '工序方案': ybformDataTest['YB_方案'],
  1936. '印件号': ybformDataTest['YB_Yjno'],
  1937. '存货编码': ybformDataTest['存货编码'],
  1938. '印版名称': ybformDataTest['印版名称'],
  1939. };
  1940. console.log(formattedData)
  1941. // const editdata = await 修改印版接口函数(formattedData);
  1942. // if (editdata.code === 0) {
  1943. // ElMessage({type: 'success',message: '更新成功'})
  1944. // } else {
  1945. // ElMessage({ type: 'error',message: '更新失败'})
  1946. // }
  1947. // ybdialogFormVisible.value = true
  1948. }
  1949. // 关闭弹窗
  1950. const ybcloseDialog = () => {
  1951. ybdialogFormVisible.value = false
  1952. }
  1953. //===========改变按钮中表格修改背景颜色=========
  1954. //计损色数修正表格修改颜色 :cell-style="setInputCellStyle"
  1955. const setInputCellStyle = (data) => {
  1956. const jiSun = ['ms_coe', 'Gy0_Ks', 'Gy0_ls', 'Add_gxmc', 'remark']
  1957. let style = { padding: 0 }
  1958. if (data.column?.property && jiSun.includes(data.column?.property)) {
  1959. Object.assign(style, { backgroundColor: '#42b983'})
  1960. }
  1961. return style
  1962. }
  1963. //键盘 input框跳转
  1964. const ent = (event,id1,id2,id3) => {
  1965. if (event.keyCode === 13 || event.keyCode === 40) { // Enter 或向下箭头
  1966. if(id3!=''){
  1967. document.getElementById(id3).focus()
  1968. }
  1969. } else if (event.keyCode === 38) { // 向上箭头
  1970. if(id1!=''){
  1971. document.getElementById(id1).focus()
  1972. }
  1973. }else if (event.keyCode === 8) { // 删除箭头
  1974. if(id1!='' && document.getElementById(id2).value==''){
  1975. document.getElementById(id1).focus()
  1976. }
  1977. console.log(document.getElementById(id2).value)
  1978. }else if (event.keyCode === 37) { // 向左箭头
  1979. if(id1!='' && document.getElementById(id2).selectionStart==0){
  1980. document.getElementById(id1).focus()
  1981. }
  1982. }else if (event.keyCode === 39) { // 向右箭头
  1983. if(id3!='' && document.getElementById(id2).selectionStart == document.getElementById(id2).value.length){
  1984. document.getElementById(id3).focus()
  1985. }
  1986. }
  1987. }
  1988. //表格文字变色
  1989. const tableDataCellClass = ({row, column, rowIndex, columnIndex}) =>{
  1990. if (column.property === 'gyData' || column.property === 'yjData') {
  1991. return 'plan-usage-low';
  1992. }
  1993. }
  1994. </script>
  1995. <style scoped>
  1996. :deep(.plan-usage-low div) {
  1997. color: red !important;
  1998. }
  1999. .JKWTree-container {
  2000. display: flex;
  2001. }
  2002. .JKWTree-tree {
  2003. width: 300px;
  2004. background-color: #fff;
  2005. /*background-color: rgba(241, 224, 224, 0.99);*/
  2006. padding: 10px;
  2007. margin-right: 20px;
  2008. }
  2009. .JKWTree-tree h3 {
  2010. font-size: 15px;
  2011. font-weight: 700;
  2012. margin: 10px 0;
  2013. }
  2014. .JKWTree-content {
  2015. flex: 1;
  2016. }
  2017. :deep(.el-table__body .warning-row) {
  2018. background: #FFFF80 !important;
  2019. }
  2020. /* 选中某行时的背景色 */
  2021. :deep(.el-table__body tr.current-row) > td {
  2022. background: #ff80ff !important;
  2023. }
  2024. </style>
  2025. <style scoped>
  2026. :deep(.el-table td .cell) {
  2027. line-height: 20px !important;
  2028. }
  2029. :deep(.el-tabs__header){
  2030. margin-bottom: 0;
  2031. }
  2032. .search{
  2033. margin-left: 0px !important;
  2034. margin-right: 10px !important;
  2035. }
  2036. .bt{
  2037. margin-left: 2px !important;
  2038. padding: 3px !important;
  2039. font-size: 12px;
  2040. }
  2041. .el-tabs__header{
  2042. margin: 0px !important;
  2043. }
  2044. .gva-table-box{
  2045. padding: 0px !important;
  2046. }
  2047. .mab{
  2048. margin-bottom: 5px;
  2049. }
  2050. </style>