From e741e0f0499ce2941caae91c341eb0b7ec4f629c Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期二, 28 五月 2024 14:28:09 +0800
Subject: [PATCH] 开通城市

---
 ManagementNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TOpenCityController.java  |  110 ++++++++++
 ManagementNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TOrderTapeController.java |   10 +
 ManagementNTTravel/guns-admin/src/main/webapp/static/modular/system/tOpenCity/tOpenCity_info.js                            |  164 ++++++++++++++++
 ManagementNTTravel/guns-admin/src/main/webapp/static/modular/system/tOrderTape/tOrderTape.js                               |   28 ++
 ManagementNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TOpenCitySite.java                     |  161 ++++++++++++++++
 ManagementNTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderTape/tOrderTape.html                               |    3 
 ManagementNTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOpenCity/tOpenCity_edit.html                            |   61 ++++++
 ManagementNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOpenCitySiteMapper.xml          |    7 
 ManagementNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TOpenCitySiteMapper.java                 |   17 +
 ManagementNTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOpenCity/tOpenCity_add.html                             |   30 ++
 10 files changed, 579 insertions(+), 12 deletions(-)

diff --git a/ManagementNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TOpenCityController.java b/ManagementNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TOpenCityController.java
index 04e08e9..dd5b3b0 100644
--- a/ManagementNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TOpenCityController.java
+++ b/ManagementNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TOpenCityController.java
@@ -10,7 +10,9 @@
 import com.stylefeng.guns.core.shiro.ShiroKit;
 import com.stylefeng.guns.core.util.DateUtil;
 import com.stylefeng.guns.core.util.SinataUtil;
+import com.stylefeng.guns.modular.system.dao.TOpenCitySiteMapper;
 import com.stylefeng.guns.modular.system.model.TOpenCityBusiness;
+import com.stylefeng.guns.modular.system.model.TOpenCitySite;
 import com.stylefeng.guns.modular.system.model.TRegion;
 import com.stylefeng.guns.modular.system.service.ITOpenCityBusinessService;
 import com.stylefeng.guns.modular.system.service.ITRegionService;
@@ -26,10 +28,13 @@
 import com.stylefeng.guns.modular.system.model.TOpenCity;
 import com.stylefeng.guns.modular.system.service.ITOpenCityService;
 
+import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 /**
  * 城市管理控制器
@@ -51,7 +56,8 @@
 
     @Autowired
     private ITOpenCityBusinessService tOpenCityBusinessService;
-
+    @Autowired
+    private TOpenCitySiteMapper tOpenCitySiteMapper;
     /**
      * 跳转到城市管理首页
      */
@@ -78,7 +84,6 @@
         TOpenCity tOpenCity = tOpenCityService.selectById(tOpenCityId);
         model.addAttribute("item",tOpenCity);
         LogObjectHolder.me().set(tOpenCity);
-
         //省
         List<TRegion> provinceList = tRegionService.selectList(new EntityWrapper<TRegion>().eq("parent_id", 0));
         model.addAttribute("provinceList",provinceList);
@@ -91,6 +96,16 @@
         //经营业务
         List<Map<String,Object>> businessList = tOpenCityService.getBusinessByCityId(tOpenCityId);
         model.addAttribute("businessList",businessList);
+        // 机场/动车站点
+        List<TOpenCitySite> siteList = tOpenCitySiteMapper.selectList(new EntityWrapper<TOpenCitySite>()
+                .eq("openCityId", tOpenCityId)
+                .ne("flag",3));
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy.MM.dd");
+        for (TOpenCitySite openCitySite : siteList) {
+            String format = simpleDateFormat.format(openCitySite.getInsertTime());
+            openCitySite.setInsertTime1(format);
+        }
+        model.addAttribute("siteList",siteList);
         return PREFIX + "tOpenCity_edit.html";
     }
 
@@ -127,7 +142,10 @@
      */
     @RequestMapping(value = "/add")
     @ResponseBody
-    public Object add(TOpenCity tOpenCity,@RequestParam String businessTypeStr,Integer areaId,Integer cityId,Integer provinceId) {
+    public Object add(TOpenCity tOpenCity,@RequestParam String businessTypeStr,
+                      String sites,
+                      Integer areaId,Integer cityId,
+                      Integer provinceId) {
         //获取code
         if (SinataUtil.isNotEmpty(areaId)){
             TRegion area = tRegionService.selectById(areaId);
@@ -163,6 +181,35 @@
 
         //添加经营业务
         testJSONStrToJSONArray(businessTypeStr,tOpenCity.getId());
+        // 添加机场/动车站点
+        JSONArray jsonArray = JSON.parseArray(sites);
+        int size = jsonArray.size();
+        for (int i = 0; i < size; i++){
+            JSONObject jsonObject = jsonArray.getJSONObject(i);
+            TOpenCitySite openCitySite = new TOpenCitySite();
+            openCitySite.setOpenCityId(tOpenCity.getId());
+            String string = jsonObject.getString("lonAndLat");
+            // 去除转义符
+            String unescaped = string.replaceAll("& #40;", "(").replaceAll("& #41;", ")");
+            // 提取括号中的内容
+            Pattern pattern = Pattern.compile("\\(([^)]+)\\)");
+            Matcher matcher = pattern.matcher(unescaped);
+            if (matcher.find()) {
+                String lonAndLat = matcher.group(1);
+                System.out.println("括号中的内容: " + lonAndLat);
+                // 使用逗号分割字符串
+                String[] parts = lonAndLat.split(",");
+                // 提取需要的部分
+                String lon = parts[0];
+                String lat = parts[1];
+                openCitySite.setLon(lon);
+                openCitySite.setLat(lat);
+            }
+            openCitySite.setFlag(1);
+            openCitySite.setName(jsonObject.getString("name"));
+            openCitySite.setInsertTime(DateUtil.parse(jsonObject.getString("time")+" 00:00:00","yyyy-MM-dd HH:mm:ss"));
+            tOpenCitySiteMapper.insert(openCitySite);
+        }
         return SUCCESS_TIP;
     }
 
@@ -224,7 +271,7 @@
      */
     @RequestMapping(value = "/update")
     @ResponseBody
-    public Object update(TOpenCity tOpenCity,@RequestParam String businessTypeStr,Integer areaId,Integer cityId,Integer provinceId) {
+    public Object update(TOpenCity tOpenCity,@RequestParam String businessTypeStr,Integer areaId,Integer cityId,Integer provinceId,String sites) {
         if (SinataUtil.isNotEmpty(areaId)){
             TRegion area = tRegionService.selectById(areaId);
             tOpenCity.setCode(area.getCode());
@@ -279,6 +326,61 @@
         tOpenCityBusinessService.update(business,new EntityWrapper<TOpenCityBusiness>().eq("openCityId",tOpenCity.getId()));
         //添加经营业务
         testJSONStrToJSONArray(businessTypeStr,tOpenCity.getId());
+//        TOpenCitySite openCitySite = new TOpenCitySite();
+//        // 删除站点
+//        tOpenCitySiteMapper.update(openCitySite,new EntityWrapper<TOpenCitySite>().eq("openCityId",tOpenCity.getId()));
+        List<TOpenCitySite> openCityId = tOpenCitySiteMapper.selectList(new EntityWrapper<TOpenCitySite>()
+                .eq("openCityId", tOpenCity.getId()));
+        for (TOpenCitySite openCitySite : openCityId) {
+            openCitySite.setFlag(3);
+            tOpenCitySiteMapper.updateById(openCitySite);
+        }
+        // 添加站点
+        // 添加机场/动车站点
+        JSONArray jsonArray = JSON.parseArray(sites);
+        int size = jsonArray.size();
+        for (int i = 0; i < size; i++){
+            JSONObject jsonObject = jsonArray.getJSONObject(i);
+            String string = jsonObject.getString("lonAndLat");
+            // 去除转义符
+            String unescaped = string.replaceAll("& #40;", "(").replaceAll("& #41;", ")");
+            // 提取括号中的内容
+            Pattern pattern = Pattern.compile("\\(([^)]+)\\)");
+            Matcher matcher = pattern.matcher(unescaped);
+            String lon = "";
+            String lat = "";
+            if (matcher.find()) {
+                String lonAndLat = matcher.group(1);
+                System.out.println("括号中的内容: " + lonAndLat);
+                // 使用逗号分割字符串
+                String[] parts = lonAndLat.split(",");
+                // 提取需要的部分
+                lon = parts[0];
+                lat = parts[1];
+            }
+            if (SinataUtil.isNotEmpty(jsonObject.getInteger("busId")) && jsonObject.getInteger("busId") != 0){
+                // 修改
+                TOpenCitySite openCitySite1 = tOpenCitySiteMapper.selectById(jsonObject.getInteger("busId"));
+                openCitySite1.setLon(lon);
+                openCitySite1.setLat(lat);
+                openCitySite1.setName(jsonObject.getString("name"));
+                openCitySite1.setFlag(2);
+                openCitySite1.setType(jsonObject.getInteger("siteType"));
+                tOpenCitySiteMapper.updateById(openCitySite1);
+            }else{
+                // 新增
+                TOpenCitySite openCitySite3 = new TOpenCitySite();
+                openCitySite3.setOpenCityId(tOpenCity.getId());
+                openCitySite3.setLon(lon);
+                openCitySite3.setLat(lat);
+                openCitySite3.setFlag(1);
+                openCitySite3.setName(jsonObject.getString("name"));
+                openCitySite3.setType(jsonObject.getInteger("siteType"));
+                openCitySite3.setInsertTime(DateUtil.parse(jsonObject.getString("time")+" 00:00:00","yyyy-MM-dd HH:mm:ss"));
+                tOpenCitySiteMapper.insert(openCitySite3);
+            }
+
+        }
         return SUCCESS_TIP;
     }
 
diff --git a/ManagementNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TOrderTapeController.java b/ManagementNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TOrderTapeController.java
index d2e1bc9..6400ecb 100644
--- a/ManagementNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TOrderTapeController.java
+++ b/ManagementNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TOrderTapeController.java
@@ -77,6 +77,16 @@
     }
 
     /**
+     * 删除行程录音管理
+     */
+    @RequestMapping(value = "/getDetailById")
+    @ResponseBody
+    public Object getDetailById(@RequestParam Integer tOrderTapeId) {
+        TOrderTape tOrderTape = tOrderTapeService.selectById(tOrderTapeId);
+        return ResultUtil.success(tOrderTape);
+    }
+
+    /**
      * 批量删除行程录音管理
      */
     @RequestMapping(value = "/deleteBatch")
diff --git a/ManagementNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TOpenCitySiteMapper.java b/ManagementNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TOpenCitySiteMapper.java
new file mode 100644
index 0000000..b85e60d
--- /dev/null
+++ b/ManagementNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TOpenCitySiteMapper.java
@@ -0,0 +1,17 @@
+package com.stylefeng.guns.modular.system.dao;
+
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+import com.stylefeng.guns.modular.system.model.TOpenCitySite;
+
+/**
+ * <p>
+ * 开通城市表 Mapper 接口
+ * </p>
+ *
+ * @author 吕雪
+ * @since 2020-06-02
+ */
+public interface TOpenCitySiteMapper extends BaseMapper<TOpenCitySite> {
+
+
+}
diff --git a/ManagementNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOpenCitySiteMapper.xml b/ManagementNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOpenCitySiteMapper.xml
new file mode 100644
index 0000000..3f0be14
--- /dev/null
+++ b/ManagementNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOpenCitySiteMapper.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.stylefeng.guns.modular.system.dao.TOpenCitySiteMapper">
+
+
+
+</mapper>
diff --git a/ManagementNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TOpenCitySite.java b/ManagementNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TOpenCitySite.java
new file mode 100644
index 0000000..ee9d1b6
--- /dev/null
+++ b/ManagementNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TOpenCitySite.java
@@ -0,0 +1,161 @@
+package com.stylefeng.guns.modular.system.model;
+
+import com.baomidou.mybatisplus.activerecord.Model;
+import com.baomidou.mybatisplus.annotations.DataSource;
+import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.annotations.TableName;
+import com.baomidou.mybatisplus.enums.IdType;
+import io.swagger.models.auth.In;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.Objects;
+
+/**
+ * <p>
+ * 开通城市表
+ * </p>
+ *
+ * @author 吕雪
+ * @since 2020-06-02
+ */
+
+@TableName("t_open_city_site")
+public class TOpenCitySite extends Model<TOpenCitySite> {
+
+    private static final long serialVersionUID = 1L;
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) return true;
+        if (o == null || getClass() != o.getClass()) return false;
+        TOpenCitySite that = (TOpenCitySite) o;
+        return Objects.equals(id, that.id) && Objects.equals(lon, that.lon) && Objects.equals(lat, that.lat) && Objects.equals(name, that.name) && Objects.equals(insertTime, that.insertTime) && Objects.equals(openCityId, that.openCityId);
+    }
+
+    @Override
+    public int hashCode() {
+        return Objects.hash(id, lon, lat, name, insertTime, openCityId);
+    }
+
+    public String getInsertTime1() {
+
+        return insertTime1;
+    }
+
+    public void setInsertTime1(String insertTime1) {
+        this.insertTime1 = insertTime1;
+    }
+
+    @Override
+    public String toString() {
+        return "TOpenCitySite{" +
+                "id=" + id +
+                ", lon='" + lon + '\'' +
+                ", lat='" + lat + '\'' +
+                ", name='" + name + '\'' +
+                ", insertTime=" + insertTime +
+                ", openCityId=" + openCityId +
+                '}';
+    }
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public String getLon() {
+        return lon;
+    }
+
+    public void setLon(String lon) {
+        this.lon = lon;
+    }
+
+    public String getLat() {
+        return lat;
+    }
+
+    public void setLat(String lat) {
+        this.lat = lat;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public Date getInsertTime() {
+        return insertTime;
+    }
+
+    public void setInsertTime(Date insertTime) {
+        this.insertTime = insertTime;
+    }
+
+    public Integer getOpenCityId() {
+        return openCityId;
+    }
+
+    public void setOpenCityId(Integer openCityId) {
+        this.openCityId = openCityId;
+    }
+
+    /**
+     * 主键id
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 经度
+     */
+    private String lon;
+    /**
+     * 纬度
+     */
+    private String lat;
+
+    public Integer getFlag() {
+        return flag;
+    }
+
+    public void setFlag(Integer flag) {
+        this.flag = flag;
+    }
+
+    private Integer flag;
+    /**
+     * 类型 1机场2站点
+     */
+    private Integer type;
+
+    public Integer getType() {
+        return type;
+    }
+
+    public void setType(Integer type) {
+        this.type = type;
+    }
+
+    /**
+     * 站点名称
+     */
+    private String name;
+    private Date insertTime;
+    @TableField(exist = false)
+    private String insertTime1;
+    private Integer openCityId;
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+}
diff --git a/ManagementNTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOpenCity/tOpenCity_add.html b/ManagementNTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOpenCity/tOpenCity_add.html
index bea9b39..6a95b87 100644
--- a/ManagementNTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOpenCity/tOpenCity_add.html
+++ b/ManagementNTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOpenCity/tOpenCity_add.html
@@ -1,4 +1,6 @@
 @layout("/common/_container.html"){
+<script type="text/javascript" src="http://webapi.amap.com/maps?v=1.4.15&key=77b37f0753049c4e712ea79a24e0719c"></script>
+
 <div class="ibox float-e-margins">
     <div class="ibox-content">
         <div class="form-horizontal" id="openCityForm">
@@ -64,13 +66,29 @@
 
                     <div class="form-group">
                         <label class="col-sm-3 control-label">机场/动车站点:</label>
+                        <div class="col-sm-2" >
+                            <input class="form-control"  style="width: 250px;" type="text" id="address" onchange="TOpenCityInfoDlg.searchByStationName(this,1)">
+                        </div>
                         <div class="col-sm-3" >
-                            <#input id="businessSort" name=" " value="" />
+                            <#input id="siteName" name="站点名称" value="" />
+                        </div>
+                        <div class="col-sm-3">
+                            <select class="form-control" id="siteType">
+                                <option value="">选择站点类型</option>
+                                <option value="1">机场</option>
+                                <option value="2">动车</option>
+                            </select>
                         </div>
                         <div class="col-sm-2">
-                            <#button btnCss="info" name="添加站点" id="ensure" icon="fa-check" clickFun="addBusinessType()"/>
+                            <#button btnCss="info" name="添加站点" id="ensure" icon="fa-check" clickFun="addSite()"/>
                         </div>
                     </div>
+    <div class="col-sm-10" style="margin-left: 397px;width: 70%;" >
+        <!-- 创建地图容器-->
+        <div id="container" style="height: 500px;" ></div>
+    </div>
+    <div hidden id="longitude"></div>
+    <div hidden id="latitude"></div>
                     <div class="form-group">
                         <label class="col-sm-3 control-label">已添加站点列表:</label>
                         <div class="col-sm-9">
@@ -79,8 +97,9 @@
                                     <thead>
                                     <tr>
                                         <th style="width: 300px;">添加时间</th>
-                                        <th style="width: 300px;">经营业务</th>
-                                        <th style="width: 300px;">排序</th>
+                                        <th style="width: 300px;">站点名称</th>
+                                        <th style="width: 300px;">经纬度</th>
+                                        <th style="width: 300px;">站点类型</th>
                                         <th style="width: 100px;">操作</th>
                                     </tr>
                                     </thead>
@@ -104,4 +123,7 @@
     </div>
 </div>
 <script src="${ctxPath}/static/modular/system/tOpenCity/tOpenCity_info.js"></script>
+<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/css/select2.min.css">
+<!--<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>-->
+<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/js/select2.min.js"></script>
 @}
diff --git a/ManagementNTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOpenCity/tOpenCity_edit.html b/ManagementNTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOpenCity/tOpenCity_edit.html
index 94c2fb5..a4f4f5c 100644
--- a/ManagementNTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOpenCity/tOpenCity_edit.html
+++ b/ManagementNTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOpenCity/tOpenCity_edit.html
@@ -1,4 +1,5 @@
 @layout("/common/_container.html"){
+<script type="text/javascript" src="http://webapi.amap.com/maps?v=1.4.15&key=77b37f0753049c4e712ea79a24e0719c"></script>
 <div class="ibox float-e-margins">
     <div class="ibox-content">
         <div class="form-horizontal" id="openCityForm">
@@ -77,7 +78,67 @@
                             </div>
                         </div>
                     </div>
+    <div class="form-group">
+        <label class="col-sm-3 control-label">机场/动车站点:</label>
+        <div class="col-sm-2" >
+            <input class="form-control"  style="width: 250px;" type="text" id="address" onchange="TOpenCityInfoDlg.searchByStationName(this,1)">
+        </div>
+        <div class="col-sm-3" >
+            <#input id="siteName" name="站点名称" value="" />
+        </div>
+        <div class="col-sm-3">
+            <select class="form-control" id="siteType">
+                <option value="">选择站点类型</option>
+                <option value="1">机场</option>
+                <option value="2">动车</option>
+            </select>
+        </div>
+        <div class="col-sm-2">
+            <#button btnCss="info" name="添加站点" id="ensure" icon="fa-check" clickFun="addSite()"/>
+        </div>
+    </div>
+    <div class="col-sm-10" style="margin-left: 397px;width: 70%;" >
+        <!-- 创建地图容器-->
+        <div id="container" style="height: 500px;" ></div>
+    </div>
+    <div hidden id="longitude"></div>
+    <div hidden id="latitude"></div>
+    <div class="form-group">
+        <label class="col-sm-3 control-label">已添加站点列表:</label>
+        <div class="col-sm-9">
+            <div style="height: 200px; border: 1px solid #e5e6e7;overflow-y: auto;">
+                <table class="table table-striped table-bordered table-hover table-condensed">
+                    <thead>
+                    <tr>
+                        <th style="width: 300px;">添加时间</th>
+                        <th style="width: 300px;">站点名称</th>
+                        <th style="width: 300px;">经纬度</th>
+                        <th style="width: 300px;">站点类型</th>
+                        <th style="width: 100px;">操作</th>
+                    </tr>
+                    </thead>
+                    <tbody id="site">
+                    @for(obj in siteList){
+                    <tr class="siteClass">
+                        <td>
+                            <input type="hidden" id="busId" name="busId" value="${obj.id}">
+                            <input type="hidden" id="time" name="time" value="${obj.insertTime1}">${obj.insertTime1}</td>
+                        <td><input type="hidden" id="name" name="name" value="${obj.name}">${obj.name}</td>
+                        <td><input type="hidden" id="lonAndLat" name="lonAndLat" value="(${obj.lon},${obj.lat})">(${obj.lon},${obj.lat})</td>
+                        @if(obj.type == 1){
+                        <td><input type="hidden" id="siteType" name="siteType" value="1">机场</td>
+                        @}else{
+                        <td><input type="hidden" id="siteType" name="siteType" value="2">动车</td>
+                        @}
 
+                        <td><button onclick="deleteSub(this)">移除</button></td></td>
+                    </tr>
+                    @}
+                    </tbody>
+                </table>
+            </div>
+        </div>
+    </div>
                 </div>
             </div>
 
diff --git a/ManagementNTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderTape/tOrderTape.html b/ManagementNTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderTape/tOrderTape.html
index 41f4ff5..5a40553 100644
--- a/ManagementNTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderTape/tOrderTape.html
+++ b/ManagementNTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderTape/tOrderTape.html
@@ -36,7 +36,8 @@
                             @}
                         </div>
                         <#table id="TOrderTapeTable"/>
-                    </div>
+                    <audio id="recording" src="" style="display: none;"></audio>
+                </div>
                 </div>
             </div>
         </div>
diff --git a/ManagementNTTravel/guns-admin/src/main/webapp/static/modular/system/tOpenCity/tOpenCity_info.js b/ManagementNTTravel/guns-admin/src/main/webapp/static/modular/system/tOpenCity/tOpenCity_info.js
index 7fa11db..50ec3a7 100644
--- a/ManagementNTTravel/guns-admin/src/main/webapp/static/modular/system/tOpenCity/tOpenCity_info.js
+++ b/ManagementNTTravel/guns-admin/src/main/webapp/static/modular/system/tOpenCity/tOpenCity_info.js
@@ -112,6 +112,16 @@
             sort:$(this).find("input[name*='sort']").val(),
         })
     });
