liuqiao 1 년 전
부모
커밋
e217868c21

+ 1 - 0
src/style/style.css

@@ -1558,6 +1558,7 @@ font-size: .0833rem;
   width: 100%;
   height: 1.5365rem;
   padding: .0365rem;
+  background: #666;
  
 }
 .je_left {

+ 44 - 97
src/view/components/InfoDisaster.vue

@@ -300,9 +300,9 @@
                         >
                           <div class="btns" :class="{tabactive: isActive === 4}" @click="changeClass(4)"><span class="spantext">添加</span></div>
                         </div>
-                        <div class="flex_a" @click="wsxiugai()">
+                        <!-- <div class="flex_a" @click="wsxiugai()">
                           <div class="btns" :class="{tabactive: isActive === 5}" @click="changeClass(5)"><span class="spantext">修改</span></div>
-                        </div>
+                        </div> -->
                         <div
                           class="flex_a"
                           @click="wsdelete()
@@ -442,9 +442,9 @@
         </div>
       </el-aside>
     </div>
-    <!--瓦斯的 文件上传 -->
+    <!--  瓦斯的添加-->
     <el-dialog
-      v-model="Gassdialog.wsaddflie"
+      v-model="Gassdialog.wsaddshow"
       width="400"
       align-center
       :modal="false"
@@ -459,53 +459,42 @@
       <template #header="{ titleId, titleClass }">
         <div class="my-header">
           <el-image :src="icon" fit="contain"></el-image>
-          <h4 :id="titleId" :class="titleClass">文件上传</h4>
+          <h4 :id="titleId" :class="titleClass">{{zhtext}}</h4>
         </div>
       </template>
-         <div class=" btncolor tablefocus">
-                      <vue-uploader
-                      ref="gfx"
-                      :projectId="aid"
-                      :solverType="'fem'"
-                      :accept="'.x'"
-                      :upId="'1'"
-                      :gfname="gfname"
-                      :name="'网格文件上传'"
-                      @handfiles="handfiles"
-                      @Gassaddgfid="Gassaddgfid"
-                      style="margin: 20px 0 0 0"
-                    >
-
-                  </vue-uploader>
-                  <vue-uploader
-                      ref="inp"
-                      :projectId="aid"
-                      :solverType="'fem'"
-                      :accept="'.inp'"
-                      :name="'边界文件'"
-                      :upId="'2'"
-                      :gfname="bfname"
-                      @handfiles="handfiles"
-                      @Gassaddbfid="Gassaddbfid"
-                      style="margin: 20px 0 0 0"
-                    >
-                  </vue-uploader>
-                  <!--  @handfiles="handfiles"
-                      @upoK='upDisOk'
-                      style="margin: 20px 0 0 0"
-                      @runstatezt1="runstatezt($event)" -->
-                    </div>
+      <div class="demo-input-suffix firsttitle magintop">
+        <el-form-item label="巷道名称" :label-width="formLabelWidth5">
+          <el-input
+            v-model="selectstr"
+            disabled
+            class="w-50 m-2"
+            placeholder="巷道名称"
+          />
+        </el-form-item>
+        <div class="btn2">
+          <el-button
+            type="primary"
+            @click="
+              fireclick();
+              sdialog.dialogVisiblenode = true;
+            "
+            >选择巷道</el-button
+          >
+        </div>
+        <div class="btn2" style="padding-left: 10px">
+          <el-button type="primary" @click="Dclick()">3D巷道选择</el-button>
+        </div>
+      </div>
       <div class="dialog-footer footer_div l_btn">
         <div class="footerbtn flex1">
           <div class="borderimg">
-            <el-button @click="fileboolen('cancel');">取消</el-button>
+            <el-button @click="Gassdialog.wsaddshow=false">取消</el-button>
           </div>
         </div>
         <div class="footerbtn flex1">
           <div class="borderimg">
             <el-button
-              @click="fileboolen('confirm');
-              "
+             @click="Gassadd();"
             >
               确定
             </el-button>
@@ -1079,6 +1068,7 @@ const changeModel= ()=>  {
   vtkmodel.renderWindow.render();
 }
 let styX=ref({left: ""})
+let vueupshow=ref(false);
 const gfx=ref();
 const inp=ref();
 let gid=ref("");
@@ -1123,6 +1113,7 @@ let bfname=ref("");
 let dialogtrue = ref();
 let zhtext = ref("");
 const Gassdialog=ref({
+  wsaddflie:false,
   wsaddflie:false,
   wsaddarea:false,
   wsdelete:false,
@@ -1546,35 +1537,23 @@ const Gassgetdata=(aidval)=>{
 }
 // 瓦斯爆炸的添加
 const wanewadd=()=>{
-  Gassdialog.value.wsaddflie= true;
+  Gassdialog.value.wsaddshow= true;
+  selectstr.value = "";
+  firepid.value = "";
   zhtext.value = "添加";
- gfname.value="";
- bfname.value="";
- currentrow.value=false;
- tableobj.value={};
 
- gfid.value='';
- bfid.value='';
- gid.value='';
- nextTick(()=>{
-  gfx.value.files=[];
- inp.value.files=[];
- })
+//  currentrow.value=false;
+//  tableobj.value={};
 
 
-}
-const Gassaddgfid=(gf)=>{
-  gfid.value=gf;
-}
-const Gassaddbfid=( bf)=>{
-  bfid.value=bf;
 }
 const Gassadd=()=>{
+  Gassdialog.value.wsaddshow=false;
+  console.log(firepid.value);
   const params = {
     transCode: "D10021",
     gid:gid.value,
-    gfid:gfid.value,
-    bfid:bfid.value,
+    pid:firepid.value,
     aid:aid.value
   };
 console.log(params);
@@ -1593,10 +1572,9 @@ console.log(params);
 }
 // 瓦斯选中一行
 const handlews=(row)=>{
+  console.log(row);
   currentrow.value=true;
   tableobj.value=row;
-  gfname.value= tableobj.value.gfname
-  bfname.value= tableobj.value.bfname
 
 }
 // 瓦斯的修改
@@ -1605,20 +1583,9 @@ const wsxiugai= ()=>{
     ElMessage.error("你还没有选中修改的项目");
   } else {
   zhtext.value = "修改";
-  Gassdialog.value.wsaddflie= true;
-  gid.value=tableobj.value.gid;
-  Gassaddgfid(tableobj.value.gfid);
-  Gassaddbfid(tableobj.value.bfid);
-  nextTick(()=>{
-  gfx.value.files=[];
- inp.value.files=[];
- })
-
-  // console.log( gfx.value);
-  // gfx.value.gfid=tableobj.value.gfid;
- 
-  // inp.value.bfid=tableobj.value.bfid;
-  // aid.value=tableobj.value
+  Gassdialog.value.wsaddshow= true;
+  // selectstr.value = "";
+  // firepid.value = "";
   }
 }
 // 瓦斯删除
@@ -1755,20 +1722,6 @@ const handleblastxg=(data)=>{
   wasi.value.blastdata=data;
   currentrow1.value=true;
 
-}
-//判断文件是否上传
-const fileboolen=(val)=>{
-  let msg=gfx.value.msg;
-  let msg2=inp.value.msg;
-  if(msg=="上传中"||msg2=="上传中"){
-    ElMessage.error("上传中不能关闭");
-  }else{
-    Gassdialog.value.wsaddflie=false;
-    if(val=='confirm'&&msg=="已上传"||val=='confirm'&&msg2=="已上传"){
-    Gassadd();
-  }
-  }
- 
 }
 // 爆炸区域删除
 const wsblastdelete=()=>{
@@ -1934,12 +1887,6 @@ const fundeledata3 = () => {
       ElMessage.error(err.returnMsg);
     });
 };
-//文件上传的方法
-const handfiles = (file) => {
-      files.value = "";
-     files.value = file;
-     console.log( files.value);
-    }
     const runstatezt=(res)=>{
       //  this.disabledok=res;
     }

+ 104 - 6
src/view/components/MenuMine.vue

@@ -36,9 +36,21 @@
                                             <el-table-column prop="id"  label="序号" width="80px" />
                                             <el-table-column prop="code" label="节点编号" />
                                             <el-table-column prop="name" label="节点名称" />
-                                            <el-table-column prop="x" label="X" />
-                                            <el-table-column prop="y" label="Y" />
-                                            <el-table-column prop="z" label="Z" />
+                                            <el-table-column prop="x" label="X" >
+                                                <template #default="scope">
+                                                <span>{{ Number(scope.row.x).toFixed(2)}}</span>
+                                                </template>
+                                        </el-table-column>
+                                            <el-table-column prop="y" label="Y" >
+                                                 <template #default="scope">
+                                                <span>{{ Number(scope.row.y).toFixed(2)}}</span>
+                                                </template>
+                                            </el-table-column>
+                                            <el-table-column prop="z" label="Z">
+                                            <template #default="scope">
+                                                <span>{{ Number(scope.row.z).toFixed(2)}}</span>
+                                                </template>
+                                            </el-table-column>
                                         </el-table>
                                         <div class="demo-pagination-block pagination" style="margin-top: 20px;">
                                             <el-pagination v-model:current-page="currentPage4"
@@ -260,14 +272,42 @@
     <el-form-item label="截面参数5" :label-width="formLabelWidth7">
         <el-input v-model="guandaoobj.sectionPara5" class="w-50 m-2" placeholder="请输入" />
     </el-form-item>
+    <div class=" btncolor tablefocus">
+                      <vue-uploader
+                      ref="gfx"
+                      :solverType="'fem'"
+                      :accept="'.x'"
+                      :upId="'1'"
+                      :gfname="gfname"
+                      :name="'网格文件上传'"
+                      @handfiles="handfiles"
+                      @Gassaddgfid="Gassaddgfid"
+                      style="margin: 20px 0 0 0"
+                    >
+
+                  </vue-uploader>
+                  <vue-uploader
+                      ref="inp"
+                      :solverType="'fem'"
+                      :accept="'.inp'"
+                      :name="'边界文件'"
+                      :upId="'2'"
+                      :gfname="bfname"
+                      @handfiles="handfiles"
+                      @Gassaddbfid="Gassaddbfid"
+                      style="margin: 20px 0 0 0"
+                    >
+                  </vue-uploader>
+        
+                    </div>
 </div>
 <div class="dialog-footer footer_div l_btn">
     <div class="footerbtn flex1">
-        <div class="borderimg"><el-button @click="sdialog.gdadddialog = false">取消</el-button>
+        <div class="borderimg"><el-button @click="fileboolen('cancel');">取消</el-button>
         </div>
     </div>
     <div class="footerbtn flex1">
-        <div class="borderimg"><el-button @click="guandaoapi();">
+        <div class="borderimg"><el-button @click="fileboolen('confirm');">
                 确定
             </el-button></div>
     </div>
@@ -319,6 +359,19 @@
   import y from "@/assets/img/y.png";
   import { timestampToTime } from '@/js/lindex.js';
   import NodeSelect from "./NodeLine.vue";
+  import vueUploader from "./fileuploads.vue";
+//   import Menufile from "./MenuFile.vue"
+//   import upFile from "./upfile.vue";
+// 文件上传参数
+const gfx=ref();
+const inp=ref();
+let gid=ref("");
+let wsid=ref("");
+let gfid=ref("");
+let bfid=ref("");
+let gfname=ref("");
+let bfname=ref("");
+// 
   let nodeselect = ref();
   let dialogVisible = ref(false);
   let tableData2 = ref([]);
@@ -495,6 +548,8 @@
   const handleDelete2 = (val) => {
       currentrow1.value = true;
       gddata.value = val;
+      gfname.value= gddata.value.gfname
+    bfname.value= gddata.value.bfname
   
   }
   //node删除
@@ -591,6 +646,13 @@
       guandaoobj.value.sectionPara3 = '';
       guandaoobj.value.sectionPara4 = '';
       guandaoobj.value.sectionPara5 = '';
+      gfname.value="";
+     bfname.value="";
+     nextTick(()=>{
+    gfx.value.files=[];
+    inp.value.files=[];
+    })
+
   }
   // 管道增加修改的接口
   const guandaoapi = () => {
@@ -609,6 +671,8 @@
           sectionPara3: guandaoobj.value.sectionPara3,
           sectionPara4: guandaoobj.value.sectionPara4,
           sectionPara5: guandaoobj.value.sectionPara5,
+          gfid:gfid.value,
+         bfid:bfid.value,
       }
       request(params)
           .then((res) => {
@@ -674,10 +738,44 @@
           guandaoobj.value.sectionPara3 = gddata.value.sectionPara3;
           guandaoobj.value.sectionPara4 = gddata.value.sectionPara4;
           guandaoobj.value.sectionPara5 = gddata.value.sectionPara5;;
+        //   guandaoobj.value.sectionPara4 = gddata.value.sectionPara4;
+        //   guandaoobj.value.sectionPara5 = gddata.value.sectionPara5;;
+          Gassaddgfid( gddata.value.gfid);
+         Gassaddbfid( gddata.value.bfid);
+            nextTick(()=>{
+            gfx.value.files=[];
+            inp.value.files=[];
+            })
+
       }
   
   }
