add_site_address.html 8.1 KB

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