فهرست منبع

Merge branch 'refs/heads/master' into sso

bihuisong 11 ماه پیش
والد
کامیت
2590096906

+ 92 - 0
zhsq_qk-admin/src/main/java/zhsq_qk/web/controller/system/QkHandleChannelController.java

@@ -0,0 +1,92 @@
+package zhsq_qk.web.controller.system;
+
+import org.springframework.beans.factory.annotation.Autowired;
+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.QkHandleChannel;
+import zhsq_qk.system.service.IQkHandleChannelService;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+/**
+ * 办理渠道统计Controller
+ *
+ * @author ruoyi
+ * @date 2024-07-12
+ */
+@RestController
+@RequestMapping("/system/channel")
+public class QkHandleChannelController extends BaseController {
+    @Autowired
+    private IQkHandleChannelService qkHandleChannelService;
+
+    /**
+     * 查询办理渠道统计列表
+     */
+    @GetMapping("/list")
+    public TableDataInfo list(QkHandleChannel qkHandleChannel) {
+        startPage();
+        List<QkHandleChannel> list = qkHandleChannelService.selectQkHandleChannelList(qkHandleChannel);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出办理渠道统计列表
+     */
+    @Log(title = "办理渠道统计", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, QkHandleChannel qkHandleChannel) {
+        List<QkHandleChannel> list = qkHandleChannelService.selectQkHandleChannelList(qkHandleChannel);
+        ExcelUtil<QkHandleChannel> util = new ExcelUtil<QkHandleChannel>(QkHandleChannel.class);
+        util.exportExcel(response, list, "办理渠道统计数据");
+    }
+
+    /**
+     * 获取办理渠道统计详细信息
+     */
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id) {
+        return success(qkHandleChannelService.selectQkHandleChannelById(id));
+    }
+
+    /**
+     * 新增办理渠道统计
+     */
+    @Log(title = "办理渠道统计", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody QkHandleChannel qkHandleChannel) {
+        return toAjax(qkHandleChannelService.insertQkHandleChannel(qkHandleChannel));
+    }
+
+    /**
+     * 修改办理渠道统计
+     */
+    @Log(title = "办理渠道统计", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody QkHandleChannel qkHandleChannel) {
+        return toAjax(qkHandleChannelService.updateQkHandleChannel(qkHandleChannel));
+    }
+
+    /**
+     * 删除办理渠道统计
+     */
+    @Log(title = "办理渠道统计", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids) {
+        return toAjax(qkHandleChannelService.deleteQkHandleChannelByIds(ids));
+    }
+
+    /**
+     * 查询办理渠道统计可视化
+     */
+    @GetMapping("/visualizationChannelList")
+    public AjaxResult visualizationList() {
+        return success(qkHandleChannelService.visualizationList());
+    }
+}

+ 71 - 0
zhsq_qk-system/src/main/java/zhsq_qk/system/domain/QkHandleChannel.java

@@ -0,0 +1,71 @@
+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_handle_channel
+ *
+ * @author ruoyi
+ * @date 2024-07-12
+ */
+public class QkHandleChannel extends BaseEntity {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键id
+     */
+    private Long id;
+
+    /**
+     * 渠道名称
+     */
+    @Excel(name = "渠道名称")
+    private String channelName;
+
+    /**
+     * 办理数量
+     */
+    @Excel(name = "办理数量")
+    private Integer handleNumber;
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setChannelName(String channelName) {
+        this.channelName = channelName;
+    }
+
+    public String getChannelName() {
+        return channelName;
+    }
+
+    public void setHandleNumber(Integer handleNumber) {
+        this.handleNumber = handleNumber;
+    }
+
+    public Integer getHandleNumber() {
+        return handleNumber;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
+                .append("id", getId())
+                .append("channelName", getChannelName())
+                .append("handleNumber", getHandleNumber())
+                .append("createBy", getCreateBy())
+                .append("createTime", getCreateTime())
+                .append("updateBy", getUpdateBy())
+                .append("updateTime", getUpdateTime())
+                .append("remark", getRemark())
+                .toString();
+    }
+}

+ 63 - 0
zhsq_qk-system/src/main/java/zhsq_qk/system/mapper/QkHandleChannelMapper.java

