liuqiao vor 1 Jahr
Ursprung
Commit
9f2fb8cf6a
3 geänderte Dateien mit 229 neuen und 81 gelöschten Zeilen
  1. 0 1
      src/utils/request.js
  2. 225 79
      src/view/evolutionView.vue
  3. 4 1
      src/view/myIndex.vue

+ 0 - 1
src/utils/request.js

@@ -154,7 +154,6 @@ function getParams(params, channelNo) {
 // 请求
 const request = (params, channelNo = 'service', method = 'post') => {
   let url = getUrl(channelNo);//完善请求url
-  console.log(url);
   params = getParams(params, channelNo);//配置上行报文公共包头
   return new Promise((resolve, reject) => {
     if (method == 'post') {//'http://192.168.131:8187/TransServlet'

+ 225 - 79
src/view/evolutionView.vue

@@ -19,25 +19,26 @@
      >
      <!-- 火灾 -->
        <el-tab-pane label="火灾" name="Fire">
-         <div class="demo-input-suffix firsttitle">
-           <el-form-item label="火灾源" label-width="formLabelWidth5">
+         <!-- <div class="demo-input-suffix firsttitle"> -->
+           <!-- <el-form-item label="火灾源" label-width="formLabelWidth5">
          <el-input  v-model="input2"
            class="w-50 m-2"
            placeholder="管道名称"
            :prefix-icon="Search"   />
-       </el-form-item>
-       <div class="btn2">
-       <el-button type="success">搜索</el-button></div>
+       </el-form-item> -->
+       <!-- <div class="btn2">
+       <el-button type="success">搜索</el-button>
+      </div> -->
        <!-- <div class="btn2">
-       <el-button type="success">导入</el-button></div> -->
-       <div class="btn2">
        <el-button type="success">开始演化</el-button></div>
-     </div>
+     </div> -->
    <!-- table表 -->
    <div class="btn2" style="text-align: right;">
-       <el-button @click="newaddshow=true">新建</el-button>
+    <el-button type="success" @click="newtable();newaddshow=true">新建</el-button>
+       <el-button >开始演化</el-button>
+      
      </div>
-   <el-table :data="tableData"  :max-height="tableHeight"  @row-click="rowclick"  style="width: 100%" >
+   <el-table   v-loading="loading" :data="tableData"  :max-height="tableHeight"  @row-click="rowclick"  style="width: 100%" >
        <el-table-column property="sid" label="编号" width="60"/>
        <el-table-column property="pname" label="管道名称"/>
        <el-table-column property="pid" label="管道编号" width="80" />
@@ -80,21 +81,51 @@
            />
        </el-form-item>
      </div>
+     <div  class="textright">
      <el-button type="primary"  @click="handleEditfire()">保存</el-button>
     </div>
-       <!-- <div class="input " style="margin-top: -2px;">
-         <el-form-item  label="值"  :label-width="formLabelWidth5" >
-         <el-input v-model="des1" :autosize="{ minRows: 5, maxRows: 10}" type="textarea" />
-       </el-form-item>
-     </div>
-    -->
-    <div>
+    </div>
+  <div v-show="isDisasterfire">
     <h2 style="text-align: left;">灾情源检查表</h2>
     <div class="btn2" style="text-align: right;">
-       <el-button >新建</el-button>
+       <el-button type="success"  @click="jcyclick();dialogVisibleadd=true">新建</el-button>
      </div>
-  </div>
-    <el-table :data="tableDatafir"   @row-click="rowclick"  style="width: 100%" >
+  <!-- 灾情源的新增弹框 -->
+  <el-dialog
+       v-model="dialogVisibleadd"
+       title="新增"
+       width="380px"
+     >
+     <div>
+      <el-form>
+      <el-form-item label="timeline" :label-width="formLabelWidth5">
+         <el-input  v-model="Disastersource.timeline" class="w-50 m-2"  placeholder="请输入"  />
+       </el-form-item>
+       <el-form-item label="值1"  :label-width="formLabelWidth5">
+         <el-input  v-model="Disastersource.val1" class="w-50 m-2"  placeholder="请输入"  />
+       </el-form-item>
+       <el-form-item label="值2"  :label-width="formLabelWidth5">
+         <el-input  v-model="Disastersource.val2" class="w-50 m-2"  placeholder="请输入"  />
+       </el-form-item>
+       <el-form-item label="值3"  :label-width="formLabelWidth5">
+         <el-input  v-model="Disastersource.val3" class="w-50 m-2"  placeholder="请输入"  />
+       </el-form-item>
+       <el-form-item label="值4"  :label-width="formLabelWidth5">
+         <el-input  v-model="Disastersource.val4" class="w-50 m-2"  placeholder="请输入"  />
+       </el-form-item>
+      </el-form>
+     </div>
+ 
+       <template #footer>
+         <span class="dialog-footer">
+           <el-button @click="dialogVisibleadd = false">取消</el-button>
+           <el-button type="primary" @click="Disasterclick();dialogVisibleadd = false">
+             确认
+           </el-button>
+         </span>
+       </template>
+     </el-dialog>
+    <el-table :data="tableDatafir"  :max-height="tableHeight"   style="width: 100%" >
        <el-table-column property="timeline" label="时间线" width="100"/>
        <el-table-column property="val1" label="v1"/>
        <el-table-column property="val2" label="v2" width="80" />
@@ -117,6 +148,7 @@
          </template>
        </el-table-column>
      </el-table>
+  </div>
        </el-tab-pane>
          <!-- 选择节点弹出框 -->
        <el-dialog
@@ -146,9 +178,6 @@
        @select="projectsSelectionSelect"
      >
        <el-table-column type="selection" width="55" />
-       <!-- <el-table-column label="Date" width="120">
-       <template #default="scope">{{ scope.row.date }}</template>
-       </el-table-column> -->
        <el-table-column property="snId" label="开始节点"/>
        <el-table-column property="enId" label="结束节点"/>
        <el-table-column property="id" label="编号" width="70"/>
@@ -166,11 +195,10 @@
     <el-pagination
     v-model:current-page="currentPage4"
       v-model:page-size="pageSize4"
-    
     small
     background
     layout="prev, pager, next, jumpe,"      
-    :total="total"
+    :total="parseInt(total)"
     class="mt-4"
     @size-change="handleSizeChange"
     @current-change="handleCurrentChange"
@@ -187,23 +215,25 @@
      </el-dialog>
        <!--水灾  -->
        <el-tab-pane label="水灾" name="Water" >
-         <div class="demo-input-suffix firsttitle">
+        <!-- <div class="demo-input-suffix firsttitle">
            <el-form-item label="突水源" label-width="formLabelWidth5">
-         <el-input  v-model="input4"
+         <el-input  v-model="input2"
            class="w-50 m-2"
-           placeholder="节点名称"
+           placeholder="管道名称"
            :prefix-icon="Search"   />
-       </el-form-item>
-       <div class="btn2">
-       <el-button type="success">导入</el-button></div>
-       <div class="btn2">
+       </el-form-item> -->
+       <!-- <div class="btn2">
+       <el-button type="success">搜索</el-button></div> -->
+       <!-- <div class="btn2">
        <el-button type="success">开始演化</el-button></div>
-     </div>
+     </div> -->
    <!-- table表 -->
    <div class="btn2" style="text-align: right;">
-       <el-button @click="newaddshow=true">新建</el-button>
+    <el-button  type="success" @click="newtable();waaddshow=true">新建</el-button>
+    <el-button >开始演化</el-button>
+      
      </div>
-   <el-table :data="tableDataw"   @row-click="rowclick"  style="width: 100%" >
+   <el-table   v-loading="loading" :data="tableDataw"  :max-height="tableHeight"  @row-click="rowclick"  style="width: 100%" >
        <el-table-column property="sid" label="编号" width="60"/>
        <el-table-column property="pname" label="管道名称"/>
        <el-table-column property="pid" label="管道编号" width="80" />
@@ -213,7 +243,7 @@
            <el-button
              size="small"
              type="success"
-             @click="handlexiugai(scope.$index, scope.row)"
+             @click="handlewater(scope.$index, scope.row)"
              >修改</el-button
            >
            <el-button
@@ -225,7 +255,7 @@
          </template>
        </el-table-column>
      </el-table>
-     <div v-show="newaddshow">
+     <div v-show="waaddshow">
      <div class="demo-input-suffix firsttitle magintop">
          <el-form-item label="管道名称" :label-width="formLabelWidth5">
        <el-input  v-model="selectstr"
@@ -246,16 +276,74 @@
            />
        </el-form-item>
      </div>
+     <div  class="textright">
      <el-button type="primary"  @click="handleEditfire()">保存</el-button>
     </div>
-     
-   
-       <!-- <div class="input " style="margin-top: -2px;">
-         <el-form-item label="值" :label-width="formLabelWidth5" >
-         <el-input v-model="des2"   :autosize="{ minRows: 5, maxRows: 10}" type="textarea" />
+    </div>
+  <div v-show="isDisasterwater">
+    <h2 style="text-align: left;">灾情源检查表</h2>
+    <div class="btn2" style="text-align: right;">
+       <el-button  type="success" @click="dialogVisibleadd=true">新建</el-button>
+     </div>
+  <!-- 灾情源的新增弹框 -->
+  <el-dialog
+       v-model="dialogVisibleadd"
+       title="新增"
+       width="380px"
+     >
+     <div>
+      <el-form>
+      <el-form-item label="timeline" :label-width="formLabelWidth5">
+         <el-input  v-model="Disastersource.timeline" class="w-50 m-2"  placeholder="请输入"  />
        </el-form-item>
-     </div> -->
-   
+       <el-form-item label="值1"  :label-width="formLabelWidth5">
+         <el-input  v-model="Disastersource.val1" class="w-50 m-2"  placeholder="请输入"  />
+       </el-form-item>
+       <el-form-item label="值2"  :label-width="formLabelWidth5">
+         <el-input  v-model="Disastersource.val2" class="w-50 m-2"  placeholder="请输入"  />
+       </el-form-item>
+       <el-form-item label="值3"  :label-width="formLabelWidth5">
+         <el-input  v-model="Disastersource.val3" class="w-50 m-2"  placeholder="请输入"  />
+       </el-form-item>
+       <el-form-item label="值4"  :label-width="formLabelWidth5">
+         <el-input  v-model="Disastersource.val4" class="w-50 m-2"  placeholder="请输入"  />
+       </el-form-item>
+      </el-form>
+     </div>
+ 
+       <template #footer>
+         <span class="dialog-footer">
+           <el-button @click="dialogVisibleadd = false">取消</el-button>
+           <el-button type="primary" @click="Disasterclick();dialogVisibleadd = false">
+             确认
+           </el-button>
+         </span>
+       </template>
+     </el-dialog>
+    <el-table :data="tableDatawat"  :max-height="tableHeight"  style="width: 100%" >
+       <el-table-column property="timeline" label="时间线" width="100"/>
+       <el-table-column property="val1" label="v1"/>
+       <el-table-column property="val2" label="v2" width="80" />
+       <el-table-column property="val3" label="v3"/>
+       <el-table-column property="val4" label="v3"/>
+       <el-table-column label="操作" width="220">
+         <template #default="scope">
+           <el-button
+             size="small"
+             type="success"
+             @click="handlexiugai(scope.$index, scope.row)"
+             >修改</el-button
+           >
+           <el-button
+             size="small"
+             type="danger"
+             @click="handleDelete(scope.$index, scope.row)"
+             >删除</el-button
+           >
+         </template>
+       </el-table-column>
+     </el-table>
+  </div>
        </el-tab-pane>
        <el-tab-pane label="瓦斯爆炸" name="333">还在开发中.....</el-tab-pane>
      </el-tabs>
@@ -272,13 +360,16 @@
      </template>
      <!-- //defineProps,,defineExpose -->
    <script setup>
-   import { ref, onMounted, reactive,defineProps,defineExpose } from "vue";
+   import { ref, onMounted, reactive} from "vue";
    import { Calendar, Search } from '@element-plus/icons-vue'
    import { request, uploadFile } from "@/utils/request";
    import {RouterView,RouterLink,useRouter } from "vue-router"
+   import { ElMessage } from 'element-plus'
    const {currentRouter}=useRouter();
    let tableHeight=ref(300)
    const props= defineProps(['title1']);
+  //  const emit=defineEmits (["getdata"]);父组件调子组件
+  //  const title1=ref("1")
    let userId=ref("5f06c8bc77234f969d13e160b54c27e3");
    let isshow=ref(false);
    let sum=ref('1')
@@ -292,12 +383,22 @@
    let firepid=ref("");
    let firesid=ref("");
    let searchtaggd=ref("");
-   let newaddshow=ref(false)
-   let source=reactive({pname:"",site:"0.1"})
+   let newaddshow=ref(false);
+   let waaddshow=ref(false);
+   let isDisasterfire=ref(false);
+   let isDisasterwater=ref(false);
+   let source=reactive({pname:"",site:0.1})
+    let loading=ref(true)
    const dialogVisiblenode = ref(false)
-   
+   const dialogVisibleadd = ref(false)
+   let Disastersource=ref({
+    timeline:'',
+    val1:'',
+    val2:'',
+    val3:'',
+    val4:'',
+     })
    const tabPosition = ref('left')
-    let title1=ref("1")
    let dialogVisible=ref(true);
    const formLabelWidth5=ref(77)
    const multipleTableRef = ref()
@@ -321,6 +422,7 @@
    
    ]);
    const tableDataw = ref([]);
+   const tableDatawat = ref([]);
    const tableDatafir= ref([])
    const tableData2= ref([])
 const activeName = ref('Fire');
@@ -330,7 +432,7 @@ const pageSize4 = ref(5)
 const small = ref(false)
 const background = ref(false)
 const disabled = ref(false)
-let total=ref("")
+let total=ref(1);
 let paginationConfig=reactive({
         hideSinglePage: false,
         page: 1,
@@ -367,7 +469,7 @@ function handleCurrentChange(val){
         request(params)
           .then((res) => { 
             console.log(res)
-           
+           loading.value=false;
             if(activeName.value=='Fire'){
               tableData.value=res.rows
             }else{
@@ -375,6 +477,7 @@ function handleCurrentChange(val){
             }
           })
           .catch((err) => {
+            loading.value=false;
           })
   }
   function fireclick(){
@@ -428,6 +531,11 @@ function pipelinedata(searchtag){
     // console.log(row)
    }
    //新建fire
+ function newtable(){
+      selectstr.value='';
+      firepid.value='';
+       source.site=0;
+ }
    function handleEditfire(){
     const params = {
         transCode: 'D00004',
@@ -439,18 +547,27 @@ function pipelinedata(searchtag){
         }
         request(params)
           .then((res) => { 
+            ElMessage({
+            message: res.returnMsg,
+            type: 'success',
+          })
             getdata();
           })
           .catch((err) => {
+            ElMessage({
+            message: err.returnMsg,
+            type: 'error',
+          })
           })
-
-   // newaddshow.value=false;
-
    }
    function handlexiugai(index,row){
     newaddshow.value=true;
     firepid.value=row.pid;
    }
+   function handlewater(index,row){
+    waaddshow.value=true;
+    firepid.value=row.pid;
+   }
 
    function handleDelete(index,row) {
      console.log(index, row)
@@ -472,20 +589,8 @@ function pipelinedata(searchtag){
    currentPage4.value=1;
    console.log(multipleSelection.value)
      if(multipleSelection.value.length!=0){
-       //selectstr.value='';
-    //  for(let i=0;i<=multipleSelection.value.length-1;i++){
-    //     selectstr.value+=multipleSelection.value[i].name;
-    //     selectstr.value+=','
-    //   console.log(multipleSelection.value[i].name)
-    //  }
-    console.log(multipleSelection.value[0].id)
     firepid.value=multipleSelection.value[0].id;
     selectstr.value=multipleSelection.value[0].name;
-
-    // console.log( sid.value)
-    // console.log(2222)
-    // console.log(selectstr.value)
-
      }else{
    
        selectstr.value='';
@@ -500,15 +605,22 @@ function pipelinedata(searchtag){
 
    }
    function rowclick(row, column, even){
-   
      selectstr.value=row.pname;
       source.site=row.site;
       firesid.value=row.sid;
-      
+      if(activeName.value=='Fire'){
+        isDisasterfire.value=true;
+        newaddshow.value=false;   
+
+      }else{
+        waaddshow.value=false;
+        isDisasterwater.value=true;
+      }
+     
        testdata()
    }
   //检测数据
-   function testdata(){
+   function testdata(tableD){
     const params = {
         transCode: 'D00007',
         sid:firesid.value,
@@ -516,21 +628,53 @@ function pipelinedata(searchtag){
         }
         request(params)
           .then((res) => { 
-            console.log(res.rows);
-            tableDatafir.value=res.rows;
-            console.log(1111)
-            console.log(tableDatafir.value)
-
+            if(activeName.value=='Fire'){
+              tableDatafir.value=res.rows;
+            }else{
+              tableDatawat.value=res.rows
+            }
           })
           .catch((err) => {
           })
   }
+  //新建灾情源
+  function jcyclick(){
+   Disastersource.value.timeline=''
+   Disastersource.value.val1=''
+   Disastersource.value.val2=''
+   Disastersource.value.val3=''
+   Disastersource.value.val4=''
+  }
+  function Disasterclick(){
+    const params = {
+        transCode: 'D00006',
+        sid:firesid.value,
+        timeline:Disastersource.value.timeline,
+        val1:Disastersource.value.val1,
+        val2:Disastersource.value.val2,
+        val3:Disastersource.value.val3,
+        val4:Disastersource.value.val4,
+        userId:userId.value
+        }
+        request(params)
+          .then((res) => { 
+           console.log(res);
+           ElMessage({
+            message: res.returnMsg,
+            type: 'success',
+          })
+           testdata();
+          })
+          .catch((err) => {
+          })
+  }
+
    onMounted(()=>{
-    // let  route=currentRouter.value
     init();
-   getdata();
+   //getdata();
    })
-   defineExpose({isshow,})
+   
+   defineExpose({isshow,getdata,})
    </script>
    <style scoped>
    .demo-pagination-block + .demo-pagination-block {
@@ -538,12 +682,14 @@ function pipelinedata(searchtag){
 }
 .demo-pagination-block .demonstration {
   margin-bottom: 16px;
+}
+.textright{
+  text-align: right;
+  padding: 0 20px 
 }
    .left_container {
      padding: 15px;
      width: 800px;
-     height: 775px;
-    overflow: hidden;
      position: relative;
      top: 49px;
      left: 89px;

+ 4 - 1
src/view/myIndex.vue

@@ -77,7 +77,7 @@
     <!-- 内容 -->
         <!-- 内容 -->
         <div>
-   <evolutionView ref="evolution" :title1="title1" />
+   <evolutionView ref="evolution" :title1="title1" @getdata="getdata" />
   </div>
   </div>
 </template>
@@ -115,6 +115,7 @@ let listArray = reactive([
   { id: 2, img: p3, name: "灾情历史" },
   { id: 3, img: p4, name: "日志" },
 ]);
+let title1=ref("我是父组件")
 let dialogVisible = ref(false);
 let num = ref(4);
 let starttime = ref(1);
@@ -161,7 +162,9 @@ function add(id) {
     dialogVisible.value = true;
     evolution.value.isshow=false;
   }else if(id==0){
+  
     evolution.value.isshow=true;
+    evolution.value.getdata();
     dialogVisible.value = false;
   }
 }