edit_site_address.html 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261
  1. {extend name="base"/}
  2. {block name="resources"}
  3. <style type="text/css">
  4. .tree-line{padding:10px 0;background:#ededed;margin-bottom:2px;line-height: 1.8;}
  5. .tree-line .layui-form{padding-left: 10px !important;}
  6. .tree-line .layui-form-checkbox{margin:0 10px !important;vertical-align:middle;}
  7. .form {margin-top: 0;}
  8. .group-tree-block .layui-table tbody tr:hover {background-color: white;}
  9. .form {
  10. margin-top: 0;
  11. }
  12. .show{
  13. display: none;
  14. margin-left: 20px;
  15. }
  16. .sel-width .len-mar{
  17. margin-left: 10px;
  18. }
  19. .sel-mar{
  20. margin-left: 10px;
  21. }
  22. .radio{
  23. margin-bottom: 5px;
  24. }
  25. .layui-input-inline-block{
  26. display: flex;
  27. }
  28. .layui-input-inline-block input{
  29. width: 143.2px !important;
  30. margin-right: 10px;
  31. }
  32. </style>
  33. {/block}
  34. {block name="main"}
  35. <div class="layui-form form" lay-filter="storeform">
  36. <div class="layui-form-item">
  37. <label class="layui-form-label"><span class="required">*</span>联系人:</label>
  38. <div class="layui-input-block">
  39. <input name="contact_name" type="text" required lay-verify="required" placeholder="请输入联系人姓名" class="layui-input len-long" autocomplete="off" value="{$site_address_info.contact_name}">
  40. </div>
  41. </div>
  42. <div class="layui-form-item">
  43. <label class="layui-form-label">手机号:</label>
  44. <div class="layui-input-block ">
  45. <input name="mobile" type="text" value="{$site_address_info.mobile}" required lay-verify="mobile" placeholder="请填写手机号码" class="layui-input len-long len-mar" autocomplete="off" maxlength="11">
  46. </div>
  47. </div>
  48. <div class="layui-form-item">
  49. <label class="layui-form-label">邮政编码:</label>
  50. <div class="layui-input-block">
  51. <input name="postcode" value="{$site_address_info.postcode}" type="text" lay-verify="postcode" placeholder="请输入邮政编码" class="layui-input len-long len-mar" autocomplete="off" maxlength="6">
  52. </div>
  53. </div>
  54. <div class="layui-form-item">
  55. <label class="layui-form-label"><span class="required">*</span>联系地址:</label>
  56. <div class="layui-input-block" >
  57. <div class="layui-input-inline len-mid area-select">
  58. <select name="province_id" lay-filter="province_id" lay-verify="province_id">
  59. <option value="">请选择省份</option>
  60. {foreach $province_list as $k => $v}
  61. <option value="{$v.id}">{$v.name}</option>
  62. {/foreach}
  63. </select>
  64. </div>
  65. <div class="layui-input-inline len-mid area-select">
  66. <select name="city_id" lay-filter="city_id" lay-verify="city_id">
  67. <option value="">请选择城市</option>
  68. </select>
  69. </div>
  70. <div class="layui-input-inline len-mid area-select">
  71. <select name="district_id" lay-filter="district_id" lay-verify="district_id">
  72. <option value="">请选择区/县</option>
  73. </select>
  74. </div>
  75. </div>
  76. </div>
  77. <div class="layui-form-item">
  78. <label class="layui-form-label"><span class="required">*</span>详细地址:</label>
  79. <div class="layui-input-block">
  80. <input name="address" type="text" required lay-verify="required" lay-filter="address" placeholder="请填写详细地址,如街道名称,门牌号等信息" class="layui-input len-long" autocomplete="off" value="{$site_address_info.address}">
  81. </div>
  82. </div>
  83. <div class="layui-form-item">
  84. <label class="layui-form-label">地址类型:</label>
  85. <div class="layui-input-block">
  86. <div>
  87. <input type="checkbox" name="is_delivery" value="{$site_address_info.is_delivery}" title="发货地址" lay-filter="is_delivery" lay-verify="send_address" lay-skin="primary" {if !empty($site_address_info) && $site_address_info.is_delivery == 1}checked{/if}>
  88. </div>
  89. <div>
  90. <input type="checkbox" name="is_return" value="{$site_address_info.is_return}" title="退货地址" lay-filter="is_return" lay-verify="is_return" lay-skin="primary" {if !empty($site_address_info) && $site_address_info.is_return == 1}checked{/if}>
  91. <div id="show" class="show" {if !empty($site_address_info) && $site_address_info.is_return == 1}style="display: block;"{/if}>
  92. <input type="checkbox" name="is_return_default" value="{$site_address_info.is_return_default}" title="设为默认退货地址" lay-filter="is_return_default" lay-verify="is_return_default" lay-skin="primary" {if !empty($site_address_info) && $site_address_info.is_return_default == 1}checked{/if}>
  93. </div>
  94. </div>
  95. </div>
  96. </div>
  97. <input type="hidden" name="id" value="{$site_address_info.id}"/>
  98. <!-- 表单操作 -->
  99. <div class="form-row">
  100. <button class="layui-btn" lay-submit lay-filter="save">保存</button>
  101. <button class="layui-btn layui-btn-primary" onclick="back()">返回</button>
  102. </div>
  103. </div>
  104. {/block}
  105. {block name="script"}
  106. <script type="text/javascript" src="SHOP_JS/address.js"></script>
  107. <script>
  108. var form,
  109. repeat_flag = false;//防重复标识
  110. layui.use('form', function() {
  111. form = layui.form;
  112. form.render();
  113. form.on('checkbox(is_return)', function(data) {
  114. if(data.elem.checked){
  115. $('#show').show();
  116. $(this).val(1);
  117. }else{
  118. $('#show').hide();
  119. $('input[name=is_return_default]').prop('checked', false);
  120. $(this).val(0);
  121. $('input[name=is_return_default]').val(0);
  122. form.render('checkbox');
  123. }
  124. })
  125. form.on('checkbox(is_return_default)', function(data) {
  126. if(data.elem.checked){
  127. $(this).val(1);
  128. }else{
  129. $(this).val(0);
  130. }
  131. })
  132. form.on('checkbox(is_delivery)', function(data) {
  133. if(data.elem.checked){
  134. $(this).val(1);
  135. }else{
  136. $(this).val(0);
  137. }
  138. })
  139. //初始化联系地址
  140. var initdata = {province_id: '{$site_address_info.province_id}', city_id: '{$site_address_info.city_id}', district_id: '{$site_address_info.district_id}'};
  141. initAddress(initdata, "storeform");
  142. form.on('submit(save)', function (data) {
  143. var obj = $("#tree_box input:checked"),group_array = [];
  144. var province_name = $("select[name=province_id] option:selected").text();
  145. var city_name = $("select[name=city_id] option:selected").text();
  146. var district_name = $("select[name=district_id] option:selected").text();
  147. var address = $("input[name=address]").val();
  148. var is_return = $("input[name=is_return]").val();
  149. var is_return_default = $("input[name=is_return_default]").val();
  150. var is_delivery = $("input[name=is_delivery]").val();
  151. //地址id
  152. data.field.province = data.field.province_id;
  153. data.field.city = data.field.city_id;
  154. data.field.district = data.field.district_id;
  155. data.field.address = data.field.address;
  156. data.field.community = data.field.community_id;
  157. //地址name
  158. data.field.province_name = province_name;
  159. data.field.city_name = city_name;
  160. data.field.district_name = district_name;
  161. data.field.address = address;
  162. data.field.is_return = is_return;
  163. data.field.is_return_default = is_return_default;
  164. data.field.is_delivery = is_delivery;
  165. data.field.full_address = province_name + city_name + district_name + address;
  166. for (var i = 0; i < obj.length; i++) {
  167. group_array.push(obj.eq(i).val());
  168. }
  169. var int = $("input:checked").length;
  170. if(int<1){
  171. layer.msg('请选择一种地址类型');
  172. return false;
  173. }
  174. data.field.menu_array = group_array.toString();
  175. if (repeat_flag) return;
  176. repeat_flag = true;
  177. $.ajax({
  178. type: "POST",
  179. dataType: "JSON",
  180. url: ns.url("shop/siteaddress/editSiteAddress"),
  181. data: data.field,
  182. success: function (res) {
  183. repeat_flag = false;
  184. if (res.code >= 0) {
  185. layer.confirm('编辑成功', {
  186. title:'操作提示',
  187. btn: ['返回列表', '继续操作'],
  188. yes: function(){
  189. location.href = ns.url("shop/siteaddress/siteaddress")
  190. },
  191. btn2: function() {
  192. location.reload();
  193. }
  194. })
  195. }else{
  196. layer.msg(res.message);
  197. }
  198. }
  199. });
  200. });
  201. //表单验证
  202. form.verify({
  203. mobile: function (value,item) {
  204. if(!$("input[name='mobile']").val()) {
  205. return "请输入手机号";
  206. }
  207. },
  208. postcode: function (value,item) {
  209. if(value){
  210. var reg_code = /^[0-9]{6}$/;
  211. if(!reg_code.test(value)){
  212. return "请输入正确的邮政编码";
  213. }
  214. }
  215. },
  216. province_id : function(value, item){
  217. if(!value){
  218. return '请选择省份';
  219. }
  220. },
  221. city_id : function(value, item){
  222. if(!value){
  223. return '请选择城市';
  224. }
  225. },
  226. // district_id : function(value, item){
  227. // if(!value){
  228. // return '请选择区/县';
  229. // }
  230. // },
  231. community_id : function(value, item){
  232. if(!value){
  233. return '请选择街道';
  234. }
  235. },
  236. address: function(value) {
  237. if (!value) {
  238. return '请输入详细地址';
  239. }
  240. },
  241. });
  242. });
  243. /**
  244. * 地址下拉框(主要用于坐标记录)
  245. */
  246. function selectCallBack(){
  247. $("input[name=longitude]").val(map_class.address.longitude);//坐标
  248. $("input[name=latitude]").val(map_class.address.latitude);//坐标
  249. }
  250. function back() {
  251. location.href = ns.url("shop/siteaddress/siteaddress");
  252. }
  253. </script>
  254. {/block}