liuqiao 1 an în urmă
părinte
comite
cf7d12aa0f

+ 25 - 1
src/style/style.css

@@ -15,7 +15,22 @@ body,html{
     border-bottom: 1px solid rgba(255, 255, 255, 0.2);
     box-sizing: border-box;
   }
-  
+  .el-overlay-dialog {
+    pointer-events: none;
+}
+
+.summary-dlg {
+    pointer-events: none;
+}
+
+.el-dialog__wrapper,
+.el-overlay-dialog {
+    pointer-events: none;
+}
+
+.el-dialog {
+    pointer-events: auto;
+}
   .L_aside .iconimg {
     width: 37px;
     height: 36px;
@@ -1642,6 +1657,15 @@ font-size: .0677rem;
   right: 15px;
   top: 70px;
   z-index: 207;
+  height: 80vh;
+  overflow: auto;
+}
+.hie{
+  overflow: auto;
+    position: relative;
+    right: 0;
+    z-index: 224;
+
 }
 .el-table__body tr.current-row>td.el-table__cell{
 background-color: #F9A466  !important;

+ 1 - 5
src/view/components/MenuCheck.vue

@@ -46,11 +46,7 @@
                                         修改
                                     </el-button></div>
                             </div>
-                            <div class="footerbtn flex1">
-                                <div class="borderimg"><el-button @click="sendialogVisible = false;currentrow=false">
-                                        确定
-                                    </el-button></div>
-                            </div>
+                          
                         </div>
                     </div>
                 </div>

+ 2 - 12
src/view/components/MenuMine.vue

@@ -63,12 +63,7 @@
                                                 修改
                                             </el-button></div>
                                     </div>
-                                    <div class="footerbtn flex1">
-                                        <div class="borderimg"><el-button
-                                                @click="dialogVisible = false; currentrow = false;">
-                                                确认
-                                            </el-button></div>
-                                    </div>
+                                   
                                 </div>
 
                             </div>
@@ -122,12 +117,7 @@
                                                 修改
                                             </el-button></div>
                                     </div>
-                                    <div class="footerbtn flex1">
-                                        <div class="borderimg"><el-button
-                                                @click="dialogVisible = false; currentrow1 = false">
-                                                确认
-                                            </el-button></div>
-                                    </div>
+                                   
                                 </div>
 
                             </div>

+ 1 - 5
src/view/components/MenuPhysics.vue

@@ -46,11 +46,7 @@
                                         修改
                                     </el-button></div>
                             </div>
-                            <div class="footerbtn flex1">
-                                <div class="borderimg"><el-button @click="sendialogVisible = false;currentrow=false;">
-                                        确认
-                                    </el-button></div>
-                            </div>
+                           
                         </div>
                     </div>
                 </div>

+ 1 - 5
src/view/components/MenuSensor.vue

@@ -50,11 +50,7 @@
                                         修改
                                     </el-button></div>
                             </div>
-                            <div class="footerbtn flex1">
-                                <div class="borderimg"><el-button @click="sendialogVisible = false;currentrow=false;">
-                                        确认
-                                    </el-button></div>
-                            </div>
+                           
                         </div>
                     </div>
                 </div>

+ 254 - 52
src/view/components/Menudisaster.vue

@@ -1,5 +1,5 @@
 <template>
-    <!--矿井信息-->
+    <!-- 报警设置-->
     <div class="l_Dialog bou tablebk">
       <div class="common-layout" style="margin: 0" >
         <el-aside
@@ -21,9 +21,9 @@
                       <div class="xian btncolor tablefocus bmar">
                        <!--内容 -->
             <div class="classtab">
-                <el-tabs v-model="resultactiveName" type="card" class="demo-tabs" 
+                <el-tabs v-model="resultactiveName" type="card" class="demo-tabs" @tab-click="handleClick" 
                     :stretch="true">
-                    <el-tab-pane label="突水" name="first">
+                    <el-tab-pane label="突水" name="Water">
                         <div class="asides_content">
                             <div class="jc_content tablecolor jc_content">
 
@@ -34,49 +34,104 @@
                                             :highlight-current-row="currentrow"
                                             @row-click="handleDelete($event)"
                                             :header-cell-style="{ 'background': 'rgba(13, 22, 57,0) ' }">
-                                            <el-table-column   prop="state"  label="预警" >
+                                            <el-table-column   prop="grade"  label="预警" >
                                             <template #default="scope">
-                                                <el-image v-if="scope.row.state=='0'" style="height: 100%" :src="bt1" fit="contain"></el-image>
-                                                <el-image v-if="scope.row.state=='1'" style="height: 100%" :src="bt2" fit="contain"></el-image>
-                                                <el-image v-if="scope.row.state=='2'"  style="height: 100%" :src="bt3" fit="contain"></el-image>
-                                                <el-image v-if="scope.row.state=='3'" style="height: 100%" :src="bt4" fit="contain"></el-image>
+                                                <el-image v-if="scope.row.grade=='1'" style="height: 100%" :src="bt1" fit="contain"></el-image>
+                                                <el-image v-if="scope.row.grade=='2'" style="height: 100%" :src="bt2" fit="contain"></el-image>
+                                                <el-image v-if="scope.row.grade=='3'"  style="height: 100%" :src="bt3" fit="contain"></el-image>
+                                                <el-image v-if="scope.row.grade=='4'" style="height: 100%" :src="bt4" fit="contain"></el-image>
                                             </template>
                                             </el-table-column>
-                                            <el-table-column prop="name" label="突水量" />
+                                            <el-table-column prop="height" label="水位" />
                                         </el-table>
                                     </div>
                                 </div>
                                 <div class="dialog-footer footer_div l_btn">
                                     <div class="footerbtn flex1">
-                                        <div class="borderimg"><el-button @click="addsg();">添加</el-button></div>
-                                    </div>
-                                    <div class="footerbtn flex1">
-                                        <div class="borderimg"><el-button @click="nodedelete()">
-                                                删除
-                                            </el-button></div>
-                                    </div>
-                                    <div class="footerbtn flex1">
-                                        <div class="borderimg"><el-button @click="accident()">
+                                        <div class="borderimg"><el-button @click="Eidedes()">
                                                 修改
                                             </el-button></div>
                                     </div>
+                                 
+                                </div>
+
+                            </div>
+                        </div>
+                    </el-tab-pane>
+                    <el-tab-pane label="火灾" name="Fire">
+                      <div class="asides_content">
+                            <div class="jc_content tablecolor jc_content">
+
+                                <div class="font12 my_content1">
+                                    <div class=" btncolor tablefocus bmar">
+
+                                        <el-table :data="tableData" style="width:480px" :max-height="tableHeight"
+                                            :highlight-current-row="currentrow"
+                                            @row-click="handleDelete($event)"
+                                            :header-cell-style="{ 'background': 'rgba(13, 22, 57,0) ' }">
+                                            <el-table-column   prop="grade"  label="预警" >
+                                            <template #default="scope">
+                                                <el-image v-if="scope.row.grade=='1'" style="height: 100%" :src="bt1" fit="contain"></el-image>
+                                                <el-image v-if="scope.row.grade=='2'" style="height: 100%" :src="bt2" fit="contain"></el-image>
+                                                <el-image v-if="scope.row.grade=='3'"  style="height: 100%" :src="bt3" fit="contain"></el-image>
+                                                <el-image v-if="scope.row.grade=='4'" style="height: 100%" :src="bt4" fit="contain"></el-image>
+                                            </template>
+                                            </el-table-column>
+                                            <el-table-column prop="temperature" label="二氧化碳浓度" />
+                                            <el-table-column prop="co2" label="co2" />
+                                            <el-table-column prop="so2" label="so2" />
+                                        </el-table>
+                                    </div>
+                                </div>
+                                <div class="dialog-footer footer_div l_btn">
                                     <div class="footerbtn flex1">
-                                        <div class="borderimg"><el-button
-                                                @click="dialogVisible = false; currentrow = false;">
-                                                确认
+                                        <div class="borderimg"><el-button @click="Eidedes()">
+                                                修改
                                             </el-button></div>
                                     </div>
+                                 
                                 </div>
 
                             </div>
                         </div>
-                    </el-tab-pane>
-                    <el-tab-pane label="火灾" name="second">
-                      
 
                     </el-tab-pane>
-                    <el-tab-pane label="瓦斯" name="third">
+                    <el-tab-pane label="瓦斯" name="Gass">
+                      <div class="asides_content">
+                            <div class="jc_content tablecolor jc_content">
+
+                                <div class="font12 my_content1">
+                                    <div class=" btncolor tablefocus bmar">
 
+                                        <el-table :data="tableData" style="width:480px" :max-height="tableHeight"
+                                            :highlight-current-row="currentrow"
+                                            @row-click="handleDelete($event)"
+                                            :header-cell-style="{ 'background': 'rgba(13, 22, 57,0) ' }">
+                                            <el-table-column   prop="grade"  label="预警" >
+                                            <template #default="scope">
+                                                <el-image v-if="scope.row.grade=='1'" style="height: 100%" :src="bt1" fit="contain"></el-image>
+                                                <el-image v-if="scope.row.grade=='2'" style="height: 100%" :src="bt2" fit="contain"></el-image>
+                                                <el-image v-if="scope.row.grade=='3'"  style="height: 100%" :src="bt3" fit="contain"></el-image>
+                                                <el-image v-if="scope.row.grade=='4'" style="height: 100%" :src="bt4" fit="contain"></el-image>
+                                            </template>
+                                            </el-table-column>
+                                            <el-table-column prop="temperature" label="二氧化碳浓度" />
+                                            <el-table-column prop="co2" label="co2" />
+                                            <el-table-column prop="ch4" label="ch4" />
+                                        </el-table>
+                                    </div>
+                                </div>
+                                <div class="dialog-footer footer_div l_btn">
+                                    <div class="footerbtn flex1">
+                                        <div class="borderimg"><el-button @click="Eidedes()">
+                                                修改
+                                            </el-button></div>
+                                    </div>
+                                 
+                                </div>
+
+                            </div>
+                        </div>
                     </el-tab-pane>
                    
                 </el-tabs>
@@ -92,46 +147,193 @@
         </el-aside>
       </div>
     </div>
-  
+  <!-- 修改 -->
+  <el-dialog v-model="xiugVisible" width="400" class="dialog_class bgcolor tianjia  foter_l tianjia">
+ 
+ <template #header="{ titleId, titleClass }">
+     <div class="my-header ">
+         <el-image :src="icon" fit="contain"></el-image>
+         <h4 :id="titleId" :class="titleClass">{{ desw.add }}</h4>
+     </div>
+ </template>
+ <el-form class="demo-form-inline" :inline="true" :model="desw">
+  <!-- <el-form-item label="等级:" v-if="props.classradio == 'Fire'">
+                <el-select
+                  v-model="des.region"
+                  @change="regionchange($event)"
+                  placeholder="请选择"
+                >
+                  <el-option
+                    v-for="item in strResultFormatlist"
+                    :key="item.id"
+                    :label="item.name"
+                    :value="item.name"
+                  ></el-option>
+                </el-select>
+              </el-form-item> -->
+        <div v-if="resultactiveName=='Water'">
+     <el-form-item label="水位" :label-width="formLabelWidth6">
+         <el-input v-model="desw.height" maxlength="15" class="w-50 m-2" placeholder="请输入" />
+     </el-form-item>
+    </div>
+    <div v-if="resultactiveName=='Fire'||resultactiveName=='Gass'">
+      <el-form-item label="二氧化碳浓度" :label-width="formLabelWidth6">
+         <el-input v-model="desw.temperature" maxlength="15" class="w-50 m-2" placeholder="请输入" />
+     </el-form-item>
+     <el-form-item label="co2" :label-width="formLabelWidth6">
+         <el-input v-model="desw.co2" maxlength="15" class="w-50 m-2" placeholder="请输入" />
+     </el-form-item>
+     <el-form-item label="so2" :label-width="formLabelWidth6" v-if="resultactiveName=='Fire'">
+         <el-input v-model="desw.so2" maxlength="15" class="w-50 m-2" placeholder="请输入" />
+     </el-form-item>
+     <el-form-item label="ch4" :label-width="formLabelWidth6" v-if="resultactiveName=='Gass'">
+         <el-input v-model="desw.ch4" maxlength="15" class="w-50 m-2" placeholder="请输入" />
+     </el-form-item>
+    </div>
+ </el-form>
+ <div class="dialog-footer footer_div l_btn">
+     <div class="footerbtn flex1">
+         <div class="borderimg"><el-button @click="xiugVisible = false">取消</el-button></div>
+     </div>
+     <div class="footerbtn flex1">
+         <div class="borderimg"><el-button @click="Eiedre(); xiugVisible = false">
+                 确定
+             </el-button></div>
+     </div>
+ </div>
+</el-dialog>
   </template>
   <script setup>
   import { computed, ref, onMounted, reactive, toRef } from "vue";
   import { request, uploadFile } from "@/utils/request";
   import { ElMessage, ElButton, ElDialog, ElSelect } from 'element-plus'
   import icon from "@/assets/img/icon.png";
-  import bt1 from "@/assets/img/Group1376.png"
-import bt2 from "@/assets/img/Group1377.png"
+
+import bt1 from "@/assets/img/Group1377.png"
+import bt2 from "@/assets/img/Group1396.png"
 import bt3 from "@/assets/img/Group1395.png"
-import bt4 from "@/assets/img/Group1396.png"
+import bt4 from "@/assets/img/Group1376.png"
+
   import { timestampToTime } from '@/js/lindex.js';
   import NodeSelect from "./NodeLine.vue";
   let dialogVisible=ref(false);
-  const resultactiveName = ref("first");
+  let formLabelWidth6=ref(120)
+  let xiugVisible=ref(false);
+  const resultactiveName = ref("Water");
   let coolactiveName1 = ref(["1",'2']);
+  let desw=ref({
+    region:'',
+    height:'',
+    add:'',
+    temperature:'',
+    co2:'',
+    so2:'',
+    ch4:""
+  })
+let waterobj=ref({
+  id:null,
+  height:null,
+ temperature:null,
+  co2:null,
+  ch4:null,
+  so2:null,
+});
+let fireobj=ref();
+let gessobj=ref();
   let tableHeight = ref(280);
   let currentrow=ref(false)
-  const tableData = [
-  {
-    date: '检测点',
-    name: '1',
-    state: '1',
-    city: 'Los Angeles',
-    address: 'No. 189, Grove St, Los Angeles',
-    zip: 'CA 90036',
-    tag: 'Home',
-  },
-  {
-    date: '检测点',
-    name: '1',
-    state: '2',
-    city: 'Los Angeles',
-    address: 'No. 189, Grove St, Los Angeles',
-    zip: 'CA 90036',
-    tag: 'Office',
-  },
-
-
-]
+  const tableData =ref([]);
+  onMounted(() => {
+    waterobj.value={};
+    wgetdisaster();
+
+});
+const handleClick = (Tab, val) => {
+  waterobj.value={};
+  currentrow.value=false;
+    resultactiveName.value=Tab.props.name;
+    wgetdisaster();
+   // getdisaster();
+  }
+  const wgetdisaster = () => {
+    const params = {
+        transCode: 'D10028',
+        stype:resultactiveName.value
+    }
+    request(params)
+        .then((res) => {
+        
+           tableData.value=res.rows;
+           console.log(tableData)
+        })
+        .catch((err) => {
+            ElMessage.error(err.returnMsg)
+        })
+}
+
+
+//选择列表
+const handleDelete=(val)=>{
+  waterobj.value=val;
+  currentrow.value=true;
+
+}
+
+//修改
+const Eidedes=()=>{
+  if (currentrow.value == false) {
+        ElMessage.error("你还没有选中修改的项目")
+    } else {
+      
+      if(resultactiveName.value=='Water'){
+        desw.value.add='突水';
+      desw.value.height= waterobj.value.height;
+      desw.value.so2= null;
+      desw.value.co2= null;
+      desw.value.temperature= null;
+      desw.value.ch4=null;
+      }else if(resultactiveName.value=='Fire'){
+        desw.value.add='火灾';
+        console.log(waterobj.value);
+       desw.value.so2= waterobj.value.so2;
+      desw.value.co2= waterobj.value.co2;
+      desw.value.temperature= waterobj.value.temperature;
+      desw.value.height= null;
+      desw.value.ch4=null;
+      }else{
+        desw.value.add='瓦斯';
+        desw.value.so2= waterobj.value.so2;
+       desw.value.co2= waterobj.value.co2;
+       desw.value.temperature= waterobj.value.temperature;
+       desw.value.height= null;
+       desw.value.ch4=waterobj.value.ch4;
+      }
+    
+      xiugVisible.value=true;
+    }
+
+}
+//确定列表
+const Eiedre=()=>{
+  const params = {
+        transCode: 'D10029',
+        id:waterobj.value.id,
+        height:desw.value.height,
+        temperature:desw.value.temperature,
+        co2:desw.value.co2,
+        ch4:desw.value.ch4,
+        so2:desw.value.so2,
+
+    }
+    request(params)
+        .then((res) => {
+          wgetdisaster();
+          currentrow.value=false;
+        })
+        .catch((err) => {
+            ElMessage.error(err.returnMsg)
+        })
+}
   defineExpose({ dialogVisible, });
   </script>
   

+ 292 - 50
src/view/components/Menupath.vue

@@ -26,7 +26,7 @@
                                      @row-click="handleDelete($event)"
                                      :header-cell-style="{ 'background': 'rgba(13, 22, 57, 0) ' }">
                                      <el-table-column prop="name" label="路径名称" />
-                                     <el-table-column label="操作" >
+                                     <el-table-column label="操作"  width="70px">
                                         <template #default="scope">
                                             <el-button
                                             size="small"
@@ -44,7 +44,7 @@
                                  <div class="borderimg"><el-button @click="addsg();">添加</el-button></div>
                              </div>
                              <div class="footerbtn flex1">
-                                 <div class="borderimg"><el-button @click="shanchu()">
+                                 <div class="borderimg"><el-button @click="shanchu('1')">
                                          删除
                                      </el-button></div>
                              </div>
@@ -53,20 +53,69 @@
                                          修改
                                      </el-button></div>
                              </div>
-                             <div class="footerbtn flex1">
-                                 <div class="borderimg"><el-button @click="sendialogVisible = false;currentrow=false;">
-                                         确认
-                                     </el-button></div>
-                             </div>
+                            
                          </div>
                      </div>
                  </div>
              </div>
          </div>
+         <!-- 路劲预设节点 -->
+         <div
+                 class="xian tablefocus"
+                      style="margin-top: 20px"
+                      v-show="pathshownode"
+                    >
+                      <div class="header_l header_z headerimg">
+                        <el-image :src="icon" fit="contain"></el-image>
+                        <h4 class="tianjia">预设路径节点</h4>
+                        <div class="closeimg" @click="pathshownode = false">
+                         
+                        </div>
+                      </div>
+                      <el-table
+                        :data="childtableData"
+                        style="width: 100%"
+                        :max-height="tableHeight"
+                        :row-class-name="tableRowClassName"
+                        :header-cell-style="{ background: 'rgba(13, 22, 57, 0.96) ' }"
+                        @row-click="handleDelete3($event)"
+                        :highlight-current-row="currentrow1" 
+                      >
+                      <el-table-column prop="ncode" label="节点编号" />
+                        <el-table-column prop="nname" label="节点名称" />
+                      
+                        <el-table-column prop="seq" label="排序" />
+                      </el-table>
+                      <div class="dialog-footer footer_div l_btn">
+                             <div class="footerbtn flex1">
+                                 <div class="borderimg"><el-button @click="cadd(); addVisiblenode=true">添加</el-button></div>
+                             </div>
+                             <div class="footerbtn flex1">
+                                 <div class="borderimg"><el-button @click="childamend()">
+                                         修改
+                                     </el-button></div>
+                             </div>
+                             <div class="footerbtn flex1">
+                                 <div class="borderimg"><el-button @click="shanchu('2')">
+                                         删除
+                                     </el-button></div>
+                             </div>
+                            
+                             <div class="footerbtn flex1">
+                                 <div class="borderimg"><el-button @click="pathshownode==false">
+                                         确定
+                                     </el-button></div>
+                             </div>
+                         </div>
+                    </div>
          </el-collapse-item>
              </el-collapse>
          <!-- 添加 -->
-         <el-dialog v-model="addVisible" width="400" class="dialog_class bgcolor tianjia  foter_l tianjia">
+         <el-dialog    
+         :append-to-body="true"  
+      align-center
+      :z-index='1000'
+          v-model="addVisible" width="400" class="dialog_class bgcolor tianjia  foter_l tianjia">
  
              <template #header="{ titleId, titleClass }">
                  <div class="my-header ">
@@ -82,15 +131,6 @@
                  <el-form-item label="名称" :label-width="formLabelWidth6">
                      <el-input v-model="wuliobj.name" maxlength="18" class="w-50 m-2" placeholder="请输入" />
                  </el-form-item>
-                 <el-form-item label="密度" :label-width="formLabelWidth6">
-                     <el-input v-model="wuliobj.density" maxlength="15" oninput ="value=value.replace(/[^0-9.]/g,'')"  class="w-50 m-2" placeholder="请输入" />
-                 </el-form-item>
-                 <el-form-item label="扩散系数" :label-width="formLabelWidth6">
-                     <el-input v-model="wuliobj.diffcoe" maxlength="15" oninput ="value=value.replace(/[^0-9.]/g,'')"  class="w-50 m-2" placeholder="请输入" />
-                 </el-form-item>
-                 <el-form-item label="比热" :label-width="formLabelWidth6">
-                     <el-input v-model="wuliobj.speheat" maxlength="15" oninput ="value=value.replace(/[^0-9.]/g,'')"  class="w-50 m-2" placeholder="请输入" />
-                 </el-form-item>
              </el-form>
              <div class="dialog-footer footer_div l_btn">
                  <div class="footerbtn flex1">
@@ -103,7 +143,60 @@
                  </div>
              </div>
          </el-dialog>
- 
+         <!-- 添加节点 -->
+         <el-dialog   :append-to-body="true"  
+           align-left 
+           :modal="false"
+            :lock-scroll="false"
+            :close-on-click-modal="false"
+            modal-class="summary-dlg"
+            draggable
+            :fullscreen="false"
+            :modal-append-to-body="false"
+             :z-index='1000' v-model="addVisiblenode" width="400" class="dialog_class bgcolor tianjia  foter_l tianjia">
+        <template #header="{ titleId, titleClass }">
+            <div class="my-header ">
+                <el-image :src="icon" fit="contain"></el-image>
+                <h4 :id="titleId" :class="titleClass">{{ caddname }}</h4>
+
+            </div>
+        </template>
+        <div class="demo-input-suffix firsttitle magintop">
+        <el-form-item label="巷道名称" :label-width="formLabelWidth6">
+          <el-input
+            v-model="selectstr"
+            disabled
+            class="w-50 m-2"
+            placeholder="巷道名称"
+          />
+        </el-form-item>
+        <div class="btn2">
+          <el-button
+            type="primary"
+            @click="
+              nodeclick();
+            "
+            >选择节点</el-button
+          >
+        </div>
+        <div class="btn2" style="padding-left: 10px">
+          <el-button type="primary" @click="Dclick()">3D节点选择</el-button>
+        </div>
+      </div>
+      <el-form-item label="排序" :label-width="formLabelWidth6">
+                     <el-input v-model="seq" maxlength="18" class="w-50 m-2" placeholder="请输入" />
+                 </el-form-item>
+        <div class="dialog-footer footer_div l_btn">
+            <div class="footerbtn flex1">
+                <div class="borderimg"><el-button @click="addVisiblenode = false">取消</el-button></div>
+            </div>
+            <div class="footerbtn flex1">
+                <div class="borderimg"><el-button @click="addnode(); addVisiblenode = false">
+                        确定
+                    </el-button></div>
+            </div>
+        </div>
+        </el-dialog>
          <!-- 删除 -->
          <el-dialog v-model="dialogsgdelect" width="400" class="dialog_class bgcolor tianjia">
  
@@ -127,10 +220,12 @@
              </div>
          </el-dialog>
            </div>
-         <!-- 选择管道 -->
+         <!--点击查看 -->
      </el-aside>
      </div>
      </div>
+     <NodeSelect ref="NodeSelectref" @queding="queding"></NodeSelect>
+     <selfdialogs ref="dialogtrue" @Dtext="Dtext"></selfdialogs>
  </template>
  
  <script setup>
@@ -138,29 +233,46 @@
  import { request, uploadFile } from "@/utils/request";
  import { ElMessage, ElButton, ElDialog, ElSelect } from 'element-plus'
  import icon from "@/assets/img/icon.png";
+ import selfdialogs from "./SetNode.vue";
+ import NodeSelect from "./NodeLine.vue";
+ import { vtkmodel } from "@/control/vtkModel.js";;
  import { timestampToTime } from '@/js/lindex.js'
+ let addVisiblenode=ref(false);
  let pipeline = ref();
+ let dialogtrue = ref();
+ let selectstr=ref('');
+ let caddname=ref('');
+ let seq=ref();
+ let NodeSelectref=ref();
  let sendialogVisible = ref(false);
  let currentrow=ref(true);
+ let currentrow1=ref(false);
+ 
  let addVisible = ref(false);
  let dialogsgdelect = ref(false)
+ let pathshownode=ref(false)
+ let nid=ref();
+ let childnodeobj=ref();
  let classradio1 = ref('Fire');
  const formLabelWidth6 = ref(100);
  let add = ref("")
+ let delt=ref();
  const resultactiveName = ref("first");
  let coolactiveName1 = ref(["1", "2"]);
  let tableHeight = ref(145);
  let tableData = ref([]);
  let tableobj = ref({});
+ let wnid=ref();
  let zqname = ref();
  let wuliobj = ref({
-     coid:'',
+    wid:'',
      code: '',
      name:'',
      density: "",
      diffcoe: '',
      speheat: '',
  })
+ let childtableData=ref([]);
  let source = ref({
      selectstr: '',
      site: ''
@@ -173,37 +285,91 @@
      return 'oddRow';
  
  }
+
  // 选中一行
  const handleDelete = (val) => {
      currentrow.value=true;
      tableobj.value = val;
-     console.log(tableobj.value)
  }
  // 删除
- const shanchu = () => {
-     if (JSON.stringify(tableobj.value) == '{}') {
+ const shanchu = (val) => {
+    delt.value=val;
+    if(val=='1'){
+        if (  currentrow.value==false) {
          ElMessage.error("你还没有选中修改的项目")
      } else {
-         dialogsgdelect.value = true
+         dialogsgdelect.value = true;
          zqname.value = tableobj.value.name;
      }
+    }else{
+        if (  currentrow1.value==false) {
+         ElMessage.error("你还没有选中修改的项目")
+     } else {
+         dialogsgdelect.value = true;
+         zqname.value = childnodeobj.value.nname;
+     }   
+    }
+   
  }
- const handledetection=()=>{
+ const fundeledata=()=>{
+    if(delt.value=='1'){
+        faterdelete();
+    }else{
+        childdelete();
+    }
 
  }
- const fundeledata = () => {
+//  父的删除
+const faterdelete=()=>{
+    const params = {
+         transCode: 'D10032',
+         wid: wuliobj.value.wid,
+     }
+     request(params)
+         .then((res) => {
+            pathshownode.value=false;
+            getsensor();
+         
+
+         })
+         .catch((err) => {
+             ElMessage.error(err.returnMsg)
+         })
+ }
+ // 子节点的删除
+ const childdelete=()=>{
+    const params = {
+         transCode: 'D10035',
+         wnid: childnodeobj.value.wnid,
+     }
+     request(params)
+         .then((res) => {
+            childdata();
+
+         })
+         .catch((err) => {
+             ElMessage.error(err.returnMsg)
+         })
+ }
+ const handledetection=(index, row)=>{
+    wuliobj.value=row;
+console.log(wuliobj.value.wid)
+    pathshownode.value=true;
+    childdata();
+ }
+ const childdata = () => {
  
-     console.log(zqname.value);
      const params = {
-         transCode: 'D10015',
-         coid: tableobj.value.coid
+         transCode: 'D10033',
+         wid: wuliobj.value.wid
      }
      request(params)
          .then((res) => {
-             getsensor();
+            childtableData.value=res.rows;
+    
          })
          .catch((err) => {
-             ElMessage.error(err.returnMsg)
+       
          })
  }
  onMounted(() => {
@@ -213,7 +379,7 @@
  const getsensor = () => {
  
      const params = {
-         transCode: 'D10013',
+         transCode: 'D10030',
      }
      request(params)
          .then((res) => {
@@ -228,51 +394,127 @@
      add.value = "添加";
      currentrow.value=false;
      addVisible.value = true;
-     wuliobj.value.coid = '';
+     wuliobj.value.wid = '';
      wuliobj.value.code = '';
      wuliobj.value.name = '';
-     wuliobj.value.density = '';
-     wuliobj.value.diffcoe = '';
-     wuliobj.value.speheat = '';
  
  
  }
  // 添加修改的接口
  const addEied = () => {
      const params = {
-         transCode: 'D10014',
-         coid: wuliobj.value.coid,
+         transCode: 'D10031',
+         wid: wuliobj.value.wid,
          code: wuliobj.value.code,
-         name:  wuliobj.value.name ,
-         density: wuliobj.value.density,
-         diffcoe:wuliobj.value.diffcoe,
-         speheat:wuliobj.value.speheat,
+         name:  wuliobj.value.name,
      }
      request(params)
          .then((res) => {
              tableData.value = res.rows;
+             currentrow.value=false;
              getsensor();
          })
          .catch((err) => {
              ElMessage.error(err.returnMsg)
          })
  }
+ 
  //修改
  const amend = () => {
      add.value = "修改";
-     if (JSON.stringify(tableobj.value) == '{}') {
+     if (currentrow==false) {
          ElMessage.error("你还没有选中修改的项目")
      } else {
      addVisible.value = true;
-     wuliobj.value.coid = tableobj.value.coid;
+     wuliobj.value.wid= tableobj.value.wid;
      wuliobj.value.code =tableobj.value.code;
      wuliobj.value.name = tableobj.value.name;
-     wuliobj.value.density = tableobj.value.density;
-     wuliobj.value.diffcoe =tableobj.value.diffcoe;
-     wuliobj.value.speheat =tableobj.value.speheat;
      }
  }
- 
- 
+ const changeModel = () => {
+  vtkmodel.clearJgAddMode();
+  vtkmodel.renderWindow.render();
+};
+ // 3D弹屏
+const Dclick = () => {
+    dialogtrue.value.dialoglog = true;
+  vtkmodel.clearJgAddMode() ;
+  vtkmodel.selectNodes();
+  dialogtrue.value.jgSelect();
+};
+// 节点选择
+const nodeclick = () => {
+// defineExpose({ dialogVisiblenode, pipelinedata,searchtaggd });
+    NodeSelectref.value.dialogVisiblenode=true;
+    NodeSelectref.value.pipelinedata();
+}
+const Dtext=(val)=>{
+  nid.value = val.id;
+  selectstr.value= val.name;
+
+}
+//
+const queding=(val)=>{
+    // selectstr.value =  NodeSelectref.value.
+    console.log(val)
+    console.log(223333)
+    selectstr.value =val.name;
+    nid.value=val.id;
+
+}
+
+const cadd=()=>{
+    caddname.value='添加'
+    nid.value=null;
+    selectstr.value=null;
+    wnid.value='';
+
+}
+// 添加路径节点
+const addnode=(val)=>{
+    const params = {
+         transCode: 'D10034',
+         wid: wuliobj.value.wid,
+         wnid: wnid.value,
+         nid:  nid.value,
+         seq:seq.value
+     }
+     console.log(params);
+     request(params)
+         .then((res) => {
+            childdata();
+            currentrow1.value=false;
+         })
+         .catch((err) => {
+             ElMessage.error(err.returnMsg)
+         })
+}
+// 修改
+
+const childamend=()=>{
+    if( currentrow1.value==false){
+        ElMessage.error("你还没有选中修改的项目")
+    }else{
+        addVisiblenode.value=true;
+        selectstr.value=childnodeobj.value.nname;
+        nid.value= childnodeobj.value.nid;
+        wnid.value=childnodeobj.value.wnid;
+        wuliobj.value.wid=childnodeobj.value.wid;
+        seq.value= childnodeobj.value.seq;
+    }
+}
+const handleDelete3=(val)=>{
+    childnodeobj.value=val;
+    console.log(childnodeobj.value);
+  
+    currentrow1.value=true;
+
+}
+
  defineExpose({ sendialogVisible, });
- </script>
+ </script>
+ <style scoped>
+ .el-overlay-dialog,.summary-dlg,.el-dialog__wrapper {
+    pointer-events: none
+}
+ </style>

+ 6 - 3
src/view/components/NodeLine.vue

@@ -1,6 +1,7 @@
 <template>
     <div>
-        <el-dialog v-model="dialogVisiblenode" width="700"
+        <el-dialog v-model="dialogVisiblenode"     align-center :append-to-body="true"   width="700"
+        :z-index='9999'
             class="dialog_class bgcolor tianjia asideg asidegbg leftbgimg">
             <template #header="{ titleId, titleClass }">
                 <div class="my-header ">
@@ -128,9 +129,11 @@ const projectsSelectionSelect = (selection, row) => {
     }
 }
 const selectfun = () => {
-    emit('queding', '');
+    
+   // emit('queding', '');
     currentPage4.value = 1;
     if (multipleSelection.value.length != 0) {
+        console.log(multipleSelection.value[0]);
         emit('queding', multipleSelection.value[0]);
   
     } else {
@@ -157,7 +160,7 @@ defineExpose({ dialogVisiblenode, pipelinedata,searchtaggd });
 .jc_padding .el-table tr {
     height: 30px !important;
     background: rgba(104, 173, 255, 0.3);
-    box-shadow: inset 0px 0px 17px 5px rgba(12, 97, 197, 0.2);
+    box-shadow: inset 0px 0px 17px 5px rgba(111, 138, 170, 0.2);
     border-radius: 0px 0px 0px 0px;
     border: 1px solid;
     border-image: linear-gradient(180deg, rgba(31, 107, 255, 1), rgba(31, 107, 255, 0.48)) 1 1;

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

@@ -71,6 +71,8 @@ const textclick=()=>{
   clearInterval(timing.value);
 }
 const closeDialog=()=>{
+
+  vtkmodel.selectNoting();
   clearInterval(timing.value);
 }
 onBeforeUnmount(() => {

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

@@ -79,6 +79,7 @@ const textclick=()=>{
   clearInterval(timing.value);
 }
 const closeDialog=()=>{
+  vtkmodel.selectNoting()//节点图形
   clearInterval(timing.value);
 }
 

+ 3 - 0
src/view/configurator.vue

@@ -3,11 +3,14 @@
             <MenuMine ref="menumine"/>
             <MenuSensor ref="menusen"/>
             <Menudisaster ref="Menudisasterref"/>
+           
             <div class="rightflex">
+              <div class="hie">
             <MenuCheck ref="menucheck"/>
             <menuphysics2 ref="menuphysics"/>
             <Menupath ref="menupath"/>
           </div>
+          </div>
     </div>
   </template>
   

+ 99 - 112
src/view/index/first-left.vue

@@ -241,6 +241,7 @@ const tableData =ref( [
 ])
 let myChart;
 onMounted(() => {
+  lineChart();
 //   window.onresize = function() {
 //     // 让图表自适应大小
 //     myChart.resize();
@@ -384,7 +385,7 @@ async  function getMonitor() {
             { prop:'v'+num, label: res.codes[i].code },
           )
         }
-  
+          
         // strResultFormatlist.value=res.codes;
          dynamicHeaders.value=headertable;
 
@@ -488,12 +489,43 @@ function sliderchange(val) {
 const tableRowClassName=()=>{
 
 }
+// 随机颜色
+const randomColor=()=>{
+            var letters = '0123456789ABCDEF';
+            var color = '#';
+            do {
+                for (var i = 0; i < 6; i++) {
+                    color += letters[Math.floor(Math.random() * 16)];
+                }
+            } while (color === '#FFFFFF' || color === '#000000');
+          console.log(color);
+            return color;
+        }
+
+// const randerColor=()=>{
+//       let arr = [];
+//      alarmTypeLine.forEach(item=>{
+//       random(arr)
+//       })
+//       console.log(arrr);
+//       return arr;
+//     }
+//     const random=(arr)=>{
+//       let color = 'rgb(' + [
+//         Math.round(Math.random() * 255),
+//         Math.round(Math.random() * 255),
+//         Math.round(Math.random() * 255)
+//       ].join(',') + ')';
+//       if(!arr.some(i=>i==color)){
+//         arr.push(color)
+//       }else{
+//        random(arr)
+//       }
+//     }
 // 批量数据
 const handleDelete=(event)=>{
  jcname.value=event.chname;
 
- series.value=[];
- steptimes.value=[];
   currentrow1.value=true;
 //let arr=[];
   const params = {
@@ -503,6 +535,8 @@ const handleDelete=(event)=>{
   };
   request(params)
     .then((res) => {
+      series.value=[];
+      steptimes.value=[];
       if (res.returnCode == "000000000") {
         for (let j = 0; j < res.steptimes.length; j++) {
           steptimes.value.push(Object.values(res.steptimes[j]));
@@ -516,48 +550,48 @@ const handleDelete=(event)=>{
             arr.push(res.rows[i].data[k].val);
           }
           // var arr = Array.from(Object.values(res.rows[i].data),x=>x);
-        series.value.push({
+          series.value.push({
          name:res.rows[i].code,
          type: 'line',
       showSymbol: false,
       smooth: true,
       data:arr,//res.rows[i].data
-         itemStyle:{
-           normal:{
-             color: {
-               type: 'linear',
-               x: 0,
-               y: 0,
-               x2: 0,
-               y2: 1,
-               colorStops: [
-               {
-                 offset:1, color: '#ACD6FF ' // 0% 处的颜色
-               },
-               {
-                 offset:0.7, color: '#105CF0 '// 100% 处的颜色
-               },
-               {
-                 offset:0.66, color: '#FF7A00 '// 100% 处的颜色
-               },
-               {
-                 offset:0.2, color: '#FF0000 '// 100% 处的颜色
-               },
-               {
-                 offset:0, color: '#CE0000' // 0% 处的颜色FF7A00
-               }, 
+        //  itemStyle:{
+        //    normal:{
+        //      color: {
+        //        type: 'linear',
+        //        x: 0,
+        //        y: 0,
+        //        x2: 0,
+        //        y2: 1,
+        //       //  colorStops: [
+        //       //  {
+        //       //    offset:1, color: randomColor() // 0% 处的颜色
+        //       //  },
+        //       // //  {
+        //       // //    offset:0.7, color: randomColor() // 100% 处的颜色
+        //       // //  },
+        //       // //  {
+        //       // //    offset:0.66, color: randomColor() // 100% 处的颜色
+        //       // //  },
+        //       // //  {
+        //       // //    offset:0.2, color: randomColor()// 100% 处的颜色
+        //       // //  },
+        //       //  {
+        //       //    offset:0, color: randomColor ()// 0% 处的颜色FF7A00
+        //       //  }, 
               
-              ],
+        //       // ],
             
-               global: false // 缺省为 false
-             }
-           }
-         },
-         lineStyle: {
-                    width: 3, // 设置线条宽度
-                },
+        //        global: false // 缺省为 false
+        //      }
+        //    }
+        //  },
+        //  lineStyle: {
+        //             width: 3, // 设置线条宽度
+        //         },
           })
-        }
+       }
         const max = Math.max(...series.value[0].data);
         heightnum.value=max;
       }
@@ -572,79 +606,35 @@ const linedata=()=>{
 }
 const lineChart=()=>{
   // console.log(series.value);
+  var chartDom = document.getElementById('line');
+var myChart = echarts.init(chartDom);
+//  myChart = echarts.init(document.getElementById('line'));
+ 
+let option = {
+  tooltip: {
+    trigger: 'axis'
+  },
+  // legend: {
+  //   data: ['Email', 'Union Ads', 'Video Ads', 'Direct', 'Search Engine']
+  // },
+  grid: {
+    left: '3%',
+    right: '4%',
+    bottom: '3%',
+    containLabel: true
+  },
 
- myChart = echarts.init(document.getElementById('line'));
-  let option = {
-     tooltip: {
-       trigger: 'axis',
-     },
-     grid: {
-       left: '0',
-       right: '0',
-       bottom: '10',
-       top:'20',
-       containLabel: true
-     },
-     xAxis: [
-       {
-         type: 'category',
-         data:steptimes.value,
-         splitLine: {
-           show: false,
-         },
-         axisLine: {
-           lineStyle: {
-             type: 'solid',
-             color: '#E6E7EC',//左边线的颜色
-             width:'1'//坐标线的宽度
-           }
-         },
-         axisLabel: {
-           textStyle: {
-             color: '#B8CED6',//坐标值得具体的颜色
-           }
-         }
-       }
-     ],
-     yAxis: [
-       {
-         type: 'value',
-         minInterval:1,
-         splitNumber: 5, 
-         max: 700,
-         splitLine: {
-           show: true,
-           lineStyle:{
-             type:'dashed'
-           }
-         },
-         axisLine: {
-           lineStyle: {
-             type: 'solid',
-              color: '#E6E7EC',//左边线的颜色
-             width:1 //坐标线的宽度
-           }
-         },
-         axisLabel: {
-          type: 'value',
-           textStyle: {
-          color: function (value, index) {
-            if(value >=300){
-              return '#CE0000 '
-            } else{
-              return  '#ACD6FF'
-            }
-              // return value >= 120 ? '#CE0000  ': '#ACD6FF';
-          }
-           
-           }
-         }
-       }
-     ],
-     color: 'rgba(37, 190, 171, 1)',
-     series:series.value
-   }
-   myChart.setOption(option);
+  xAxis: {
+    type: 'category',
+    boundaryGap: false,
+    data:steptimes.value,
+  },
+  yAxis: {
+    type: 'value'
+  },
+  series: series.value
+};
+    option && myChart.setOption(option);
    window.onresize = function() {
     // 让图表自适应大小
     myChart.resize();
@@ -702,9 +692,6 @@ function vtkShow() {
   const scalarBarActor = vtkmodel.scalarBarActor;
   const mapper = vtkmodel.jgMapper;
   const actor = vtkmodel.jgActor;
-
-  // console.log(formInline.value.region);
-
   if (!fcon.scalar) {
     return;
   }