@@ -0,0 +1,63 @@
+package zhsq_qk.system.mapper;
+
+import zhsq_qk.system.domain.QkHandleChannel;
+
+import java.util.List;
+
+/**
+ * 办理渠道统计Mapper接口
+ *
+ * @author ruoyi
+ * @date 2024-07-12
+ */
+public interface QkHandleChannelMapper {
+    /**
+     * 查询办理渠道统计
+     *
+     * @param id 办理渠道统计主键
+     * @return 办理渠道统计
+     */
+    public QkHandleChannel selectQkHandleChannelById(Long id);
+
+    /**
+     * 查询办理渠道统计列表
+     *
+     * @param qkHandleChannel 办理渠道统计
+     * @return 办理渠道统计集合
+     */
+    public List<QkHandleChannel> selectQkHandleChannelList(QkHandleChannel qkHandleChannel);
+
+    /**
+     * 新增办理渠道统计
+     *
+     * @param qkHandleChannel 办理渠道统计
+     * @return 结果
+     */
+    public int insertQkHandleChannel(QkHandleChannel qkHandleChannel);
+
+    /**
+     * 修改办理渠道统计
+     *
+     * @param qkHandleChannel 办理渠道统计
+     * @return 结果
+     */
+    public int updateQkHandleChannel(QkHandleChannel qkHandleChannel);
+
+    /**
+     * 删除办理渠道统计
+     *
+     * @param id 办理渠道统计主键
+     * @return 结果
+     */
+    public int deleteQkHandleChannelById(Long id);
+
+    /**
+     * 批量删除办理渠道统计
+     *
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteQkHandleChannelByIds(Long[] ids);
+
+    List<QkHandleChannel> visualizationList();
+}

+ 63 - 0
zhsq_qk-system/src/main/java/zhsq_qk/system/service/IQkHandleChannelService.java

@@ -0,0 +1,63 @@
+package zhsq_qk.system.service;
+
+import zhsq_qk.system.domain.QkHandleChannel;
+
+import java.util.List;
+
+/**
+ * 办理渠道统计Service接口
+ *
+ * @author ruoyi
+ * @date 2024-07-12
+ */
+public interface IQkHandleChannelService {
+    /**
+     * 查询办理渠道统计
+     *
+     * @param id 办理渠道统计主键
+     * @return 办理渠道统计
+     */
+    public QkHandleChannel selectQkHandleChannelById(Long id);
+
+    /**
+     * 查询办理渠道统计列表
+     *
+     * @param qkHandleChannel 办理渠道统计
+     * @return 办理渠道统计集合
+     */
+    public List<QkHandleChannel> selectQkHandleChannelList(QkHandleChannel qkHandleChannel);
+
+    /**
+     * 新增办理渠道统计
+     *
+     * @param qkHandleChannel 办理渠道统计
+     * @return 结果
+     */
+    public int insertQkHandleChannel(QkHandleChannel qkHandleChannel);
+
+    /**
+     * 修改办理渠道统计
+     *
+     * @param qkHandleChannel 办理渠道统计
+     * @return 结果
+     */
+    public int updateQkHandleChannel(QkHandleChannel qkHandleChannel);
+
+    /**
+     * 批量删除办理渠道统计
+     *
+     * @param ids 需要删除的办理渠道统计主键集合
+     * @return 结果
+     */
+    public int deleteQkHandleChannelByIds(Long[] ids);
+
+    /**
+     * 删除办理渠道统计信息
+     *
+     * @param id 办理渠道统计主键
+     * @return 结果
+     */
+    public int deleteQkHandleChannelById(Long id);
+
+    List<QkHandleChannel> visualizationList();
+}

+ 95 - 0
zhsq_qk-system/src/main/java/zhsq_qk/system/service/impl/QkHandleChannelServiceImpl.java

@@ -0,0 +1,95 @@
+package zhsq_qk.system.service.impl;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import zhsq_qk.common.utils.DateUtils;
+import zhsq_qk.system.domain.QkHandleChannel;
+import zhsq_qk.system.mapper.QkHandleChannelMapper;
+import zhsq_qk.system.service.IQkHandleChannelService;
+
+import java.util.List;
+
+/**
+ * 办理渠道统计Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2024-07-12
+ */
+@Service
+public class QkHandleChannelServiceImpl implements IQkHandleChannelService {
+    @Autowired
+    private QkHandleChannelMapper qkHandleChannelMapper;
+
+    /**
+     * 查询办理渠道统计
+     *
+     * @param id 办理渠道统计主键
+     * @return 办理渠道统计
+     */
+    @Override
+    public QkHandleChannel selectQkHandleChannelById(Long id) {
+        return qkHandleChannelMapper.selectQkHandleChannelById(id);
+    }
+
+    /**
+     * 查询办理渠道统计列表
+     *
+     * @param qkHandleChannel 办理渠道统计
+     * @return 办理渠道统计
+     */
+    @Override
+    public List<QkHandleChannel> selectQkHandleChannelList(QkHandleChannel qkHandleChannel) {
+        return qkHandleChannelMapper.selectQkHandleChannelList(qkHandleChannel);
+    }
+
+    /**
+     * 新增办理渠道统计
+     *
+     * @param qkHandleChannel 办理渠道统计
+     * @return 结果
+     */
+    @Override
+    public int insertQkHandleChannel(QkHandleChannel qkHandleChannel) {
+        qkHandleChannel.setCreateTime(DateUtils.getNowDate());
+        return qkHandleChannelMapper.insertQkHandleChannel(qkHandleChannel);
+    }
+
+    /**
+     * 修改办理渠道统计
+     *
+     * @param qkHandleChannel 办理渠道统计
+     * @return 结果
+     */
+    @Override
+    public int updateQkHandleChannel(QkHandleChannel qkHandleChannel) {
+        qkHandleChannel.setUpdateTime(DateUtils.getNowDate());
+        return qkHandleChannelMapper.updateQkHandleChannel(qkHandleChannel);
+    }
+
+    /**
+     * 批量删除办理渠道统计
+     *
+     * @param ids 需要删除的办理渠道统计主键
+     * @return 结果
+     */
+    @Override
+    public int deleteQkHandleChannelByIds(Long[] ids) {
+        return qkHandleChannelMapper.deleteQkHandleChannelByIds(ids);
+    }
+
+    /**
+     * 删除办理渠道统计信息
+     *
+     * @param id 办理渠道统计主键
+     * @return 结果
+     */
+    @Override
+    public int deleteQkHandleChannelById(Long id) {
+        return qkHandleChannelMapper.deleteQkHandleChannelById(id);
+    }
+
+    @Override
+    public List<QkHandleChannel> visualizationList() {
+        return qkHandleChannelMapper.visualizationList();
+    }
+}

+ 134 - 0
zhsq_qk-system/src/main/resources/mapper/system/QkHandleChannelMapper.xml

@@ -0,0 +1,134 @@
+<?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.QkHandleChannelMapper">
+
+    <resultMap type="QkHandleChannel" id="QkHandleChannelResult">
+        <result property="id" column="id"/>
+        <result property="channelName" column="channel_name"/>
+        <result property="handleNumber" column="handle_number"/>
+        <result property="createBy" column="create_by"/>
+        <result property="createTime" column="create_time"/>
+        <result property="updateBy" column="update_by"/>
+        <result property="updateTime" column="update_time"/>
+        <result property="remark" column="remark"/>
+    </resultMap>
+
+    <sql id="selectQkHandleChannelVo">
+        select id,
+               channel_name,
+               handle_number,
+               create_by,
+               create_time,
+               update_by,
+               update_time,
+               remark
+        from qk_handle_channel
+    </sql>
+
+    <select id="selectQkHandleChannelList" parameterType="QkHandleChannel" resultMap="QkHandleChannelResult">
+        <include refid="selectQkHandleChannelVo"/>
+        <where>
+            <if test="channelName != null  and channelName != ''">
+                and channel_name like concat('%', #{channelName}, '%')
+            </if>
+            <if test="handleNumber != null ">
+                and handle_number = #{handleNumber}
+            </if>
+        </where>
+    </select>
+
+    <select id="selectQkHandleChannelById" parameterType="Long"
+            resultMap="QkHandleChannelResult">
+        <include refid="selectQkHandleChannelVo"/>
+        where id = #{id}
+    </select>
+
+    <insert id="insertQkHandleChannel" parameterType="QkHandleChannel" useGeneratedKeys="true"
+            keyProperty="id">
+        insert into qk_handle_channel
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="channelName != null">channel_name,
+            </if>
+            <if test="handleNumber != null">handle_number,
+            </if>
+            <if test="createBy != null">create_by,
+            </if>
+            <if test="createTime != null">create_time,
+            </if>
+            <if test="updateBy != null">update_by,
+            </if>
+            <if test="updateTime != null">update_time,
+            </if>
+            <if test="remark != null">remark,
+            </if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="channelName != null">#{channelName},
+            </if>
+            <if test="handleNumber != null">#{handleNumber},
+            </if>
+            <if test="createBy != null">#{createBy},
+            </if>
+            <if test="createTime != null">#{createTime},
+            </if>
+            <if test="updateBy != null">#{updateBy},
+            </if>
+            <if test="updateTime != null">#{updateTime},
+            </if>
+            <if test="remark != null">#{remark},
+            </if>
+        </trim>
+    </insert>
+
+    <update id="updateQkHandleChannel" parameterType="QkHandleChannel">
+        update qk_handle_channel
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="channelName != null">channel_name =
+                #{channelName},
+            </if>
+            <if test="handleNumber != null">handle_number =
+                #{handleNumber},
+            </if>
+            <if test="createBy != null">create_by =
+                #{createBy},
+            </if>
+            <if test="createTime != null">create_time =
+                #{createTime},
+            </if>
+            <if test="updateBy != null">update_by =
+                #{updateBy},
+            </if>
+            <if test="updateTime != null">update_time =
+                #{updateTime},
+            </if>
+            <if test="remark != null">remark =
+                #{remark},
+            </if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteQkHandleChannelById" parameterType="Long">
+        delete
+        from qk_handle_channel
+        where id = #{id}
+    </delete>
+
+    <delete id="deleteQkHandleChannelByIds" parameterType="String">
+        delete from qk_handle_channel where id in
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+    <select id="visualizationList" parameterType="QkHandleChannel" resultMap="QkHandleChannelResult">
+        select id,
+               channel_name,
+               sum(handle_number) handle_number
+        from qk_handle_channel
+        group by channel_name
+        order by id asc
+        limit 5
+    </select>
+</mapper>

+ 44 - 0
zhsq_qk-ui/src/api/system/channel.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询办理渠道统计列表
+export function listChannel(query) {
+    return request({
+        url: '/system/channel/list',
+        method: 'get',
+        params: query
+    })
+}
+
+// 查询办理渠道统计详细
+export function getChannel(id) {
+    return request({
+        url: '/system/channel/' + id,
+        method: 'get'
+    })
+}
+
+// 新增办理渠道统计
+export function addChannel(data) {
+    return request({
+        url: '/system/channel',
+        method: 'post',
+        data: data
+    })
+}
+
+// 修改办理渠道统计
+export function updateChannel(data) {
+    return request({
+        url: '/system/channel',
+        method: 'put',
+        data: data
+    })
+}
+
+// 删除办理渠道统计
+export function delChannel(id) {
+    return request({
+        url: '/system/channel/' + id,
+        method: 'delete'
+    })
+}

+ 8 - 0
zhsq_qk-ui/src/api/system/zwyx.js

@@ -56,3 +56,11 @@ export function lastOnePdocumentsList() {
     method: 'get',
   })
 }
+
+//查询办理渠道统计可视化
+export function visualizationChannelList() {
+  return request({
+    url: '/system/channel/visualizationChannelList',
+    method: 'get',
+  })
+}

+ 52 - 52
zhsq_qk-ui/src/assets/images/qkq_body.css

@@ -160,7 +160,7 @@ a:hover {
 
 
 /* 全局通用 */
-.clearfix:after {       
+.clearfix:after {
     content: ".";     /*内容为“.”就是一个英文的句号而已。也可以不写。*/
    display: block;   /*加入的这个元素转换为块级元素。*/
     clear: both;     /*清除左右两边浮动。*/
@@ -273,7 +273,7 @@ input[type="search"]::-webkit-search-decoration {
 }
 
 body {
-  font-family: 'MyWebFont', sans-serif; /* 使用字体,同时提供一个后备字体 */
+  font-family: 'MyWebFont', sans-serif; /* 使用字体,同时提供一个后备字体 */
   background-color: #141d29;
 }
 /*
@@ -285,7 +285,7 @@ body {
 
 .map{
 	width: 100%;
-	height: 99.62vh;
+	height: 99.62vh;
 	overflow: hidden;
 }
 .map img{
@@ -350,13 +350,13 @@ body {
 	min-height: 85vh;
 }
 .right_con .top_txt,.nav_min .top_txt2{
-	padding-right: 50px!important;
+	padding-right: 50px!important;
 	padding-left: 0px!important;
 	padding-bottom: 10px!important;
 }
 .right_con .top_txt b,.nav_min .top_txt2 b{
 	font-size: 16px;
-	color: #fceec9;
+	color: #fceec9;
 	background: none!important;
 }
 .right_con .top_txt span,.nav_min .top_txt2 span{
@@ -372,7 +372,7 @@ body {
     padding: 10px 0px 0px 25px;
     margin-bottom: 10px;
     background-size: 100% 100%;
-	position: relative;
+	position: relative;
 	text-shadow: 0px 0px 5px #00ffff;
 }
 .qkq_tit select{
@@ -405,7 +405,7 @@ color: #fff;
 	justify-content: space-between;
 	background: url(sprhbj-btm.png) repeat-x center;
 	border-radius: 25px;
-}
+}
 .bottom_con:hover{
 	background: url(sprhbj-btm2.png) repeat-x center;
 }
@@ -465,48 +465,48 @@ color: #fff;
 	z-index: 1;
 	min-height: 51px;
 }
-
-
-/* 搜索 */
-.qkq_ss{
-	position: relative;
-	width: 100%;
-	height: 36px;
-	line-height: 36px;
-}
-.qkq_ss input.inp_ss{
-	position: absolute;
-	width: 100%;
-	top:0px;
-	left: 0px;
-	background: #001339c4;
-	border: 1px solid #1162bd;
-	outline: 0px;
-	border-radius: 5px;
-	padding-left: 10px;
-	height: 34px;
-	line-height: 34px;
-	color: #fff;
-}
-.qkq_ss input.inp_btn{
-	position: absolute;
-	width: 20%;
-	top:0px;
-	right: 0px;
-	background: #1162bd;
-	border: 1px solid #1162bd;
-	outline: 0px;
-	border-radius: 5px;
-	height: 34px;
-	line-height: 34px;
-	color: #fff;
-	font-size: 14px;
-}
-
-.scrollbar{
-	overflow-y: scroll;
-}
-.scrollbar::-webkit-scrollbar{
-	width: 0px;
-	height: 0px;
-}
+
+
+/* 搜索 */
+.qkq_ss{
+	position: relative;
+	width: 100%;
+	height: 36px;
+	line-height: 36px;
+}
+.qkq_ss input.inp_ss{
+	position: absolute;
+	width: 100%;
+	top:0px;
+	left: 0px;
+	background: #001339c4;
+	border: 1px solid #1162bd;
+	outline: 0px;
+	border-radius: 5px;
+	padding-left: 10px;
+	height: 34px;
+	line-height: 34px;
+	color: #fff;
+}
+.qkq_ss input.inp_btn{
+	position: absolute;
+	width: 20%;
+	top:0px;
+	right: 0px;
+	background: #1162bd;
+	border: 1px solid #1162bd;
+	outline: 0px;
+	border-radius: 5px;
+	height: 34px;
+	line-height: 34px;
+	color: #fff;
+	font-size: 14px;
+}
+
+.scrollbar{
+	overflow-y: scroll;
+}
+.scrollbar::-webkit-scrollbar{
+	width: 0px;
+	height: 0px;
+}

+ 1 - 1
zhsq_qk-ui/src/views/fusion/aqyj.vue

@@ -1,5 +1,5 @@
 <template>
-  <div>
+  <div style="background-color: #32435A">
     <div class="map">
       <supermap ref="supermap" style="height: 100%;width: 100%;position: absolute;z-index: 0;"
                 :yxtSltProps="sltProps"></supermap>

+ 24 - 75
zhsq_qk-ui/src/views/fusion/bjzshz.vue

@@ -32,8 +32,14 @@
       <!--左侧开始-->
       <div class="con_left_e">
         <div class="con_div">
-          <div class="qkq_tit txt_t">新办企业数</div>
-          <div id="qkq_bj1"></div>
+          <div class="qkq_tit txt_t">办结率统计</div>
+          <div class="qkq_qkq_div clearfix">
+            <div class="qkq_hz qkq_hz2 fl">
+              <p>自然人办件数:<b>{{ CompletionRate.numberOfProcessedItems }}</b></p>
+              <p>自然人办结数:<b>{{ CompletionRate.completedQuantity }}</b></p>
+            </div>
+            <div id="qkq_bj5" class="fr"></div>
+          </div>
         </div>
         <div class="con_div">
           <div class="qkq_tit txt_t">即办件统计数</div>
@@ -46,11 +52,10 @@
           </div>
         </div>
         <div class="con_div">
-          <div class="qkq_tit txt_t">公安办件统计</div>
-          <div id="qkq_bj3"></div>
+          <div class="qkq_tit txt_t">好差评统计</div>
+          <div id="qkq_bj4"></div>
         </div>
 
-
       </div>
       <div class="con_left_f">
 
@@ -101,64 +106,13 @@
 
         </div>
         <div class="con_div">
-          <div class="qkq_tit txt_t">待提供板块</div>
+          <div class="qkq_tit txt_t">办理渠道统计</div>
           <div class="qkq_bjs_con">
-            <div class="qkq_bjs">
+            <div class="qkq_bjs" v-for="(item, index) in channel" :key="index">
               <img src="../../assets/images/qkq_icon19.png"/>
               <div class="qkq_bjs_txt">
-                <p>待提供板块1</p>
-                <p><b>72</b>件</p>
-              </div>
-            </div>
-            <div class="qkq_bjs">
-              <img src="../../assets/images/qkq_icon19.png"/>
-              <div class="qkq_bjs_txt">
-                <p>待提供板块2</p>
-                <p><b>72</b>件</p>
-              </div>
-            </div>
-            <div class="qkq_bjs">
-              <img src="../../assets/images/qkq_icon19.png"/>
-              <div class="qkq_bjs_txt">
-                <p>待提供板块3</p>
-                <p><b>72</b>件</p>
-              </div>
-            </div>
-            <div class="qkq_bjs">
-              <img src="../../assets/images/qkq_icon19.png"/>
-              <div class="qkq_bjs_txt">
-                <p>待提供板块4</p>
-                <p><b>72</b>件</p>
-              </div>
-            </div>
-          </div>
-          <div class="qkq_bjs_con">
-            <div class="qkq_bjs">
-              <img src="../../assets/images/qkq_icon19.png"/>
-              <div class="qkq_bjs_txt">
-                <p>待提供板块5</p>
-                <p><b>72</b>件</p>
-              </div>
-            </div>
-            <div class="qkq_bjs">
-              <img src="../../assets/images/qkq_icon19.png"/>
-              <div class="qkq_bjs_txt">
-                <p>待提供板块6</p>
-                <p><b>72</b>件</p>
-              </div>
-            </div>
-            <div class="qkq_bjs">
-              <img src="../../assets/images/qkq_icon19.png"/>
-              <div class="qkq_bjs_txt">
-                <p>待提供板块7</p>
-                <p><b>72</b>件</p>
-              </div>
-            </div>
-            <div class="qkq_bjs">
-              <img src="../../assets/images/qkq_icon19.png"/>
-              <div class="qkq_bjs_txt">
-                <p>待提供板块8</p>
-                <p><b>72</b>件</p>
+                <p>{{ item.channelName }}</p>
+                <p><b>{{ item.handleNumber }}</b>件</p>
               </div>
             </div>
           </div>
@@ -166,18 +120,12 @@
       </div>
       <div class="con_left_g">
         <div class="con_div">
-          <div class="qkq_tit txt_t">好差评统计</div>
-          <div id="qkq_bj4"></div>
+          <div class="qkq_tit txt_t">新办企业数</div>
+          <div id="qkq_bj1"></div>
         </div>
         <div class="con_div">
-          <div class="qkq_tit txt_t">办结率统计</div>
-          <div class="qkq_qkq_div clearfix">
-            <div class="qkq_hz qkq_hz2 fl">
-              <p>自然人办件数:<b>{{ CompletionRate.numberOfProcessedItems }}</b></p>
-              <p>自然人办结数:<b>{{ CompletionRate.completedQuantity }}</b></p>
-            </div>
-            <div id="qkq_bj5" class="fr"></div>
-          </div>
+          <div class="qkq_tit txt_t">公安办件统计</div>
+          <div id="qkq_bj3"></div>
         </div>
         <div class="con_div">
           <div class="qkq_tit txt_t">高频事项Top10</div>
@@ -252,7 +200,7 @@ import {
   lastOneBusinessList,
   lastOneRateList,
   lastOneHandlingList,
-  lastOneDocumentsList, lastOneMattersList,lastOnePdocumentsList
+  lastOneDocumentsList, lastOneMattersList, lastOnePdocumentsList, visualizationChannelList
 } from "@/api/system/zwyx";
 
 
@@ -271,7 +219,7 @@ export default {
       HallHandling:{},
       HighFrequencyMatters:{},
       PublicSecurityDocuments:{},
-      cameras: [],
+      channel: [],
       sltProps: null,
       currentTime: '',
       btnOne: true,
@@ -288,6 +236,7 @@ export default {
     this.lastOneDocumentsList();
     this.lastOneMattersList();
     this.lastOnePdocumentsList();
+    this.visualizationChannelList();
   },
   mounted() {
     // this.qkq_bj1();
@@ -326,9 +275,9 @@ export default {
         path: route
       });
     },
-    cameraList() {
-      getCameraList().then(response => {
-        this.cameras = response.data;
+    visualizationChannelList() {
+      visualizationChannelList().then(response => {
+        this.channel = response.data;
       })
     },
     //查询新办企业可视化

+ 1 - 1
zhsq_qk-ui/src/views/fusion/csgl.vue

@@ -1,5 +1,5 @@
 <template>
-  <div>
+  <div style="background-color: #32435A">
     <div class="map">
       <supermap ref="supermap" style="height: 100%;width: 100%;position: absolute;z-index: 0;"
                 :yxtSltProps="sltProps"></supermap>

+ 10 - 16
zhsq_qk-ui/src/views/fusion/fwyq.vue

@@ -153,22 +153,16 @@
         <div class="con_div">
           <div class="qkq_tit ">政策法规</div>
           <div class="qkq_zcfg">
-            <p>汽开区的一些政策法规的列表展示<span>2024-01-01</span></p>
-            <p>汽开区的一些政策法规的列表展示<span>2024-01-01</span></p>
-            <p>汽开区的一些政策法规的列表展示<span>2024-01-01</span></p>
-            <p>汽开区的一些政策法规的列表展示<span>2024-01-01</span></p>
-            <p>汽开区的一些政策法规的列表展示<span>2024-01-01</span></p>
-            <p>汽开区的一些政策法规的列表展示<span>2024-01-01</span></p>
-            <p>汽开区的一些政策法规的列表展示<span>2024-01-01</span></p>
-            <p>汽开区的一些政策法规的列表展示<span>2024-01-01</span></p>
-            <p>汽开区的一些政策法规的列表展示<span>2024-01-01</span></p>
-            <p>汽开区的一些政策法规的列表展示<span>2024-01-01</span></p>
-            <p>汽开区的一些政策法规的列表展示<span>2024-01-01</span></p>
-            <p>汽开区的一些政策法规的列表展示<span>2024-01-01</span></p>
-            <p>汽开区的一些政策法规的列表展示<span>2024-01-01</span></p>
-            <p>汽开区的一些政策法规的列表展示<span>2024-01-01</span></p>
-            <p>汽开区的一些政策法规的列表展示<span>2024-01-01</span></p>
-            <p>汽开区的一些政策法规的列表展示<span>2024-01-01</span></p>
+            <p>严格防范外债风险和地方债务风险<span>2024-01-01</span></p>
+            <p>进一步加强城市轨道交通规划建设<span>2024-01-01</span></p>
+            <p>地方政府债券信息公开平台管理办法<span>2024-01-01</span></p>
+            <p>加快地方政府专项债券发行使用有关<span>2024-01-01</span></p>
+            <p>土地储备项目预算管理办法(试行)<span>2024-01-01</span></p>
+            <p>地方政府债务信息公开办法(试行)<span>2024-01-01</span></p>
+            <p>地方政府专项债券用途调整操作指引<span>2024-01-01</span></p>
+            <p>地方政府专项债券项目资金绩效管理<span>2024-01-01</span></p>
+            <p>增强企业债券服务实体经济能力<span>2024-01-01</span></p>
+            <p>严格防范地方债务风险的通知<span>2024-01-01</span></p>
           </div>
           <div id="qkq_zxt"></div>
         </div>

+ 8 - 8
zhsq_qk-ui/src/views/fusion/index.vue

@@ -132,31 +132,31 @@
               <span class="zt">待处理</span>
             </dd>
             <dd>
-              <span>红旗小区垃圾桶溢满</span>
+              <span>东风大街施工占位</span>
               <span>2024-05-06</span>
               <span>生活</span>
               <span class="zt">待处理</span>
             </dd>
             <dd>
-              <span>红旗小区垃圾桶溢满</span>
+              <span>顺通花园电梯故障</span>
               <span>2024-05-06</span>
               <span>生活</span>
               <span class="zt">待处理</span>
             </dd>
             <dd>
-              <span>红旗小区垃圾桶溢满</span>
+              <span>翡翠花溪垃圾桶溢满</span>
               <span>2024-05-06</span>
               <span>生活</span>
               <span class="zt">待处理</span>
             </dd>
             <dd>
-              <span>红旗小区垃圾桶溢满</span>
+              <span>万顺小区门市噪音</span>
               <span>2024-05-06</span>
               <span>生活</span>
               <span class="zt">待处理</span>
             </dd>
             <dd>
-              <span>红旗小区垃圾桶溢满</span>
+              <span>35街区汽车违停</span>
               <span>2024-05-06</span>
               <span>生活</span>
               <span class="zt">待处理</span>
@@ -501,10 +501,10 @@ export default {
             }),
             effect: {
               show: true,
-              period: 3.5,// 周期 速度 2.5
+              period: 5,
               trailLength: 0.5, //控制拖尾长度
-              symbolSize: 25, // ⭐⭐星星大小
-              symbol: 'path://M307.46000719101244,524.9919417770187 L320.064963732395,524.9919417770187 L323.95999229701675,510.4772043087195 L327.8550230764027,524.9919417770187 L340.45997740302056,524.9919417770187 L330.26237201075065,533.9624401818169 L334.15760211881354,548.4771776501146 L323.95999229701675,539.506434950185 L313.76238468998207,548.4771776501146 L317.6576159054294,533.9624401818169 L307.46000719101244,524.9919417770187 z',
+              symbolSize: [15, 2],
+              symbol: this.$store.state.common.echarts_baseStreamer,
               loop: true,
               color: '#fff' //流光颜色
             },

+ 22 - 22
zhsq_qk-ui/src/views/fusion/jczl.vue

@@ -32,9 +32,9 @@
       <div class="qkq_bmfw">
         <div class="qkq_tit">便民服务</div>
         <div class="jczl_tit">
-          <span>累计发布<u>181</u></span>
-          <span>累计服务<u>149</u></span>
-          <span>当年服务<u>47</u></span>
+          <span>累计发布<u>181</u></span>
+          <span>累计服务<u>149</u></span>
+          <span>当年服务<u>47</u></span>
         </div>
         <div id="jczl-bmfw" style="margin: 20px auto 0px auto; width: 350px; height: 180px"></div>
       </div>
@@ -123,7 +123,7 @@
         <div class="tsrq_scro">
           <div
             id="sprh-tsrq"
-            style="margin: 10px auto; width: 350px; height: 800px"
+            style="margin: 10px auto; width: 350px; height: 700px"
           ></div>
         </div>
 
@@ -140,24 +140,25 @@
               <span><b>3266</b><i>家企业</i></span>
             </p>
             <p>
-              <span>XXXX社区</span>
-              <span><b>3266</b><i>家企业</i></span>
+              <span>腾飞社区</span>
+              <span><b>266</b><i>家企业</i></span>
             </p>
             <p>
-              <span>XXXX社区</span>
-              <span><b>3266</b><i>家企业</i></span>
+              <span>荣盛社区</span>
+              <span><b>122</b><i>家企业</i></span>
             </p>
             <p>
-              <span>XXXX社区</span>
-              <span><b>3266</b><i>家企业</i></span>
+              <span>新兴社区</span>
+              <span><b>533</b><i>家企业</i></span>
             </p>
             <p>
-              <span>XXXX社区</span>
-              <span><b>3266</b><i>家企业</i></span>
+              <span>飞跃社区</span>
+              <span><b>233</b><i>家企业</i></span>
             </p>
             <p>
-              <span>XXXX社区</span>
-              <span><b>3266</b><i>家企业</i></span>
+              <span>奔驰社区</span>
+
+              <span><b>187</b><i>家企业</i></span>
             </p>
           </div>
         </div>
@@ -411,11 +412,10 @@ export default {
             }),
             effect: {
               show: true,
-              period: 3.5,// 周期 速度 2.5
-              trailLength: 0.5, //控制拖尾长度
-              symbolSize: 25, // ⭐⭐星星大小
-              symbol:
-                'path://M307.46000719101244,524.9919417770187 L320.064963732395,524.9919417770187 L323.95999229701675,510.4772043087195 L327.8550230764027,524.9919417770187 L340.45997740302056,524.9919417770187 L330.26237201075065,533.9624401818169 L334.15760211881354,548.4771776501146 L323.95999229701675,539.506434950185 L313.76238468998207,548.4771776501146 L317.6576159054294,533.9624401818169 L307.46000719101244,524.9919417770187 z',
+              period: 2.5,
+              trailLength: 0.4, //控制拖尾长度
+              symbolSize: [20, 14],
+              symbol: 'path://M960.406636 698.413644c0-247.648286-200.75835-448.405613-448.405613-448.40561301s-448.405613 200.75835-448.405613 448.40561301c0 25.761734 2.203178 51.004651 6.374174 75.578326L954.031439 773.991969C958.203458 749.419318 960.406636 724.175377 960.406636 698.413644z',
               loop: true,
               color: '#ffffff' //流光颜色
             },
@@ -845,7 +845,7 @@ export default {
       let valueData = []
       for (var i = 0; i < data.length; i++) {
         labelData.push(data[i]);
-        var lineNumber = Math.floor(Math.random() * 10000) / 100;
+        var lineNumber = Math.floor(Math.random() * 10000); // 使用 Math.floor() 将随机数向下取整
         valueData.push(lineNumber);
       }
       var option = {
@@ -883,7 +883,7 @@ export default {
               show: true,
               verticalAlign: 'bottom',
               align: 'right',
-              padding: [0, 0, 0, 0],
+              padding: [0, 0, 5, 0],
               textStyle: {
                 color: '#fff',
                 fontSize: '14',
@@ -992,7 +992,7 @@ export default {
               show: true,
               verticalAlign: 'bottom',
               align: 'right',
-              padding: [0, 0, 0, 0],
+              padding: [0, 0, 5, 0],
               textStyle: {
                 color: '#fff',
                 fontSize: '14',

+ 25 - 37
zhsq_qk-ui/src/views/fusion/jjyx.vue

@@ -59,41 +59,29 @@
           <div class="con_left_l fl">
             <div class="qkq_tit ">政策法规</div>
             <div class="qkq_zcfg">
-              <p>汽开区的一些政策法规的列表展示<span>2024-01-01</span></p>
-              <p>汽开区的一些政策法规的列表展示<span>2024-01-01</span></p>
-              <p>汽开区的一些政策法规的列表展示<span>2024-01-01</span></p>
-              <p>汽开区的一些政策法规的列表展示<span>2024-01-01</span></p>
-              <p>汽开区的一些政策法规的列表展示<span>2024-01-01</span></p>
-              <p>汽开区的一些政策法规的列表展示<span>2024-01-01</span></p>
-              <p>汽开区的一些政策法规的列表展示<span>2024-01-01</span></p>
-              <p>汽开区的一些政策法规的列表展示<span>2024-01-01</span></p>
-              <p>汽开区的一些政策法规的列表展示<span>2024-01-01</span></p>
-              <p>汽开区的一些政策法规的列表展示<span>2024-01-01</span></p>
-              <p>汽开区的一些政策法规的列表展示<span>2024-01-01</span></p>
-              <p>汽开区的一些政策法规的列表展示<span>2024-01-01</span></p>
-              <p>汽开区的一些政策法规的列表展示<span>2024-01-01</span></p>
-              <p>汽开区的一些政策法规的列表展示<span>2024-01-01</span></p>
-              <p>汽开区的一些政策法规的列表展示<span>2024-01-01</span></p>
-              <p>汽开区的一些政策法规的列表展示<span>2024-01-01</span></p>
+              <p>地方政府专项债券用途调整操作指引<span>2024-01-01</span></p>
+              <p>地方政府专项债券项目资金绩效管理<span>2024-01-01</span></p>
+              <p>地方政府债券信息公开平台管理办法<span>2024-01-01</span></p>
+              <p>加快地方政府专项债券发行使用有关<span>2024-01-01</span></p>
+              <p>土地储备项目预算管理办法(试行)<span>2024-01-01</span></p>
+              <p>地方政府债务信息公开办法(试行)<span>2024-01-01</span></p>
+              <p>严格防范外债风险和地方债务风险<span>2024-01-01</span></p>
+              <p>进一步加强城市轨道交通规划建设<span>2024-01-01</span></p>
+              <p>增强企业债券服务实体经济能力<span>2024-01-01</span></p>
+              <p>严格防范地方债务风险的通知<span>2024-01-01</span></p>
             </div>
           </div>
           <div class="con_left_r fr">
             <div class="qkq_tit ">主要经济指标</div>
             <div class="qkq_zcfg" id="scrollContent">
-              <p>汽开区的一些主要经济指标的列表展示<i class="up">9.0%</i></p>
-              <p>汽开区的一些主要经济指标的列表展示<i class="up">9.0%</i></p>
-              <p>汽开区的一些主要经济指标的列表展示<i class="down">9.0%</i></p>
-              <p>汽开区的一些主要经济指标的列表展示<i class="down">9.0%</i></p>
-              <p>汽开区的一些主要经济指标的列表展示<i class="up">9.0%</i></p>
-              <p>汽开区的一些主要经济指标的列表展示<i class="down">9.0%</i></p>
-              <p>汽开区的一些主要经济指标的列表展示<i class="up">9.0%</i></p>
-              <p>汽开区的一些主要经济指标的列表展示<i class="up">9.0%</i></p>
-              <p>汽开区的一些主要经济指标的列表展示<i class="up">9.0%</i></p>
-              <p>汽开区的一些主要经济指标的列表展示<i class="down">9.0%</i></p>
-              <p>汽开区的一些主要经济指标的列表展示<i class="down">9.0%</i></p>
-              <p>汽开区的一些主要经济指标的列表展示<i class="up">9.0%</i></p>
-              <p>汽开区的一些主要经济指标的列表展示<i class="down">9.0%</i></p>
-              <p>汽开区的一些主要经济指标的列表展示<i class="up">9.0%</i></p>
+              <p>地区生产总值<i class="up">12.0%</i></p>
+              <p>工业增加值<i class="up">3.0%</i></p>
+              <p>固定资产投资<i class="down">2.0%</i></p>
+              <p>地方财政一般预算收入<i class="down">15.0%</i></p>
+              <p>对外贸易(海关进出口总额)<i class="up">13.0%</i></p>
+              <p>社会消费品零售总额<i class="down">11.0%</i></p>
+              <p>消费物价指数(CPI)<i class="up">6.0%</i></p>
+              <p>城镇居民人均可支配收入<i class="up">9.0%</i></p>
             </div>
           </div>
         </div>
@@ -108,21 +96,21 @@
       </div>
       <div class="con_left_g">
         <div class="con_div">
-          <div class="qkq_tit ">规模以上工业增加值</div>
+          <div class="qkq_tit ">限额以上社会消费品零售总额</div>
           <div class="qkq_jjyx_div">
             <div id="qkq_zjz1_4"></div>
             <div id="qkq_zjz2_4"></div>
           </div>
         </div>
         <div class="con_div">
-          <div class="qkq_tit ">固定资产投资额</div>
+          <div class="qkq_tit ">进出口总值</div>
           <div class="qkq_jjyx_div">
             <div id="qkq_zjz1_5"></div>
             <div id="qkq_zjz2_5"></div>
           </div>
         </div>
         <div class="con_div">
-          <div class="qkq_tit ">民间投资额</div>
+          <div class="qkq_tit ">一般公共预算收入</div>
           <div class="qkq_jjyx_div">
             <div id="qkq_zjz1_6"></div>
             <div id="qkq_zjz2_6"></div>
@@ -3048,11 +3036,11 @@ export default {
       var uploadedDataURL2 = "/asset/get/s/QekC70YLG_BZZXae.png";
 
 
-      var baifenbi = [0.333, 0.444, 0.555, 0.777, 0.888, 0.922];
+      var baifenbi = [0.456, 0.544, 0.655, 0.277, 0.788, 0.222];
       var grayBar = [1, 1, 1, 1, 1, 1];
       var paiming = [6, 5, 4, 3, 2, 1];
-      var zongjine = [2000, 3000, 4000, 5000, 6000, 7000];
-      var xingm = ['实际经济指标的目标1', '实际经济指标的目标2', '实际经济指标的目标3', '实际经济指标的目标4', '实际经济指标的目标5', '实际经济指标的目标6'];
+      var zongjine = [3000, 4000, 5000, 7000, 12000, 8000];
+      var xingm = ['地区生产值', '工业增加值', '进出口总值', '民间投资额', '固定资产投资额', '一般公共预算收入'];
       var option = {
         color: ['#61A8FF'], //进度条颜色
         grid: {
@@ -3220,7 +3208,7 @@ export default {
               show: true,
               period: 5,
               trailLength: 0.5, //控制拖尾长度
-              symbolSize: [15, 8],
+              symbolSize: [15, 2],
               symbol: this.$store.state.common.echarts_baseStreamer,
               loop: true,
               color: '#fff' //流光颜色

+ 4 - 5
zhsq_qk-ui/src/views/fusion/jtzl.vue

@@ -1234,11 +1234,10 @@ export default {
             }),
             effect: {
               show: true,
-              period: 3.5,// 周期 速度 2.5
-              trailLength: 0.5, //控制拖尾长度
-              symbolSize: 25, // ⭐⭐星星大小
-              symbol:
-                'path://M307.46000719101244,524.9919417770187 L320.064963732395,524.9919417770187 L323.95999229701675,510.4772043087195 L327.8550230764027,524.9919417770187 L340.45997740302056,524.9919417770187 L330.26237201075065,533.9624401818169 L334.15760211881354,548.4771776501146 L323.95999229701675,539.506434950185 L313.76238468998207,548.4771776501146 L317.6576159054294,533.9624401818169 L307.46000719101244,524.9919417770187 z',
+              period: 2.5,
+              trailLength: 0.4, //控制拖尾长度
+              symbolSize: [20, 14],
+              symbol: 'path://M960.406636 698.413644c0-247.648286-200.75835-448.405613-448.405613-448.40561301s-448.405613 200.75835-448.405613 448.40561301c0 25.761734 2.203178 51.004651 6.374174 75.578326L954.031439 773.991969C958.203458 749.419318 960.406636 724.175377 960.406636 698.413644z',
               loop: true,
               color: '#ffffff' //流光颜色
             },

+ 20 - 7
zhsq_qk-ui/src/views/fusion/yshj_new.vue

@@ -820,9 +820,11 @@ export default {
           x: 'center',
           y: 0,
           textStyle: {
-            color: 'rgba(28, 158, 222, 1)',
+            color: '#d0e3fd',
             fontSize: 16,
             fontWeight: 'normal',
+            textShadowColor:'#00ffff',
+            textShadowBlur: 10
           },
         },
         grid: {
@@ -846,6 +848,16 @@ export default {
                     ${p[2].seriesName}-${p[2].name}:${p[2].value}次<br/>`
           }
         },
+        legend: {
+          data: ['国家级', '省级', '市级'],
+          right: 10,
+          top: 15,
+          textStyle: {
+            color: "#fff"
+          },
+          itemWidth: 12,
+          itemHeight: 10,
+        },
         dataZoom: [
           {
             show: true,
@@ -1080,9 +1092,11 @@ export default {
           x: 'center',
           y: 0,
           textStyle: {
-            color: 'rgba(28, 158, 222, 1)',
+            color: '#d0e3fd',
             fontSize: 16,
             fontWeight: 'normal',
+            textShadowColor:'#00ffff',
+            textShadowBlur: 10
           },
         },
         tooltip: {
@@ -1142,11 +1156,10 @@ export default {
             }),
             effect: {
               show: true,
-              period: 3.5,// 周期 速度 2.5
-              trailLength: 0.5, //控制拖尾长度
-              symbolSize: 25, // ⭐⭐星星大小
-              symbol:
-                'path://M307.46000719101244,524.9919417770187 L320.064963732395,524.9919417770187 L323.95999229701675,510.4772043087195 L327.8550230764027,524.9919417770187 L340.45997740302056,524.9919417770187 L330.26237201075065,533.9624401818169 L334.15760211881354,548.4771776501146 L323.95999229701675,539.506434950185 L313.76238468998207,548.4771776501146 L317.6576159054294,533.9624401818169 L307.46000719101244,524.9919417770187 z',
+              period: 2.5,
+              trailLength: 0.4, //控制拖尾长度
+              symbolSize: [20, 14],
+              symbol: 'path://M960.406636 698.413644c0-247.648286-200.75835-448.405613-448.405613-448.40561301s-448.405613 200.75835-448.405613 448.40561301c0 25.761734 2.203178 51.004651 6.374174 75.578326L954.031439 773.991969C958.203458 749.419318 960.406636 724.175377 960.406636 698.413644z',
               loop: true,
               color: '#ffffff' //流光颜色
             },

+ 257 - 0
zhsq_qk-ui/src/views/system/channel/index.vue

@@ -0,0 +1,257 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="渠道名称" prop="channelName">
+        <el-input
+          v-model="queryParams.channelName"
+          placeholder="请输入渠道名称"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="办理数量" prop="handleNumber">
+        <el-input-number
+          :min="0"
+          :max="1000000"
+          size="medium"
+          v-model="queryParams.handleNumber"
+          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="channelList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center"/>
+      <el-table-column label="主键id" align="center" prop="id"/>
+      <el-table-column label="渠道名称" align="center" prop="channelName"/>
+      <el-table-column label="办理数量" align="center" prop="handleNumber"/>
+      <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="80px">
+        <el-form-item label="渠道名称" prop="channelName">
+          <el-input v-model="form.channelName" placeholder="请输入渠道名称"/>
+        </el-form-item>
+        <el-form-item label="办理数量" prop="handleNumber">
+          <el-input-number :min="0" :max="1000000" v-model="form.handleNumber" 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 {getChannel, listChannel, addChannel, delChannel, updateChannel} from "@/api/system/channel";
+
+export default {
+  name: "Channel",
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 办理渠道统计表格数据
+      channelList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        channelName: null,
+        handleNumber: undefined,
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+        channelName: [{required: true, message: "渠道名称不能为空", trigger: "blur"},
+          {min: 0, max: 15, message: '长度在 0 到 15 个字符', trigger: 'blur'}],
+        handleNumber: [{required: true, message: "办理数量不能为空", trigger: "blur"}]
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询办理渠道统计列表 */
+    getList() {
+      this.loading = true;
+      listChannel(this.queryParams).then(response => {
+        this.channelList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        channelName: null,
+        handleNumber: null,
+        createBy: null,
+        createTime: null,
+        updateBy: null,
+        updateTime: null,
+        remark: 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
+      getChannel(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) {
+            updateChannel(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addChannel(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 delChannel(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => {
+      });
+    },
+  }
+}
+;
+</script>