Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.
 
 
 

250 wiersze
17 KiB

  1. <!-- Wappler include head-page="layouts/main" fontawesome_5="cdn" bootstrap5="local" is="dmx-app" id="dspec" appconnect="local" components="{dmxTyped:{},dmxStateManagement:{},dmxBootstrap5Modal:{},dmxFormatter:{},dmxValidator:{},dmxScheduler:{},dmxDataTraversal:{},dmxBootstrap5TableGenerator:{},dmxBootstrap5Navigation:{},dmxSockets:{}}" -->
  2. <dmx-serverconnect id="apid_pushpart" url="/api/Parts/Create" noload="true"></dmx-serverconnect>
  3. <dmx-serverconnect id="api_pushdspec" url="/api/DSpec/Create" noload="true"></dmx-serverconnect>
  4. <dmx-serverconnect id="api_increasemaxpn" url="/api/MaxPNs/Increase" noload="true"></dmx-serverconnect>
  5. <div class="modal" id="modal2" is="dmx-bs5-modal" tabindex="-1">
  6. <div class="modal-dialog" role="document">
  7. <div class="modal-content">
  8. <div class="modal-header">
  9. <h5 class="modal-title">Confirm</h5>
  10. <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
  11. </div>
  12. <div class="modal-body">
  13. <p>Are you sure you want to delete part #</p>
  14. <input id="txt_deletepn" name="text4" type="text" class="form-control">
  15. <input id="txt_delpid" name="text4" type="text" class="form-control">
  16. </div>
  17. <div class="modal-footer">
  18. <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
  19. <button type="button" class="btn btn-primary" dmx-on:click="api_deleteItem.load({});api1.load({});modal2.hide()">Save changes</button>
  20. </div>
  21. </div>
  22. </div>
  23. </div>
  24. <dmx-api-action id="api_deleteItem" noload="true" dmx-bind:url="'http://vapor.prelub.com/api/v1.0/boms/'+modal2.txt_delpid.value" method="delete"></dmx-api-action>
  25. <dmx-api-action id="api_getcodebyid" noload="true" url="http://vapor.prelub.com/api/v1.0/partcodes/" dmx-bind:url="'http://vapor.prelub.com/api/v1.0/partcodes/'+modal1.txt_parentid.value"></dmx-api-action>
  26. <dmx-api-action id="api_allpartcodes" url="http://vapor.prelub.com/api/v1.0/partcodes"></dmx-api-action>
  27. <dmx-api-action id="api_maxpn" url="http://vapor.prelub.com/api/v1.0/pns/max"></dmx-api-action>
  28. <dmx-api-action id="api_partcodes" noload="true" url="http://vapor.prelub.com/api/v1.0/partcodes/bytype/0" dmx-bind:url="'http://vapor.prelub.com/api/v1.0/partcodes/bytype/'+modal1.frm_part.sel_parttypes.value"></dmx-api-action>
  29. <dmx-api-action id="api_childcodes" noload="true" url="http://vapor.prelub.com/api/v1.0/partcodes/byparent/" dmx-bind:url="'http://vapor.prelub.com/api/v1.0/partcodes/byparent/'+modal1.txt_parentid.value"></dmx-api-action>
  30. <dmx-api-action id="api_parttypes" url="http://vapor.prelub.com/api/v1.0/parttypes"></dmx-api-action>
  31. <dmx-api-action id="api1" url="http://vapor.prelub.com/api/v1.0/designspecs/max/" dmx-bind:url="'http://vapor.prelub.com/api/v1.0/designspecs/max/'+query1.data.id"></dmx-api-action>
  32. <dmx-query-manager id="query1"></dmx-query-manager>
  33. <div class="modal" id="modal1" is="dmx-bs5-modal" tabindex="-1" dmx-bind:show="!query1.data.id">
  34. <div class="modal-dialog" role="document">
  35. <div class="modal-content">
  36. <div class="modal-header">
  37. <h5 class="modal-title">New Part Number</h5>
  38. <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
  39. </div>
  40. <div class="modal-body">
  41. <form id="frm_part">
  42. <input id="txt_parentid" name="parentid" type="text" class="form-control">
  43. <input id="hdn_newpn" name="text1" type="hidden" class="form-control" placeholder="new part number"><input id="hdn_zeroo" name="text1" type="hidden" class="form-control" value="0">
  44. <p id="para_productionparts">Select Part Type</p>
  45. <select id="sel_parttypes" class="form-select" name="parttypes" dmx-bind:options="api_parttypes.data" optiontext="name" optionvalue="id" required="" dmx-bind:value="api1.data.partnumber.partcode.parttype.id" dmx-on:changed="api_partcodes.load({})">
  46. <option selected="" value="0">Select</option>
  47. </select>
  48. <p id="para_nonproductionparts">Select Part Code</p><select id="sel_nonproductionparts" class="form-select" name="nonproductionparts" dmx-on:changed="run({run:{action:`txt_parentid.setValue(sel_parttypes.value)`,name:'SetTextVal',outputType:'text'}})" dmx-bind:options="api_partcodes.data" optiontext="name" optionvalue="id" required="" dmx-bind:value="api1.data.partnumber.partcode.id">
  49. <option value="0">Select</option>
  50. </select>
  51. <p>Description</p>
  52. <textarea id="txt_ptdescription" class="form-control" name="ptdescription" required="" dmx-bind:value="api1.data.partnumber.description"></textarea>
  53. <p>Comments</p>
  54. <textarea id="txt_ptcomments" class="form-control" name="comments" required="" dmx-bind:value="api1.data.partnumber.comments"></textarea>
  55. </form>
  56. </div>
  57. <div class="modal-footer">
  58. <button type="button" class="btn btn-danger" data-bs-dismiss="modal" id="btn_closenewpar">Cancel</button>
  59. <button type="button" class="btn btn-primary" dmx-on:click="txt_partnumber.setValue(frm_part.sel_parttypes.value.concat('-'.concat(frm_part.sel_nonproductionparts.value.concat('-'.concat(api_maxpn.data.number)))));txt_rev.setValue(frm_part.hdn_zeroo.value);modal1.hide();frm_partsubmit.txt_savepc.setValue(frm_part.sel_nonproductionparts.selectedValue);frm_partsubmit.txt_savept.setValue(frm_part.sel_parttypes.selectedValue);frm_partsubmit.txt_savepn.setValue(sel_parttypes.value.concat('-'.concat(sel_nonproductionparts.value.concat('-'.concat(api_maxpn.data.number)))));frm_partsubmit.txt_savepndescription.setValue(frm_part.txt_ptdescription.value);frm_partsubmit.txt_savepncomments.setValue(frm_part.txt_ptcomments.value)">Save changes</button>
  60. </div>
  61. </div>
  62. </div>
  63. </div>
  64. <div class="container">
  65. <h1>DSpec</h1>
  66. <div class="row">
  67. <div class="col" style="width: 10%;">
  68. <p style="text-align: right;">Part Number</p>
  69. </div>
  70. <div class="col" style="width: 20%;">
  71. <input id="txtdspecid" name="dspecid" type="text" class="form-control" dmx-bind:value="api_pushdspec.data.api.data.id">
  72. <input id="txt_partnumber" name="text1" type="text" class="form-control" placeholder="Part Number" dmx-bind:value="api1.data.partnumber.number">
  73. </div>
  74. <div class="col" style="width: 10%;">
  75. <p style="text-align: right;">Rev</p>
  76. </div>
  77. <div class="col" style="width: 10%;"><input id="txt_rev" name="rev" type="text" class="form-control" placeholder="rev" dmx-bind:value="api1.data.revisionlevel"></div>
  78. <div class="col" style="width: 50%;">
  79. <button id="btn_newpartnumber" class="btn text-danger fw-bold bg-secondary bg-opacity-50 ms-n1" dmx-on:click="txt_rev.setValue((txt_rev.value.toNumber() + 1))">New Rev</button>
  80. </div>
  81. </div>
  82. <div class="row">
  83. <div class="col">
  84. <div class="form-group mb-3 row">
  85. <label for="txt_effectivedate" class="col-sm-2 col-form-label" style="width: 35%">Effective Date</label>
  86. <div class="col-sm-10" style="width: 40%">
  87. <input type="date" class="form-control" id="txt_effectivedate" name="effectivedate" aria-describedby="input3_help" placeholder="Enter some text" dmx-bind:value="api1.data.partnumber.createdate">
  88. </div>
  89. </div>
  90. </div>
  91. <div class="col">
  92. <div class="form-group mb-3 row">
  93. <label for="input2" class="col-sm-2 col-form-label" style="width: 40%;">Work Instruction</label>
  94. <div class="col-sm-10" style="width: 30%;">
  95. <input type="text" class="form-control" id="input2" name="input2" aria-describedby="input2_help" width="20%" dmx-bind:value="api1.data.workinstruction">
  96. </div>
  97. </div>
  98. </div>
  99. <div class="col">
  100. <div class="form-group mb-3 row">
  101. <label for="input1" class="col-sm-2 col-form-label" style="width: 30%;">Application</label>
  102. <div class="col-sm-10" style="width: 60%;">
  103. <input type="text" class="form-control" id="input1" name="input1" aria-describedby="input1_help" placeholder="Enter some text" dmx-bind:value="api1.data.application">
  104. </div>
  105. </div>
  106. </div>
  107. </div>
  108. <div class="row">
  109. <div class="col">
  110. <p>Reason for change</p>
  111. <textarea id="txt_reasonforchange" class="form-control" dmx-bind:value="api1.data.reasonforchange" name="reasonforchange"></textarea>
  112. </div>
  113. </div>
  114. <div class="row">
  115. <div class="col">
  116. <p>Validation of Change</p>
  117. <textarea id="txt_validation" class="form-control" dmx-bind:value="api1.data.validation" name="validation"></textarea>
  118. </div>
  119. </div>
  120. <div class="row">
  121. <div class="col">
  122. <p>Notes</p>
  123. <textarea id="txt_notes" class="form-control" dmx-bind:value="" name="notes"></textarea>
  124. </div>
  125. </div>
  126. <div class="row">
  127. <div class="col">
  128. <form id="frm_updatebom" method="post">
  129. <div class="row">
  130. <div class="col">
  131. <div class="table-responsive">
  132. <table class="table">
  133. <thead>
  134. <tr>
  135. <th scope="col" class="text-center">Part #</th>
  136. <th scope="col" class="text-center">Description</th>
  137. <th scope="col" class="text-center">Old</th>
  138. <th scope="col" class="text-center">New</th>
  139. <th scop="col" class="text-center">Action</th>
  140. </tr>
  141. </thead>
  142. <tbody is="dmx-repeat" id="repeat1" dmx-bind:repeat="api1.data.boms" key="id">
  143. <tr>
  144. <td style="width: 25%;">
  145. <input id="txt_bomupdateid" name="bomupdateid" type="text" class="form-control" disabled="true" dmx-bind:value="id">
  146. <input id="txt_updatebompn" name="updatebompn" type="text" class="form-control" style="width: 100%;" dmx-bind:value="partnumber.number" disabled="true">
  147. </td>
  148. <td style="width: 50%;">
  149. <input id="txt_updatebomddsc" name="updatebomdescription" type="text" class="form-control" style="width: 100%" dmx-bind:value="partnumber.description" disabled="true">
  150. </td>
  151. <td style="width: 10%">
  152. <input id="txt_updatebomold" name="updatebomold" type="text" class="form-control" dmx-bind:value="old">
  153. </td>
  154. <td style="width: 10%">
  155. <input id="txt_updatebomnew" name="updatebomnew" type="text" style="width: 100%" class="form-control" dmx-bind:value="new">
  156. </td>
  157. <td style="width: 10%">
  158. <button id="btn_bomupdate" class="btn btn-primary" dmx-on:click="modal2.txt_deletepn.setValue(txt_updatebompn.value);modal2.txt_delpid.setValue(txt_bomupdateid.value);modal2.show()">Delete</button>
  159. </td>
  160. </tr>
  161. </tbody>
  162. </table>
  163. </div>
  164. </div>
  165. </div>
  166. </form>
  167. </div>
  168. </div>
  169. <div class="row">
  170. <div class="col">
  171. <form id="frm_newbomitem" method="post" is="dmx-serverconnect-form" action="/api/BOM/NewBomItem" dmx-on:success="run({run:{action:`api1.load({})`,outputType:'text'}})">
  172. <input id="txt_bomdspecid" name="bomdspecid" type="text" class="form-control d-print-none visually-hidden" dmx-bind:value="api1.data.id">
  173. <dmx-api-action id="frmapi_getpartbynum" noload="true" url="http://vapor.prelub.com/api/v1.0/partnumbers/num/" dmx-bind:url="'http://vapor.prelub.com/api/v1.0/partnumbers/num/'+txt_newpnbom.value"></dmx-api-action>
  174. <div class="row">
  175. <div class="col">
  176. <table class="table">
  177. <tbody>
  178. <tr>
  179. <td style="width: 25%">
  180. <input id="txt_newbompnid" name="newbompnid" type="text" class="form-control d-print-none visually-hidden" dmx-bind:value="frmapi_getpartbynum.data.id">
  181. <input id="txt_newpnbom" name="newbompn" type="text" class="form-control" dmx-bind:value="frmapi_getpartbynum.data.number" dmx-on:changed="frmapi_getpartbynum.load({})">
  182. </td>
  183. <td style="width: 50%"><input id="txt_newdesbom" name="newbomdesc" type="text" class="form-control" dmx-bind:value="frmapi_getpartbynum.data.description"></td>
  184. <td style="width: 10%"><input id="txt_newoldbom" name="newbomold" type="text" class="form-control"></td>
  185. <td style="width: 10%"><input id="txt_newnewbom" name="newbomnew" type="text" class="form-control"></td>
  186. <td style="width: 5%">
  187. <button id="btn_savenewbomitem" class="btn btn-primary" type="submit" dmx-on:click="api_deleteItem.load({})">Add</button>
  188. </td>
  189. </tr>
  190. </tbody>
  191. </table>
  192. </div>
  193. </div>
  194. </form>
  195. </div>
  196. </div>
  197. <div class="row">
  198. <div class="col text-end">
  199. <button id="btn1" class="btn text-center btn-danger" dmx-on:click="apid_pushpart.load({})">Save All</button>
  200. </div>
  201. </div>
  202. <div class="container">
  203. <form id="frm_dspecsubmit">
  204. <div class="row">
  205. <div class="col">
  206. <input id="txt_dspecrev" name="dspecrev" type="text" class="form-control" dmx-bind:value="txt_rev.value">
  207. <input id="txt_dspeceffectivedate" name="dspeceffectivedate" type="text" class="form-control" dmx-bind:value="txt_effectivedate.value">
  208. <input id="txt_dspecpnid" name="dspecpnid" type="text" class="form-control" dmx-bind:value="frm_partsubmit.txt_savepnid.value">
  209. <input id="txt_dspecstatusid" name="dspecstatusid" type="text" class="form-control" dmx-bind:value="4" value="4">
  210. <input id="txt_dspecreasonforchange" name="dspecreasonforchange" type="text" class="form-control" dmx-bind:value="txt_reasonforchange.value">
  211. <input id="txt_dspecvalidation" name="dspecvalidation" type="text" class="form-control" dmx-bind:value="txt_validation.value">
  212. <input id="txt_dspecnotes" name="dspecnotes" type="text" class="form-control" dmx-bind:value="txt_notes.value">
  213. </div>
  214. </div>
  215. <div class="row"></div>
  216. </form>
  217. <form id="frm_partsubmit">
  218. <div class="row">
  219. <div class="col">
  220. <input id="txt_savepc" name="savepc" type="text" class="form-control">
  221. <input id="txt_savept" name="savept" type="text" class="form-control">
  222. <input id="txt_savepnid" name="savepnid" type="text" class="form-control" dmx-bind:value="frm_partsubmit.data.api_newPart.data.id">
  223. <input id="txt_savepn" name="savepn" type="text" class="form-control" dmx-bind:value="txt_partnumber.value">
  224. <input id="txt_savepndescription" name="savepndescription" type="text" class="form-control">
  225. <input id="txt_savepncomments" name="savepncomments" type="text" class="form-control">
  226. </div>
  227. </div>
  228. </form>
  229. </div>
  230. </div>
  231. <meta name="ac:route" content="/dspec">