Commit 376b35f2 authored by 耿迪迪's avatar 耿迪迪
parents 32652dd7 7d18b628
...@@ -24,6 +24,9 @@ public class TEventHandle extends BaseEntity ...@@ -24,6 +24,9 @@ public class TEventHandle extends BaseEntity
@Excel(name = "事件id") @Excel(name = "事件id")
private Long eventId; private Long eventId;
@Excel(name = "类型")
private Integer eventType;
/** 企业id */ /** 企业id */
@Excel(name = "企业id") @Excel(name = "企业id")
private Long enterpriseId; private Long enterpriseId;
...@@ -56,9 +59,27 @@ public class TEventHandle extends BaseEntity ...@@ -56,9 +59,27 @@ public class TEventHandle extends BaseEntity
@Excel(name = "指导时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") @Excel(name = "指导时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date guidanceTime; private Date guidanceTime;
private Integer readStatus;
/** 0未删除 1已删除 */ /** 0未删除 1已删除 */
private Integer isDel; private Integer isDel;
public Integer getEventType() {
return eventType;
}
public void setEventType(Integer eventType) {
this.eventType = eventType;
}
public Integer getReadStatus() {
return readStatus;
}
public void setReadStatus(Integer readStatus) {
this.readStatus = readStatus;
}
public String getPlanTitle() { public String getPlanTitle() {
return planTitle; return planTitle;
} }
......
...@@ -70,11 +70,30 @@ public class TEventReceive extends BaseEntity ...@@ -70,11 +70,30 @@ public class TEventReceive extends BaseEntity
/** 备注 */ /** 备注 */
private String remarks; private String remarks;
private Integer companyRead;
private Integer governmentRead;
/** 0未删除 1已删除 */ /** 0未删除 1已删除 */
private Integer isDel; private Integer isDel;
@Excel(name = "状态") @Excel(name = "状态")
private Integer status; private Integer status;
public Integer getCompanyRead() {
return companyRead;
}
public void setCompanyRead(Integer companyRead) {
this.companyRead = companyRead;
}
public Integer getGovernmentRead() {
return governmentRead;
}
public void setGovernmentRead(Integer governmentRead) {
this.governmentRead = governmentRead;
}
public void setId(Integer id) public void setId(Integer id)
{ {
this.id = id; this.id = id;
......
...@@ -7,6 +7,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -7,6 +7,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<resultMap type="TEventHandle" id="TEventHandleResult"> <resultMap type="TEventHandle" id="TEventHandleResult">
<result property="handleId" column="handle_id" /> <result property="handleId" column="handle_id" />
<result property="eventId" column="event_id" /> <result property="eventId" column="event_id" />
<result property="eventType" column="event_type" />
<result property="enterpriseId" column="enterprise_id" /> <result property="enterpriseId" column="enterprise_id" />
<result property="enterpriseName" column="enterprise_name" /> <result property="enterpriseName" column="enterprise_name" />
<result property="management" column="management" /> <result property="management" column="management" />
...@@ -21,7 +22,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -21,7 +22,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap> </resultMap>
<sql id="selectTEventHandleVo"> <sql id="selectTEventHandleVo">
select handle_id, event_id, enterprise_id, enterprise_name, management,management_event, plan_id,plan_title,plan_url, guidance_opinion, guidance_time, is_del, create_time from t_event_handle select handle_id, event_id,event_type, enterprise_id, enterprise_name, management,management_event, plan_id,plan_title,plan_url, guidance_opinion, guidance_time, is_del, create_time from t_event_handle
</sql> </sql>
<select id="selectTEventHandleList" parameterType="TEventHandle" resultMap="TEventHandleResult"> <select id="selectTEventHandleList" parameterType="TEventHandle" resultMap="TEventHandleResult">
...@@ -40,6 +41,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -40,6 +41,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
insert into t_event_handle insert into t_event_handle
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
<if test="eventId != null">event_id,</if> <if test="eventId != null">event_id,</if>
<if test="eventType != null">event_type,</if>
<if test="enterpriseId != null">enterprise_id,</if> <if test="enterpriseId != null">enterprise_id,</if>
<if test="enterpriseName != null">enterprise_name,</if> <if test="enterpriseName != null">enterprise_name,</if>
<if test="management != null">management,</if> <if test="management != null">management,</if>
...@@ -54,6 +56,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -54,6 +56,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="eventId != null">#{eventId},</if> <if test="eventId != null">#{eventId},</if>
<if test="eventType != null">#{eventType},</if>
<if test="enterpriseId != null">#{enterpriseId},</if> <if test="enterpriseId != null">#{enterpriseId},</if>
<if test="enterpriseName != null">#{enterpriseName},</if> <if test="enterpriseName != null">#{enterpriseName},</if>
<if test="management != null">#{management},</if> <if test="management != null">#{management},</if>
...@@ -72,6 +75,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -72,6 +75,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
update t_event_handle update t_event_handle
<trim prefix="SET" suffixOverrides=","> <trim prefix="SET" suffixOverrides=",">
<if test="eventId != null">event_id = #{eventId},</if> <if test="eventId != null">event_id = #{eventId},</if>
<if test="eventType != null">event_type = #{eventType},</if>
<if test="enterpriseId != null">enterprise_id = #{enterpriseId},</if> <if test="enterpriseId != null">enterprise_id = #{enterpriseId},</if>
<if test="enterpriseName != null">enterprise_name = #{enterpriseName},</if> <if test="enterpriseName != null">enterprise_name = #{enterpriseName},</if>
<if test="management != null">management = #{management},</if> <if test="management != null">management = #{management},</if>
......
...@@ -20,12 +20,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -20,12 +20,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="enterpriseId" column="enterprise_id" /> <result property="enterpriseId" column="enterprise_id" />
<result property="enterpriseName" column="enterprise_name" /> <result property="enterpriseName" column="enterprise_name" />
<result property="remarks" column="remarks" /> <result property="remarks" column="remarks" />
<result property="companyRead" column="company_read" />
<result property="governmentRead" column="government_read" />
<result property="isDel" column="is_del" /> <result property="isDel" column="is_del" />
<result property="createTime" column="create_time" /> <result property="createTime" column="create_time" />
</resultMap> </resultMap>
<sql id="selectTEventReceiveVo"> <sql id="selectTEventReceiveVo">
select id, event_name, event_type, event_grade, address, longitude, latitude, informant, infor_time, informant_phone, `describe`, `status`,enterprise_id, enterprise_name, remarks, is_del, create_time from t_event_receive select id, event_name, event_type, event_grade, address, longitude, latitude,
company_read,government_read,informant, infor_time, informant_phone, `describe`, `status`,enterprise_id, enterprise_name, remarks, is_del, create_time from t_event_receive
</sql> </sql>
<select id="selectTEventReceiveList" parameterType="TEventReceive" resultMap="TEventReceiveResult"> <select id="selectTEventReceiveList" parameterType="TEventReceive" resultMap="TEventReceiveResult">
...@@ -36,6 +39,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -36,6 +39,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="eventGrade != null "> and event_grade = #{eventGrade}</if> <if test="eventGrade != null "> and event_grade = #{eventGrade}</if>
<if test="enterpriseId != null and enterpriseId != ''"> and enterprise_id = #{enterpriseId}</if> <if test="enterpriseId != null and enterpriseId != ''"> and enterprise_id = #{enterpriseId}</if>
<if test="status != null and status!=5"> and status = #{status}</if> <if test="status != null and status!=5"> and status = #{status}</if>
<if test="companyRead != null"> and company_read = #{companyRead}</if>
<if test="governmentRead != null"> and government_read = #{governmentRead}</if>
<if test="status ==5"> and status !=4 </if> <if test="status ==5"> and status !=4 </if>
and is_del = 0 and is_del = 0
</where> </where>
...@@ -65,6 +70,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -65,6 +70,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="enterpriseId != null">enterprise_id,</if> <if test="enterpriseId != null">enterprise_id,</if>
<if test="enterpriseName != null">enterprise_name,</if> <if test="enterpriseName != null">enterprise_name,</if>
<if test="remarks != null">remarks,</if> <if test="remarks != null">remarks,</if>
<if test="companyRead != null">company_read,</if>
<if test="governmentRead != null">government_read,</if>
<if test="isDel != null">is_del,</if> <if test="isDel != null">is_del,</if>
<if test="createTime != null">create_time,</if> <if test="createTime != null">create_time,</if>
</trim> </trim>
...@@ -84,6 +91,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -84,6 +91,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="enterpriseId != null">#{enterpriseId},</if> <if test="enterpriseId != null">#{enterpriseId},</if>
<if test="enterpriseName != null">#{enterpriseName},</if> <if test="enterpriseName != null">#{enterpriseName},</if>
<if test="remarks != null">#{remarks},</if> <if test="remarks != null">#{remarks},</if>
<if test="companyRead != null">#{companyRead},</if>
<if test="governmentRead != null">#{governmentRead},</if>
<if test="isDel != null">#{isDel},</if> <if test="isDel != null">#{isDel},</if>
<if test="createTime != null">#{createTime},</if> <if test="createTime != null">#{createTime},</if>
</trim> </trim>
...@@ -106,6 +115,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ...@@ -106,6 +115,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="enterpriseId != null">enterprise_id = #{enterpriseId},</if> <if test="enterpriseId != null">enterprise_id = #{enterpriseId},</if>
<if test="enterpriseName != null">enterprise_name = #{enterpriseName},</if> <if test="enterpriseName != null">enterprise_name = #{enterpriseName},</if>
<if test="remarks != null">remarks = #{remarks},</if> <if test="remarks != null">remarks = #{remarks},</if>
<if test="companyRead != null">company_read = #{companyRead},</if>
<if test="governmentRead != null">government_read = #{governmentRead},</if>
<if test="isDel != null">is_del = #{isDel},</if> <if test="isDel != null">is_del = #{isDel},</if>
<if test="createTime != null">create_time = #{createTime},</if> <if test="createTime != null">create_time = #{createTime},</if>
</trim> </trim>
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
:before-upload="handleBeforeUpload" :before-upload="handleBeforeUpload"
:file-list="fileArr" :file-list="fileArr"
:limit="1" :limit="1"
:fileType="fileType"
:list-type="listType" :list-type="listType"
:on-error="handleUploadError" :on-error="handleUploadError"
:on-exceed="handleExceed" :on-exceed="handleExceed"
......
<!-- <!--
* @Author: your name * @Author: your name
* @Date: 2022-01-26 20:07:52 * @Date: 2022-01-26 20:07:52
* @LastEditTime: 2022-03-16 17:32:38 * @LastEditTime: 2022-03-23 15:19:40
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
...@@ -86,7 +86,7 @@ ...@@ -86,7 +86,7 @@
style="width: 100px; height: 100px" style="width: 100px; height: 100px"
:src="deviceData.pictureAddress" :src="deviceData.pictureAddress"
:preview-src-list="[deviceData.pictureAddress ]" :preview-src-list="[deviceData.pictureAddress ]"
z-index=99999 :z-index="999999"
> >
</el-image> </el-image>
<div class="imgtext" v-else>暂无图片</div> <div class="imgtext" v-else>暂无图片</div>
......
<!-- <!--
* @Author: your name * @Author: your name
* @Date: 2022-01-26 20:07:52 * @Date: 2022-01-26 20:07:52
* @LastEditTime: 2022-03-16 17:29:11 * @LastEditTime: 2022-03-23 15:23:34
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
...@@ -56,7 +56,7 @@ ...@@ -56,7 +56,7 @@
style="width: 100px; height: 100px" style="width: 100px; height: 100px"
:src="deviceData.iconUrl" :src="deviceData.iconUrl"
:preview-src-list="[deviceData.iconUrl ]" :preview-src-list="[deviceData.iconUrl ]"
z-index=99999 :z-index="999999"
> >
</el-image> </el-image>
<div class="imgtext" v-else>暂无图片</div> <div class="imgtext" v-else>暂无图片</div>
......
...@@ -49,87 +49,42 @@ ...@@ -49,87 +49,42 @@
</div> </div>
</div> </div>
<div class="" style="padding: 0px 10px"> <div class="" style="padding: 0px 10px">
<div <div class="yujingleft yujing">
class="yujingleft yujing" <div class="yujingtop">
style="width: 33%; height: 90px; float: left"
>
<div
class="yujingtop"
style="
width: 70px;
height: 90px;
float: left;
margin-top: 15px;
text-align: right;
"
>
<img <img
src="@/assets/mapinages/group786.png" src="@/assets/mapinages/group786.png"
alt="" alt=""
style="width: 50px; height: 50px" style="width: 50px; height: 50px"
/> />
</div> </div>
<div <div class="yujingbottom">
class="yujingbottom" <div>设备预警</div>
style="float: left; color: #cddbe4; margin-left: 10px"
>
<p>设备预警</p>
<span>2</span> <span>2</span>
</div> </div>
</div> </div>
<div <div class="yujingcenter yujing" >
class="yujingcenter yujing" <div class="yujingtop" >
style="width: 33%; height: 90px; float: left"
>
<div
class="yujingtop"
style="
width: 70px;
height: 90px;
float: left;
margin-top: 15px;
text-align: right;
"
>
<img <img
src="@/assets/mapinages/group787.png" src="@/assets/mapinages/group787.png"
alt="" alt=""
style="width: 50px; height: 50px" style="width: 50px; height: 50px"
/> />
</div> </div>
<div <div class="yujingbottom">
class="yujingbottom" <div>事件情况</div>
style="float: left; color: #cddbe4; margin-left: 10px"
>
<p>事件情况</p>
<span>2</span> <span>2</span>
</div> </div>
</div> </div>
<div <div class="yujingright yujing" >
class="yujingright yujing" <div class="yujingtop">
style="width: 33%; height: 90px; float: left"
>
<div
class="yujingtop"
style="
width: 70px;
height: 90px;
float: left;
margin-top: 15px;
text-align: right;
"
>
<img <img
src="@/assets/mapinages/group788.png" src="@/assets/mapinages/group788.png"
alt="" alt=""
style="width: 50px; height: 50px" style="width: 50px; height: 50px"
/> />
</div> </div>
<div <div class="yujingbottom">
class="yujingbottom" <div>隐患数量</div>
style="float: left; color: #cddbe4; margin-left: 10px"
>
<p>隐患数量</p>
<span>2</span> <span>2</span>
</div> </div>
</div> </div>
...@@ -1020,4 +975,33 @@ export default { ...@@ -1020,4 +975,33 @@ export default {
width: 440px; width: 440px;
margin-left: 20px; margin-left: 20px;
} }
.yj{
padding: 0px 10px;
}
.yujing{
width: 33%;
height: 90px;
float: left;
}
.yujingtop{
width: 70px;
height: 90px;
float: left;
margin-top: 15px;
text-align: right;
}
.yujingbottom{
float: left;
color: #cddbe4;
margin-left: 10px;
line-height: 35px;
padding: 10px 0 0 0;
}
.yujingbottom span{
font-family: 'arialbd';
font-size: 25px;
background-image:-webkit-linear-gradient(bottom,#f0c41b,#e4dbb7);
-webkit-background-clip:text;
-webkit-text-fill-color:transparent;
}
</style> </style>
<template>
<ul class="timeline-wrapper">
<li class="timeline-item" v-for="t in timelineList" :key="t.id">
<div class="timeline-box">
<div class="out-circle">
<div class="in-circle"></div>
</div>
<div class="long-line"></div>
</div>
<div class="timeline-content">
<div class="timeline-date">{{t.createTime}}</div>
<div class="timeline-title">{{ t.management}}</div>
<div class="timeline-desc">
<span
class="dbtn"
@click="checkFile(t.managementEvent)"
v-if="t.managementEvent != null && t.managementEvent!=''"
>
<i class="el-icon el-icon-view"></i>查看/下载
</span>
<span v-else>-</span>
</div>
</div>
</li>
</ul>
</template>
<script type="text/babel">
import Vue from 'vue'
export default Vue.component('Timeline',{
name: "Timeline",
props: {
timelineList: {
type: Array,
default: () => {
return []
}
}
},
methods: {
checkFile(url) {
window.open(url,'_blank');
},
}
})
</script>
<style scoped lang="scss">
ul.timeline-wrapper {
list-style: none;
margin: 0;
padding: 0;
}
/* 时间线 */
.timeline-item {
position: relative;
.timeline-box {
text-align: center;
position: absolute;
.out-circle {
width: 16px;
height: 16px;
background: rgba(14, 116, 218, 0.1);
box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.1);
/*opacity: 0.1;*/
border-radius: 50%;
display: flex;
align-items: center;
.in-circle {
width: 12px;
height: 12px;
margin: 0 auto;
background: rgba(14, 116, 218, 1);
border-radius: 50%;
box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.1);
}
}
.long-line {
width: 2px;
height: 98px;
background: #ffffff;
box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.1);
opacity: 0.5;
margin-left: 8px;
}
}
.timeline-content {
box-sizing: border-box;
margin-left: 20px;
height: 86px;
padding: 0 0 0 20px;
text-align: left;
margin-bottom: 30px;
.timeline-title {
font-size: 14px;
word-break: break-all;
margin-bottom: 16px;
color: #d9d9d9;
font-weight: 500;
/*display: inline;*/
}
.timeline-date {
font-size: 16px;
color: #dfe4ed;
font-weight: 500;
margin-bottom: 16px;
}
.timeline-desc {
font-size: 14px;
color: #30b46b;
}
}
}
.dbtn {
display: inline-block;
line-height: normal;
padding-left: 2px;
padding-right: 2px;
cursor: pointer;
border-radius: 3px;
border-style: solid;
border-width: 0;
color: rgb(48, 180, 107);
}
.timeline-item:last-of-type .timeline-content {
margin-bottom: 0;
}
</style>
...@@ -14,8 +14,12 @@ ...@@ -14,8 +14,12 @@
<div style="width: 100%" v-for="item in receiveList"> <div style="width: 100%" v-for="item in receiveList">
<div class="el-form-div title-div"> <div class="el-form-div title-div">
<div v-if="item.status==1" style="width: 80%;margin-left: 5px;">未指派</div> <div v-if="item.status==1" style="width: 80%;margin-left: 5px;">未指派</div>
<div v-if="item.status==2" style="width: 80%;margin-left: 5px;">待处置</div> <div v-if="item.status==2" style="width: 80%;margin-left: 5px;">待处置<span
<div v-if="item.status==3" style="width: 80%;margin-left: 5px;">已处置</div> v-if="(item.governmentRead==0&&userType==-2)||(item.companyRead==0&&userType!=-2)" class="massage"> (您有新消息)</span>
</div>
<div v-if="item.status==3" style="width: 80%;margin-left: 5px;">已处置<span
v-if="(item.governmentRead==0&&userType==-2)||(item.companyRead==0&&userType!=-2)" class="massage"> (您有新消息)</span>
</div>
<div v-if="item.status==4" style="width: 80%;margin-left: 5px;">已完结</div> <div v-if="item.status==4" style="width: 80%;margin-left: 5px;">已完结</div>
<div style="height:30px;color: red;cursor:pointer;" v-if="userType==-2" @click="handleDelete(item.id)">取消事件</div> <div style="height:30px;color: red;cursor:pointer;" v-if="userType==-2" @click="handleDelete(item.id)">取消事件</div>
</div> </div>
...@@ -23,29 +27,42 @@ ...@@ -23,29 +27,42 @@
<div class="content-div">发生时间:{{item.inforTime}}</div> <div class="content-div">发生时间:{{item.inforTime}}</div>
<div class="content-div">事件地点:{{item.address}}</div> <div class="content-div">事件地点:{{item.address}}</div>
<div class="el-form-div"> <div class="el-form-div">
<div v-if="item.status==3 && userType==-2" class="button-div" @click="endevent(item.id)">事件结案</div>
<div v-if="item.status==3 && userType==-2" class="button-div" @click="showList(item.id)" >预案指引</div>
<div v-if="item.status==1 && userType==-2" class="button-div" @click="assignTask(item)">任务指派</div> <div v-if="item.status==1 && userType==-2" class="button-div" @click="assignTask(item)">任务指派</div>
<div v-if="userType==-2" class="button-div" @click="showList(item.id)" >预案指引</div>
<div v-if="item.status==3 && userType==-2" class="button-div" @click="endevent(item.id)">事件结案</div>
<div v-if="userType!=-2" class="button-div" @click="showList(item.id)">信息处置</div> <div v-if="userType!=-2" class="button-div" @click="showList(item.id)">信息处置</div>
<div class="button-div" @click="showDetail(item.id,$event)">详情</div>
</div>
<div :id = "item.id" style="display: none;margin-top: 15px;margin-bottom: 20px;">
<timeline :timeline-list="handleList"></timeline>
</div> </div>
</div> </div>
</div> </div>
<el-dialog :title="title" :visible.sync="open" width="900px" append-to-body> <el-dialog :title="title" :visible.sync="open" width="900px" append-to-body>
<el-row v-if="userType!=-2" :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8">
<el-col :span="1.5"> <el-col :span="1.5" v-if="userType!=-2">
<el-button <el-button
type="primary" type="primary"
plain plain
icon="el-icon-plus" icon="el-icon-plus"
size="mini" size="mini"
@click="handleAdd" @click="handleAdd"
>新增</el-button> >新增处置信息</el-button>
</el-col>
<el-col :span="1.5" v-if="userType==-2">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleUpdate"
>新增预案指引</el-button>
</el-col> </el-col>
</el-row> </el-row>
<el-table v-loading="loading" :data="handleList" > <el-table v-loading="loading" :data="handleList" >
<el-table-column label="处置信息" align="center" prop="management" /> <el-table-column label="类型" align="center" prop="eventType" :formatter="getType" width="120px"/>
<el-table-column label="处置附件" align="center" prop="managementEvent" width="150px"> <el-table-column label="处置信息/指导意见" align="center" prop="management" />
<el-table-column label="处置附件/引导方案" align="center" prop="managementEvent" width="150px">
<template slot-scope="scope"> <template slot-scope="scope">
<span <span
class="dbtn" class="dbtn"
...@@ -57,49 +74,49 @@ ...@@ -57,49 +74,49 @@
<span v-else>-</span> <span v-else>-</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="指导意见" align="center" prop="guidanceOpinion" /> <!--<el-table-column label="指导意见" align="center" prop="guidanceOpinion" />-->
<el-table-column label="指导方案" align="center" prop="planUrl" > <!--<el-table-column label="指导方案" align="center" prop="planUrl" >-->
<template slot-scope="scope"> <!--<template slot-scope="scope">-->
<span <!--<span-->
class="dbtn" <!--class="dbtn"-->
@click="checkFile(scope.row.planUrl)" <!--@click="checkFile(scope.row.planUrl)"-->
v-if="scope.row.planUrl != null && scope.row.planUrl!=''" <!--v-if="scope.row.planUrl != null && scope.row.planUrl!=''"-->
> <!--&gt;-->
<i class="el-icon el-icon-view"></i>查看/下载 <!--<i class="el-icon el-icon-view"></i>查看/下载-->
</span> <!--</span>-->
<span v-else>-</span> <!--<span v-else>-</span>-->
</template> <!--</template>-->
</el-table-column> <!--</el-table-column>-->
<el-table-column label="指导时间" align="center" prop="guidanceTime" width="180"> <el-table-column label="创建时间" align="center" prop="createTime" width="180">
<!--<template slot-scope="scope">--> <!--<template slot-scope="scope">-->
<!--<span>{{ parseTime(scope.row.guidanceTime, '{y}-{m}-{d}') }}</span>--> <!--<span>{{ parseTime(scope.row.guidanceTime, '{y}-{m}-{d}') }}</span>-->
<!--</template>--> <!--</template>-->
</el-table-column> </el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="100"> <!--<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="100">-->
<template slot-scope="scope"> <!--<template slot-scope="scope">-->
<!--&lt;!&ndash;<el-button&ndash;&gt;-->
<!--&lt;!&ndash;size="mini"&ndash;&gt;-->
<!--&lt;!&ndash;type="text"&ndash;&gt;-->
<!--&lt;!&ndash;icon="el-icon-edit"&ndash;&gt;-->
<!--&lt;!&ndash;@click="handleUpdate(scope.row)"&ndash;&gt;-->
<!--&lt;!&ndash;v-hasPermi="['system:handle:edit']"&ndash;&gt;-->
<!--&lt;!&ndash;&gt;修改</el-button>&ndash;&gt;-->
<!--<el-button--> <!--<el-button-->
<!--v-if="userType==-2"-->
<!--size="mini"--> <!--size="mini"-->
<!--type="text"--> <!--type="text"-->
<!--icon="el-icon-edit"--> <!--icon="el-icon-edit"-->
<!--@click="handleUpdate(scope.row)"--> <!--@click="handleUpdate(scope.row)"-->
<!--v-hasPermi="['system:handle:edit']"--> <!--&gt;预案指引</el-button>-->
<!--&gt;修改</el-button>--> <!--<el-button-->
<el-button <!--v-if="userType!=-2"-->
v-if="userType==-2" <!--size="mini"-->
size="mini" <!--type="text"-->
type="text" <!--icon="el-icon-delete"-->
icon="el-icon-edit" <!--@click="handleDelete2(scope.row)"-->
@click="handleUpdate(scope.row)" <!--&gt;删除</el-button>-->
>预案指引</el-button> <!--</template>-->
<el-button <!--</el-table-column>-->
v-if="userType!=-2"
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete2(scope.row)"
>删除</el-button>
</template>
</el-table-column>
</el-table> </el-table>
<pagination <pagination
v-show="total>0" v-show="total>0"
...@@ -110,13 +127,13 @@ ...@@ -110,13 +127,13 @@
/> />
</el-dialog> </el-dialog>
<!-- 添加或修改事件处置对话框 --> <!-- 添加或修改事件处置对话框 -->
<el-dialog :title="title2" :visible.sync="open2" width="550px" append-to-body> <el-dialog :title="title2" :visible.sync="open2" width="550px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="处置信息" prop="management"> <el-form-item label="处置信息" prop="management" :style="display">
<el-input v-model="form.management" type="textarea" :disabled="readonly1" placeholder="请输入处置信息" /> <el-input v-model="form.management" type="textarea" placeholder="请输入处置信息" />
</el-form-item> </el-form-item>
<el-form-item label="指导意见" prop="guidanceOpinion" :style="display2"> <el-form-item label="指导意见" prop="management" :style="display2">
<el-input v-model="form.guidanceOpinion" type="textarea" placeholder="请输入指导意见" /> <el-input v-model="form.management" type="textarea" placeholder="请输入指导意见" />
</el-form-item> </el-form-item>
<el-form-item label="应急预案" prop="planId" :style="display2"> <el-form-item label="应急预案" prop="planId" :style="display2">
<el-select v-model="form.planId" placeholder="请选择预案等级" @change="fananchange" > <el-select v-model="form.planId" placeholder="请选择预案等级" @change="fananchange" >
...@@ -131,6 +148,7 @@ ...@@ -131,6 +148,7 @@
<el-form-item label="处置附件" prop="managementEvent" :style="display"> <el-form-item label="处置附件" prop="managementEvent" :style="display">
<FileUpload <FileUpload
listType="picture" listType="picture"
:fileType="fileType"
@resFun="getFileInfo" @resFun="getFileInfo"
@remove="listRemove" @remove="listRemove"
:fileArr="fileList" :fileArr="fileList"
...@@ -151,7 +169,7 @@ ...@@ -151,7 +169,7 @@
import { listReceive, getReceive, delReceive, addReceive, updateReceive } from "@/api/system/receive"; import { listReceive, getReceive, delReceive, addReceive, updateReceive } from "@/api/system/receive";
import { listHandle, getHandle, delHandle, addHandle, updateHandle, exportHandle } from "@/api/system/handle"; import { listHandle, getHandle, delHandle, addHandle, updateHandle, exportHandle } from "@/api/system/handle";
import { listPlanInfo } from "@/api/system/planInfo"; import { listPlanInfo } from "@/api/system/planInfo";
import Timeline from "./Timeline";
import { getUserProfile } from "@/api/system/user"; import { getUserProfile } from "@/api/system/user";
import FileUpload from '@/components/FileUpload'; import FileUpload from '@/components/FileUpload';
let uploadfile = require("@/assets/uploadfile.png"); let uploadfile = require("@/assets/uploadfile.png");
...@@ -159,10 +177,12 @@ ...@@ -159,10 +177,12 @@
export default { export default {
components: { components: {
// RightPic, // RightPic,
FileUpload FileUpload,
Timeline
}, },
data() { data() {
return { return {
fileType:['png', 'jpg', 'jpeg',"doc", "xls", "ppt", "txt", "pdf"],
// 是否显示弹出层 // 是否显示弹出层
open: false, open: false,
open2: false, open2: false,
...@@ -196,6 +216,8 @@ export default { ...@@ -196,6 +216,8 @@ export default {
pageSize: 10, pageSize: 10,
eventId: null, eventId: null,
}, },
dongtai:[
],
// 表单校验 // 表单校验
rules: { rules: {
management: [ management: [
...@@ -215,6 +237,30 @@ export default { ...@@ -215,6 +237,30 @@ export default {
} }
this.getList(); this.getList();
}); });
//定时检测新消息
setInterval(() => {
var params = this.queryParams;
if(this.userType==-2){
params.governmentRead=0
}else {
params.companyRead=0
}
listReceive(params).then(response => {
var newList = response.rows;
newList.forEach((model) => {
this.receiveList.forEach((item) => {
if(item.id == model.id){
console.log("---------------"+item.id)
if(this.userType==-2){
item.governmentRead =0;
}else {
item.companyRead =0;
}
}
});
});
});
}, 5000);
}, },
methods: { methods: {
/** 查询事件接报列表 */ /** 查询事件接报列表 */
...@@ -232,6 +278,7 @@ export default { ...@@ -232,6 +278,7 @@ export default {
this.handleList = response.rows; this.handleList = response.rows;
this.total = response.total; this.total = response.total;
this.loading = false; this.loading = false;
return response.total;
}); });
}, },
showList(id) { showList(id) {
...@@ -240,10 +287,15 @@ export default { ...@@ -240,10 +287,15 @@ export default {
this.queryParams2.eventId= id this.queryParams2.eventId= id
this.getHandleList(); this.getHandleList();
}, },
choice(val) { choice() {
console.log(val)
this.getList(); this.getList();
}, },
getType(row){
if(row.eventType==1){
return "处置信息"
}
return "预案指引"
},
/** 新增按钮操作 */ /** 新增按钮操作 */
handleAdd() { handleAdd() {
this.reset(); this.reset();
...@@ -255,14 +307,16 @@ export default { ...@@ -255,14 +307,16 @@ export default {
this.form.eventId = this.queryParams2.eventId this.form.eventId = this.queryParams2.eventId
}, },
/** 修改按钮操作 */ /** 修改按钮操作 */
handleUpdate(row) { handleUpdate() {
this.reset(); this.reset();
this.readonly1=true; this.readonly1=true;
this.display="display:none"; this.display="display:none";
this.display2=""; this.display2="";
this.form = row; //this.form = row;
this.open2 = true; this.open2 = true;
this.title2 = "预案指引"; this.title2 = "预案指引";
this.form.eventId = this.queryParams2.eventId
this.form.eventType=2;
this.yuanList(); this.yuanList();
}, },
yuanList(){ yuanList(){
...@@ -278,7 +332,7 @@ export default { ...@@ -278,7 +332,7 @@ export default {
return item.planId === value; return item.planId === value;
``}); ``});
this.form.planTitle = obj.planTitle; this.form.planTitle = obj.planTitle;
this.form.planUrl = obj.iconUrl; this.form.managementEvent = obj.iconUrl;
this.form.planId = value; this.form.planId = value;
}, },
// 表单重置 // 表单重置
...@@ -320,6 +374,11 @@ export default { ...@@ -320,6 +374,11 @@ export default {
}, },
upReceive(id){ upReceive(id){
var receiveform = {id:id,status:3} var receiveform = {id:id,status:3}
if(this.form.eventType==2){
receiveform.companyRead=0;
}else {
receiveform.governmentRead=0;
}
updateReceive(receiveform).then(response => { updateReceive(receiveform).then(response => {
}); });
}, },
...@@ -376,6 +435,48 @@ export default { ...@@ -376,6 +435,48 @@ export default {
assignTask(item){ assignTask(item){
this.$parent.handleUpdate(item); this.$parent.handleUpdate(item);
}, },
async showDetail(id,event){
var that = this;
that.queryParams2.eventId= id
that.queryParams2.pageSize=100;
if(event.target.innerText=="详情"){
await listHandle(that.queryParams2).then(response => {
this.handleList = response.rows;
if(response.total==0){
this.msgSuccess("暂无详情");
}else{
event.target.innerText="关闭";
document.getElementById(id).style.display="";
that.updateRead(id);
}
});
}else {
event.target.innerText="详情";
document.getElementById(id).style.display="none";
}
},
//更改读取状态
updateRead(id){
var receiveform = {id:id}
if(this.userType==-2){
receiveform.governmentRead = 1;
}else {
receiveform.companyRead = 1;
}
updateReceive(receiveform).then(response => {
});
this.receiveList.forEach((item) => {
if(item.id == id){
if(this.userType==-2){
item.governmentRead =1;
}else {
item.companyRead =1;
}
}
});
},
//上传 //上传
getFileInfo(res){ getFileInfo(res){
//this.form.dealPlan = res.fileName; //this.form.dealPlan = res.fileName;
...@@ -462,7 +563,7 @@ export default { ...@@ -462,7 +563,7 @@ export default {
line-height: 25px; line-height: 25px;
text-align: center; text-align: center;
font-size: 15; font-size: 15;
margin-left: 15%; margin-left: 10%;
margin-top: 10px; margin-top: 10px;
} }
.title-div{ .title-div{
...@@ -506,6 +607,9 @@ export default { ...@@ -506,6 +607,9 @@ export default {
border-width: 0; border-width: 0;
color: rgb(48, 180, 107); color: rgb(48, 180, 107);
} }
.massage{
color: #00ffff;
}
.test-5::-webkit-scrollbar-track { .test-5::-webkit-scrollbar-track {
/*滚动条里面轨道*/ /*滚动条里面轨道*/
box-shadow : inset 0 0 5px rgba(0, 0, 0, 0.2); box-shadow : inset 0 0 5px rgba(0, 0, 0, 0.2);
......
...@@ -7,11 +7,14 @@ ...@@ -7,11 +7,14 @@
<div class="right-menu"> <div class="right-menu">
<template v-if="device!=='mobile'"> <template v-if="device!=='mobile'">
<!--<div class="right-menu-item" v-if="total>0" @click="$router.push('/emergency/emergency')">-->
<!--<img src="@/assets/xiaoxi.png" :hidden="xiaohidden" style="height: 40px;width: 40px;margin-top: 5px;cursor: pointer;">-->
<!--</div>-->
<!-- <search id="header-search" class="right-menu-item" /> --> <!-- <search id="header-search" class="right-menu-item" /> -->
          <el-badge :value="20" :max="99" class="item">           <el-badge :value="total" :max="99" class="item" >
            <i class="el-icon-chat-dot-round" style="width: 10px;height: 10px;"></i>             <i class="el-icon-chat-dot-round" style="width: 10px;height: 10px;" @click="$router.push('/emergency/emergency')"></i>
          </el-badge>           </el-badge>
<screenfull id="screenfull" class="right-menu-item hover-effect" /> <screenfull id="screenfull" class="right-menu-item hover-effect" />
...@@ -50,7 +53,8 @@ import Hamburger from '@/components/Hamburger' ...@@ -50,7 +53,8 @@ import Hamburger from '@/components/Hamburger'
import Screenfull from '@/components/Screenfull' import Screenfull from '@/components/Screenfull'
import SizeSelect from '@/components/SizeSelect' import SizeSelect from '@/components/SizeSelect'
import Search from '@/components/HeaderSearch' import Search from '@/components/HeaderSearch'
import { getUserProfile } from "@/api/system/user";
import { listReceive } from "@/api/system/receive";
export default { export default {
components: { components: {
Breadcrumb, Breadcrumb,
...@@ -60,6 +64,13 @@ export default { ...@@ -60,6 +64,13 @@ export default {
SizeSelect, SizeSelect,
Search Search
}, },
data() {
return {
userType:-2,
total:null,
xiaohidden:false,
}
},
computed: { computed: {
...mapGetters([ ...mapGetters([
'sidebar', 'sidebar',
...@@ -83,6 +94,36 @@ export default { ...@@ -83,6 +94,36 @@ export default {
} }
} }
}, },
mounted(){
getUserProfile().then(response => {
this.userType = response.data.deptId;
});
//定时检测新消息
setInterval(() => {
var params = {
pageNum: 1,
pageSize: 100,
status:5,
enterpriseId:this.userType
};
if(this.userType==-2){
params.governmentRead=0;
params.enterpriseId=null;
}else {
params.companyRead=0
}
console.log(params)
listReceive(params).then(response => {
console.log("total==",response);
if(response.total!=0){
this.total= response.total;
}else{
this.total= "";
}
});
}, 5000);
},
methods: { methods: {
toggleSideBar() { toggleSideBar() {
this.$store.dispatch('app/toggleSideBar') this.$store.dispatch('app/toggleSideBar')
...@@ -141,7 +182,6 @@ export default { ...@@ -141,7 +182,6 @@ export default {
float: right; float: right;
height: 100%; height: 100%;
line-height: 50px; line-height: 50px;
&:focus { &:focus {
outline: none; outline: none;
} }
......
/* /*
* @Author: your name * @Author: your name
* @Date: 2022-01-26 10:47:44 * @Date: 2022-01-26 10:47:44
* @LastEditTime: 2022-03-21 17:11:56 * @LastEditTime: 2022-03-23 15:26:48
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: /test/hello-world/src/utils/config.js * @FilePath: /test/hello-world/src/utils/config.js
...@@ -24,6 +24,7 @@ export const pipePressure = { ...@@ -24,6 +24,7 @@ export const pipePressure = {
export const alarmtime = 10000; export const alarmtime = 10000;
export const svgUrl = { export const svgUrl = {
// bigwindow页面的设备
2: require("@/assets/image/tiaoyaxiang1.svg"), 2: require("@/assets/image/tiaoyaxiang1.svg"),
3: require("@/assets/image/famen1.svg"), 3: require("@/assets/image/famen1.svg"),
4: require("@/assets/image/changzhan1.svg"), 4: require("@/assets/image/changzhan1.svg"),
...@@ -31,13 +32,22 @@ export const svgUrl = { ...@@ -31,13 +32,22 @@ export const svgUrl = {
6: require("@/assets/image/user1.svg"), 6: require("@/assets/image/user1.svg"),
7: require("@/assets/image/zrxk.svg"), 7: require("@/assets/image/zrxk.svg"),
8: require("@/assets/image/zcrq.svg"), 8: require("@/assets/image/zcrq.svg"),
// 运行监测-车辆信息 operationMonitor/gassVehicle
// 小汽车
9: require("@/assets/image/car.png"), 9: require("@/assets/image/car.png"),
10: require("@/assets/mapImages/mark02.png"),
11: require("@/assets/mapImages/mark03.png"),
12: require("@/assets/mapImages/mark04.png"),
13: require("@/assets/mapImages/mark01.png"),
//小汽车的路径标点图标 //小汽车的路径标点图标
14: require("@/assets/mapImages/carTarget.svg"), 14: require("@/assets/mapImages/carTarget.svg"),
//应急设备,应急处置 emergency/emergency
10: require("@/assets/image/yj-jydw.png"),
11: require("@/assets/image/yj-wz.png"),
12: require("@/assets/image/yj-cl.png"),
13: require("@/assets/image/yj-yy.png"),
15: require("@/assets/image/yj-xf.png"),
16: require("@/assets/image/yj-xj.png"),
//煤气罐罐 运行监测 气瓶回溯 operationMonitor/operationQi
17: require("@/assets/mapinages/meiqiguan.png"),
}; };
export const svgAlarm = { export const svgAlarm = {
2: require("@/assets/mapImages/tyxAlarm.svg"), 2: require("@/assets/mapImages/tyxAlarm.svg"),
......
...@@ -333,27 +333,39 @@ export default { ...@@ -333,27 +333,39 @@ export default {
{ {
val: 10, val: 10,
ischeck: false, ischeck: false,
imgurl: require("@/assets/image/tyxsub.svg"), imgurl: require("@/assets/image/yj-jydw.png"),
name: "救援队伍", name: "救援队伍",
}, },
{ {
val: 11, val: 11,
ischeck: false, ischeck: false,
imgurl: require("@/assets/image/fmjsub.svg"), imgurl: require("@/assets/image/yj-wz.png"),
name: "救援物资", name: "救援物资",
}, },
{ {
val: 12, val: 12,
ischeck: false, ischeck: false,
imgurl: require("@/assets/image/czsub.svg"), imgurl: require("@/assets/image/yj-cl.png"),
name: "救援车辆", name: "救援车辆",
}, },
{ {
val: 13, val: 13,
ischeck: false, ischeck: false,
imgurl: require("@/assets/image/usersub.svg"), imgurl: require("@/assets/image/yj-yy.png"),
name: "医 院", name: "医 院",
}, },
{
val: 14,
ischeck: false,
imgurl: require("@/assets/image/yj-xf.png"),
name: "消防队伍",
},
{
val: 15,
ischeck: false,
imgurl: require("@/assets/image/yj-xj.png"),
name: "巡检人员",
},
], ],
selarr1: [], selarr1: [],
// 用户的center数据 // 用户的center数据
......
<template>
</template>
<script>
import { listDetectorReportData } from "@/api/detector/detectorReportData";
export default {
};
</script>
<style lang="scss" scoped>
</style>
\ No newline at end of file
<template>
<div>
<div class="leftbar">
<div class="leftnum">
<img src="../../../../assets/mapinages/Group1120.png" alt="" style="width: 80px;">
<span style="margin-left: 20px;margin-right: 20px;">充装数量分析</span>
<img src="../../../../assets/mapinages/Group1121.png" alt="" style="width: 80px;">
</div>
<div id="echartsone" style="width:100%;height:300px;"></div>
</div>
<div class="centerbar">
<div class="leftnum">
<img src="../../../../assets/mapinages/Group1120.png" alt="" style="width: 80px;">
<span style="margin-left: 20px;margin-right: 20px;">预警分析</span>
<img src="../../../../assets/mapinages/Group1121.png" alt="" style="width: 80px;">
</div>
<div id="echartstwo" style="width:100%;height:300px;"></div>
</div>
<div class="rightbar">
<div class="leftnum">
<img src="../../../../assets/mapinages/Group1120.png" alt="" style="width: 80px;">
<span style="margin-left: 20px;margin-right: 20px;">瓶装燃气用户汇总分析</span>
<img src="../../../../assets/mapinages/Group1121.png" alt="" style="width: 80px;">
</div>
<div id="echartsthree" style="width:100%;height:300px;"></div>
</div>
</div>
</template>
<script>
import * as echarts from 'echarts';
export default {
name:"",
data () {
return {
}
},
mounted () {
this.drawLine()
},
methods: {
drawLine() {
// 基于准备好的dom,初始化echarts实例
let myChart1 = this.$echarts.init(document.getElementById("echartsone"));
let myChart2 = this.$echarts.init(document.getElementById("echartstwo"));
let myChart3 = this.$echarts.init(document.getElementById("echartsthree"));
// 绘制图表
myChart1.setOption({
color: ['#4CC4E0'],
grid: {
left: '0',
right: '0',
bottom: '1%',
containLabel: true
},
tooltip: {},
xAxis: {
type: 'category',
data: ['平山', '东回舍', '温塘', '南甸', '古月', '西柏坡', '小觉','下口','两河乡'],
axisLine: {
lineStyle: {
type: 'solid' ,
color: '#99E2FF' , //左边线的颜色
width: '2' //坐标线的宽度
}
},
axisLabel: {
interval: 0,
textStyle: {
color: '#000' , //坐标值得具体的颜色
}
}
},
yAxis: {
type: 'value'
},
series: [
{
data: [1200, 2000, 1500, 800, 700, 1100, 4300,1234,3456],
type: 'bar',
barWidth : 7,
}
]
});
myChart2.setOption({
color: ['#4CC4E0','#EEC25B','#8E83DE'],
grid: {
left: '0',
right: '0',
bottom: '1%',
containLabel: true
},
legend: {
orient:"horizontal",
icon: "circle",
x:'center',
y:' center',
width:'300',
padding:[25, 30,0, 0],
itemWidth:10,
textStyle:{
color:'#000',
},
},
tooltip: {},
dataset: {
source: [
['product', '入户安检', '超重', '超量'],
['平山', 143.3, 185.8, 93.7],
['东回舍', 83.1, 173.4, 55.1],
['温塘', 86.4, 65.2, 82.5],
['南甸', 43.3, 85.8, 393.7],
['古月', 183.1, 273.4, 55.1],
['西柏坡', 186.4, 265.2, 82.5],
['小觉', 43.3, 185.8, 493.7],
['下口', 483.1, 273.4, 55.1],
['两河乡', 286.4, 265.2, 382.5],
['孟家庄', 272.4, 453.9, 139.1]
]
},
xAxis: {
type: 'category',
axisLine: {
lineStyle: {
type: 'solid' ,
color: '#99E2FF' , //左边线的颜色
width: '2' //坐标线的宽度
}
},
axisLabel: {
textStyle: {
color: '#000' , //坐标值得具体的颜色
}
}
},
yAxis: {},
series: [{ type: 'bar',barWidth : 7, }, { type: 'bar',barWidth : 7, }, { type: 'bar',barWidth : 7, }]
});
myChart3.setOption({
color: ['#4CC4E0'],
grid: {
left: '0',
right: '0',
bottom: '1%',
containLabel: true
},
tooltip: {},
xAxis: {
type: 'category',
axisLabel:{
interval: 0,
textStyle: {
color: '#000' , //坐标值得具体的颜色
}
} ,
data: ['平山', '东回舍', '温塘', '南甸', '古月', '西柏坡', '小觉','下口','两河乡'],
axisLine: {
lineStyle: {
type: 'solid' ,
color: '#99E2FF' , //左边线的颜色
width: '2' //坐标线的宽度
}
},
},
yAxis: {
type: 'value',
},
series: [
{
data: [1240, 2040, 1540, 3380, 4370, 1140, 2130,1234,3456],
type: 'bar',
barWidth : 7,
}
]
});
}
}
}
</script>
<style scoped>
.leftbar{
width: 400px;
height: 340px;
float: left;
}
.centerbar{
width: 45%;
height: 340px;
float: left;
margin-left: 40px;
}
.rightbar{
width: 400px;
height: 340px;
float: left;
margin-left: 40px;
}
.leftnum{
width: 100%;
height: 40px;
text-align: center;
line-height: 70px;
}
</style>
\ No newline at end of file
<template>
</template>
<script>
import { listDetectorReportData } from "@/api/detector/detectorReportData";
export default {
};
</script>
<style lang="scss" scoped>
</style>
\ No newline at end of file
<template>
<div style="padding: 40px 40px 20px 40px;">
<div class="bottletop">
<div class="bottletopleft">
<div class="bottop">
<div class="botbanner">
<div style="margin-left: 20px;position: absolute;">气瓶统计</div>
<img src="../../../assets/mapinages/Group1129.png" alt="" style="width: 100%;height: 100%;position: absolute;top: 0;left: 0;">
</div>
<div class="botnumber">
<div class="botimage">
<img src="../../../assets/mapinages/Group1130.png" alt="" style="width: 100px;height: 100px;margin-top: 30px;">
<div class="ima">
<div style="color: #4CC4E0;font-weight: bolder;">358275</div><span style="color: #fff;">总计</span>
</div>
</div>
<div class="botnum">
<div class="numdiv">
<p style="color: #4CC4E0;">本月新增</p>
<span style="color: #EEC25B;font-size: 30px;">683</span><span style="color: #4CC4E0;"></span>
</div>
<div class="numdiv">
<p style="color: #4CC4E0;">本年新增</p>
<span style="color: #EEC25B;font-size: 30px;">683</span><span style="color: #4CC4E0;"></span>
</div>
</div>
</div>
</div>
<div class="bottop">
<div class="botbanner">
<div style="margin-left: 20px;position: absolute;">气瓶配送统计</div>
<img src="../../../assets/mapinages/Group1129.png" alt="" style="width: 100%;height: 100%;position: absolute;top: 0;left: 0;">
</div>
<div class="botnumber">
<div class="botimage">
<img src="../../../assets/mapinages/Group1130.png" alt="" style="width: 100px;height: 100px;margin-top: 30px;">
<div class="ima">
<div style="color: #4CC4E0;font-weight: bolder;">35358275</div><span style="color: #fff;">总计</span>
</div>
</div>
<div class="botnum">
<div class="numdiv">
<p style="color: #4CC4E0;">本月新增</p>
<span style="color: #EEC25B;font-size: 30px;">6833</span><span style="color: #4CC4E0;"></span>
</div>
<div class="numdiv">
<p style="color: #4CC4E0;">本年新增</p>
<span style="color: #EEC25B;font-size: 30px;">623483</span><span style="color: #4CC4E0;"></span>
</div>
</div>
</div>
</div>
</div>
<div class="bottletopcenter">
<div id="map"></div>
</div>
<div class="bottletopright">
<div class="bottop">
<div class="botbanner">
<div style="margin-left: 20px;position: absolute;">气瓶充装统计</div>
<img src="../../../assets/mapinages/Group1129.png" alt="" style="width: 100%;height: 100%;position: absolute;top: 0;left: 0;">
</div>
<div class="botnumber">
<div class="botimage">
<img src="../../../assets/mapinages/Group1130.png" alt="" style="width: 100px;height: 100px;margin-top: 30px;">
<div class="ima">
<div style="color: #4CC4E0;font-weight: bolder;">358275</div><span style="color: #fff;">总计</span>
</div>
</div>
<div class="botnum">
<div class="numdiv">
<p style="color: #4CC4E0;">本月新增</p>
<span style="color: #EEC25B;font-size: 30px;">6843</span><span style="color: #4CC4E0;"></span>
</div>
<div class="numdiv">
<p style="color: #4CC4E0;">本年新增</p>
<span style="color: #EEC25B;font-size: 30px;">6483</span><span style="color: #4CC4E0;"></span>
</div>
</div>
</div>
</div>
<div class="bottop">
<div class="botbanner">
<div style="margin-left: 20px;position: absolute;">瓶装燃气用户分析</div>
<img src="../../../assets/mapinages/Group1129.png" alt="" style="width: 100%;height: 100%;position: absolute;top: 0;left: 0;">
</div>
<div class="botnumber">
<div id="myChartpieone" :style="{width: '400px', height: '200px'}"></div>
</div>
</div>
</div>
</div>
<div class="bottlebottom">
<operationNum></operationNum>
</div>
</div>
</template>
<script>
import * as echarts from 'echarts';
import operationNum from "./components/operationNum";
import { EditorMap } from "@/utils/mapClass/map";
import { mapGetters } from "vuex";
// import { EditorMap } from "@/utils/mapClass/getPath.js";
export default {
components: {
operationNum,
},
data() {
return {
//地图
// map: null,
}
},
computed: {
...mapGetters([ "systemSetting"])
},
mounted () {
this.drawLine();
const path = eval(this.systemSetting.map_center);
this.map = new EditorMap(
"map",
{
center: path,
zoom: 14.5,
},
this
);
},
methods: {
drawLine() {
// 基于准备好的dom,初始化echarts实例
let myChart1 = this.$echarts.init(document.getElementById("myChartpieone"));
// 绘制图表
myChart1.setOption({
grid: {
bottom: "7%",
containLabel: true,
},
legend: {
orient:"horizontal",
icon: "circle",
x:'right',
y:' center',
width:'300',
padding:[25, 30,0, 0],
itemWidth:10,
textStyle:{
color:'#000',
},
},
tooltip: {
trigger: 'item',
},
series: [
{
name: '任务概况',
type: 'pie',
radius: ['50%', '70%'],
center: ['50%','60%'],
data: [
{
value: 40,
name: '居民',
itemStyle: { color: '#4CC4E0' }
},
{
value: 59,
name: '非居民' ,
itemStyle: { color: '#EEC25B' }
},
],
labelLine:{
length:20,
length2:20,
},
label:{
color:'#fff',
fontSize: 14,
// formatter:"{b}\n\n",
// padding:[0,-55],
normal: {
show: true,
position: 'outer',
// formatter: '{d}%, {c} \n\n',
//模板变量有 {a}, {b},{c},{d},{e},分别表示系列名,数据名,数据值等。
formatter: "{a_set|{b}}{b_set|{d}%}",
// formatter: "{a_set|{b}}\n{c_set|{d}%}\n{b|}\n\n",
borderWidth: 10,
borderRadius: 4,
rich: {
a_set: {
color: "auto",
// lineHeight: 20,
align: "left",
// padding: [55, -40, -15, -40],
},
b_set:{
color: "auto",
},
}
}
},
emphasis: {
itemStyle: {
shadowBlur: 10,
shadowOffsetX: 0,
shadowColor: 'rgba(0, 0, 0, 0.5)'
}
}
}
]
});
}
}
};
</script>
<style lang="scss" scoped>
.bottletop{
width: 100%;
height: 450px;
}
.bottletopleft{
width: 400px;
height: 100%;
float: left;
}
.bottop{
width: 100%;
height: 50%;
}
.botbanner{
width: 100%;
height: 30px;
position: relative;
font-weight: bolder;
}
.botnumber{
width: 100%;
height: 100%;
}
.botimage{
float: left;
width: 100px;
height: 200px;
position: relative;
margin-left: 20px;
}
.ima{
width: 100%;
position: absolute;
text-align: center;
top: 0;
margin-top: 60px;
}
.botnum{
float: left;
width: 70%;
height: 200px;
padding: 30px 0 25px 25px;
}
.numdiv{
width: 50%;
text-align: center;
float: left;
}
.bottletopcenter{
width: 45%;
height: 100%;
float: left;
margin-left: 40px;
}
#map{
width: 100%;
height: 100%;
}
.bottletopright{
width: 400px;
height: 100%;
float: left;
margin-left: 40px;
}
.bottlebottom{
width: 100%;
height: 340px;
margin-top: 30px;
}
</style>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment