Przeglądaj źródła

生命线提交

wang_xy 3 dni temu
rodzic
commit
c17bf89037

+ 0 - 1
src/components/supermap-2.5d.vue

@@ -412,7 +412,6 @@ export default {
                 disableDepthTestDistance: Number.POSITIVE_INFINITY
               },
             })
-            debugger
             that.$emit('setPositioning', longitude, latitude);
           }
         }, SuperMap3D.ScreenSpaceEventType.LEFT_DOUBLE_CLICK);

+ 1 - 1
src/views/Operation.vue

@@ -291,7 +291,7 @@
 				<div class="btn-span btn-span7" :class="[{'on': allType === '0'}]" @click="allType = '0'">
 					<span>全部</span>
 				</div>
-				<div class="btn-span btn-span7 " :class="[{'on': allType === '5'}]" @click="allType = '5'">
+				<div class="btn-span btn-span7" :class="[{'on': allType === '5'}]" @click="allType = '5'">
 					<span>燃气</span>
 				</div>
 				<div class="btn-span btn-span7" :class="[{'on': allType === '1'}]" @click="allType = '1'">

+ 5 - 8
src/views/Regulatory.vue

@@ -500,14 +500,10 @@
 				</div>
 				<div class="xcgj_list">
 					<el-table :data="tableData" height="615" style="width: 100%">
-						<el-table-column prop="taskName" label="任务名称">
-						</el-table-column>
-						<el-table-column prop="userName" label="巡查人员">
-						</el-table-column>
-						<el-table-column prop="startTime" label="巡查开始时间">
-						</el-table-column>
-						<el-table-column prop="endTime" label="巡查结束时间">
-						</el-table-column>
+						<el-table-column prop="taskName" label="任务名称"></el-table-column>
+						<el-table-column prop="userName" label="巡查人员"></el-table-column>
+						<el-table-column prop="startTime" label="巡查开始时间"></el-table-column>
+						<el-table-column prop="endTime" label="巡查结束时间"></el-table-column>
 					</el-table>
           <el-pagination @current-change="selectPatrolInspectionDataList" :current-page="pagerCount" :page-size="pageSize"
                          layout="total, prev, pager, next" :total="taskTotal">
