25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

162 lines
11 KiB

  1. <!doctype html>
  2. <html>
  3. <head>
  4. <base href="/">
  5. <script src="/dmxAppConnect/dmxAppConnect.js"></script>
  6. <meta charset="UTF-8">
  7. <title>RPM Industries</title>
  8. <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  9. <link rel="stylesheet" href="/bootstrap/5/css/bootstrap.min.css" />
  10. <link rel="stylesheet" href="/css/style.css" />
  11. <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>
  12. <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js" integrity="sha256-CutOzxCRucUsn6C6TcEYsauvvYilEniTXldPa6/wu0k=" crossorigin="anonymous"></script>
  13. <script src="/dmxAppConnect/dmxRouting/dmxRouting.js" defer></script>
  14. <script src="/dmxAppConnect/dmxDataTraversal/dmxDataTraversal.js" defer></script>
  15. <script src="/dmxAppConnect/dmxTyped/dmxTyped.js" defer></script>
  16. <script src="/dmxAppConnect/dmxTyped/typed.min.js" defer></script>
  17. <link rel="stylesheet" href="/dmxAppConnect/dmxValidator/dmxValidator.css" />
  18. <script src="/dmxAppConnect/dmxValidator/dmxValidator.js" defer></script>
  19. <link rel="stylesheet" href="/dmxAppConnect/dmxNotifications/dmxNotifications.css" />
  20. <script src="/dmxAppConnect/dmxNotifications/dmxNotifications.js" defer></script>
  21. <script src="/dmxAppConnect/dmxBrowser/dmxBrowser.js" defer></script>
  22. <script src="/dmxAppConnect/dmxBootstrap5Navigation/dmxBootstrap5Navigation.js" defer></script>
  23. <script src="/dmxAppConnect/dmxFormatter/dmxFormatter.js" defer></script>
  24. <script src="/dmxAppConnect/dmxStateManagement/dmxStateManagement.js" defer></script>
  25. <script src="/dmxAppConnect/dmxFormRepeat/dmxFormRepeat.js" defer></script>
  26. <link rel="stylesheet" href="/dmxAppConnect/dmxBootstrap5TableGenerator/dmxBootstrap5TableGenerator.css" />
  27. <script src="/dmxAppConnect/dmxBootstrap5Modal/dmxBootstrap5Modal.js" defer></script>
  28. <script src="/dmxAppConnect/dmxScheduler/dmxScheduler.js" defer></script>
  29. <script src="/dmxAppConnect/dmxBootstrap5Toasts/dmxBootstrap5Toasts.js" defer></script>
  30. <script src="/socket.io/socket.io.js" defer></script>
  31. <script src="/dmxAppConnect/dmxSockets/dmxSockets.js" defer></script>
  32. <script src="/dmxAppConnect/dmxDatastore/dmxDatastore.js" defer></script>
  33. <link rel="stylesheet" href="/dmxAppConnect/dmxDatePicker/daterangepicker.min.css" />
  34. <script src="/dmxAppConnect/dmxDatePicker/daterangepicker.min.js" defer></script>
  35. <link rel="stylesheet" href="/dmxAppConnect/dmxDatePicker/dmxDatePicker.css" />
  36. <script src="/dmxAppConnect/dmxDatePicker/dmxDatePicker.js" defer></script>
  37. <link rel="stylesheet" href="/dmxAppConnect/dmxAutocomplete/dmxAutocomplete.css" />
  38. <script src="/dmxAppConnect/dmxAutocomplete/dmxAutocomplete.js" defer></script>
  39. <script src="/dmxAppConnect/dmxBootbox5/bootstrap-modbox.min.js" defer></script>
  40. <script src="/dmxAppConnect/dmxBootbox5/dmxBootbox5.js" defer></script>
  41. <script src="/dmxAppConnect/dmxBootstrap5Alert/dmxBootstrap5Alert.js" defer></script>
  42. <link rel="stylesheet" href="/fontawesome6/css/all.min.css" />
  43. <script src="/dmxAppConnect/dmxBootstrap4Navigation/dmxBootstrap4Navigation.js" defer></script>
  44. <script src="/dmxAppConnect/dmxBootstrap4Modal/dmxBootstrap4Modal.js" defer></script>
  45. <link rel="stylesheet" href="/dmxAppConnect/dmxBootstrap4TableGenerator/dmxBootstrap4TableGenerator.css" />
  46. </head>
  47. <body is="dmx-app" id="main">
  48. <dmx-value id="var_ptsearch" dmx-on:updated="conn_search.load({},true)"></dmx-value>
  49. <dmx-value id="var_partid"></dmx-value>
  50. <dmx-value id="var_userinfo"></dmx-value>
  51. <dmx-value id="pg_apiurl" dmx-bind:value="conn_urls.data.apiurl"></dmx-value>
  52. <dmx-serverconnect id="whoami" url="/api/security/whoami"></dmx-serverconnect>
  53. <dmx-serverconnect id="conn_basedata" url="/api/Parts/newpartbasedata"></dmx-serverconnect>
  54. <dmx-serverconnect id="conn_urls" url="/api/gs/urls"></dmx-serverconnect>
  55. <dmx-serverconnect id="conn_isauthenticated" url="/api/security/isauthenticated" dmx-on:forbidden="browser1.goto('/cnfrm',true)" dmx-on:unauthorized="browser1.goto('/',true)"></dmx-serverconnect>
  56. <dmx-serverconnect id="conn_logout" url="/api/security/logout" dmx-on:success="browser1.goto('/')" noload="true"></dmx-serverconnect>
  57. <dmx-serverconnect id="conn_newpart" url="/api/Parts/newpart" noload="true" dmx-param:description="modal_newpart.inp_description.value" dmx-param:comments="modal_newpart.inp_comments.value" dmx-param:partcodeid="modal_newpart.new_partcode.value" dmx-param:parttypeid="modal_newpart.new_parttype.value" dmx-on:success="run([{condition:{outputType:'boolean',if:`(modal_newpart.new_parttype.value == 1)`,then:{steps:{run:{name:'routeToMotorDspec',outputType:'text',action:`browser1.goto(\'/dspecm?id=\'+conn_newpart.data.insertpart.data.id,true,\'Motor Dspec\')`}}},else:{steps:{condition:{outputType:'boolean',if:`(modal_newpart.new_parttype.value == 2)`,then:{steps:{run:{name:'routeToKitDspec',outputType:'text',action:`browser1.goto(\'/dspec?id=\'+conn_newpart.data.insertpart.data.id,true,\'Kit Dspec\')`}}},else:{steps:{condition:{outputType:'boolean',if:`(modal_newpart.new_parttype.value == 3)`,then:{steps:{run:{name:'routeToKitDspec_copy',outputType:'text',action:`browser1.goto(\'/dspec\',true,\'Kit Dspec\')`}}},else:{steps:{condition:{outputType:'boolean',if:`(modal_newpart.new_partcode.value == 174)`,then:{steps:{run:{name:'routeToKitDspec_copy_copy',outputType:'text',action:`browser1.goto(\'/dspec?id=\'+conn_newpart.data.insertpart.data.id,true,\'Kit Dspec\')`}}},else:{steps:{run:{name:'routeToGeneralDspec',outputType:'text',action:`browser1.goto(\'/dspecg?id=\'+conn_newpart.data.insertpart.data.id,true,\'General Dspec\')`}}}}}}}}}}}}}},{run:{outputType:'text',action:`modal_newpart.new_parttype.setValue(0);modal_newpart.new_partcode.setValue(0);modal_newpart.inp_description.setValue(\'\');modal_newpart.inp_comments.setValue(\'\');modal_newpart.hide()`}}])" dmx-param:createuserid="conn_isauthenticated.data.identity"></dmx-serverconnect>
  58. <dmx-serverconnect id="conn_searchforbom" url="/api/BOM/findbypn" noload="true"></dmx-serverconnect>
  59. <dmx-serverconnect id="conn_search" url="/api/Parts/Seach" dmx-param:input="var_ptsearch.value" noload="true"></dmx-serverconnect>
  60. <div is="dmx-browser" id="browser1"></div>
  61. <div class="container d-print-none" style="vertial-align: middle;">
  62. <nav class="navbar navbar-expand-lg navbar-dark bg-primary align-items-center">
  63. <div class="container-fluid">
  64. <a class="navbar-brand" href="#">RPM Studio</a>
  65. <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar1_collapse" aria-controls="navbar1_collapse" aria-expanded="false" aria-label="Toggle navigation"><span class="navbar-toggler-icon"></span></button>
  66. <div class="collapse navbar-collapse" id="navbar1_collapse">
  67. <div class="navbar-nav">
  68. <a class="nav-item nav-link active" href="/partinfo">Home</a>
  69. <div class="nav-item dropdown">
  70. <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" id="dropdown1" role="button" aria-haspopup="true" aria-expanded="false">Actions</a>
  71. <div class="dropdown-menu" aria-labelledby="dropdown1">
  72. <a class="dropdown-item" internal="true" dmx-on:click="modal_newpart.show()">New Part</a>
  73. <a class="dropdown-item" href="/wadmin/usermanage" id="lnk_admin" dmx-show="conn_isauthenticated.data.administrator">User Management</a>
  74. <a class="dropdown-item" href="#">Something else here</a>
  75. </div>
  76. </div>
  77. <div class="nav-item dropdown">
  78. <a class="nav-link dropdown-toggle" href="#" id="navbar1_dropdown" role="button" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Account&nbsp;</a>
  79. <div class="dropdown-menu" aria-labelledby="navbar1_dropdown">
  80. <a class="dropdown-item" href="#" dmx-on:click="conn_logout.load({});browser1.goto('/')">Logout</a>
  81. <div class="dropdown-divider"></div>
  82. <a class="dropdown-item" href="#">Account</a>
  83. </div>
  84. </div>
  85. </div>
  86. </div>
  87. <p style="float: right;" class="text-white fw-bold" dmx-text="'Welcome '+whoami.data.query.firstname+' '+whoami.data.query.lastname"></p>
  88. </div>
  89. </nav>
  90. </div>
  91. <div class="modal" id="modal_newpart" is="dmx-bs5-modal" tabindex="-1">
  92. <div class="modal-dialog" role="document">
  93. <div class="modal-content">
  94. <div class="modal-header">
  95. <h5 class="modal-title">New Part</h5>
  96. <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
  97. </div>
  98. <div class="modal-body">
  99. <div class="container">
  100. <div class="row">
  101. <div class="col">
  102. <div class="form-group mb-3 row">
  103. <label for="input1" class="col-sm-2 col-form-label" style="width: fit-content;">Part Types</label>
  104. <select id="new_parttype" class="form-select" style="width: fit-content;" dmx-bind:options="conn_basedata.data.parttypes.data" optiontext="name" optionvalue="id">
  105. <option value="0"></option>
  106. </select>
  107. </div>
  108. <div class="form-group mb-3 row">
  109. <label for="input1" class="col-sm-2 col-form-label" style="width: fit-content;">Part Codes</label>
  110. <select id="new_partcode" class="form-select" style="width: fit-content;" dmx-bind:options="conn_basedata.data.partcodes.data.where(`parttype.id`, new_parttype.value, '==')" optiontext="name" optionvalue="id">
  111. <option value="0"></option>
  112. </select>
  113. </div>
  114. </div>
  115. </div>
  116. <div class="row">
  117. <div class="col">
  118. <div class="form-group mb-3 row">
  119. <label for="inp_description" class="col-sm-2 col-form-label">Description</label>
  120. <div class="col-sm-10">
  121. <textarea id="inp_description" class="form-control" name="description"></textarea>
  122. </div>
  123. </div>
  124. </div>
  125. </div>
  126. <div class="row">
  127. <div class="col">
  128. <div class="form-group mb-3 row">
  129. <label for="inp_comments" class="col-sm-2 col-form-label">Comments</label>
  130. <div class="col-sm-10">
  131. <textarea id="inp_comments" class="form-control" name="comments"></textarea>
  132. </div>
  133. </div>
  134. </div>
  135. </div>
  136. </div>
  137. </div>
  138. <div class="modal-footer">
  139. <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
  140. <button type="button" class="btn btn-primary" dmx-on:click="conn_newpart.load({})">
  141. Save changes</button>
  142. </div>
  143. </div>
  144. </div>
  145. </div>
  146. <div is="dmx-view" id="content">
  147. <%- await include(content, locals); %>
  148. </div>
  149. <script src="/bootstrap/5/js/bootstrap.bundle.min.js"></script>
  150. </body>
  151. </html>