xuhy
2024-05-28 e741e0f0499ce2941caae91c341eb0b7ec4f629c
开通城市
7个文件已修改
3个文件已添加
591 ■■■■■ 已修改文件
ManagementNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TOpenCityController.java 110 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TOrderTapeController.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TOpenCitySiteMapper.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOpenCitySiteMapper.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TOpenCitySite.java 161 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementNTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOpenCity/tOpenCity_add.html 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementNTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOpenCity/tOpenCity_edit.html 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementNTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderTape/tOrderTape.html 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementNTTravel/guns-admin/src/main/webapp/static/modular/system/tOpenCity/tOpenCity_info.js 164 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementNTTravel/guns-admin/src/main/webapp/static/modular/system/tOrderTape/tOrderTape.js 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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;
    }
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")
ManagementNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TOpenCitySiteMapper.java
New file
@@ -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> {
}
ManagementNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOpenCitySiteMapper.xml
New file
@@ -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>
ManagementNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TOpenCitySite.java
New file
@@ -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;
    }
}
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>
@}
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>
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>
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 {
                //获取地址失败
            }
        });
    })
}
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();
};
/**
 * 打开查看订单详情
 */