-  
+//  //文件上传的方法
+const handfiles = (file) => {
+      files.value = "";
+     files.value = file;
+     console.log( files.value);
+    }
+    const Gassaddgfid=(gf)=>{
+        gfid.value=gf;
+}
+const Gassaddbfid=( bf)=>{
+        bfid.value=bf;
+}
+//判断文件是否上传
+const fileboolen=(val)=>{
+  let msg=gfx.value.msg;
+  let msg2=inp.value.msg;
+  if(msg=="上传中"||msg2=="上传中"){
+    ElMessage.error("上传中不能关闭");
+  }else{
+    sdialog.value.gdadddialog=false;
+    if(val=='confirm'&&msg=="已上传"||val=='confirm'&&msg2=="已上传"){
+     guandaoapi();
+  }
+  }
+ 
+}
   defineExpose({ dialogVisible, });
   </script>
   

+ 10 - 5
src/view/index/first-left.vue

@@ -59,9 +59,10 @@
                           :label="header.label"
                        
                           >
-                          <!-- <template #default="scope">
-                        <div>{{ scope.row[header.prop] }}</div><br><div>{{ scope.row[header.label] }}</div> 
-                      </template> -->
+                          <template #default="scope">
+                          <span>{{ Number(scope.row[header.prop]).toFixed(2)}}</span>
+                          </template>
+                        
                         </el-table-column>
                       
                         <!-- <el-table-column prop="date" label="监测点"  />
