bihuisong преди 10 месеца
родител
ревизия
ae907e36e0

+ 94 - 0
zhsq_qk-admin/src/main/java/zhsq_qk/web/controller/system/QkWaterloggingPointController.java

@@ -0,0 +1,94 @@
+package zhsq_qk.web.controller.system;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+import zhsq_qk.common.annotation.Log;
+import zhsq_qk.common.core.controller.BaseController;
+import zhsq_qk.common.core.domain.AjaxResult;
+import zhsq_qk.common.core.page.TableDataInfo;
+import zhsq_qk.common.enums.BusinessType;
+import zhsq_qk.common.utils.poi.ExcelUtil;
+import zhsq_qk.system.domain.QkWaterloggingPoint;
+import zhsq_qk.system.service.IQkWaterloggingPointService;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+/**
+ * 城市内涝点Controller
+ *
+ * @author ruoyi
+ * @date 2024-08-07
+ */
+@RestController
+@RequestMapping("/system/point")
+public class QkWaterloggingPointController extends BaseController {
+    @Autowired
+    private IQkWaterloggingPointService qkWaterloggingPointService;
+
+    /**
+     * 查询城市内涝点列表
+     */
+    @GetMapping("/list")
+    public TableDataInfo list(QkWaterloggingPoint qkWaterloggingPoint) {
+        startPage();
+        List<QkWaterloggingPoint> list = qkWaterloggingPointService.selectQkWaterloggingPointList(qkWaterloggingPoint);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出城市内涝点列表
+     */
+    @Log(title = "城市内涝点", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, QkWaterloggingPoint qkWaterloggingPoint) {
+        List<QkWaterloggingPoint> list = qkWaterloggingPointService.selectQkWaterloggingPointList(qkWaterloggingPoint);
+        ExcelUtil<QkWaterloggingPoint> util = new ExcelUtil<QkWaterloggingPoint>(QkWaterloggingPoint.class);
+        util.exportExcel(response, list, "城市内涝点数据");
+    }
+
+    /**
+     * 获取城市内涝点详细信息
+     */
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id) {
+        return success(qkWaterloggingPointService.selectQkWaterloggingPointById(id));
+    }
+
+    /**
+     * 新增城市内涝点
+     */
+    @Log(title = "城市内涝点", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody QkWaterloggingPoint qkWaterloggingPoint) {
+        return toAjax(qkWaterloggingPointService.insertQkWaterloggingPoint(qkWaterloggingPoint));
+    }
+
+    /**
+     * 修改城市内涝点
+     */
+    @Log(title = "城市内涝点", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody QkWaterloggingPoint qkWaterloggingPoint) {
+        return toAjax(qkWaterloggingPointService.updateQkWaterloggingPoint(qkWaterloggingPoint));
+    }
+
+    /**
+     * 删除城市内涝点
+     */
+    @Log(title = "城市内涝点", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids) {
+        return toAjax(qkWaterloggingPointService.deleteQkWaterloggingPointByIds(ids));
+    }
+
+    /**
+     * 查询全部城市内涝点列表
+     */
+    @GetMapping("/waterloggingPointAllList")
+    public AjaxResult waterloggingPointAllList() {
+        return success(qkWaterloggingPointService.waterloggingPointAllList());
+    }
+
+}

+ 153 - 0
zhsq_qk-system/src/main/java/zhsq_qk/system/domain/QkWaterloggingPoint.java