+    var subArr1=[];
+    $(".siteClass").each(function () {
+        subArr1.push({
+            busId:$(this).find("input[name*='busId']").val(),
+            time:$(this).find("input[name*='time']").val(),
+            name:$(this).find("input[name*='name']").val(),
+            lonAndLat:$(this).find("input[name*='lonAndLat']").val(),
+            siteType:$(this).find("input[name*='siteType']").val(),
+        })
+    });
     if(subArr.length <= 0){
         Feng.error("请选择经营业务");
         return;
@@ -137,6 +147,7 @@
     });
     ajax.set(this.tOpenCityInfoData);
     ajax.set("businessTypeStr",JSON.stringify(subArr));
+    ajax.set("sites",JSON.stringify(subArr1));
     ajax.set("areaName",provinceValue);
     ajax.set("cityName",cityValue);
     ajax.set("provinceName",areaValue);
@@ -165,6 +176,16 @@
             sort:$(this).find("input[name*='sort']").val(),
         })
     });
+    var subArr1=[];
+    $(".siteClass").each(function () {
+        subArr1.push({
+            busId:$(this).find("input[name*='busId']").val(),
+            time:$(this).find("input[name*='time']").val(),
+            name:$(this).find("input[name*='name']").val(),
+            lonAndLat:$(this).find("input[name*='lonAndLat']").val(),
+            siteType:$(this).find("input[name*='siteType']").val(),
+        })
+    });
     if(subArr.length <= 0){
         Feng.error("请选择经营业务");
         return;
@@ -190,6 +211,7 @@
     });
     ajax.set(this.tOpenCityInfoData);
     ajax.set("businessTypeStr",JSON.stringify(subArr));
