Ver código fonte

Merge branch 'lifeline_develop_siping' of http://116.142.80.13:3000/sooka_onest/visu_lifeline into lifeline_develop_siping

yhfu 3 dias atrás
pai
commit
7110e78d28

BIN
src/assets/images/lt-logo.png


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

@@ -2085,6 +2085,7 @@ export default {
       this.isObtainLaAndLon = isObtainLaAndLon
     },
     clearDW() {
+      debugger
       if (this.positioningEntity != null) {
         this.viewer.entities.remove(this.positioningEntity);
       }

+ 5 - 4
src/views/SenEquipmentCenter.vue

@@ -5,7 +5,7 @@
 			<div class="list_tit">企业设备分布</div>
 			<div class="company_fx" ref="echartsByCompany"></div>
 			<div class="company_fx_text">
-				<span v-for="item in commanyInfo">
+				<span v-for="item in commanyInfo" style="font-size: 18px;">
 					{{item.name}}:{{item.value}}
 				</span>
 			</div>
@@ -187,6 +187,7 @@
 								label: {
 									show: true,
 									fontSize: 14,
+									color:'#fff',
 									fontWeight: 'bold',
 									formatter: '{b}:{c} \n {d}%'
 								}
@@ -479,7 +480,7 @@
 
 	.tk_div {
 		width: 21%;
-		height: 38%;
+		height: 50%;
 		position: absolute;
 		top: 24%;
 		left: 32.2%;
@@ -575,7 +576,7 @@
 	//图表设备分析
 	.company_fx {
 		width: 100%;
-		height: 200px;
+		height: 180px;
 	}
 
 	.company_fx_text {
@@ -610,4 +611,4 @@
 </style>
 <style rel="stylesheet/scss" lang="scss" scoped>
 	@import '@/assets/styles/base.scss';
-</style>
+</style>

+ 6 - 5
src/views/SenEventCenter.vue

@@ -218,7 +218,7 @@
                     lineHeight: 5,
                   },
                   b: {
-                    color: "rgb(98,137,169)",
+                    color: "rgb(255, 255, 255)",
                     fontSize: 15,
                     height: 40,
                   },
@@ -454,6 +454,9 @@
 		}
 		.yjzx_k2{
 			height: 211px;
+			display: flex;
+			flex-wrap: wrap;
+			justify-content: space-between;
 			//width: 100%;
 			p{
 				display: inline-block;
@@ -461,14 +464,12 @@
 				background-size: 100% 100%;
 				width: 88px;
 				height: 101px;
+				display: flex;
+				flex-direction: column;
 			}
 			:nth-child(1),:nth-child(2),:nth-child(4),:nth-child(5){
-				margin-right: 7px;
 				margin-bottom: 7px;
 			}
-			:nth-child(3),:nth-child(6){
-				margin-right: 7px;
-			}
 			span{
 				padding-top: 20px;
 			}

+ 16 - 5
src/views/SenWarningCenter.vue

@@ -7,11 +7,13 @@
 
 <template>
     <div>
+	 <div class="con_left">
       <div class="warning_left" :class="'warning_'+index" v-for="(item,index) in option" >
         <h4>{{item.typeName}}</h4>
         <h2>{{item.count}}</h2>
         <img src="@/assets/images/warningBg.png">
       </div>
+	  </div>
       <div class="con_right con_left_js" :class="'warning_'+index" v-for="(item,index) in option" >
         <div class="list_tit">{{item.typeName}}说明</div>
         <!-- 预警说明内容主体 -->
@@ -53,7 +55,6 @@ export default {
 		top: 100px;
 		width: 320px;
         height: 17%;
-		background: linear-gradient(to left, rgba(21,38,48,.6), rgba(21,38,48,.2));
 		padding: 0px 10px 20px 10px !important;
 
 		.list_tit {
@@ -75,6 +76,7 @@ export default {
             font-size: 14px;
             >h4{
                 margin-top: 3%;
+				text-shadow: 5px 5px 10px rgba(0, 0, 0, 0.8);
             }
         }
 	}
@@ -99,16 +101,23 @@ export default {
       top: 747px !important;
     }
 
-
     .warning_left{
-        position: absolute;
+        // position: absolute;
         z-index: 99;
         left: 30px;
         top: 100px;
-        width: 250px;
         margin-top: 1%;
         text-align: center;
         padding: 0px 10px 20px 10px!important;
+		display: flex;
+		flex-direction: column;
+		justify-content: center;
+		align-items: center;
+		margin-top: 20px;
+		img{
+			 width: 122px;
+			 height: 67px;
+		}
 
         h4{
             font-weight: 700;
@@ -116,10 +125,10 @@ export default {
             background: linear-gradient(to bottom, #fff, #7AC0CA);
             -webkit-background-clip: text; /* 裁剪背景到文字 */
             -webkit-text-fill-color: transparent; /* 让文字填充透明,显示背景 */
+			  text-shadow: 5px 5px 10px rgba(0, 0, 0, 0.6)
         }
 
         h2{
-            position: absolute;
             width: 93%;
             color: transparent;
             background: linear-gradient(to bottom, #fff, #7AC0CA);
@@ -128,7 +137,9 @@ export default {
             font-family: 'ysbth';
             letter-spacing: 2px;
             transform: skewX(-16deg);
+			 text-shadow: 5px 5px 10px rgba(0, 0, 0, 0.6)
         }
+		
     }
 
 

+ 1 - 1
src/views/SentryCockpit.vue

@@ -619,7 +619,7 @@
                       lineHeight: 5,
                     },
                     b: {
-                      color: "rgb(123, 172, 212)",
+                      color: "rgb(255, 255, 255)",
                       fontSize: 15,
                       height: 40,
                     },

+ 52 - 38
src/views/SentryEmergencyCenter.vue

@@ -23,14 +23,14 @@
 				<dt>
 					<span style="width: 40px;text-align: center;padding-left: 1%;">类型</span>
 					<span style="width: 128px;text-indent: 20px;padding-left: 3%;">事件名称</span>
-					<span style="width: 128px;text-align: center;">事件描述</span>
+					<span style="width: 128px;text-align: center;">发生时间</span>
 				</dt>
 				<div class="hei_scroll hei56">
 					<dd v-for="(e,idx) in deviceListSearch" :key="idx" @click="getEventDetail(e.eventId,e.latitude,e.longitude)">
 						<img :src="e.eventSource == 'artificial' ? require('@/assets/images/artificialIcon.png') : require('@/assets/images/deviceIcon.png') " style="display: inline-block;margin: 3% 0% 0% 4%;;width: 20px;height: 20px;">
 						<span style="width: 128px;text-wrap: nowrap;overflow: hidden;text-overflow: ellipsis;padding-left: 3%;" :title="e.eventTitle">{{ e.eventTitle }}</span>
-						<span style="width: 128px;text-wrap: nowrap;overflow: hidden;text-overflow: ellipsis;padding-left: 4%;" :title="e.eventDescription">
-							{{ e.eventDescription }}
+						<span style="width: 128px;text-wrap: nowrap;overflow: hidden;text-overflow: ellipsis;padding-left: 4%;" :title="e.createTime">
+							{{ e.createTime }}
 						</span>
 					</dd>
 				</div>
@@ -44,7 +44,17 @@
 					:total="deviceTotal">
 			</el-pagination>
 		</div>
-        <div class="setEmergencyEvent" @click="setEmergencyEvent">发起应急事件</div>
+    <el-popover
+      placement="right"
+      width="160"
+      trigger="click"
+      v-model="visible">
+      <p>请选择经纬度</p>
+      <div style="text-align: right; margin: 0">
+        <el-button type="primary" size="mini" @click="visible = false">确定</el-button>
+      </div>
+      <div class="setEmergencyEvent" slot="reference" @click="getLocation">发起应急事件</div>
+    </el-popover>
 		<div class="visual-body">
 			<!--弹框演示模板 开始-->
 			<!-- <img src="../assets/images/sentinel/hz_qy.png" class="qydw1"/>
@@ -441,7 +451,8 @@
 		},
 		data() {
 			return {
-        		deptOptionsLiandong: [],
+        visible: false,
+        deptOptionsLiandong: [],
 				deptId:null,
 				isVisible: false, // 初始时设置为false,不显示内容
 				input:'',
@@ -539,37 +550,33 @@
 			}
 		},
 		methods: {
-			getLocation() {
-				this.visible = !this.visible
-				if (!this.dimensionHighlighted) {
-					this.$refs.supermap.setIsObtainLaAndLon(this.visible)
-				} else {
-					this.$refs.supermap.showLatLng = this.visible
-				}
-				if (!this.visible) {
-					this.longitude = ''
-					this.latitude = ''
-					if (!this.dimensionHighlighted)
-					this.$refs.supermap.clearDW()
-					else
-					this.$refs.supermap.clearP()
-				}
-			},
-			// 获取部门列表树
-			getDeptTreeselect(){
-				treeselectAll().then((response) => {
-				this.deptOptionsLiandong = response.data;
-				});
-			},
-			assetTypeAnImage(filePath) {
-				let imageList = []
-				if (filePath != null && filePath.length > 0) {
-				for (let i = 0; i < filePath.length; i++) {
-					imageList.push(filePath)
-				}
-				}
-				return imageList
-			},
+      setPositioning(longitude, latitude) {
+        let that = this
+        that.positioning.lon = longitude
+        that.positioning.lat = latitude
+      },
+      getLocation(){
+        // this.visible = true;
+        // this.positioning.lon = ''
+        // this.positioning.lat = ''
+        this.$parent.$refs.supermap.clearDW()
+        this.$parent.$refs.supermap.setIsObtainLaAndLon(true)
+      },
+      // 获取部门列表树
+      getDeptTreeselect(){
+        treeselectAll().then((response) => {
+          this.deptOptionsLiandong = response.data;
+        });
+      },
+      assetTypeAnImage(filePath) {
+        let imageList = []
+        if (filePath != null && filePath.length > 0) {
+          for (let i = 0; i < filePath.length; i++) {
+            imageList.push(filePath)
+          }
+        }
+        return imageList
+      },
 			handleInput(val){
 				this.ruleForm.contingencyDetail.eventEarlyWarning = val.replace(/[^0-9]/g, '')
 			},
@@ -743,7 +750,13 @@
 								}
 							})
 						} else {
-							let params = this.reportParams
+              let params = this.reportParams
+              params.attachList=[]
+              if(this.fileList.length>0){
+              	this.fileList.forEach((e,idx) => {
+                  params.attachList.push({'attachPath':e.url.split("/").slice(3).join("/")})
+              	})
+              }
 							params.eventId = this.eventId
 							// 修改上报事件信息
 							updateEventContingencyDetail(params).then(res => {
@@ -1472,6 +1485,7 @@
     }
 
     .setEmergencyEvent{
+        border: none;
         width: 122px;
         height: 22px;
         position: absolute;
@@ -1515,7 +1529,7 @@
 
 	.tk_div{
 		width: 21%;
-		height: 38%;
+		height: 50%;
 		position: absolute;
 		top: 24%;
 		left: 32.2%;

+ 38 - 9
src/views/SentryPage.vue

@@ -22,7 +22,7 @@
               <i>设备中心</i>
           </div>
       </div>
-      <div class="header_tit"><i>{{title}}</i></div>
+      <div class="header_tit"><i><img src="../assets/images/lt-logo.png" width="40px" height="40px"/>{{title}}</i></div>
       <div class="head_btn">
 		    <div @click="jumpTo('/SenWarningCenter',4)" :class="routerIdx == 4 ? 'on' : ''">
             <i>预警中心</i>
@@ -35,7 +35,7 @@
         </div>
 			</div>
 			<div class="head_tx">
-				<span><img src="../assets/images/sentinel/hz_tx.png" /></span>
+				<span><img src="../assets/images/sentinel/hz_tx.png" @click="logout"/></span>
 			</div>
 		</div>
 		<div class="visual-body">
@@ -65,7 +65,7 @@
 			</div>
 
 			<!-- 地图 -->
-			<supermap ref="supermap" style="width: 100%;height: 100vh;" @preview="preview" @openDetails="openEventDetails" @openAreaDetails="openAreaDetails">
+			<supermap ref="supermap" style="width: 100%;height: 100vh;" @preview="preview" @openDetails="openEventDetails" @openAreaDetails="openAreaDetails" @setPositioning="setPositioning">
 			</supermap>
       <!-- 事件詳情彈窗start -->
       <div v-if="isEventDetails">
@@ -292,7 +292,11 @@
         isAreaDetailVisible:false,
         areaDetailInfo:{},
         imageIndex:null,
-        bigImage:false
+        bigImage:false,
+        positioning: {
+          lon: "",
+          lat: ""
+        },
       }
 		},
     created() {
@@ -311,6 +315,22 @@
 
 		},
     methods:{
+      setPositioning(longitude, latitude) {
+        debugger
+        this.positioning.lon = longitude
+        this.positioning.lat = latitude
+      },
+      async logout() {
+        this.$confirm('确定注销并退出系统吗?', '提示', {
+          confirmButtonText: '确定',
+          cancelButtonText: '取消',
+          type: 'warning'
+        }).then(() => {
+          this.$store.dispatch('LogOut').then(() => {
+            location.href = '/index';
+          })
+        }).catch(() => {});
+      },
       assetTypeAnImage(filePath) {
         let imageList = []
         if (filePath != null && filePath.length > 0) {
@@ -639,6 +659,9 @@
             deptList.push({mapDeptId:item.id,mapDeptName:item.label});
           }
           qsParams.deptList = deptList;
+        }else{
+          this.$message.error(`请选择任务联动部门!`);
+          return
         }
         qsParams.eventId = params.eventId;
         configDept(qsParams).then(req => {
@@ -708,7 +731,7 @@
 	/*//头部通用*/
 	.s_header {
 		width: 100%;
-		height: 110px;
+		height: 96px !important;
 		position: absolute;
 		top: 0px;
 		left: 0px;
@@ -723,7 +746,6 @@
 	.s_header .header_tit {
 		display: block;
 		width: 1000px;
-		height: 109px;
 		line-height: 65px;
 		text-align: center;
 
@@ -740,8 +762,13 @@
 		color: transparent;
 		mix-blend-mode: screen;
 		/*text-shadow: 3px 5px 0px rgba(17, 20, 22, 0.22);*/
-		display: block;
+		display: flex !important;
+		justify-content: center;
+		align-items: center;
 		text-align: center;
+		img{
+			margin-right: 5px;
+		}
 	}
 
 	.s_header .head_btn {
@@ -794,7 +821,7 @@
 		left: 30px;
 		top: 100px;
 		width: 320px;
-		background: rgba(0, 0, 0, 0.55);
+		background: rgba(16, 43, 32, 0.6) !important;
 		padding: 0px 10px 20px 10px !important;
 	}
 
@@ -804,7 +831,7 @@
 		right: 30px;
 		top: 100px;
 		width: 320px;
-		background: rgba(0, 0, 0, 0.55);
+		background: rgba(16, 43, 32, 0.6) !important;
 		padding: 0px 10px 20px 10px !important;
 
 		.list_tit {
@@ -817,6 +844,7 @@
 			font-size: 20px;
 			color: #fff;
 			margin-bottom: 10px;
+			text-shadow: 5px 5px 10px rgba(0, 0, 0, 0.6);
 		}
 	}
 
@@ -835,6 +863,7 @@
 		font-size: 20px;
 		color: #fff;
 		margin-bottom: 10px;
+		text-shadow: 5px 5px 10px rgba(0, 0, 0, 0.6);
 	}
 
 	.con_left .el-select {

+ 1 - 1
src/views/useCenter.vue

@@ -231,7 +231,7 @@ export default {
                   lineHeight: 5,
                 },
                 b: {
-                  color: "rgb(98,137,169)",
+                  color: "rgb(255, 255, 255)",
                   fontSize: 15,
                   height: 40,
                 },