@@ -0,0 +1,153 @@
+package zhsq_qk.system.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import zhsq_qk.common.annotation.Excel;
+import zhsq_qk.common.core.domain.BaseEntity;
+
+/**
+ * 城市内涝点对象 qk_waterlogging_point
+ *
+ * @author ruoyi
+ * @date 2024-08-07
+ */
+public class QkWaterloggingPoint extends BaseEntity {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键id
+     */
+    private Long id;
+
+    /**
+     * 内涝点名称
+     */
+    @Excel(name = "内涝点名称")
+    private String name;
+
+    /**
+     * 内涝风险等级
+     */
+    @Excel(name = "内涝风险等级")
+    private String type;
+
+    /**
+     * 内涝点名地址
+     */
+    @Excel(name = "内涝点名地址")
+    private String address;
+
+    /**
+     * 经度
+     */
+    @Excel(name = "经度")
+    private String longitude;
+
+    /**
+     * 纬度
+     */
+    @Excel(name = "纬度")
+    private String latitude;
+
+    /**
+     * 积水深度
+     */
+    @Excel(name = "积水深度")
+    private String depth;
+
+    /**
+     * 部门id
+     */
+    @Excel(name = "部门id")
+    private Long deptId;
+
+    private String typeName;
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public String getType() {
+        return type;
+    }
+
+    public void setAddress(String address) {
+        this.address = address;
+    }
+
+    public String getAddress() {
+        return address;
+    }
+
+    public void setLongitude(String longitude) {
+        this.longitude = longitude;
+    }
+
+    public String getLongitude() {
+        return longitude;
+    }
+
+    public void setLatitude(String latitude) {
+        this.latitude = latitude;
+    }
+
+    public String getLatitude() {
+        return latitude;
+    }
+
+    public void setDepth(String depth) {
+        this.depth = depth;
+    }
+
+    public String getDepth() {
+        return depth;
+    }
+
+    public void setDeptId(Long deptId) {
+        this.deptId = deptId;
+    }
+
+    public Long getDeptId() {
+        return deptId;
+    }
+
+    public void setTypeName(String typeName) {
+        this.typeName = typeName;
+    }
+
+    public String getTypeName() {
+        return typeName;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
+                .append("id", getId())
+                .append("name", getName())
+                .append("type", getType())
+                .append("address", getAddress())
+                .append("longitude", getLongitude())
+                .append("latitude", getLatitude())
+                .append("remark", getRemark())
+                .append("depth", getDepth())
+                .append("deptId", getDeptId())
+                .append("typeName", getTypeName())
+                .toString();
+    }
+}

+ 65 - 0
zhsq_qk-system/src/main/java/zhsq_qk/system/mapper/QkWaterloggingPointMapper.java

@@ -0,0 +1,65 @@
+package zhsq_qk.system.mapper;
+
+import zhsq_qk.system.domain.QkWaterloggingPoint;
+
+import java.util.List;
+
+/**
+ * 城市内涝点Mapper接口
+ *
+ * @author ruoyi
+ * @date 2024-08-07
+ */
+public interface QkWaterloggingPointMapper {
+    /**
+     * 查询城市内涝点
+     *
+     * @param id 城市内涝点主键
+     * @return 城市内涝点
+     */
+    public QkWaterloggingPoint selectQkWaterloggingPointById(Long id);
+
+    /**
+     * 查询城市内涝点列表
+     *
+     * @param qkWaterloggingPoint 城市内涝点
+     * @return 城市内涝点集合
+     */
+    public List<QkWaterloggingPoint> selectQkWaterloggingPointList(QkWaterloggingPoint qkWaterloggingPoint);
+
+    /**
+     * 新增城市内涝点
+     *
+     * @param qkWaterloggingPoint 城市内涝点
+     * @return 结果
+     */
+    public int insertQkWaterloggingPoint(QkWaterloggingPoint qkWaterloggingPoint);
+
+    /**
+     * 修改城市内涝点
+     *
+     * @param qkWaterloggingPoint 城市内涝点
+     * @return 结果
+     */
+    public int updateQkWaterloggingPoint(QkWaterloggingPoint qkWaterloggingPoint);
+
+    /**
+     * 删除城市内涝点
+     *
+     * @param id 城市内涝点主键
+     * @return 结果
+     */
+    public int deleteQkWaterloggingPointById(Long id);
+
+    /**
+     * 批量删除城市内涝点
+     *
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteQkWaterloggingPointByIds(Long[] ids);
+
+
+    List<QkWaterloggingPoint> waterloggingPointAllList();
+
+}

+ 64 - 0
zhsq_qk-system/src/main/java/zhsq_qk/system/service/IQkWaterloggingPointService.java

@@ -0,0 +1,64 @@
+package zhsq_qk.system.service;
+
+import zhsq_qk.system.domain.QkWaterloggingPoint;
+
+import java.util.List;
+
+/**
+ * 城市内涝点Service接口
+ *
+ * @author ruoyi
+ * @date 2024-08-07
+ */
+public interface IQkWaterloggingPointService {
+    /**
+     * 查询城市内涝点
+     *
+     * @param id 城市内涝点主键
+     * @return 城市内涝点
+     */
+    public QkWaterloggingPoint selectQkWaterloggingPointById(Long id);
+
+    /**
+     * 查询城市内涝点列表
+     *
+     * @param qkWaterloggingPoint 城市内涝点
+     * @return 城市内涝点集合
+     */
+    public List<QkWaterloggingPoint> selectQkWaterloggingPointList(QkWaterloggingPoint qkWaterloggingPoint);
+
+    /**
+     * 新增城市内涝点
+     *
+     * @param qkWaterloggingPoint 城市内涝点
+     * @return 结果
+     */
+    public int insertQkWaterloggingPoint(QkWaterloggingPoint qkWaterloggingPoint);
+
+    /**
+     * 修改城市内涝点
+     *
+     * @param qkWaterloggingPoint 城市内涝点
+     * @return 结果
+     */
+    public int updateQkWaterloggingPoint(QkWaterloggingPoint qkWaterloggingPoint);
+
+    /**
+     * 批量删除城市内涝点
+     *
+     * @param ids 需要删除的城市内涝点主键集合
+     * @return 结果
+     */
+    public int deleteQkWaterloggingPointByIds(Long[] ids);
+
+    /**
+     * 删除城市内涝点信息
+     *
+     * @param id 城市内涝点主键
+     * @return 结果
+     */
+    public int deleteQkWaterloggingPointById(Long id);
+
+    public List<QkWaterloggingPoint> waterloggingPointAllList();
+
+}

+ 93 - 0
zhsq_qk-system/src/main/java/zhsq_qk/system/service/impl/QkWaterloggingPointServiceImpl.java

@@ -0,0 +1,93 @@
+package zhsq_qk.system.service.impl;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import zhsq_qk.system.domain.QkWaterloggingPoint;
+import zhsq_qk.system.mapper.QkWaterloggingPointMapper;
+import zhsq_qk.system.service.IQkWaterloggingPointService;
+
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * 城市内涝点Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2024-08-07
+ */
+@Service
+public class QkWaterloggingPointServiceImpl implements IQkWaterloggingPointService {
+    @Autowired
+    private QkWaterloggingPointMapper qkWaterloggingPointMapper;
+
+    /**
+     * 查询城市内涝点
+     *
+     * @param id 城市内涝点主键
+     * @return 城市内涝点
+     */
+    @Override
+    public QkWaterloggingPoint selectQkWaterloggingPointById(Long id) {
+        return qkWaterloggingPointMapper.selectQkWaterloggingPointById(id);
+    }
+
+    /**
+     * 查询城市内涝点列表
+     *
+     * @param qkWaterloggingPoint 城市内涝点
+     * @return 城市内涝点
+     */
+    @Override
+    public List<QkWaterloggingPoint> selectQkWaterloggingPointList(QkWaterloggingPoint qkWaterloggingPoint) {
+        return qkWaterloggingPointMapper.selectQkWaterloggingPointList(qkWaterloggingPoint);
+    }
+
+    /**
+     * 新增城市内涝点
+     *
+     * @param qkWaterloggingPoint 城市内涝点
+     * @return 结果
+     */
+    @Override
+    public int insertQkWaterloggingPoint(QkWaterloggingPoint qkWaterloggingPoint) {
+        return qkWaterloggingPointMapper.insertQkWaterloggingPoint(qkWaterloggingPoint);
+    }
+
+    /**
+     * 修改城市内涝点
+     *
+     * @param qkWaterloggingPoint 城市内涝点
+     * @return 结果
+     */
+    @Override
+    public int updateQkWaterloggingPoint(QkWaterloggingPoint qkWaterloggingPoint) {
+        return qkWaterloggingPointMapper.updateQkWaterloggingPoint(qkWaterloggingPoint);
+    }
+
+    /**
+     * 批量删除城市内涝点
+     *
+     * @param ids 需要删除的城市内涝点主键
+     * @return 结果
+     */
+    @Override
+    public int deleteQkWaterloggingPointByIds(Long[] ids) {
+        return qkWaterloggingPointMapper.deleteQkWaterloggingPointByIds(ids);
+    }
+
+    /**
+     * 删除城市内涝点信息
+     *
+     * @param id 城市内涝点主键
+     * @return 结果
+     */
+    @Override
+    public int deleteQkWaterloggingPointById(Long id) {
+        return qkWaterloggingPointMapper.deleteQkWaterloggingPointById(id);
+    }
+
+    @Override
+    public List<QkWaterloggingPoint> waterloggingPointAllList() {
+        return qkWaterloggingPointMapper.waterloggingPointAllList();
+    }
+}

+ 168 - 0
zhsq_qk-system/src/main/resources/mapper/system/QkWaterloggingPointMapper.xml

@@ -0,0 +1,168 @@
+<?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="zhsq_qk.system.mapper.QkWaterloggingPointMapper">
+
+    <resultMap type="QkWaterloggingPoint" id="QkWaterloggingPointResult">
+        <result property="id" column="id"/>
+        <result property="name" column="name"/>
+        <result property="type" column="type"/>
+        <result property="address" column="address"/>
+        <result property="longitude" column="longitude"/>
+        <result property="latitude" column="latitude"/>
+        <result property="remark" column="remark"/>
+        <result property="depth" column="depth"/>
+        <result property="deptId" column="dept_id"/>
+        <result property="typeName" column="typeName"/>
+    </resultMap>
+
+    <sql id="selectQkWaterloggingPointVo">
+        select id,
+               name,
+               type,
+               address,
+               longitude,
+               latitude,
+               remark,
+               depth,
+               dept_id
+        from qk_waterlogging_point
+    </sql>
+
+    <select id="selectQkWaterloggingPointList" parameterType="QkWaterloggingPoint"
+            resultMap="QkWaterloggingPointResult">
+        <include refid="selectQkWaterloggingPointVo"/>
+        <where>
+            <if test="name != null  and name != ''">
+                and name like concat('%', #{name}, '%')
+            </if>
+            <if test="type != null  and type != ''">
+                and type = #{type}
+            </if>
+            <if test="address != null  and address != ''">
+                and address = #{address}
+            </if>
+            <if test="longitude != null  and longitude != ''">
+                and longitude = #{longitude}
+            </if>
+            <if test="latitude != null  and latitude != ''">
+                and latitude = #{latitude}
+            </if>
+            <if test="deptId != null ">
+                and dept_id = #{deptId}
+            </if>
+        </where>
+    </select>
+
+    <select id="selectQkWaterloggingPointById" parameterType="Long"
+            resultMap="QkWaterloggingPointResult">
+        <include refid="selectQkWaterloggingPointVo"/>
+        where id = #{id}
+    </select>
+
+    <insert id="insertQkWaterloggingPoint" parameterType="QkWaterloggingPoint" useGeneratedKeys="true"
+            keyProperty="id">
+        insert into qk_waterlogging_point
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="name != null">name,
+            </if>
+            <if test="type != null">type,
+            </if>
+            <if test="address != null">address,
+            </if>
+            <if test="longitude != null">longitude,
+            </if>
+            <if test="latitude != null">latitude,
+            </if>
+            <if test="remark != null">remark,
+            </if>
+            <if test="depth != null">`depth`,
+            </if>
+            <if test="deptId != null">dept_id,
+            </if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="name != null">#{name},
+            </if>
+            <if test="type != null">#{type},
+            </if>
+            <if test="address != null">#{address},
+            </if>
+            <if test="longitude != null">#{longitude},
+            </if>
+            <if test="latitude != null">#{latitude},
+            </if>
+            <if test="remark != null">#{remark},
+            </if>
+            <if test="depth != null">#{depth},
+            </if>
+            <if test="deptId != null">#{deptId},
+            </if>
+        </trim>
+    </insert>
+
+    <update id="updateQkWaterloggingPoint" parameterType="QkWaterloggingPoint">
+        update qk_waterlogging_point
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="name != null">name =
+                #{name},
+            </if>
+            <if test="type != null">`type` =
+                #{type},
+            </if>
+            <if test="address != null">address =
+                #{address},
+            </if>
+            <if test="longitude != null">longitude =
+                #{longitude},
+            </if>
+            <if test="latitude != null">latitude =
+                #{latitude},
+            </if>
+            <if test="remark != null">remark =
+                #{remark},
+            </if>
+            <if test="depth != null">`depth` =
+                #{depth},
+            </if>
+            <if test="deptId != null">dept_id =
+                #{deptId},
+            </if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteQkWaterloggingPointById" parameterType="Long">
+        delete
+        from qk_waterlogging_point
+        where id = #{id}
+    </delete>
+
+    <delete id="deleteQkWaterloggingPointByIds" parameterType="String">
+        delete from qk_waterlogging_point where id in
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+
+    <select id="waterloggingPointAllList" parameterType="QkWaterloggingPoint"
+            resultMap="QkWaterloggingPointResult">
+        select id,
+               name,
+               type,
+               address,
+               longitude,
+               latitude,
+               remark,
+               depth,
+               case
+                   when type = 1 then '较低风险区域'
+                   when type = 2 then '中等风险区域'
+                   when type = 3 then '较高风险区域'
+                   when type = 4 then '高风险区域'
+                   end typeName,
+               dept_id
+        from qk_waterlogging_point
+    </select>
+</mapper>

+ 1 - 0
zhsq_qk-ui/src/api/components/supermap.js

@@ -39,4 +39,5 @@ export const yjIconList={
   "jyd":require('@/assets/images/cameraType/jyd.png'),
   "fxwz":require('@/assets/images/cameraType/fxwz.png'),
   "yjj":require('@/assets/images/cameraType/yjj.png'),
+  "nld":require('@/assets/images/cameraType/nld.png'),
 }

+ 52 - 0
zhsq_qk-ui/src/api/system/point.js

@@ -0,0 +1,52 @@
+import request from '@/utils/request'
+
+// 查询城市内涝点列表
+export function listPoint(query) {
+  return request({
+    url: '/system/point/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询城市内涝点详细
+export function getPoint(id) {
+  return request({
+    url: '/system/point/' + id,
+    method: 'get'
+  })
+}
+
+// 新增城市内涝点
+export function addPoint(data) {
+  return request({
+    url: '/system/point',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改城市内涝点
+export function updatePoint(data) {
+  return request({
+    url: '/system/point',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除城市内涝点
+export function delPoint(id) {
+  return request({
+    url: '/system/point/' + id,
+    method: 'delete'
+  })
+}
+
+// 查询全部城市内涝点列表
+export function waterloggingPointAllList() {
+  return request({
+    url: '/system/point/waterloggingPointAllList',
+    method: 'get'
+  })
+}

BIN
zhsq_qk-ui/src/assets/images/cameraType/nld.png


+ 69 - 84
zhsq_qk-ui/src/views/fusion/aqyj.vue

@@ -87,10 +87,10 @@
         <div class="qkq_tdzy">
           <div class="qkq_tit">监测预警</div>
           <ul class="qkq_csnl scrollbar">
-            <li  v-for="(item, index) in eventData" :key="index">
-              <h4><span class="blue">【{{ item.warnTypeName }}】</span>{{ truncateText(item.warnAddress, 10)}}</h4>
-              <p>预警事件:{{ item.warnEvent}}</p>
-              <p>预警时间:{{ item.warnTime}}</p>
+            <li v-for="(item, index) in eventData" :key="index">
+              <h4><span class="blue">【{{ item.warnTypeName }}】</span>{{ truncateText(item.warnAddress, 10) }}</h4>
+              <p>预警事件:{{ item.warnEvent }}</p>
+              <p>预警时间:{{ item.warnTime }}</p>
             </li>
           </ul>
         </div>
@@ -172,6 +172,7 @@ import {
   getBuildTypeFourList
 } from "@/api/system/aqyj";
 import supermap from "@/views/supermap/supermap";
+import {waterloggingPointAllList} from "@/api/system/point";
 
 
 export default {
@@ -186,6 +187,7 @@ export default {
       supplies: [],
       eventData: [],
       emergency: [],
+      waterlogging: [],
       sltProps: null,
       pageType: "aqyj",
       teamCurrent: null,
@@ -201,9 +203,6 @@ export default {
   created() {
   },
   mounted() {
-    this.selectQkEmergencyRescueTeamAllList();
-    this.selectQkEmergencyShelterAllList();
-    this.selectQkRescueSuppliesAllList();
     this.warnEventAllList();
     this.getBuildTypeFourList();
     this.qkq_aqcn_chart();
@@ -236,6 +235,9 @@ export default {
             break;
           case "fxwz":
             that.loadd();
+            break;
+          case "nld":
+            that.loade();
         }
       });
     },
@@ -251,6 +253,9 @@ export default {
     loadd() {
       this.$refs.supermap.selectQkRescueSuppliesAllList();
     },
+    loade() {
+      this.$refs.supermap.selectwaterloggingPointAllList();
+    },
     onShelterlick(val) {
       let dataSource = [];
       this.teamCurrent = null;
@@ -278,24 +283,6 @@ export default {
         this.eventData = response.data;
       })
     },
-    //可视化查询抢险救援队列表
-    selectQkEmergencyRescueTeamAllList() {
-      selectQkEmergencyRescueTeamAllList().then(response => {
-        this.team = response.data;
-      })
-    },
-    //可视化查询应急避难所列表
-    selectQkEmergencyShelterAllList() {
-      selectQkEmergencyShelterAllList().then(response => {
-        this.shelter = response.data;
-      })
-    },
-    //可视化查询防汛抗旱物资储备列表
-    selectQkRescueSuppliesAllList() {
-      selectQkRescueSuppliesAllList().then(response => {
-        this.supplies = response.data;
-      })
-    },
     sltHandle() {
       this.btnOne = true
       this.btnTwo = false
@@ -1174,77 +1161,75 @@ export default {
     ,
     qkq_aqcn_chart() {
       var myChart = echarts.init(document.getElementById('qkq_aqcn_chart'));
-    var  getvalue=[100];
+      var getvalue = [100];
 
-    var option = {
+      var option = {
         title: {
-        text: getvalue+'%',
-        textStyle: {
-          color: '#00aaff',
-          fontSize: 18
+          text: getvalue + '%',
+          textStyle: {
+            color: '#00aaff',
+            fontSize: 18
+          },
+          subtext: '承诺率',
+          subtextStyle: {
+            color: '#fff',
+            fontSize: 16
+          },
+          itemGap: 10,
+          left: 'center',
+          top: '37%'
         },
-        subtext: '承诺率',
-            subtextStyle: {
-                color: '#fff',
-                fontSize: 16
-            },
-    	itemGap: 10,
-        left: 'center',
-        top: '37%'
-    	},
-        tooltip: {
-
+        tooltip: {},
+        angleAxis: {
+          max: 100,
+          clockwise: true, // 逆时针
+          // 隐藏刻度线
+          show: false
         },
-      angleAxis: {
-        max: 100,
-        clockwise: true, // 逆时针
-        // 隐藏刻度线
-        show: false
-      },
-      radiusAxis: {
-            type: 'category',
-            show: true,
-            axisLabel: {
-                show: false,
-            },
-            axisLine: {
-                show: false,
+        radiusAxis: {
+          type: 'category',
+          show: true,
+          axisLabel: {
+            show: false,
+          },
+          axisLine: {
+            show: false,
 
-            },
-            axisTick: {
-                show: false
-            },
-      },
-      polar: {
-        center: ['50%', '60%'],
-        radius: '150%' //图形大小
-      },
-      series: [{
-        type: 'bar',
-        data: getvalue,
-    	showBackground: true,
-    	backgroundStyle: {
-    		color: '#BDEBFF',
-    	},
-        coordinateSystem: 'polar',
-        roundCap: true,
-        barWidth: 5,
-        itemStyle: {
+          },
+          axisTick: {
+            show: false
+          },
+        },
+        polar: {
+          center: ['50%', '60%'],
+          radius: '150%' //图形大小
+        },
+        series: [{
+          type: 'bar',
+          data: getvalue,
+          showBackground: true,
+          backgroundStyle: {
+            color: '#BDEBFF',
+          },
+          coordinateSystem: 'polar',
+          roundCap: true,
+          barWidth: 5,
+          itemStyle: {
             normal: {
-            opacity: 1,
-            color:  new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
+              opacity: 1,
+              color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
                 offset: 0,
                 color: '#25BFFF'
               }, {
                 offset: 1,
                 color: '#5284DE'
               }]),
-            shadowBlur: 5,
-            shadowColor: '#2A95F9',
-        }
-        },
-      }]
-    };
+              shadowBlur: 5,
+              shadowColor: '#2A95F9',
+            }
+          },
+        }]
+      };
       if (option) {
         myChart.setOption(option);
       }

+ 40 - 0
zhsq_qk-ui/src/views/supermap/supermap.vue

@@ -36,6 +36,7 @@ import {
   selectQkRescueSuppliesByDeptId,
   selectQkEmergencyRescueTeamByDeptId, getBuildTypeFourList
 } from "@/api/system/aqyj";
+import {waterloggingPointAllList} from "@/api/system/point";
 
 export default {
   name: "sookaSuperMap",
@@ -255,6 +256,8 @@ export default {
           marker = this.addSuppliesMark(options[i], type);
         } else if (type == "yjj") {
           marker = this.addEmergencyMark(options[i], type);
+        } else if (type == "nld") {
+          marker = this.addPointMark(options[i], type);
         }
         clusterGroup.addLayer(marker);
         this.myLayerGroup.push({type: type, myGroup: clusterGroup});
@@ -399,6 +402,36 @@ export default {
       return marker;
     },
 
+    addPointMark(option, type) {
+      console.log("this.myLayerGroup",this.myLayerGroup)
+      //定义图标
+      let icon = new window.L.Icon({
+        iconUrl: yjIconList[type],
+        iconAnchor: [50, 50],
+        iconSize: [37, 64],
+        popupAnchor: [-33, -47],
+        shadowSize: [41, 41]
+      });
+      //定义落点
+      let marker = L.marker([option.latitude, option.longitude], {
+        icon: icon
+      });
+      //定义泡泡层
+      marker.on('mouseover', function () {
+        let html = "";
+        html += "<p class='v-p-color'>内涝点名称:" + option.name + "</p>";
+        html += "<p class='v-p-color'>内涝风险等级:" + option.typeName + "</p>";
+        html += "<p class='v-p-color'>积水深度:" + option.depth + "</p>";
+        html += "<p class='v-p-color'>内涝点地址:" + option.address + "</p>";
+        this.bindPopup(html).openPopup(this.getLatLng());
+      });
+      // /**鼠标移开关闭popup**/
+      marker.on('mouseout', function () {
+        this.closePopup();
+      });
+      return marker;
+    },
+
     /**
      * 清理地图标点
      */
@@ -452,6 +485,13 @@ export default {
         that.addMarkers(response.data, 'fxwz');
       })
     },
+    //可视化查询全部城市内涝点列表
+    selectwaterloggingPointAllList() {
+      let that = this;
+      waterloggingPointAllList().then(response => {
+        that.addMarkers(response.data, 'nld');
+      })
+    },
     selectQkRescueSuppliesByDeptId(deptId) {
       selectQkRescueSuppliesByDeptId(deptId).then(res => {
         this.suppliesData = res.data;

+ 308 - 0
zhsq_qk-ui/src/views/system/point/index.vue

@@ -0,0 +1,308 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
+      <el-form-item label="内涝点名称" prop="name">
+        <el-input
+          v-model="queryParams.name"
+          placeholder="请输入内涝点名称"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="内涝点地址" prop="address">
+        <el-input
+          v-model="queryParams.address"
+          placeholder="请输入内涝点地址"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          plain
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+        >新增
+        </el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          plain
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+        >修改
+        </el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+        >删除
+        </el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="pointList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center"/>
+      <el-table-column label="序号" align="center" type="index"/>
+      <el-table-column label="内涝点名称" align="center" prop="name"/>
+      <el-table-column label="内涝风险等级" align="center" prop="type">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.water_leve" :value="scope.row.type"/>
+        </template>
+      </el-table-column>
+      <el-table-column label="积水深度" align="center" prop="depth"/>
+      <el-table-column label="内涝点地址" align="center" prop="address"/>
+      <el-table-column label="经度" align="center" prop="longitude"/>
+      <el-table-column label="纬度" align="center" prop="latitude"/>
+      <el-table-column label="备注" align="center" prop="remark"/>
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+          >修改
+          </el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+          >删除
+          </el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改城市内涝点对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="110px">
+        <el-form-item label="内涝点名称" prop="name">
+          <el-input v-model="form.name" placeholder="请输入内涝点名称"/>
+        </el-form-item>
+        <el-form-item label="内涝风险等级" prop="type">
+          <el-select v-model="form.type" placeholder="请选择内涝风险等级">
+            <el-option
+              v-for="dict in dict.type.water_leve"
+              :key="dict.value"
+              :label="dict.label"
+              :value="dict.value"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="积水深度" prop="depth">
+          <el-input v-model="form.depth" placeholder="请输入积水深度"/>
+        </el-form-item>
+        <el-form-item label="内涝点地址" prop="address">
+          <el-input v-model="form.address" placeholder="请输入内涝点名地址"/>
+        </el-form-item>
+        <el-form-item label="经度" prop="longitude">
+          <el-input v-model="form.longitude" placeholder="请输入经度"/>
+        </el-form-item>
+        <el-form-item label="纬度" prop="latitude">
+          <el-input v-model="form.latitude" placeholder="请输入纬度"/>
+        </el-form-item>
+        <el-form-item label="备注" prop="remark">
+          <el-input type="textarea" v-model="form.remark" placeholder="请输入备注"/>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import {getPoint, listPoint, addPoint, delPoint, updatePoint} from "@/api/system/point";
+import {checkLon, checkLat,} from "@/api/system/rules";
+
+export default {
+  name: "Point",
+  dicts: ["water_leve"],
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 城市内涝点表格数据
+      pointList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        name: null,
+        type: null,
+        depth: null,
+        address: null,
+        longitude: null,
+        latitude: null,
+        deptId: null
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+        name: [
+          { required: true, message: "内涝点名称不能为空", trigger: "blur" },
+        ],
+        type: [
+          { required: true, message: "内涝风险等级不能为空", trigger: "blur" },
+        ],
+        depth: [
+          { required: true, message: "积水深度不能为空", trigger: "blur" },
+        ],
+        address: [
+          { required: true, message: "内涝点地址不能为空", trigger: "blur" },
+        ],
+        longitude: [
+          { required: true, message: "经度不能为空", trigger: "blur" },
+          {validator: checkLon, trigger: 'blur'}
+        ],
+        latitude: [
+          { required: true, message: "纬度不能为空", trigger: "blur" },
+          {validator: checkLon, trigger: 'blur'}
+        ],
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询城市内涝点列表 */
+    getList() {
+      this.loading = true;
+      listPoint(this.queryParams).then(response => {
+        this.pointList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        name: null,
+        type: null,
+        address: null,
+        longitude: null,
+        latitude: null,
+        remark: null,
+        deptId: null
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length !== 1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加城市内涝点";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getPoint(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改城市内涝点";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updatePoint(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addPoint(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$modal.confirm('是否确认删除城市内涝点编号为"' + ids + '"的数据项?').then(function () {
+        return delPoint(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => {
+      });
+    },
+  }
+}
+;
+</script>