+    ajax.set("sites",JSON.stringify(subArr1));
     ajax.set("areaName",provinceValue);
     ajax.set("cityName",cityValue);
     ajax.set("provinceName",areaValue);
@@ -286,7 +308,52 @@
         '<td><input type="hidden" id="sort" name="sort" value="'+businessSort+'">' + businessSort + '</td><td><button onclick="deleteSub(this)">移除</button></td></tr>';
     $("#coun").append(str);
 }
+function addSite(){
 
+    var siteName=$("#siteName").val();
+    var siteType=$("#siteType").val();
+    var type = siteType;
+    if ("" == siteName){
+        Feng.info("站点名称不能为空");
+        return;
+    }
+    if ("" == siteType){
+        Feng.info("请选择站点类型");
+        return;
+    }
+    if (siteType == 1){
+        siteType = "机场"
+    }else{
+        siteType = "动车"
+    }
+    //获取所有的值
+    var subArr=[];
+    $(".siteClass").each(function () {
+
+        subArr.push({
+            name:$(this).find("input[name*='name']").val(),
+            time:$(this).find("input[name*='time']").val(),
+        })
+    });
+    for(var i=0;i<subArr.length;i++){
+        var name = subArr[i].name;
+        if (name == siteName) {
+            Feng.info("站点名称已存在,请重新填写");
+            return;
+        }
+    }
+    var lon = $("#longitude").val();
+    var lat = $("#latitude").val();
+    var lonAndLat = "("+lon+","+lat+")";
+    var str = '<tr class="siteClass">' +
+        '<td><input type="hidden" id="busId" name="busId" value="0">' +
+        '<input type="hidden" id="time" name="time" value="'+getNowFormatDate()+'">' + getNowFormatDate() + '</td>' +
+        '<td><input type="hidden" id="name" name="name" value="'+siteName+'">' + siteName + '</td>' +
+        '<td><input type="hidden" id="lonAndLat" name="lonAndLat" value="'+lonAndLat+'">' + lonAndLat + '</td>' +
+        '<td><input type="hidden" id="siteType" name="siteType" value="'+type+'">' + siteType + '</td>' +
+        '<td><button onclick="deleteSub(this)">移除</button></td></tr>';
+    $("#site").append(str);
+}
 function deleteSub(e) {
     $(e).parent().parent().remove();
 }
