Advertisement
Guest User

Untitled

a guest
Feb 25th, 2020
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.11 KB | None | 0 0
  1. <div class="p-modal user" id="user_modal">
  2. <div class="p-modal__bg"></div>
  3.  
  4. <form action="/api/upsertUser" method="POST" id="insertUserForm" class="p-modal__wrap common u-of--hdn">
  5.  
  6. <div class="p-modal__header">
  7. <h2 class="p-modal__header__title">ユーザー管理 <span class="u-txt--8">- 登録(企業ユーザー)</span></h2>
  8. <div class="p-modal__close btn">
  9. <span></span>
  10. <span></span>
  11. </div>
  12. </div>
  13.  
  14. <div class="p-modal__body mbody">
  15. <div class="mbody__items">
  16. <div class="mbody__items__inner">
  17.  
  18. <dl class="extend">
  19. <dt class="mbody__item__title">企業名</dt>
  20. @if($isSystemAdmin)
  21. {{-- <dd>{{$userCompany}}</dd> --}}
  22. <input class="c-search" type="search" name="companySearch" id="companySearch">
  23. <input type="hidden" class="form-control" name="companyId" id="user_companyId" value = "{{$companyId}}">
  24. {{-- <dd><input class="c-txtbox" type="text" name="companyId" id="user_companyId" placeholder="企業ID"></dd> --}}
  25. @else
  26. <dd>{{$userCompany}}</dd>
  27. <input type="hidden" class="form-control" name="companyId" id="user_companyId" value = "{{$companyId}}">
  28. @endif
  29. </dl>
  30.  
  31. <dl>
  32. <dt class="mbody__item__title">氏名</dt>
  33. <dd><input class="c-txtbox" type="text" name="name" id="user_name" placeholder="氏名"></dd>
  34. <dd id="user_name_err" name="name_err" class="text-danger"></dd>
  35. </dl>
  36.  
  37. <dl>
  38. <dt class="mbody__item__title">部署</dt>
  39. <dd class="u-flex__btw variable nowrap">
  40. <input type="text" class="c-txtbox" name="department" id="user_department" placeholder="部署名" value="">
  41. <a href="#" class="c-btn--rev edit u-flex__sh0 fixed"><span class="u-only__pc">修正する</span></a>
  42. </dd>
  43. <dd id="user_department_err" name="department_err" class="text-danger"></dd>
  44. </dl>
  45.  
  46. <dl>
  47. <dt class="mbody__item__title">E-mail</dt>
  48. <dd>
  49. <input type="text" name="mail" id="user_mail" class="c-txtbox fb55 sp-fb100" placeholder="メールアドレスを入力">
  50. </dd>
  51. <dd id="user_mail_err" name="mail_err" class="text-danger"></dd>
  52. </dl>
  53.  
  54. <dl>
  55. <dt class="mbody__item__title">パスワード</dt>
  56. <dd class="u-flex__btw variable nowrap">
  57. <input type="password" class="c-txtbox" id="user_password" name="password" placeholder="パスワードを入力">
  58. <input type="checkbox" name="password01" id="user_password01" data-btn="pass">
  59. <label for="password01" class="c-btn--rev u-flex__sh0 fixed eye"><span class="u-only__pc">表示する</span></label>
  60. </dd>
  61. <dd id="user_password_err" name="password_err" class="text-danger"></dd>
  62. </dl>
  63.  
  64. <dl>
  65. <dt class="mbody__item__title">電話番号</dt>
  66. <dd>
  67. <input type="text" class="c-txtbox" name="tel" id="user_tel" value="00-0000-0000">
  68. </dd>
  69. <dd id="user_tel_err" name="tel_err" class="text-danger"></dd>
  70. </dl>
  71.  
  72. <dl class="extend">
  73. <dt class="mbody__item__title">権限</dt>
  74. <dd>
  75. <ul class="p-options__list">
  76. <li>
  77. <input type="checkbox" name="managerType" id="user_managerType"/>
  78. {{-- <input type="checkbox" name="managerType" id="user_managerType"> --}}
  79. <label for="user_managerType" class="c-checkbox">企業責任者</label>
  80. </li>
  81. </ul>
  82. </dd>
  83. </dl>
  84.  
  85. {{-- <dl class="extend">
  86. <dt class="mbody__item__title">最終ログイン</dt>
  87. <dd>2019/07/01 23:59:59</dd>
  88. </dl>
  89.  
  90. <dl class="extend">
  91. <dt class="mbody__item__title">案件登録数</dt>
  92. <dd>0</dd>
  93. </dl>
  94.  
  95. <dl class="extend">
  96. <dt class="mbody__item__title">リソース登録数</dt>
  97. <dd>0</dd>
  98. </dl> --}}
  99.  
  100. </div>
  101. </div>
  102. </div>
  103.  
  104. <div class="mbody__btm">
  105. <ul class="mbody__btm__menu menu--btm prompt">
  106. <li class="menu--btm__item border">
  107. <button class="p-modal__close c-btn c-btn--cancel">キャンセル</button>
  108. </li>
  109. <li class="menu--btm__item border">
  110. <input type="submit" class="c-btn" value="登録">
  111. </li>
  112. </ul>
  113. </div>
  114. </form>
  115.  
  116. <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
  117. <script>
  118.  
  119. function clearUser(){
  120. document.querySelector("#user_name").value = ""
  121. document.querySelector("#user_department").value = ""
  122. document.querySelector("#user_mail").value = ""
  123. document.querySelector("#user_password").value = ""
  124. document.querySelector("#user_tel").value = ""
  125. document.querySelector("#user_managerType").value = ""
  126.  
  127. document.querySelector("#user_name_err").innerHTML = ""
  128. document.querySelector("#user_department_err").innerHTML = ""
  129. document.querySelector("#user_mail_err").innerHTML = ""
  130. document.querySelector("#user_password_err").innerHTML = ""
  131. document.querySelector("#user_tel_err").innerHTML = ""
  132. }
  133.  
  134. (function(){
  135.  
  136. document.querySelector("#insertUserForm").addEventListener("submit", function(e){
  137. e.preventDefault()
  138.  
  139. axios.post(this.action, {
  140. 'userId' : "",
  141. 'name' : document.querySelector('#user_name').value,
  142. 'companyId' : document.querySelector("#user_companyId").value,
  143. 'department' : document.querySelector('#user_department').value,
  144. 'mail' : document.querySelector('#user_mail').value,
  145. 'password' : document.querySelector('#user_password').value,
  146. 'tel' : document.querySelector('#user_tel').value,
  147. 'managerType' : (document.querySelector("#user_managerType").checked) ? document.querySelector('#checkTrue').value : document.querySelector('#checkFalse').value,
  148. 'isDelete' : false,
  149. })
  150. .then(function(response){
  151. console.log("Insert Success")
  152. console.log(response)
  153. console.log("NOTE: REMEMBER TO EDIT COMPANYID")
  154.  
  155. rowHtml = getRowHtml(response.data.displayInfo)
  156. document.getElementById("tableBody").innerHTML = rowHtml + document.getElementById("tableBody").innerHTML;
  157.  
  158. modal = document.getElementById('user_modal')
  159. modal.style.display = "none";
  160.  
  161. })
  162. .catch(function(error){
  163. console.log(error)
  164. const errors = error.response.data.errors
  165.  
  166. let errorMessages = document.querySelectorAll(".text-danger")
  167. errorMessages.forEach(function(element){
  168. element.textContent = ""
  169. })
  170.  
  171. // let first = true
  172.  
  173. Object.keys(errors).forEach(function(errorElement){
  174.  
  175. errorItem = errorElement
  176. errorItemDOM = document.getElementById("user_" + errorItem)
  177. errorItemErr = document.getElementById("user_" + errorItem + '_err')
  178. errorItemErrMsg = errors[errorItem][0]
  179.  
  180. errorItemErr.innerHTML = errorItemErrMsg
  181. // errorItemDOM.classList.add("border-danger")
  182.  
  183. console.log(errorItem)
  184. console.log(errorItemErrMsg)
  185.  
  186. // if(first)
  187. // firstItemDOM = errorItemDOM
  188.  
  189. // first = false
  190. })
  191.  
  192. // firstItemDOM.scrollIntoView({behavior: "smooth"})
  193. });
  194. });
  195.  
  196. })();
  197. </script>
  198.  
  199. </div>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement