edit.html 8.4 KB

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