@@ -306,4 +373,101 @@
     }
     var currentdate = year + seperator1 + month + seperator1 + strDate;
     return currentdate;
+}
+var  map = new AMap.Map('container', {
+    resizeEnable: true, // 允许缩放
+    zoom: 15        // 设置地图的缩放级别,0 - 20
+});
+var marker;
+//搜索地图
+TOpenCityInfoDlg.searchByStationName  = function(e,type){
+    var keyword="";
+    if(type==2){
+        keyword = $(e).parent().prev().find("input").val();
+    }else {
+        if($("#address").val()!=null && $("#address").val()!=''){
+            keyword = $("#address").val();
+        }
+    }
+    type=1;
+    AMap.plugin('AMap.Geocoder', function() {
+        var geocoder = new AMap.Geocoder();
+        console.log(geocoder)
+        console.log(keyword)
+        geocoder.getLocation(keyword, function(status, result) {
+            console.log(status,result)
+            if (status === 'complete' && result.info === 'OK') {
+                // 经纬度
+                var lng = result.geocodes[0].location.lng;
+                var lat = result.geocodes[0].location.lat;
+                $("#longitude").val(lng)
+                $("#latitude").val(lat)
+                // 地图实例
+                map = new AMap.Map('container', {
+                    resizeEnable: true, // 允许缩放
+                    center: [lng, lat], // 设置地图的中心点
+                    zoom: 15        // 设置地图的缩放级别,0 - 20
+                });
+                //地图画点
+                //addMarker(lng,lat);
+                if(type==1 || type==2){
+                    showInfoClick();
+                    if(lng == null){
+                    }else{
+                        addMarker(lng,lat);
+                    }
+                }else{
+                    addMarker(lng,lat);
+                }
+            } else {
+                console.log('定位失败!');
+            }
+        });
+    });
+
+}
+//地图点击事件
+function showInfoClick(){
+    map.on('click', function (e) {
+        addMarker(e.lnglat.getLng(),e.lnglat.getLat());
+    });
+}
+//删除点
+function removeMarkers(){
+    if(marker!=null){
+        map.remove(marker);
+    }
+
+}
+// 实例化点标记
+function addMarker(lon,lat) {
+    removeMarkers();
+    marker = new AMap.Marker({
+        map: map,
+        position: new AMap.LngLat(lon, lat),   // 经纬度
+    });
+    //加经纬度
+    $("#lon").val(lon);
+    $("#lat").val(lat);
+    var lnglatXY = [lon, lat];//地图上所标点的坐标
+    AMap.service('AMap.Geocoder',function() {//回调函数
+        geocoder = new AMap.Geocoder({
+        });
+        geocoder.getAddress(lnglatXY, function (status, result) {
+            if (status === 'complete' && result.info === 'OK') {
+                //获得了有效的地址信息:
+                //即,result.regeocode.formattedAddress
+                // alert(result.regeocode.formattedAddress)
+                //document.getElementById("address").value=result.regeocode.formattedAddress;//将获取到的地址信息赋值给文本框,保存进数据库
+
+                var address = result.regeocode.formattedAddress;
+                var city = result.regeocode.addressComponent.city;
+                var province = result.regeocode.addressComponent.province;
+                var district = result.regeocode.addressComponent.district;
+                $("#address").val(address);
+            } else {
+                //获取地址失败
+            }
+        });
+    })
 }