@@ -146,7 +147,7 @@
     </div>
 
   </div>
-  <htmldialog ref="htmldialogref" :isshow='isshow' @funidshow="funidshow"/>
+  <htmldialog ref="htmldialogref" :classradio="props.classradio" :isshow='isshow' @funidshow="funidshow"/>
 </template>
 <script setup>
 import { ref, onMounted, reactive, } from "vue";
@@ -376,6 +377,7 @@ await request(params)
 async  function getMonitor() {
   let cocode;
   let name;
+  let v=1;
   const params = {
     transCode: "D10018",
     aid: aid.value,
@@ -465,7 +467,10 @@ async  function getMonitor() {
             res.vals[j].state=3;
             warning.push(res.vals[j].v1);
           }
-
+          
+        //  let value="v"+Number(v+j);
+        //   console.log(value)
+        //   res.vals[j].value=Number(res.vals[j].value).toFixed(2); 
         }
        warnin2.value=warning2.length;
        warnin.value=warning.length;

+ 39 - 4
src/view/index/htmldialog.vue

@@ -22,7 +22,7 @@
         </div>
       </template>
       <div class="htmlclass_content" v-for="(item, i) in msgval" :key="i">
-        <span class="htmlclass_txte" style="width: 150px; display: inline-block">{{
+        <span class="htmlclass_txte" style="width: 120px; display: inline-block">{{
           item.name
         }}</span>
         <span class="htmlclass_txte">{{ item.value }}</span>
@@ -77,7 +77,7 @@
       </template>
       <div>
         <!-- <iframe :src="ifr" width="100%" height="630px" frameborder="0"></iframe> -->
-        <homeindex :water="water" :neiw="neiw"/>
+        <homeindex :water="water" :fire="fire" :neiw="neiw" :classradio="props.classradio"/>
       </div>
     </el-dialog>
 </template>
@@ -95,6 +95,7 @@ let buntext = ref("3D选点");
 let htmldialogshow = ref(false);
 let msgval = ref([]);
 let water = ref();
+let fire = ref();
 let dialogRef=ref()
 let iframeshow=ref(false);
 let ifr=ref();
@@ -106,6 +107,10 @@ const props = defineProps({
     type: Boolean,
     // required: true,
   },
+  classradio: {
+  type: String,
+  // default: '',activeIndex
+},
 });
 
 let jghrfe=ref();
@@ -113,11 +118,39 @@ let jghrfe2=ref();
 let url;
 const getdatahtml = (val) => {
   console.log(val);
-  water.value = Number(val[0].value) / 4;
-  console.log(water.value);
+  const obj2 = { 
+      "Temperature": "温度(℃)", 
+      "Pressure": "压强(Pa)",
+      'CO':'一氧化碳(ppm)',
+      "CO2": "二氧化碳(%)", 
+      "HCL": "氯化氢((ppm))",
+      'NO2':'二氧化氮(ppm)',
+      "SO2": "二氧化硫(ppm)", 
+      "H2S": "硫化氢(%)",
+      "Flow":"流量(m³/s)",
+      "Height":"高(m)"
+      };
+  if(props.classradio=='Water'){
+    water.value = Number(val[0].value) / 4;
+    val.map((item) => {
+          item.name=obj2[item.name]
+        item.value = item.value.toFixed(2);
+    })
   jghrfe=url+"static/index.html?camera=1&water="+ water.value;
   jghrfe2=url+"static/index.html?camera=0&water="+ water.value;
   msgval.value = val;
+  }else if(props.classradio=='Fire'){
+          val.map((item) => {
+          item.name=obj2[item.name]
+        item.value = item.value.toFixed(2);
+    })
+
+    fire.value=Number(val[0].value);
+    msgval.value = val;  
+  }else{
+
+  }
+
 };
 const tiaozhuan = (val) => {
   neiw.value=val;
@@ -133,6 +166,7 @@ const tiaozhuan = (val) => {
 const closeDialog = () => {
   htmldialogshow.value = false;
   emit("funidshow", false);
+
 };
 onMounted(() => {
   url =window.location.href.replace("#/","");
@@ -142,6 +176,7 @@ onMounted(() => {
 watch(
   () => [props.isshow],
   (newVal, oldVal) => {
+    console.log(11111)
     if (newVal[0] == true) {
       htmldialogshow.value = true;
 

+ 3 - 0
src/view/result/Wdisaster.vue

@@ -25,6 +25,9 @@
                           :key="index"
                           :prop="header.prop"
                           :label="header.label" >
+                          <template #default="scope">
+                          <span>{{ Number(scope.row[header.prop]).toFixed(2)}}</span>
+                          </template>
                         </el-table-column>
                         <el-table-column   prop="state"  label="预警" >
                           <template #default="scope">

+ 3 - 0
src/view/result/Wdisaster2.vue

@@ -25,6 +25,9 @@
                           :key="index"
                           :prop="header.prop"
                           :label="header.label">
+                          <template #default="scope">
+                          <span>{{ Number(scope.row[header.prop]).toFixed(2)}}</span>
+                          </template>
                         </el-table-column>
                         <el-table-column   prop="state"  label="预警" >
                           <template #default="scope">

+ 24 - 4
src/views/home/index.vue

@@ -23,10 +23,18 @@ const props = defineProps({
     type: Number,
     // required: true,
   },
+  fire: {
+    type: Number,
+    // required: true,
+  },
   neiw: {
     type: String,
     // required: true,
   },
+  classradio: {
+    type: String,
+    // required: true,
+  },
 });
 onMounted(() => {  
       window.addEventListener("load", function () {
@@ -145,14 +153,26 @@ function changeCamera(lv){
 }
 
 watch(
-  () => [props.neiw,props.water],
+  () => [props.neiw,props.water,props.fire],
   (newVal, oldVal) => {
-    changeCamera(newVal[0])
-    changeWater(newVal[1])
-    console.log(newVal[0],newVal[1])
+    if(props.classradio=='Water'){
+      changeCamera(newVal[0])
+      changeWater(newVal[1])
+      console.log(11121+"水灾")
+      console.log(newVal[0],newVal[1])
+    }else if(props.classradio=='Fire'){
+      changeCamera(newVal[0])
+      changeFire(newVal[2])
+    }else{
+
+    }
+
+    
+
   },
   { deep: true }
 );
+
 </script>
 
 <style scoped>