From 0a0ddc2087fa31cafb0589cf5c826f7caef1914e Mon Sep 17 00:00:00 2001
From: Hentua <wangdoubleone@gmail.com>
Date: Mon, 08 May 2023 11:36:23 +0800
Subject: [PATCH] fix

---
 src/main/resources/templates/febs/views/modules/shop/add.html |  112 ++++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 88 insertions(+), 24 deletions(-)

diff --git a/src/main/resources/templates/febs/views/modules/shop/add.html b/src/main/resources/templates/febs/views/modules/shop/add.html
index aa6da10..3a77c86 100644
--- a/src/main/resources/templates/febs/views/modules/shop/add.html
+++ b/src/main/resources/templates/febs/views/modules/shop/add.html
@@ -45,7 +45,7 @@
         <div class="layui-form-item">
             <label class="layui-form-label febs-form-item-require">联系方式:</label>
             <div class="layui-input-block">
-                <input type="text" name="shopName" autocomplete="off" class="layui-input" >
+                <input type="text" name="phone" autocomplete="off" class="layui-input" >
             </div>
         </div>
 
@@ -63,15 +63,39 @@
             </div>
         </div>
 
-        <div class="layui-form-item">
-            <label class="layui-form-label febs-form-item-require">地址:</label>
-            <div class="layui-input-block">
-                <input type="text" name="shopName" autocomplete="off" class="layui-input" id="tipinput">
+        <div class="layui-form-item" id="area-picker">
+            <div class="layui-form-label  febs-form-item-require">选择地区</div>
+            <div class="layui-input-inline" style="width: 200px;">
+                <select name="province" class="province-selector" lay-filter="province-1">
+                    <option value="">请选择省</option>
+                </select>
+            </div>
+            <div class="layui-input-inline" style="width: 200px;">
+                <select name="city" class="city-selector" lay-filter="city-1">
+                    <option value="">请选择市</option>
+                </select>
+            </div>
+            <div class="layui-input-inline" style="width: 200px;">
+                <select name="county" class="county-selector" lay-filter="county-1">
+                    <option value="">请选择区</option>
+                </select>
             </div>
         </div>
 
         <div class="layui-form-item">
-            <label class="layui-form-label">选择地址:</label>
+            <label class="layui-form-label febs-form-item-require">详细地址</label>
+            <div class="layui-input-block">
+                <div class="layui-inline layui-col-md9">
+                    <input type="text" name="shopAddress" autocomplete="off" class="layui-input" id="tipinput">
+                </div>
+                <div class="layui-inline">
+                    <button class="layui-btn" id="select-address" type="button">选择地址</button>
+                </div>
+            </div>
+        </div>
+
+        <div class="layui-form-item">
+            <label class="layui-form-label"></label>
             <div class="layui-input-block">
                 <div style="padding: .1rem;">
                     <div id="container" class="map"></div>
@@ -81,8 +105,8 @@
 
         <div class="layui-form-item febs-hide">
             <div class="layui-input-block">
-                <input type="text" name="longitude" autocomplete="off" class="layui-input" >
-                <input type="text" name="latitude" autocomplete="off" class="layui-input" >
+                <input type="text" name="longitude" id="longitude" autocomplete="off" class="layui-input" >
+                <input type="text" name="latitude" id="latitude" autocomplete="off" class="layui-input" >
             </div>
         </div>
 
@@ -94,7 +118,7 @@
 </div>
 
 <script data-th-inline="javascript">
-    layui.use(['febs', 'form', 'formSelects', 'validate', 'treeSelect', 'eleTree','layedit', 'laydate', 'upload'], function () {
+    layui.use(['febs', 'form', 'formSelects', 'validate', 'treeSelect', 'eleTree','layedit', 'laydate', 'upload', 'layarea'], function () {
         var $ = layui.$,
             febs = layui.febs,
             layer = layui.layer,
@@ -104,7 +128,12 @@
             laydate = layui.laydate,
             layedit = layui.layedit,
             $view = $('#shop-add'),
-            validate = layui.validate;
+            $selectAddress = $('#select-address'),
+            $tipinput = $('#tipinput'),
+            $latitude = $('#latitude'),
+            $longitude = $('#longitude'),
+            validate = layui.validate
+            , layarea = layui.layarea;
 
 
         form.render();
@@ -131,10 +160,15 @@
 
         formSelects.render();
         form.on('submit(shop-add-form-submit)', function (data) {
-            febs.post(ctx + 'admin/news/addNewsInfo', data.field, function () {
+            if(!data.field.longitude || !data.field.latitude) {
+                febs.alert.warn('请点击选择地址');
+                return;
+            }
+
+            febs.post(ctx + 'admin/shop/add', data.field, function () {
                 layer.closeAll();
                 febs.alert.success('操作成功');
-                $('#febs-newInfo').find('#reset').click();
+                $('#febs-shopInfo').find('#reset').click();
             });
             return false;
         });
@@ -181,7 +215,7 @@
             });
         }
 
-        $view.find('#container').css({"height": document.documentElement.clientHeight - 97 + 'px'});
+        $view.find('#container').css({"height": 500 + 'px'});
 
         var map = new AMap.Map("container", {
             resizeEnable: true,
@@ -198,20 +232,50 @@
             // })
         })
 
+        var geocoder = new AMap.Geocoder({
+        });
 
+        var marker = new AMap.Marker();
+        function geoCode() {
+            var address = $tipinput.val()
+            if (!address) {
+                return;
+            }
 
-        // function currentLocationInfo() {
-        //     map.getCity(function (info) {
-        //         febs.alert.success('当前位置:' + info.province + ',' + info.city + ',' + info.district + ',区号:' + info.citycode);
-        //     });
-        // }
+            geocoder.getLocation(address, function(status, result) {
+                console.log(result);
+                console.log(status)
+                if (status === 'complete' && result.geocodes.length) {
+                    var lnglat = result.geocodes[0].location
+                    marker.setPosition(lnglat);
+                    map.add(marker);
+                    map.setFitView(marker);
 
-        // currentLocationInfo();
-        //
-        // //为地图注册click事件获取鼠标点击出的经纬度坐标
-        // map.on('click', function (e) {
-        //     febs.alert.success('经度:' + e.lnglat.getLng() + ',纬度:' + e.lnglat.getLat());
-        // });
+                    $latitude.val(lnglat.lat);
+                    $longitude.val(lnglat.lng);
+                }else{
+                    layui.msg('根据地址查询位置失败');
+                }
+            });
+        }
+
+        layarea.render({
+            elem: '#area-picker',
+            change: function (res) {
+                //选择结果
+                console.log(res);
+                map.getCity(function(info) {
+                    var city = info.city ? info.city : info.province
+                    if (res.city && city !== res.city) {
+                        map.setCity(res.city)
+                    }
+                });
+            }
+        });
+
+        $selectAddress.on('click', function() {
+            geoCode();
+        })
     });
 </script>
 <script type="text/javascript" src="https://cache.amap.com/lbs/static/addToolbar.js"></script>
\ No newline at end of file

--
Gitblit v1.9.1