\ No newline at end of file
diff --git a/ManagementNTTravel/guns-admin/src/main/webapp/static/modular/system/tOrderTape/tOrderTape.js b/ManagementNTTravel/guns-admin/src/main/webapp/static/modular/system/tOrderTape/tOrderTape.js
index 2e92e94..cc4e089 100644
--- a/ManagementNTTravel/guns-admin/src/main/webapp/static/modular/system/tOrderTape/tOrderTape.js
+++ b/ManagementNTTravel/guns-admin/src/main/webapp/static/modular/system/tOrderTape/tOrderTape.js
@@ -78,9 +78,14 @@
         },
         {title: '操作', visible: true, align: 'center', valign: 'middle',width:'16%',
             formatter: function (value, row) {
-                return '<a href="#" onclick="TOrderTape.orderDetail('+row.orderId+','+row.orderType+')" style="color:cornflowerblue">查看订单</a>' +'&nbsp;' +
-                    '<a href="#" onclick="TOrderTape.openTCharteredServiceDetail('+row.id+')" style="color:cornflowerblue">播放录音</a>' +'&nbsp;' +
-                    '<a href="#" onclick="TOrderTape.delete('+row.id+')" style="color:cornflowerblue">删除</a>'
+                if(row.state == 1) {
+                    return '<a href="#" onclick="TOrderTape.orderDetail('+row.orderId+','+row.orderType+')" style="color:cornflowerblue">查看订单</a>' +'&nbsp;' +
+                        '<a href="#" onclick="TOrderTape.playAudio('+row.id+')" style="color:cornflowerblue">播放录音</a>' +'&nbsp;' +
+                        '<a href="#" onclick="TOrderTape.delete('+row.id+')" style="color:cornflowerblue">删除</a>'
+                }else {
+                    return '<a href="#" onclick="TOrderTape.orderDetail('+row.orderId+','+row.orderType+')" style="color:cornflowerblue">查看订单</a>' +'&nbsp;' +
+                        '<a href="#" onclick="TOrderTape.delete('+row.id+')" style="color:cornflowerblue">删除</a>'
+                }
             }
         }
     ];
@@ -100,6 +105,23 @@
     }
 };
 
+TOrderTape.playAudio = function (id) {
+    var ajax = new $ax(Feng.ctxPath + "/tOrderTape/getDetailById", function (data) {
+        console.log(data.data)
+        var audio = document.getElementById('recording');
+        audio.setAttribute("src", data.data.fileLink);
+        if (audio.paused) {
+            audio.play(); // 播放录音
+        } else {
+            audio.pause(); // 如果正在播放,则暂停
+        }
+    }, function (data) {
+        console.log(data);
+    });
+    ajax.set("tOrderTapeId", id);
+    ajax.start();
+};
+
 /**
  * 打开查看订单详情
  */

--
Gitblit v1.7.1