edit.html 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>添加员工信息</title>
  6. <meta name="renderer" content="webkit">
  7. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  8. <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
  9. <link rel="stylesheet" href="../../layuiadmin/layui/css/layui.css" media="all">
  10. <link rel="stylesheet" href="../../layuiadmin/style/admin.css" media="all">
  11. <link rel="stylesheet" type="text/css" href="../../layuiadmin/style/formSelects-v4.css"/>
  12. <script type="text/javascript" src="https://3gimg.qq.com/lightmap/components/geolocation/geolocation.min.js"></script>
  13. </head>
  14. <body>
  15. <div class="layui-fluid">
  16. <div class="layui-card">
  17. <div class="layui-card-body" pad15>
  18. <form class="layui-form" action="" lay-filter="component-form-element">
  19. <div class="layui-row layui-col-space10 layui-form-item">
  20. <div style="overflow-y: scroll;">
  21. <div style="width: 40%; height: 100%; float:left;">
  22. <div class="layui-form-item">
  23. <label class="layui-form-label"><font color='red' size="4">*</font>名称:</label>
  24. <div class="layui-input-block">
  25. <input type="text" name="name" lay-verify="required" placeholder="请输入名称" autocomplete="off" class="layui-input">
  26. </div>
  27. </div>
  28. <div class="layui-form-item">
  29. <label class="layui-form-label"><font color='red' size="4">*</font>地址:</label>
  30. <div class="layui-input-block">
  31. <input type="text" name="addr" placeholder="请输入地址" lay-verify="required" autocomplete="off" class="layui-input">
  32. </div>
  33. </div>
  34. <div class="layui-form-item">
  35. <label class="layui-form-label"><font color='red' size="4">*</font>电话:</label>
  36. <div class="layui-input-block">
  37. <input type="text" name="tel" placeholder="请输入电话" lay-verify="required" autocomplete="off" class="layui-input">
  38. </div>
  39. </div>
  40. <div class="layui-form-item">
  41. <label class="layui-form-label">品牌:</label>
  42. <div class="layui-input-block">
  43. <select name="brands" xm-select="manager_brands"></select>
  44. </div>
  45. </div>
  46. <div class="layui-form-item">
  47. <label class="layui-form-label">排序:</label>
  48. <div class="layui-input-block">
  49. <input type="text" name="sort" placeholder="请输入排序" lay-verify="numberGez" autocomplete="off" class="layui-input">
  50. </div>
  51. </div>
  52. <div class="layui-form-item">
  53. <label class="layui-form-label">经度坐标:</label>
  54. <span id="show_lng"></span>
  55. </div>
  56. <div class="layui-form-item">
  57. <label class="layui-form-label">纬度坐标:</label>
  58. <span id="show_lat"></span>
  59. </div>
  60. <div class="layui-form-item">
  61. <label class="layui-form-label">在用:</label>
  62. <div class="layui-input-block">
  63. <input type="checkbox" name="enabled" lay-skin="switch" lay-text="是|否" checked="" value="1">
  64. </div>
  65. </div >
  66. <div class="layui-form-item">
  67. <label class="layui-form-label">门店展示:</label>
  68. <div class="layui-input-block">
  69. <button type="button" class="layui-btn-sm" id="test1">上传图片</button><br><br>
  70. </div>
  71. </div>
  72. <div class="layui-form-item">
  73. <img class="layui-upload-img" id="demo1" style="max-width: 70%;height: 150px;margin-left: 25%;">
  74. </div>
  75. </div>
  76. <div style="width: 55%; height: 100%; float:left; margin-left: 10px;">
  77. <div style="height: 500px;">
  78. <iframe id="markPage" frameborder="0" scrolling="no" width="100%" height="100%"></iframe>
  79. </div>
  80. </div>
  81. <button id="id_save" class="layui-btn" lay-submit lay-filter="component-form-element" style="display: none">保存</button>
  82. <button class="layui-btn" type="button" id="upload_image" style="display: none"></button>
  83. </div>
  84. </div>
  85. </form>
  86. </div>
  87. </div>
  88. </div>
  89. <script src="../../layuiadmin/layui/layui.js"></script>
  90. <script>
  91. layui.config({
  92. base: '../../../layuiadmin/' //静态资源所在路径
  93. }).extend({
  94. index: 'lib/index',
  95. formSelects: 'formSelects-v4'
  96. }).use(['index', 'form', 'utils', 'upload', 'formSelects'], function(){
  97. var $ = layui.$
  98. ,admin = layui.admin
  99. ,upload = layui.upload
  100. ,formSelects = layui.formSelects
  101. ,form = layui.form;
  102. var id = layui.view.getParameterByName('id');
  103. var longitude = null;
  104. var latitude = null;
  105. window.addEventListener('message', function (e) {
  106. var loc = e.data;
  107. if (loc && loc.module == 'locationPicker') {
  108. longitude = loc.latlng.lng;
  109. latitude = loc.latlng.lat;
  110. $('#show_lng').html(longitude);
  111. $('#show_lat').html(latitude);
  112. }
  113. }, false);
  114. formSelects.value('manager_brands', []);
  115. admin.req({
  116. url: '/vehicle/brand/search/'
  117. ,done: function(res){
  118. var _nodes = res.data;
  119. formSelects.data('manager_brands', 'local', {
  120. arr: _nodes,
  121. tree: {
  122. //在点击节点的时候, 如果没有子级数据, 会触发此事件
  123. nextClick: function(id, item, callback){
  124. return false;
  125. },
  126. }
  127. });
  128. //formSelects.value('manager_range', manages);
  129. loadData();
  130. }
  131. });
  132. var loadData = function () {
  133. if(id){
  134. var editdata = JSON.parse(JSON.stringify(parent.layui.table.editdata)); // 框架有Bug所以这么转换
  135. if (editdata.longitude && editdata.latitude) {
  136. longitude = editdata.longitude;
  137. latitude = editdata.latitude;
  138. $('#show_lng').html(longitude);
  139. $('#show_lat').html(latitude);
  140. reloadMap(latitude, longitude);
  141. } else {
  142. var markurl = 'https://apis.map.qq.com/tools/locpicker?search=1&type=1&key=6NVBZ-YA43F-UHLJY-JS3WK-26HQH-7ZBLM&referer=myapp';
  143. $('#markPage').attr('src',markurl);
  144. }
  145. if(editdata.img_url){
  146. $('#demo1').attr('src', editdata.img_url);
  147. }
  148. formSelects.value('manager_brands', editdata.brands);
  149. form.val("component-form-element", editdata);
  150. }else{
  151. var markurl = 'https://apis.map.qq.com/tools/locpicker?search=1&type=1&key=6NVBZ-YA43F-UHLJY-JS3WK-26HQH-7ZBLM&referer=myapp';
  152. $('#markPage').attr('src',markurl);
  153. }
  154. };
  155. function reloadMap(lat, lng) {
  156. var markurl = 'https://apis.map.qq.com/tools/locpicker?search=1&type=1&key=6NVBZ-YA43F-UHLJY-JS3WK-26HQH-7ZBLM&referer=myapp&coord=' + lat + ',' + lng;
  157. $('#markPage').attr('src',markurl);
  158. }
  159. var form_data = {field:{}};
  160. if (id){
  161. var url = '/store/'+id + '/update_shop/';
  162. }else{
  163. url = '/store/';
  164. }
  165. upload.render({
  166. elem: '#test1',
  167. url: url,
  168. auto: false,
  169. field: 'image',
  170. bindAction: '#upload_image',
  171. choose: function(obj) {
  172. obj.preview(
  173. function(index, file, result) {
  174. $('#demo1').attr('src', result);
  175. }
  176. );
  177. },
  178. data:{
  179. name: function(){return form_data.field.name;},
  180. addr: function(){return form_data.field.addr;},
  181. tel: function(){return form_data.field.tel;},
  182. brands: function(){return form_data.field.brands;},
  183. latitude: function(){return form_data.field.latitude;},
  184. longitude: function(){return form_data.field.longitude;},
  185. enabled: function(){
  186. if (form_data.field.enabled){
  187. return form_data.field.enabled;
  188. }else{
  189. return '0';
  190. }
  191. }
  192. },
  193. done: function (res) {
  194. if (res.code != 0) {
  195. layer.msg(res.msg);
  196. }else {
  197. parent.layui.onSubmitChild(res.data);
  198. }
  199. },
  200. error: function () {
  201. layer.msg('保存失败');
  202. }
  203. });
  204. form.on('submit(component-form-element)', function(data){
  205. //layer.msg(JSON.stringify(data.field));
  206. if (!latitude || !longitude) {
  207. layer.msg('请选择门店位置');
  208. return false;
  209. }
  210. data.field['latitude'] = latitude;
  211. data.field['longitude'] = longitude;
  212. if (data.field.image){
  213. form_data = data;
  214. $('#upload_image').click();
  215. }else{
  216. admin.req({
  217. url: url
  218. ,data: data.field
  219. ,type: 'post'
  220. ,done: function(res){
  221. parent.layui.onSubmitChild(res.data);
  222. }
  223. });
  224. }
  225. return false;
  226. });
  227. parent.layui.submitChild = function () {
  228. $("#id_save").click();
  229. };
  230. });
  231. </script>
  232. </body>
  233. </html>