@@ -2446,6 +2442,7 @@
         selectPatrolInspectionDataList({
           pageNum: pageSize || 1,
           pageSize: 10,
+          type:'',
         }).then(res => {
           this.tableData = res.rows
           this.taskTotal = res.total

+ 17 - 12
src/views/SenEquipmentCenter.vue

@@ -5,11 +5,11 @@
 			<div class="list_tit">企业设备分布</div>
 			<div class="company_fx" ref="echartsByCompany"></div>
 			<div class="company_fx_text">
-				<span v-for="item in commanyInfo" style="font-size: 18px;">
+				<span v-for="item in commanyInfo" style="font-size: 15px;display: block;">
 					{{item.name}}:{{item.value}}
 				</span>
 			</div>
-			<div class="list_tit">部门设备分布</div>
+			<div class="list_tit">行政区划分布</div>
 			<div class="type_fx" ref="echartsByType"></div>
 			<div class="list_tit">设备在离线分析</div>
 			<div class="onoff_fx" ref="echartsByOnOff"></div>
@@ -150,7 +150,7 @@
 								normal: {
 									color: function(params) {
 										var colorList = [{
-												c1: ' #fce5ca', //管理
+												c1: '#fce5ca', //管理
 												c2: '#FF9D62'
 											},
 											{
@@ -164,7 +164,11 @@
 											{
 												c1: '#149ce4', //操作
 												c2: '#5ae4c6'
-											}
+											},
+                      {
+                        c1: '#705ee3', //操作
+                        c2: '#aeaef5'
+                      }
 										]
 										return new echarts.graphic.LinearGradient(1, 0, 0, 0,
 									[{ //颜色渐变函数 前四个参数分别表示四个位置依次为左、下、右、上
@@ -211,6 +215,9 @@
 					}
 					const echartsByType = echarts.init(this.$refs.echartsByType);
 					let echartsByTypeOption = {
+            tooltip: {
+              trigger: 'item'
+            },
 						series: [{
 							type: 'pie',
 							radius: [20, 70],
@@ -254,12 +261,10 @@
 							},
 							label: {
 								show: true,
-								normal: {
-									textStyle: {
-										color: '#fff' // 改变标示文字的颜色
-									}
-								},
-								formatter: '{b}:{c}'
+                textStyle: {
+                  color: '#fff' // 改变标示文字的颜色
+                },
+								formatter: '{b}\n{c}({d}%)'
 							},
 							color: ["#ffa518", "#ff5629", "#60b49b", "#f3d435", "#343df5"],
 							data: seriesData
@@ -309,7 +314,7 @@
 						grid: {
 							top: '55%'
 						},
-						color: ["#38a1b1", "#30fff2"],
+						color: ["#1ce88c", "#30fff2"],
 						series: [{
 								type: 'bar',
 								smooth: true,
@@ -622,7 +627,7 @@
 	}
 
 	.company_fx_text {
-		width: 20%;
+		width: 25%;
 		margin-left: 14rem !important;
 		top: 6rem;
 		position: inherit;

+ 7 - 7
src/views/SentryCockpit.vue

@@ -184,7 +184,7 @@
                   <button class="map_btn_span" @click="choseMeasuringDistance()">测距</button>
                   <button class="map_btn_span" @click="choseMeasuringArea()">测面</button>
                   <button class="map_btn_span" @click="choseMeasuringHeight()">测高</button>
-                  <button class="map_btn_span" @click="boxSelection()">框选</button>
+<!--                  <button class="map_btn_span" @click="boxSelection()">框选</button>-->
 <!--                  <button class="map_btn_span" @click="pipeBurstAnalysis()">爆管分析</button>-->
                   <button class="map_btn_span" @click="clearAll()">清除</button>
                   <!--                  <button class="map_btn_span" @click="showExcavationAnalyze()">填挖方分析</button>-->
@@ -203,7 +203,7 @@
         <p>报警累计:{{eventTotal}}</p>
         <p>已处理:{{eventTotal}},未处理:0</p>
         <p style="width:100%">
-          <span style="margin-right: 20px;" v-for="item in eventNumberList">{{item.eventTypeName.substring(0,2)}}:{{item.countSum}}</span>
+          <span style="margin-right: 20px;" v-for="item in eventNumberList">{{item.eventTypeName.substring(2,4)}}:{{item.countSum}}</span>
         </p>
       </div>
 			<div class="sj_fx" ref="sjfx"></div>
@@ -236,10 +236,10 @@
   import {countByBrand} from "@/api/sentinel";
 
 
-  const cityOptions1_1 = [{ type: '企业', url:[] }, { type: '厂站', url:[] },  { type: '次高压管网', url: ['/3D-huashengranqi/rest/realspace','/map-GHRQ/rest/maps/all@huasheng'] }, { type: '中压管网', url:[] }];
-  const cityOptions1_2 = [{ type: '企业', url:[] }, { type: '厂站', url:[] },  { type: '次高压管网', url: ['/3D-GH_tiedong/rest/realspace','/map-GangHua/rest/maps/guandao_cigao@Ganghua_tiedong'] }, { type: '中压管网', url:['/3D-GH_tiedong/rest/realspace','/map-GangHua/rest/maps/guandao_zhong@Ganghua_tiedong'] }];
-  const cityOptions1_3 = [{ type: '企业', url:[] }, { type: '厂站', url:[] },  { type: '次高压管网', url: ['/3D-aode_he/rest/realspace','/map-Aoderanqi/rest/maps/he@aode'] }, { type: '中压管网', url:[] }];
-  const cityOptions1_4 = [{ type: '企业', url:[] }, { type: '厂站', url:[] },  { type: '次高压管网', url: ['/3D-runfa_he/rest/realspace','/map-RunFaRanQi/rest/maps/he@runfa'] }, { type: '中压管网', url:[] }];
+  const cityOptions1_1 = [{ type: '次高压管网', url: ['/3D-huashengranqi/rest/realspace','/map-GHRQ/rest/maps/all@huasheng'] }];
+  const cityOptions1_2 = [{ type: '次高压管网', url: ['/3D-GH_tiedong/rest/realspace','/map-GangHua/rest/maps/guandao_cigao@Ganghua_tiedong'] }, { type: '中压管网', url:['/3D-GH_tiedong/rest/realspace','/map-GangHua/rest/maps/guandao_zhong@Ganghua_tiedong'] }];
+  const cityOptions1_3 = [{ type: '次高压管网', url: ['/3D-aode_he/rest/realspace','/map-Aoderanqi/rest/maps/he@aode'] }];
+  const cityOptions1_4 = [{ type: '次高压管网', url: ['/3D-runfa_he/rest/realspace','/map-RunFaRanQi/rest/maps/he@runfa'] }];
 	export default {
 		name: 'SentryCockpit',
 		components: {
@@ -873,7 +873,7 @@
         getStatisticByMonth().then(res => {
           const chartDom = that.$refs.sjfx;
           const myChart = echarts.init(chartDom);
-          var xData = res.data.categories[0];
+          var xData = res.data.categories;
           var color = ["#1a9bfc", "#99da69", "#e32f46", "#7049f0", "#fa704d", "#01babc","#1a9bfc", "#99da69", "#e32f46", "#7049f0", "#fa704d", "#01babc"];
 
           var name = [];

+ 11 - 8
src/views/SentryEmergencyCenter.vue

@@ -47,11 +47,12 @@
     <el-popover
       placement="right"
       width="100"
-      trigger="click"
+      trigger="manual"
       popper-class="popperClass"
-      content="请选择经纬度"
-      v-model="visible">
-      <div class="setEmergencyEvent" slot="reference" @click="setEmergencyEvent">发起应急事件</div>
+      content="请双击地图选择经纬度"
+      v-model="faqi">
+      <div class="setEmergencyEvent" slot="reference" @click="getLocation">发起应急事件</div>
+<!--      <div class="setEmergencyEvent" slot="reference" @click="setEmergencyEvent">发起应急事件</div>-->
     </el-popover>
 		<div class="visual-body">
 			<!--弹框演示模板 开始-->
@@ -253,7 +254,7 @@
 														<p>{{activity.createName}} 提交于 {{activity.createTime}}</p>
 														<!--<el-image v-if="activity.attachList.length>0" v-for="item in activity.attachList" :src="item.attachPath" style="width: 150px;"></el-image>-->
 														<!-- 图片、视频、文件 组件 -->
-														<template v-if="activity.attachList.length>0" v-for="item, index in activity.attachList">
+														<template v-if="activity.attachList.length>0" v-for="(item, index) in activity.attachList">
 															<span class="documents_em" v-if="item.attachPath.endsWith('.jpg') || item.attachPath.endsWith('.png')">
 																<el-image class="image_em" :src="item.attachPath" :preview-src-list="assetTypeAnImage_NEW(activity.attachList, index)"></el-image>
 																<div class="fileName" :title="item.fileName">{{ truncateFilename(item.fileName) }}</div>
@@ -552,7 +553,7 @@
 				eventDetails:{},                // 事件详情信息
 				activities:[],                  // 事件日志信息
 
-        visible: false,
+        faqi: false,
         deptOptionsLiandong: [],
 				deptId:null,
 				isVisible: false, // 初始时设置为false,不显示内容
@@ -721,12 +722,12 @@
 			// 事件日志 结束
 
       setPositioning(longitude, latitude) {
-        debugger
         this.positioning.longitude = longitude
         this.positioning.latitude = latitude
         this.setEmergencyEvent();
       },
       getLocation(){
+        this.faqi = !this.faqi;
         this.$parent.$refs.supermap.clearDW()
         this.$parent.$refs.supermap.setIsObtainLaAndLon(true)
       },
@@ -812,6 +813,7 @@
 			},
             // 发起应急事件
       setEmergencyEvent(){
+        this.faqi = false;
         this.currentFormStatus = 0
         this.setEventDialogVisible = true
         this.ruleForm.longitude = this.positioning.longitude
@@ -900,6 +902,7 @@
 					if (valid) {
 						const deptList = [];
 						let array = this.$refs.LiandongDept.getCheckedNodes();
+            array.push({id:Cookies.get("deptId"),label:Cookies.get("deptName")});
 						if(array!=null && array.length!=0){
 						for(let item of array){
 							deptList.push({mapDeptId:item.id,mapDeptName:item.label});
@@ -956,7 +959,7 @@
               params.attachList=[]
               if(this.fileList.length>0){
               	this.fileList.forEach((e,idx) => {
-                  params.attachList.push({'attachPath':e.url.split("/").slice(3).join("/")})
+                  params.attachList.push({'attachPath':e.url.split("/").slice(3).join("/"),fileName:e.webName || e.name || ''})
               	})
               }
 							params.eventId = this.eventId

+ 14 - 14
src/views/SentryPage.vue

@@ -49,10 +49,8 @@
 					</h1>
 					<p>设备名称:{{ detailInfo.deviceName || '--' }}</p>
 					<p>设备类型:<dict-tag style="display: inline-block;" :options="dict.type.sentinel_device_type" :value="detailInfo.deviceType" /></p>
-					<p>设备企业 :<dict-tag style="display: inline-block;"  :options="dict.type.sentinel_device_brand" :value="detailInfo.brand" />
-          </p>
-          <p>安装方式 :<dict-tag  style="display: inline-block;" :options="dict.type.sentinel_installation_method" :value="detailInfo.installationMethod" />
-          </p>
+					<p>所属部门:<dict-tag style="display: inline-block;"  :options="dict.type.sentinel_device_brand" :value="detailInfo.brand" /></p>
+          <p>安装方式:<dict-tag  style="display: inline-block;" :options="dict.type.sentinel_installation_method" :value="detailInfo.installationMethod" /></p>
 					<p>所在街道:{{ detailInfo.address || '--' }}</p>
 					<p>历史数值:<a  @click="toggleDisplay(detailInfo.deviceCode)">详情</a></p>
 				</div>
@@ -394,19 +392,21 @@
         this.$refs.eventLogUpload.eventLogUpload(eventDetails)
       },
       setPositioning(longitude, latitude) {
-        debugger
         this.$refs.SentryEmergencyCenter.setPositioning(longitude,latitude)
       },
       async logout() {
-        this.$confirm('确定注销并退出系统吗?', '提示', {
-          confirmButtonText: '确定',
-          cancelButtonText: '取消',
-          type: 'warning'
-        }).then(() => {
-          this.$store.dispatch('LogOut').then(() => {
-            location.href = '/index';
-          })
-        }).catch(() => {});
+        selectConfigKey('backToMainPage').then(res => {
+          window.location.href = res.data;
+        })
+        // this.$confirm('确定注销并退出系统吗?', '提示', {
+        //   confirmButtonText: '确定',
+        //   cancelButtonText: '取消',
+        //   type: 'warning'
+        // }).then(() => {
+        //   this.$store.dispatch('LogOut').then(() => {
+        //     location.href = '/index';
+        //   })
+        // }).catch(() => {});
       },
       assetTypeAnImage(filePath) {
         let imageList = []

+ 48 - 21
src/views/industry/FengxianQd.vue

@@ -191,25 +191,25 @@
 <!--			</supermap>-->
       <!-- 底部按钮 -->
       <div class="life-btm-btn-a">
-        <div class="btn-span btn-span7 on">
+        <div class="btn-span btn-span7" :class="btm == ''?'on':''" @click="tabBtm('')">
           <span>全部</span>
         </div>
-        <div class="btn-span btn-span7 ">
+        <div class="btn-span btn-span7" :class="btm == '5'?'on':''" @click="tabBtm('5')">
           <span>燃气</span>
         </div>
-        <div class="btn-span btn-span7">
+        <div class="btn-span btn-span7" :class="btm == '1'?'on':''" @click="tabBtm('1')">
           <span>热力</span>
         </div>
-        <div class="btn-span btn-span7">
+        <div class="btn-span btn-span7" :class="btm == '6'?'on':''" @click="tabBtm('6')">
           <span>供水</span>
         </div>
-        <div class="btn-span btn-span7">
+        <div class="btn-span btn-span7" :class="btm == '2'?'on':''" @click="tabBtm('2')">
           <span>排水</span>
         </div>
-        <div class="btn-span btn-span7">
+        <div class="btn-span btn-span7" :class="btm == '4'?'on':''" @click="tabBtm('4')">
           <span>管廊</span>
         </div>
-        <div class="btn-span btn-span7">
+        <div class="btn-span btn-span7" :class="btm == '3'?'on':''" @click="tabBtm('3')">
           <span>桥梁</span>
         </div>
       </div>
@@ -235,8 +235,8 @@
 				</div>
 			</div>
 		</el-dialog>
-
-		 <el-dialog title="事件详情" :visible.sync="dialogVisibleXq" width="90%" class="sj-dialog-newstyle">
+    <!-- 事件详情弹窗 -->
+    <el-dialog title="事件详情" :visible.sync="dialogVisibleXq" width="90%" class="sj-dialog-newstyle">
 			<div class="sj-jcxx">
 				<div class="tit">
 					事件基本信息
@@ -414,18 +414,13 @@
       this.time();
       this.selectRiskRegisterlist();
       this.getStreetCommHouseCount();
-			setTimeout(() => {
-				this.title = '四平市城市生命线'
-				this.jmysChart(this.isUserWater);
-				this.gdpsChart()
-				this.szgwChart()
-				this.wjqlmydChart();
-        this.getCoverageRateLatest();
-				this.rqcgChart();
-			}, 1000)
-			this.sblx_chart();
-			this.fxChart();
-
+      this.title = '四平市城市生命线'
+      this.jmysChart(this.isUserWater);
+      this.gdpsChart()
+      this.szgwChart()
+      this.wjqlmydChart();
+      this.getCoverageRateLatest();
+      this.rqcgChart();
 		},
 		data() {
 			return {
@@ -439,9 +434,40 @@
         activeName: '1',
 				currentTab: 0,
 				currentClass: 0,
+
+        btm:'',
 			}
 		},
 		methods: {
+      tabBtm(btmName){
+        this.btm = btmName;
+        if(btmName == ''){//全部
+          this.selectRiskRegisterlist();//风险清单
+          this.getStreetCommHouseCount();//燃气安全隐患
+          this.jmysChart(this.isUserWater);//居民用水
+          this.gdpsChart();//管道破损分析
+          this.szgwChart();//市政管网
+          this.wjqlmydChart();//危旧桥梁
+          this.getCoverageRateLatest();//满意度调查
+          this.rqcgChart();//燃气查改分析
+        }else if(btmName == '1'){//热力
+          this.selectRiskRegisterlist();//风险清单
+        }else if(btmName == '2'){//排水
+          this.selectRiskRegisterlist();//风险清单
+        }else if(btmName == '3'){//桥梁
+          this.wjqlmydChart();//危旧桥梁
+        }else if(btmName == '4'){//管廊
+          this.selectRiskRegisterlist();//风险清单
+        }else if(btmName == '5'){//燃气
+          this.selectRiskRegisterlist();//风险清单
+          this.rqcgChart();//燃气查改分析
+          this.getStreetCommHouseCount();//燃气安全隐患
+        }else if(btmName == '6'){//供水
+          this.selectRiskRegisterlist();//风险清单
+          this.jmysChart(this.isUserWater);//居民用水
+        }
+      },
+
       goToHomePage() {
         window.location.href = '/homePage';
       },
@@ -897,6 +923,7 @@
 			// 危旧桥梁满意度调查
 			wjqlmydChart(){
         getBridgeSatisfactionLatest().then(res => {
+          this.qlmydList = [];
           for (const r of res.rows) {
             this.qlmydList.push({name:"满意数",value:r.satisfactionCount})
             this.qlmydList.push({name:"基本满意数",value:r.basicSatisfactionCount})

+ 6 - 5
src/views/useCenter.vue

@@ -18,10 +18,10 @@
         <dt><span class="dt1" style="width: 150px!important;text-align: center;">名称</span><span class="dt2" style="width: 100px!important;text-align: center;">用户数量</span><span class="dt3" style="width: 30px!important;text-align: center;">定位</span>
         </dt>
         <div class="hei_scroll" style="height: 46vh">
-          <dd v-for="(item,index) in communityList" :class="{on:currentClass==item.id}">
-            <span class="dt1" style="width: 150px!important;" @click="getCustomerByCommunityId(item.id)" :title="item.name">{{ item.name.length > 8 ? item.name.substring(0, 8) + '...' : item.name }}</span>
-            <span class="dt2" style="width: 100px!important;text-align: center;" @click="getCustomerByCommunityId(item.id)">{{ item.num }}</span>
-            <span class="dt3" style="width: 30px!important;text-align: center;" @click="dropLocation(item.type,item.name,item.latLngs,item.latitude,item.longitude)"><img
+          <dd v-for="(item,index) in communityList" :class="{on:currentClass==item.id}" @click="dropLocation(item.type,item.name,item.latLngs,item.latitude,item.longitude,item.id)">
+            <span class="dt1" style="width: 150px!important;" :title="item.name">{{ item.name.length > 8 ? item.name.substring(0, 8) + '...' : item.name }}</span>
+            <span class="dt2" style="width: 100px!important;text-align: center;" >{{ item.num }}</span>
+            <span class="dt3" style="width: 30px!important;text-align: center;" ><img
               src="../assets/images/sentinel/hz_list_d.png"/></span>
           </dd>
         </div>
@@ -188,7 +188,8 @@ export default {
     pageNumHasChanged(e){
       this.getCustomerByCommunityId(this.userParams.communityId)
     },
-    dropLocation(type,name,latLngs,lat,lng) {
+    dropLocation(type,name,latLngs,lat,lng,id) {
+      this.getCustomerByCommunityId(id);
       this.$parent.$refs.supermap.clearGList()
       if(type==1){
         this.$parent.$refs.supermap.dropLocation(lat*1, lng*1)