add.html 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221
  1. {include file='common/_js_css'}
  2. <div class="lyear-layout-web">
  3. <div class="lyear-layout-container">
  4. <!--页面主要内容-->
  5. <main>
  6. <div class="container-fluid">
  7. <div class="row">
  8. <div class="col-lg-12">
  9. <div class="card">
  10. <div class="card-body">
  11. <form class="layui-form" action="">
  12. <div class="layui-form-item">
  13. <label class="layui-form-label">{:lang("name_zh")}</label>
  14. <div class="layui-input-block">
  15. <input type="text" name="name_zh" lay-verify="required"
  16. lay-reqtext="{:lang('Please fill in')}" autocomplete="off"
  17. class="layui-input">
  18. </div>
  19. </div>
  20. <div class="layui-form-item">
  21. <label class="layui-form-label">{:lang("name_en")}</label>
  22. <div class="layui-input-block">
  23. <input type="text" name="name_en" lay-verify="required"
  24. lay-reqtext="{:lang('Please fill in')}" autocomplete="off"
  25. class="layui-input">
  26. </div>
  27. </div>
  28. <div class="layui-form-item">
  29. <label class="layui-form-label">{:lang("mobile")}</label>
  30. <div class="layui-input-block">
  31. <input type="tel" name="mobile" lay-verify="required|phone"
  32. autocomplete="off" class="layui-input demo-phone layui-form-danger">
  33. </div>
  34. </div>
  35. <div class="layui-form-item">
  36. <label class="layui-form-label">{:lang('sex')}</label>
  37. <div class="layui-input-block">
  38. <select name="sex" lay-filter="required">
  39. <option value="1">{:lang('Man')}</option>
  40. <option value="2">{:lang('Woman')}</option>
  41. <option value="3">{:lang('Unknown')}</option>
  42. </select>
  43. </div>
  44. </div>
  45. <div class="layui-inline">
  46. <label class="layui-form-label">{:lang("sun_calendar")}</label>
  47. <div class="layui-input-block">
  48. <input type="text" name="sun_calendar" id="sun_calendar"
  49. lay-verify="required" placeholder="yyyy-MM-dd H:i:s"
  50. autocomplete="off" class="layui-input" lay-key="1">
  51. </div>
  52. </div>
  53. <div class="layui-inline">
  54. <label class="layui-form-label">{:lang("lunar_calendar")}</label>
  55. <div class="layui-input-block">
  56. <input type="text" name="lunar_calendar" id="lunar_calendar"
  57. lay-verify="required" placeholder="yyyy-MM-dd H:i:s"
  58. autocomplete="off" class="layui-input" lay-key="1">
  59. </div>
  60. </div>
  61. <div class="layui-form-item unfold_ajax">
  62. <label class="layui-form-label">{:lang('Counselor')}</label>
  63. <div class="layui-input-block">
  64. <input type="text" id="ajax_search_id" name="follow_user_id"
  65. class="layui-input"
  66. placeholder="{:lang('Please enter employee nickname or ID and press Enter to search')}"
  67. style="position:absolute;z-index:2;width:88%;" value=""
  68. autocomplete="off">
  69. <select id="ajax_search" name="follow_user_id" lay-verify="required"
  70. lay-filter="ajax_search">
  71. <option value="">{:lang('Please enter employee nickname or ID and press
  72. Enter to search')}
  73. </option>
  74. </select>
  75. </div>
  76. </div>
  77. <div class="layui-form-item">
  78. <label class="layui-form-label">{:lang("linkman")}</label>
  79. <div class="layui-input-block">
  80. <input type="text" name="linkman" lay-verify="required"
  81. lay-reqtext="{:lang('Please fill in')}" autocomplete="off"
  82. class="layui-input">
  83. </div>
  84. </div>
  85. <div class="layui-form-item">
  86. <label class="layui-form-label">{:lang("relation")}</label>
  87. <div class="layui-input-block">
  88. <input type="text" name="relation" lay-verify="required"
  89. lay-reqtext="{:lang('Please fill in')}" autocomplete="off"
  90. class="layui-input">
  91. </div>
  92. </div>
  93. <div class="layui-form-item">
  94. <label class="layui-form-label">{:lang("address")}</label>
  95. <div class="layui-input-block">
  96. <input type="text" name="address" lay-verify="required"
  97. lay-reqtext="{:lang('Please fill in')}" autocomplete="off"
  98. class="layui-input">
  99. </div>
  100. </div>
  101. <div class="layui-form-item">
  102. <div class="layui-inline">
  103. <label class="layui-form-label">{:lang("email")}</label>
  104. <div class="layui-input-block">
  105. <input type="text" name="email" lay-verify="email" autocomplete="off"
  106. class="layui-input">
  107. </div>
  108. </div>
  109. </div>
  110. <div class="layui-form-item">
  111. <div class="layui-input-block">
  112. <button type="button" class="layui-btn" lay-submit=""
  113. lay-filter="caviar_submit_btn">{:lang('Submit')}
  114. </button>
  115. <button type="reset" class="layui-btn layui-btn-primary">{:lang("Reset")}
  116. </button>
  117. </div>
  118. </div>
  119. </form>
  120. </div>
  121. </div>
  122. </div>
  123. </div>
  124. </div>
  125. </main>
  126. <!--End 页面主要内容-->
  127. </div>
  128. </div>
  129. <script>
  130. // 用于缓存下拉获取的数据
  131. let dropData
  132. // 请求返回数据
  133. function getData(str) {
  134. return new Promise(resolve => {
  135. request("{:url('admin/admin/findAdmins')}", {"text": str}).then((data) => {
  136. if (data.code === 200) {
  137. resolve(data.data.map(v => {
  138. return {
  139. value: v.id,
  140. text: `【${v.id}】 ${v.nickname}`
  141. }
  142. }))
  143. }
  144. })
  145. })
  146. }
  147. $("#ajax_search_id").on("keyup", async function (e) {
  148. if (e.which == '13') {
  149. dropData = await getData($(this).val())
  150. innitSelect("#ajax_search", dropData)
  151. let form = layui.form;
  152. form.render()
  153. $(".unfold_ajax .layui-form-select").addClass("layui-form-selected")
  154. }
  155. })
  156. // 渲染下拉框的数据
  157. function innitSelect(name, data) {
  158. let html = ''
  159. if (data && data instanceof Array) {
  160. data.forEach(item => {
  161. html += "<option value=" + item.value + ">" + item.text + "</option>"
  162. })
  163. }
  164. $(name).html(html)
  165. }
  166. var index = parent.layer.getFrameIndex(window.name);
  167. layui.use(['laydate', 'form'], () => {
  168. const laydate = layui.laydate;
  169. const form = layui.form;
  170. form.on("select(ajax_search)", function (data) {
  171. let value = data.value
  172. let selectObj = dropData.filter(item => {
  173. return item.value == value
  174. })
  175. $("#ajax_search_id").val(selectObj[0].text);
  176. })
  177. form.on('submit(caviar_submit_btn)', (data) => {
  178. const response = request('/admin/customer/add', data.field)
  179. response.then((res) => {
  180. res.code === 200 ? layer.msg("{:lang('Succeed')}", {icon: 1, time: 500}, () => {
  181. location.reload();
  182. }) : layer.msg(res.message, {icon: 5})
  183. })
  184. return false;
  185. });
  186. laydate.render({
  187. elem: '#sun_calendar',
  188. type: 'datetime'
  189. });
  190. laydate.render({
  191. elem: '#lunar_calendar',
  192. type: 'datetime'
  193. });
  194. });
  195. </script>