liuqiao 1 gadu atpakaļ
vecāks
revīzija
0e78ed57f3

BIN
src/assets/img/Group1241.png


+ 22 - 3
src/control/vtkModel.js

@@ -49,7 +49,9 @@ export class VtkModel {
     this.isSelectPipe = false;
     //管道节点选择对象
     this.selectObj = null;
-
+//X,Y
+      this.epageX=null;
+      this.epageY=null;
     //结果选择的点数据
     this.selectJgPointId = 0;
     this.validNodes = [];//节点数据
@@ -197,8 +199,15 @@ export class VtkModel {
     // this.hardwareSelector.setFieldAssociation(FieldAssociations.FIELD_ASSOCIATION_POINTS);
     this.hardwareSelector.setFieldAssociation(FieldAssociations.FIELD_ASSOCIATION_CELLS);
 
-    document.addEventListener("mousemove", throttleMouseHandler);
-
+    // document.addEventListener("mousemove", throttleMouseHandler);
+   
+      document.addEventListener('contextmenu', throttleMouseHandler,function(e){
+        e.preventDefault();
+        // throttleMouseHandler
+      })
+ 
+ 
+   
 
 
     // //箭头
@@ -502,11 +511,13 @@ export class VtkModel {
     this.isSelectNode = true;
     this.isSelectPipe = false;
     this.modelShow();
+    document.addEventListener("mousemove", throttleMouseHandler);
     this.renderWindow.render();
   }
   selectPipes() {
     this.isSelectNode = false;
     this.isSelectPipe = true;
+     document.addEventListener("mousemove", throttleMouseHandler);
     this.modelShow();
     this.renderWindow.render();
   }
@@ -546,6 +557,7 @@ export class VtkModel {
     this.wayClearShow();
     this.modelClearShow();
     this.isJg = true; //显示结果
+    document.removeEventListener("mousemove", throttleMouseHandler);
   }
   clearJgAddMode() {
     this.renderer.removeActor(this.scalarBarActor);
@@ -639,10 +651,16 @@ function pickOnMouseEvent(event) {
 function eventToWindowXY(event) {
   // We know we are full screen => window.innerXXX
   // Otherwise we can use pixel device ratio or else...
+  var left = event.pageX ;
+  var top = event.pageY ;
+  vtkmodel.epageX=left;
+  vtkmodel.epageY=top;
   const { clientX, clientY } = event;
+
   const [width, height] = vtkmodel.apiSpecificRenderWindow.getSize();
   const x = Math.round((width * clientX) / window.innerWidth);
   const y = Math.round(height * (1 - clientY / window.innerHeight)); // Need to flip Y
+ // console.log(x,y)
   return [x, y];
 
 
@@ -707,6 +725,7 @@ function processSelections(selections) {
         );
         const scalarDataArray = input.getPointData().getScalars().getData();
         console.log(scalarDataArray[pointIds[0]]);//节点标量数据
+        
         // pointIds.forEach(pointId=>{
         //   console.log(input.getPointData().getScalars().getName());
         //   console.log(scalarDataArray[pointId]);//节点标量数据

+ 14 - 3
src/style/style.css

@@ -1717,19 +1717,30 @@ border-radius: 0px 0px 0px 0px; */
   font-size: 13px;
   font-weight: bold;
   text-align: left;
-  margin-top: 20px;
 }
 .telet{
   color: #fff !important;
   padding: 14px 0 0 20px;
-  font-size: 16px;
+  font-size: 13px;
   font-weight: bold;
   text-align: left;
-
+  margin-top: -10px;
 }
 .htmlclass .tiaozhaun{
   color: #fff !important;
 }
 a{
   color: #fff  !important;
+}
+.log_cla22{
+  /* height: 200px;  */
+  background-color: rgba(0, 102, 201, 0.5);
+  border-radius: 10px;
+ 
+}
+.log_cla22 .footerbtn span{
+  font-size: 12px;
+}
+.no-shadow .el-dialog__wrapper {
+  /* box-shadow: none; */
 }

+ 1 - 0
src/view/InfoDialoges.vue

@@ -829,6 +829,7 @@ const rewu=()=>{
         .catch((err) => {
            // ElMessage.error(err.returnMsg)
            //state.value='0';
+           sessionStorage.setItem("state",'0');
            emit('resulysucss');
            addinitial();
         })

+ 1 - 1
src/view/components/InfoDisaster.vue

@@ -932,7 +932,7 @@
               v-model="Disastersource.timeline"
               class="w-50 m-2"
               placeholder="请输入时间秒"
-              oninput ="value=value.replace(/^0|[^0-9]/g,'')" 
+              oninput ="value=value.replace(/^|[^0-9]/g,'')" 
             />
           </el-form-item>
           <el-form-item label="突水量(m³/s)" :label-width="formLabelWidth6">

+ 1 - 0
src/view/components/SetNode.vue

@@ -80,6 +80,7 @@ const textclick=()=>{
 }
 const closeDialog=()=>{
   state.value=sessionStorage.getItem("state");
+  console.log( state.value);
   if(state.value=='1'){
     vtkmodel.clearModeAddJg();
   }else{

+ 24 - 6
src/view/index/first-left.vue

@@ -86,7 +86,7 @@
             <div id="line" style="width: 1.526rem;height:1.03rem;"></div></div>
             <div class="zongji"  v-if="props.classradio=='Water'" >
                 <div class="zongjili img3">{{ heightnum }}<span>m</span></div>
-                <div class="zongjili img4"><p class="jcshijian">2024-03-20</p><p>14:23:00</p></div>
+                <div class="zongjili img4"><p class="jcshijian">2024-03-20</p><p>{{ maxtime }}</p></div>
               </div>
             </div>
             </div>
@@ -181,6 +181,7 @@ let currentrow1 = ref(false);
 let steptimes = ref([]);
 let series = ref([]);
 let heightnum=ref("0");
+let maxtime=ref();
 let jcname=ref("监测点");
 let danwei=ref();
 let state=ref();
@@ -192,6 +193,7 @@ let selelist=ref();
 let jgSelectPointId=ref(0);
 let selobj=ref([]);
 let isshow=ref(false);
+
 const dynamicHeaders = ref([
 
 ]);
@@ -487,6 +489,15 @@ function sliderchange(val) {
 const tableRowClassName=()=>{
 
 }
+function firstOccurrenceOfMax(arr) {
+  console.log(arr);
+          if (arr.length === 0) return -1; // 空数组返回-1
+          let max = Math.max(...arr); // 找出最大值
+          console.log(max)
+          console.log(2222)
+          console.log(arr.indexOf(max));
+          return arr.indexOf(max); // 找出最大值首次出现的索引
+      }
 // 随机颜色
 const randomColor=()=>{
             var letters = '0123456789ABCDEF';
@@ -529,11 +540,12 @@ const handleDelete=(event)=>{
           series.value.push({
          name:res.rows[i].code,
          type: 'line',
-      showSymbol: false,
-      smooth: true,
-      data:arr,//res.rows[i].data
+         showSymbol: false,
+          smooth: true,
+          data:arr,//res.rows[i].data
           })
        }
+      //  firstOccurrenceOfMax(series.value[0].data)
         const max = Math.max(...series.value[0].data);
         heightnum.value=max;
       }
@@ -546,8 +558,10 @@ const handleDelete=(event)=>{
 const funidshow=(val)=>{
   isshow.value=val;
 }
+
 // 获取点的数据
-function jgSelect1() {
+function jgSelect1(event) {
+ // console.log(event.pageX);
   timing2.value = setInterval(() => {
     //定时器
 
@@ -555,6 +569,9 @@ function jgSelect1() {
     // console.log("pointid",vtkmodel.selectJgPointId);//选择的点数据
       //获取点对应的Scalar
       isshow.value=true;
+      htmldialogref.value.X=Number(vtkmodel.epageX)+'px';
+      htmldialogref.value.Y=Number(vtkmodel.epageY)+'px';
+      
        jgSelectPointId.value = vtkmodel.selectJgPointId;
        
       selobj.value = [];
@@ -565,6 +582,7 @@ function jgSelect1() {
         });
       }
       console.log(selobj.value);
+      // console.log(window.style.left )
      // msgval.value = selobj.value;
      htmldialogref.value.getdatahtml(selobj.value);
  }
@@ -732,7 +750,7 @@ if( newVal>=endtime.value){
   },
   { deep: true }
 ); //深度监视
-defineExpose({firstshow,indexinit});
+defineExpose({firstshow,isshow,indexinit});
 </script>
 <style lang="scss" scoped>
 .el-slider {

+ 30 - 6
src/view/index/htmldialog.vue

@@ -2,17 +2,19 @@
   <!-- 加载html界面 -->
   <div v-show="htmldialogshow" class="htmlclass">
     <el-dialog
-      width="300px"
+      width="200px"
       v-model="htmldialogshow"
       :modal="false"
+      :style="{ left:X}"
+      ref="dialogRef"
+      :top="Y"
+      custom-class="no-shadow"
       :close-on-click-modal="false"
       :append-to-body="true"
       draggable
-      :fullscreen="false"
-      :modal-append-to-body="false"
       modal-class="summary-dlg"
       @close="closeDialog"
-      class="right log_class bgcolor tianjia asideg asidegbg leftbgimg"
+      class=" shubiao log_cla22 tianjia asideg asidegbg leftbgimg1"
     >
       <template #header="{ titleId, titleClass }">
         <div class="my-header">
@@ -40,6 +42,7 @@
             >
           </div>
         </div> -->
+       
         <div class="footerbtn flex1">
           <div class="borderimg">
             <el-button @click="tiaozhuan('1')"> 内部查看</el-button
@@ -53,6 +56,7 @@
           </div>
         </div>
       </div>
+     
     </el-dialog>
   </div>
   <el-dialog
@@ -83,13 +87,17 @@ import { request, uploadFile } from "@/utils/request";
 import { ElMessage, ElButton, ElDialog, ElSelect } from "element-plus";
 import { vtkmodel } from "@/control/vtkModel.js";
 import { createFireControl } from "@/control/fireControl.js";
+import bt2 from "@/assets/img/Group 1241.png"
 let emit = defineEmits(["funidshow"]);
 let buntext = ref("3D选点");
 let htmldialogshow = ref(false);
 let msgval = ref([]);
 let water = ref();
+let dialogRef=ref()
 let iframeshow=ref(false);
 let ifr=ref();
+let X=ref(null);
+let Y=ref(null);
 const props = defineProps({
   isshow: {
     type: Boolean,
@@ -125,17 +133,33 @@ onMounted(() => {
   url =window.location.href.replace("#/","");
   // arrowtimeStart();
 });
+
 watch(
   () => [props.isshow],
   (newVal, oldVal) => {
     if (newVal[0] == true) {
       htmldialogshow.value = true;
+
     } else {
       htmldialogshow.value = false;
     }
   },
   { deep: true }
 ); //深度监视
-defineExpose({ getdatahtml });
+defineExpose({ getdatahtml,X,Y});
 </script>
-<style lang="scss" scoped></style>
+<style >
+.shubiao{
+  width: 219px;
+  /* background: linear-gradient( 270deg, rgba(201,0,0,0) 0%, #CCDDFF 0%, #90B6FF 38%, #105CF0 65%, #105CF0 100%);
+border-radius: 0px 0px 0px 0px;
+border: 1px solid;
+border-image: linear-gradient(324deg, rgba(16, 92, 240, 1), rgba(255, 252, 252, 1)) 1 1; */
+background:rgba(0, 0, 0, 0.5);
+  /* background-image: url(../../assets/img/Group1241.png) !important;
+   background-position: center;
+background-size: 100% 100%;
+background-repeat: no-repeat;
+padding-bottom: 80px; */
+}
+</style>

+ 5 - 0
src/view/index/index.vue

@@ -59,11 +59,13 @@ const changeColor=(index)=>{
     if(btnindex.value==0){
         emit("hiadden", 1);
     }else if(btnindex.value==1){
+      firstleftref.value.isshow=false;
       emit("hiadden", 5);
       towrightref.value.huoaid(props.aid);
    
     }
     else{
+      firstleftref.value.isshow=false;
         emit("hiadden", 5);
     }
    
@@ -76,6 +78,7 @@ const firsrdata= ()=>{
 // 
 const firstshowfuc=()=>{
   firstleftref.value.firstshow=false;
+  firstleftref.value.isshow=false;
 }
 const indexchange=(key)=>{
   if(key==0){
@@ -100,6 +103,8 @@ const hiddfalse=()=>{
     firstleftref.value.firstshow=false;
     towrightref.value.towshow=false;
     btnlistshow.value=false;
+    firstleftref.value.isshow=false;
+
 }
 const showhadend=()=>{
     btnlistshow.value=true;