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>' +' ' + - '<a href="#" onclick="TOrderTape.openTCharteredServiceDetail('+row.id+')" style="color:cornflowerblue">播放录音</a>' +' ' + - '<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>' +' ' + + '<a href="#" onclick="TOrderTape.playAudio('+row.id+')" style="color:cornflowerblue">播放录音</a>' +' ' + + '<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>' +' ' + + '<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