You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

343 lines
22 KiB

  1. <!-- Wappler include head-page="layouts/smain" fontawesome_5="cdn" bootstrap5="local" is="dmx-app" id="dspec" appConnect="local" components="{dmxStateManagement:{},dmxAutocomplete:{},dmxDatePicker:{},dmxBootstrap5Navigation:{},dmxFormatter:{}}" jquery_slim_35="cdn" moment_2="cdn" -->
  2. <dmx-query-manager id="query_partid"></dmx-query-manager>
  3. <dmx-serverconnect id="conn_dspecinfo" url="/api/DSpec/searchpn" dmx-param:pn="query_partid.data.id"></dmx-serverconnect>
  4. <header>
  5. <h1 class="mt-3 ms-4">DSpec</h1>
  6. </header>
  7. <div class="w-100 rounded-3 rounded border-secondary border-5 bg-info container-xxl text-start ms-auto me-auto pt-0 pb-0 ps-0 pe-0">
  8. <h1 class="text-center">Part Info</h1>
  9. <div class="row w-100 pt-0 pb-0 ps-0 pe-0">
  10. <div class="col w-100 ms-1 pt-0 pb-0 pe-0">
  11. <div class="form-group mb-3 row">
  12. <label for="pt_obsolete" class="col-sm-2 col-form-label" style="width: fit-content;">Part #:</label>
  13. <div class="ms-2 col-sm-3">
  14. <input type="text" class="form-control" id="pt_pn" name="ptpn" aria-describedby="pn_help" placeholder="Part#" style="width: fit-content;" dmx-bind:value="conn_dspecinfo.data.part.data.number">
  15. </div>
  16. <label for="rev" class="col-sm-2 col-form-label" style="width: fit-content;">Rev:</label>
  17. <div class="ms-2 col-sm-6" style="display:inline-block;">
  18. <input type="text" class="form-control" id="pt_rev" name="ptrev" aria-describedby="input1_help" placeholder="Rev" style="width: fit-content; display:inline-block;" dmx-bind:value="conn_dspecinfo.data.api.data.revisionlevel">
  19. <button id="btn_newrev" class="btn btn-secondary btn-sm" style="display:inline-block;">New Rev</button>
  20. </div>
  21. </div>
  22. </div>
  23. </div>
  24. <div class="row w-100 pt-0 pb-0 ps-0 pe-0">
  25. <div class="col w-100 ms-1 pt-0 pb-0 pe-0 align-self-center">
  26. <div class="form-group mb-3 row">
  27. <label for="pt_obsolete" class="col-sm-2 col-form-label" style="width: fit-content;">Part Code:</label>
  28. <div class="ms-2 col-sm-3 align-self-center">
  29. <input type="text" class="form-control" id="pt_partcode" name="ptpartcode" aria-describedby="pn_help" placeholder="Part#" style="width: fit-content;" is="dmx-autocomplete" dmx-bind:data="conn_basedata.data.partcodes.data" optiontext="name" optionvalue="id" optionsearch="name" dmx-bind:value="conn_dspecinfo.data.part.data.partcode.id">
  30. </div>
  31. <div class="ms-2 col-sm-2 align-self-center">
  32. <div class="form-check">
  33. <input class="form-check-input" type="checkbox" value="" id="pt_obsolete" name="ptobsolete" dmx-bind:checked="(conn_dspecinfo.data.part.data.status.id == 2)">
  34. <label class="form-check-label" for="pt_obsolete" style="width: fit-content;">Obsolete</label>
  35. </div>
  36. </div>
  37. <label for="pt_replacedby" class="col-sm-2 col-form-label" style="width: fit-content;">Replaced By:</label>
  38. <div class="ms-2 col-sm-2 align-self-center">
  39. <div class="form-check">
  40. <input type="text" class="form-control" id="pt_replacedby" name="ptreplacedby" aria-describedby="ptreplacedby_help" placeholder="Replaced By" style="width: fit-content;" dmx-bind:value="conn_dspecinfo.data.part.data.replacedby.number">
  41. </div>
  42. </div>
  43. </div>
  44. </div>
  45. </div>
  46. <div class="row">
  47. <div class="col">
  48. <label for="pt_description" class="col-sm-2 col-form-label" style="width: fit-content;">Description</label>
  49. <textarea id="pt_description" class="form-control" name="ptdescription" dmx-bind:value="conn_dspecinfo.data.part.data.description"></textarea>
  50. </div>
  51. </div>
  52. <div class="row mb-3 pb-2">
  53. <div class="col">
  54. <label for="pt_comment" class="col-sm-2 col-form-label" style="width: fit-content;">Comments</label>
  55. <textarea id="pt_comment" class="form-control" name="ptcomment" dmx-bind:value="conn_dspecinfo.data.part.data.comments"></textarea>
  56. </div>
  57. </div>
  58. </div>
  59. <div class="w-100 rounded-3 rounded border-secondary border-5 bg-warning-subtle container-xxl ms-auto me-auto pt-0 pb-0 ps-0 pe-0">
  60. <h1 class="text-center">Design Spec</h1>
  61. <div class="row w-100 pt-0 pb-0 ps-0 pe-0">
  62. <div class="col w-100 ms-1 pt-0 pb-0 pe-0">
  63. <div class="form-group mb-3 row" style="float:left;">
  64. <label for="pt_obsolete1" class="col-sm-2 col-form-label" style="width: fit-content; float: left;">Effective Date:</label>
  65. <div class="ms-2 col-sm-2">
  66. <input type="text" class="form-control" id="ds_effectivedate" name="dseffectivedate" aria-describedby="pn_help" style="width: 150px; float: left;" is="dmx-date-picker" placeholder="mm/dd/yyyy" dmx-bind:value="conn_dspecinfo.data.api.data.effectivedate.toDate()">
  67. </div>
  68. <label for="ds_workinstruction" class="col-sm-2 col-form-label" style="width: fit-content; float: left;">Work Instruction:</label>
  69. <div class="ms-2 col-sm-2" style="display:inline-block;">
  70. <input type="text" class="form-control" id="ds_workinstruction" name="dsworkinstruction" aria-describedby="input1_help" style="width: 150px; display:inline-block; float: left;" dmx-bind:value="conn_dspecinfo.data.api.data.workinstruction">
  71. </div>
  72. <label for="ds_application" class="col-sm-2 col-form-label" style="width: fit-content; float: left;">Application:</label>
  73. <div class="ms-2 col-sm-2" style="display:inline-block;">
  74. <input type="text" class="form-control" id="ds_application" name="dsapplication" style="width: fit-content; display:inline-block; float: left;" dmx-bind:value="conn_dspecinfo.data.api.data.application">
  75. </div>
  76. </div>
  77. </div>
  78. </div>
  79. <div class="row">
  80. <div class="col">
  81. <label for="ds_reasonforchange" class="col-sm-2 col-form-label" style="width: fit-content;">Reason for change</label>
  82. <textarea id="ds_reasonforchange" class="form-control" name="dsreasonforchange" dmx-bind:value="conn_dspecinfo.data.api.data.reasonforchange"></textarea>
  83. </div>
  84. </div>
  85. <div class="row mb-3 pb-2">
  86. <div class="col">
  87. <label for="ds_validation" class="col-sm-2 col-form-label" style="width: fit-content;">Validation</label>
  88. <textarea id="ds_validation" class="form-control" name="dsvalidation" dmx-bind:value="conn_dspecinfo.data.api.data.validation"></textarea>
  89. </div>
  90. </div>
  91. <div class="row mb-3 pb-2">
  92. <div class="col">
  93. <label for="ds_notes" class="col-sm-2 col-form-label" style="width: fit-content;">Notes</label>
  94. <textarea id="ds_notes" class="form-control" name="dsnotes" dmx-bind:value="conn_dspecinfo.data.api.data.note"></textarea>
  95. </div>
  96. </div>
  97. <div class="row pb-2">
  98. <div class="col align-self-center text-end">
  99. <button id="btn_savedspec" class="btn btn-success">Save DSPEC</button>
  100. </div>
  101. </div>
  102. </div>
  103. <div class="container-xxl bg-success-subtle mt-3 mb-4 ms-auto me-auto pb-3 ps-0 pe-0">
  104. <h1 class="text-center">BOMS</h1>
  105. <div class="row">
  106. <div class="col">
  107. <button id="btn_copybom" class="btn btn-secondary shadow-lg">Copy BOM</button>
  108. </div>
  109. </div>
  110. <div class="row">
  111. <div class="col">
  112. <ul class="nav nav-tabs" id="navTabs1_tabs" role="tablist">
  113. <li class="nav-item">
  114. <a class="nav-link active bg-primary text-white" id="navTabs1_1_tab" data-bs-toggle="tab" href="#" data-bs-target="#navTabs1_1" role="tab" aria-controls="navTabs1_1" aria-selected="true" dmx-on:click="var_viewlocationid.setValue(14)">Motor</a>
  115. </li>
  116. <li class="nav-item">
  117. <a class="nav-link bg-primary text-white" id="navTabs1_2_tab" data-bs-toggle="tab" href="#" data-bs-target="#navTabs1_2" role="tab" aria-controls="navTabs1_2" aria-selected="false" dmx-on:click="var_viewlocationid.setValue(19)">Electrical</a>
  118. </li>
  119. <li class="nav-item">
  120. <a class="nav-link text-white bg-primary" id="navTabs1_3_tab" data-bs-toggle="tab" href="#" data-bs-target="#navTabs1_3" role="tab" aria-controls="navTabs1_3" aria-selected="false" dmx-on:click="var_viewlocationid.setValue(17)">Plumbing</a>
  121. </li>
  122. <li class="nav-item">
  123. <a class="nav-link bg-primary text-white" id="navTabs1_4_tab" data-bs-toggle="tab" href="#" data-bs-target="#navTabs1_4" role="tab" aria-controls="navTabs1_4" aria-selected="false" dmx-on:click="var_viewlocationid.setValue(11)">Instructions</a>
  124. </li>
  125. <li class="nav-item">
  126. <a class="nav-link text-white bg-primary" id="navTabs1_5_tab" data-bs-toggle="tab" href="#" data-bs-target="#navTabs1_5" role="tab" aria-controls="navTabs1_5" aria-selected="false" dmx-on:click="var_viewlocationid.setValue(21)">Applications</a>
  127. </li>
  128. </ul>
  129. <div class="tab-content" id="navTabs1_content" dmx-on:blur="frm_motor.reset()">
  130. <div class="tab-pane fade show active" id="navTabs1_1" role="tabpanel">
  131. <div class="table-responsive">
  132. <table class="table table-striped table-bordered table-hover table-sm">
  133. <thead>
  134. <tr>
  135. <th class="visually-hidden">Id</th>
  136. <th class="visually-hidden">Partnumberid</th>
  137. <th>Part #</th>
  138. <th>Description</th>
  139. <th>Old</th>
  140. <th>New</th>
  141. <th>Action</th>
  142. </tr>
  143. <tr>
  144. <th scope="row" class="visually-hidden">
  145. </th>
  146. <th scope="row" class="visually-hidden"><input id="bom_partid" name="bompartid" type="text" class="form-control"></th>
  147. <th scope="row"><input id="bom_searchpart" name="bom_searchpart" type="text" class="form-control"></th>
  148. <th scope="row">
  149. <input id="bom_partdescription" name="bompartdescription" type="text" class="form-control">
  150. </th>
  151. <th scope="row">
  152. <input id="bom_partold" name="bompartold" type="text" class="form-control">
  153. </th>
  154. <th scope="row">
  155. <input id="bom_partnew" name="bompartnew" type="text" class="form-control">
  156. </th>
  157. <th scope="row">
  158. <button id="btn_newbomitem" class="btn btn-dark">Add</button>
  159. </th>
  160. </tr>
  161. </thead>
  162. <tbody is="dmx-repeat" dmx-generator="bs5table" dmx-bind:repeat="conn_dspecinfo.data.boms.data.where(`tab`, 14, '==')" id="tablemotor">
  163. <tr>
  164. <td dmx-text="id" class="visually-hidden"></td>
  165. <td dmx-text="partnumberid" class="visually-hidden"></td>
  166. <td dmx-text="partnumber"></td>
  167. <td dmx-text="description"></td>
  168. <td dmx-text="old"></td>
  169. <td dmx-text="new"></td>
  170. <td>
  171. <button id="btn_deleteitem" class="btn btn-danger">X</button>
  172. </td>
  173. </tr>
  174. </tbody>
  175. </table>
  176. </div>
  177. </div>
  178. <div class="tab-pane fade" id="navTabs1_2" role="tabpanel">
  179. <div class="table-responsive">
  180. <table class="table table-striped table-bordered table-hover table-sm">
  181. <thead>
  182. <tr>
  183. <th class="visually-hidden">Id</th>
  184. <th class="visually-hidden">Partnumberid</th>
  185. <th>Part #</th>
  186. <th>Description</th>
  187. <th>Old</th>
  188. <th>New</th>
  189. <th>Action</th>
  190. </tr>
  191. <tr>
  192. <th scope="row" class="visually-hidden">
  193. </th>
  194. <th scope="row" class="visually-hidden"><input id="bom_elecpartid" name="bomelecpartid" type="text" class="form-control"></th>
  195. <th scope="row"><input id="bom_searchelecpart" name="bom_searchpart" type="text" class="form-control"></th>
  196. <th scope="row">
  197. <input id="bom_partelecdescription" name="bompartelecdescription" type="text" class="form-control">
  198. </th>
  199. <th scope="row">
  200. <input id="bom_partelecold" name="bompartelecold" type="text" class="form-control">
  201. </th>
  202. <th scope="row">
  203. <input id="bom_partelecnew" name="bompartelecnew" type="text" class="form-control">
  204. </th>
  205. <th scope="row">
  206. <button id="btn_newbomelecitem" class="btn btn-dark">Add</button>
  207. </th>
  208. </tr>
  209. </thead>
  210. <tbody is="dmx-repeat" dmx-generator="bs5table" dmx-bind:repeat="conn_dspecinfo.data.boms.data.where(`tab`, 19, '==')" id="tableelectric">
  211. <tr>
  212. <td dmx-text="id" class="visually-hidden"></td>
  213. <td dmx-text="partnumberid" class="visually-hidden"></td>
  214. <td dmx-text="partnumber"></td>
  215. <td dmx-text="description"></td>
  216. <td dmx-text="old"></td>
  217. <td dmx-text="new"></td>
  218. <td>
  219. <button id="btn_deleteelecitem" class="btn btn-danger">X</button>
  220. </td>
  221. </tr>
  222. </tbody>
  223. </table>
  224. </div>
  225. </div>
  226. <div class="tab-pane fade" id="navTabs1_3" role="tabpanel">
  227. <div class="table-responsive">
  228. <table class="table table-striped table-bordered table-hover table-sm">
  229. <thead>
  230. <tr>
  231. <th class="visually-hidden">Id</th>
  232. <th class="visually-hidden">Partnumberid</th>
  233. <th>Part #</th>
  234. <th>Description</th>
  235. <th>Old</th>
  236. <th>New</th>
  237. <th>Action</th>
  238. </tr>
  239. <tr>
  240. <th scope="row" class="visually-hidden">
  241. </th>
  242. <th scope="row" class="visually-hidden"><input id="bom_partplumbid" name="bompartplumbid" type="text" class="form-control"></th>
  243. <th scope="row"><input id="bom_searchplumbpart" name="bom_searchplumbpart" type="text" class="form-control"></th>
  244. <th scope="row">
  245. <input id="bom_partplumbdescription" name="bompartplumbdescription" type="text" class="form-control">
  246. </th>
  247. <th scope="row">
  248. <input id="bom_partplumbold" name="bompartplumbold" type="text" class="form-control">
  249. </th>
  250. <th scope="row">
  251. <input id="bom_partplumbnew" name="bompartplumbnew" type="text" class="form-control">
  252. </th>
  253. <th scope="row">
  254. <button id="btn_newbomplumbitem" class="btn btn-dark">Add</button>
  255. </th>
  256. </tr>
  257. </thead>
  258. <tbody is="dmx-repeat" dmx-generator="bs5table" dmx-bind:repeat="conn_dspecinfo.data.boms.data.where(`tab`, 17, '==')" id="tableplumb">
  259. <tr>
  260. <td dmx-text="id" class="visually-hidden"></td>
  261. <td dmx-text="partnumberid" class="visually-hidden"></td>
  262. <td dmx-text="partnumber"></td>
  263. <td dmx-text="description"></td>
  264. <td dmx-text="old"></td>
  265. <td dmx-text="new"></td>
  266. <td>
  267. <button id="btn_deleteplumbitem" class="btn btn-danger">X</button>
  268. </td>
  269. </tr>
  270. </tbody>
  271. </table>
  272. </div>
  273. </div>
  274. <div class="tab-pane fade" id="navTabs1_4" role="tabpanel">
  275. <div class="table-responsive">
  276. <table class="table table-striped table-bordered table-hover table-sm">
  277. <thead>
  278. <tr>
  279. <th class="visually-hidden">Id</th>
  280. <th class="visually-hidden">Partnumberid</th>
  281. <th>Part #</th>
  282. <th>Description</th>
  283. <th>Old</th>
  284. <th>New</th>
  285. <th>Action</th>
  286. </tr>
  287. <tr>
  288. <th scope="row" class="visually-hidden">
  289. </th>
  290. <th scope="row" class="visually-hidden"><input id="bom_partinsid" name="bompartinsid" type="text" class="form-control"></th>
  291. <th scope="row"><input id="bom_searchinspart" name="bom_searchinspart" type="text" class="form-control"></th>
  292. <th scope="row">
  293. <input id="bom_partinsdescription" name="bompartinsdescription" type="text" class="form-control">
  294. </th>
  295. <th scope="row">
  296. <input id="bom_partinsold" name="bompartinsold" type="text" class="form-control">
  297. </th>
  298. <th scope="row">
  299. <input id="bom_partinsnew" name="bompartinsnew" type="text" class="form-control">
  300. </th>
  301. <th scope="row">
  302. <button id="btn_newbominsitem" class="btn btn-dark">Add</button>
  303. </th>
  304. </tr>
  305. </thead>
  306. <tbody is="dmx-repeat" dmx-generator="bs5table" dmx-bind:repeat="conn_dspecinfo.data.boms.data.where(`tab`, 11, '==')" id="tableins">
  307. <tr>
  308. <td dmx-text="id" class="visually-hidden"></td>
  309. <td dmx-text="partnumberid" class="visually-hidden"></td>
  310. <td dmx-text="partnumber"></td>
  311. <td dmx-text="description"></td>
  312. <td dmx-text="old"></td>
  313. <td dmx-text="new"></td>
  314. <td>
  315. <button id="btn_deleteinsitem" class="btn btn-danger">X</button>
  316. </td>
  317. </tr>
  318. </tbody>
  319. </table>
  320. </div>
  321. </div>
  322. <div class="tab-pane fade" id="navTabs1_5" role="tabpanel">
  323. <button id="btn_newapp" class="btn btn-secondary" dmx-on:click="mdl_app.show()">Add</button>
  324. </div>
  325. </div>
  326. </div>
  327. </div>
  328. </div>
  329. <meta name="ac:route" content="/dspecm">