浏览代码

5.11fem的修改

liuqiao 2 年之前
父节点
当前提交
b3a935982c
共有 4 个文件被更改,包括 134 次插入103 次删除
  1. 68 47
      src/views/index/FEMLab/fem.vue
  2. 24 20
      src/views/index/HCFDLab/addtabs.vue
  3. 32 23
      src/views/index/HCFDLab/index.vue
  4. 10 13
      src/views/index/index.vue

+ 68 - 47
src/views/index/FEMLab/fem.vue

@@ -1101,13 +1101,13 @@
      <div class="line">
       <div class="linetext">方法</div>
     </div> 
-    <el-radio-group
-                          v-model="parameterObj.eigv_method.value"
+    <el-radio-group  style="display:flex"
+            v-model="parameterObj.eigv_method.value"
                         >
-                          <el-radio label="1">{{
+                          <el-radio label="1" class="text_content">{{
                             $t("FEM.solution.inverse")
                           }}</el-radio>
-                          <el-radio label="2">{{
+                          <el-radio label="2" class="text_content">{{
                             $t("FEM.solution.lanczos")
                           }}</el-radio>
                         </el-radio-group>
@@ -1987,6 +1987,7 @@ import p16 from '@/assets/icon/result_stream.png'
 import p17 from '@/assets/icon/animation.png'
 import p18 from '@/assets/icon/result_curve.png'
 import p19 from '@/assets/hcfd_images/run.png'
+import { number } from 'echarts/lib/export';
 
 export default {
     components:{geometry,meshindex,result,toolindex,filesload,vueUploader,Addtabs},
@@ -1998,6 +1999,7 @@ export default {
   data() {
     return {
       p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,
+      femstate:-1,
         isVolume:"",
         outlineobj:{
        scalarName:'',
@@ -2408,7 +2410,6 @@ this.init();
        init() {
       //this.project.projectId = this.pid; //获取url 参数
       this.project.projectId = this.pid;
-      console.log(this.project.projectId);
       this.project.lesseeId = this.$store.getters.lesseeId; //获取url 参数
     },
       handfiles(file) {
@@ -2453,12 +2454,18 @@ this.init();
       });
     },
     //数据加载参数配置obj
-    femchange(obj,solverConfigid){
-         console.log(  this.parameterObj);
+    femchange(obj,solverConfigid,data){
+  
+      this.femstate=data.state;
        this.parameterObj = JSON.parse(obj);//JSON.parse(obj);
       sessionStorage.setItem("res", obj);
       this.femsolverConfigid=solverConfigid;
-      console.log(this.femsolverConfigid);
+        if(this.femstate==0){//求解状态(0-求解中,1-求解成功,-1-没有求解)
+               this.$emit("exlodingfalse",true)
+               this.getwebsocket()
+               }else{
+                 this.$emit("exlodingfalse",false)
+               }
       if(this.parameterObj.f_static.value==true){
         this.bxval='0';
       }else if(this.parameterObj.eigenv.value=true){
@@ -2501,43 +2508,47 @@ femparam(){
         solverConfigId:this.femsolverConfigid,
       };
       request(params)
-        .then((res) => {this.getwebsocket()})
+        .then((res) => {
+          this.getwebsocket();
+             this.$emit("exlodingfalse",true)
+        })
         .catch((err) => {
           this.runShow='hidden'
-          if (err.returnCode == "EB8100017") {
-            //资源未分配
-            MessageBox.confirm("你还未分配资源?", "提示", {
-              confirmButtonText: "分配资源",
-              cancelButtonText: "取消",
-              type: "warning",  
-            })
-              .then(() => {
-                let errUril =
-                  // window.location.protocol +
-                  // "//" +
-                  // window.location.host +
-                  // "/" +
-                  _this.$store.getters.proUrl +
-                  "?projectId=" +
-                  _this.project.projectId;
-                let params2 = {
-                  transCode: "A00118",
-                  lesseeId:_this.$store.getters.lesseeId
-                };
-                request(params2)
-                  .then((res) => {
-                    window.location.href =
-                      errUril + "&authCode=" + res.authCode;
-                  })
-                  .catch((err) => {});
-              })
-              .catch(() => {
-                Message({
-                  type: "info",
-                  message: "已取消",
-                });
-              });
-          }
+        this.$emit("exlodingfalse",false)
+          // if (err.returnCode == "EB8100017") {
+          //   //资源未分配
+          //   MessageBox.confirm("你还未分配资源?", "提示", {
+          //     confirmButtonText: "分配资源",
+          //     cancelButtonText: "取消",
+          //     type: "warning",  
+          //   })
+          //     .then(() => {
+          //       let errUril =
+          //         // window.location.protocol +
+          //         // "//" +
+          //         // window.location.host +
+          //         // "/" +
+          //         _this.$store.getters.proUrl +
+          //         "?projectId=" +
+          //         _this.project.projectId;
+          //       let params2 = {
+          //         transCode: "A00118",
+          //         lesseeId:_this.$store.getters.lesseeId
+          //       };
+          //       request(params2)
+          //         .then((res) => {
+          //           window.location.href =
+          //             errUril + "&authCode=" + res.authCode;
+          //         })
+          //         .catch((err) => {});
+          //     })
+          //     .catch(() => {
+          //       Message({
+          //         type: "info",
+          //         message: "已取消",
+          //       });
+          //     });
+          // }
         });
     },
       //  
@@ -2811,16 +2822,22 @@ this.styX.left=e.clientX+'px';
           
       //连接建立之后执行send方法发送数据this.newlog();
       // if(this.lsolverState=='1'||this.numzhexian=='1'){
-           this.getLogs();
-           this.historydata()
+          
             // }
+            console.log(this.femstate);
+            if(this.femstate==0){//判断状态为进行中
+              this.$emit("exlodingfalse",true)
+            }else{
+             this.getLogs();
+           this.historydata() 
+            }
     },
     websocketonerror() {
       //连接建立失败重连
       this.websock.close();
+        this.$emit("exlodingfalse",false)
     },
     websocketonmessage(e) {
-      console.log(e);
       //数据接收
    try{
          const redata = JSON.parse(e.data);
@@ -2841,7 +2858,7 @@ this.styX.left=e.clientX+'px';
         type: "error",
         message: "websock断开连接",
       });
-
+  this.$emit("exlodingfalse",false)
       this.websock.close();
       
     },
@@ -2871,6 +2888,10 @@ line-height: 30px;
    padding: 10px 13px;
    
 }
+.text_content{
+      flex: 1;
+    text-align: center;
+}
 .imgzong{
     padding-top: 4px;
     .radiocontent{

+ 24 - 20
src/views/index/HCFDLab/addtabs.vue

@@ -3,58 +3,60 @@
      <div class='selecttype'>
         <span class="texttype">切片</span>
         <el-form-item label="面积_范围" :label-width="formLabelWidth2" >
-      <el-input v-model="ruleForm.fw"  autocomplete="off"></el-input>
+      <el-input v-model="ruleForm.areaRange"  autocomplete="off"></el-input>
       </el-form-item>
       <div class="disflex lheig34 liitem">
-                      <el-checkbox-group v-model="ruleForm.slicecheck" style="display:flex">
+               <div style="display:flex">
                         <el-checkbox
                           label="Solid"
+                          v-model="ruleForm.solid_state"
                           @change="ContourvalVolume()"
                         ></el-checkbox>
                         <el-checkbox
                           label="Sectional plane"
+                           v-model="ruleForm.sectional_pLane_state"
                           @change="ContourvalVolume()"
                         ></el-checkbox>
-                      </el-checkbox-group>
+               </div>
                     </div>  
           <div class="line">
       <div class="linetext">正常值</div>
     </div> 
      <el-form-item label="X" :label-width="formLabelWidth4" >
-      <el-input v-model="ruleForm.sx" autocomplete="off"></el-input>
+      <el-input v-model="ruleForm.normal_x" autocomplete="off"></el-input>
       </el-form-item>
            <el-form-item label="Y" :label-width="formLabelWidth4" >
-      <el-input v-model="ruleForm.sy" autocomplete="off"></el-input>
+      <el-input v-model="ruleForm.normal_y" autocomplete="off"></el-input>
       </el-form-item>
            <el-form-item label="Z" :label-width="formLabelWidth4" >
-      <el-input v-model="ruleForm.sz" autocomplete="off"></el-input>
+      <el-input v-model="ruleForm.normal_z" autocomplete="off"></el-input>
       </el-form-item>
           <div class="line">
       <div class="linetext">位置</div>
     </div> 
       <div class="yiinpu heigeinput">
     <el-form-item label="X" :label-width="formLabelWidth4">
-      <el-input v-model="ruleForm.xr" autocomplete="off"></el-input>
-         <span style="width:120px">Xrange:(0,0)</span>
+      <el-input v-model="ruleForm.position_x" autocomplete="off"></el-input>
+         <span style="width:120px">Xrange:{{ruleForm.xrange}}</span>
     </el-form-item>
  </div>
   <div class="yiinpu heigeinput">
     <el-form-item label="Y" :label-width="formLabelWidth4">
-      <el-input v-model="ruleForm.yr" autocomplete="off"></el-input>
-         <span style="width:120px">Yrange:(0,0)</span>
+      <el-input v-model="ruleForm.position_y" autocomplete="off"></el-input>
+         <span style="width:120px">Yrange:{{ruleForm.yrange}}</span>
     </el-form-item>
  </div>
   <div class="yiinpu heigeinput">
     <el-form-item label="Z" :label-width="formLabelWidth4">
-      <el-input v-model="ruleForm.zr" autocomplete="off"></el-input>
-         <span style="width:120px">Zrange:(0,0)</span>
+      <el-input v-model="ruleForm.position_z" autocomplete="off"></el-input>
+         <span style="width:120px">Zrange:{{ruleForm.zrange}}</span>
     </el-form-item>
  </div>
       <div class="line">
       <div class="linetext">位置</div>
     </div>
           <el-form-item label="类型" :label-width="formLabelWidth2">
-              <el-select  v-model="ruleForm.con"  placeholder="请选择">
+              <el-select  v-model="ruleForm.type"  placeholder="请选择">
           <el-option
             v-for="item in conlist"
             :key="item.value"
@@ -64,8 +66,8 @@
           </el-option>
         </el-select>
         </el-form-item>
-          <el-form-item label="变量名" :label-width="formLabelWidth2">
-              <el-select  v-model="ruleForm.con"  placeholder="请选择">
+          <el-form-item label="标量" :label-width="formLabelWidth2">
+              <el-select  v-model="ruleForm.variableName"  placeholder="请选择">
           <el-option
             v-for="item in conlist"
             :key="item.value"
@@ -75,18 +77,20 @@
           </el-option>
         </el-select>
         </el-form-item>
-           <el-form-item label="颜色数量" :label-width="formLabelWidth2">
-          <el-input-number v-model="ruleForm.colorlevel" controls-position="right"  :min="1" :max="10"></el-input-number>
+           <el-form-item label="Level" :label-width="formLabelWidth2">
+          <el-input-number v-model="ruleForm.level" controls-position="right"  :min="1" :max="10"></el-input-number>
                </el-form-item>
                <div class="disflex lheig34 liitem">
-                      <el-checkbox-group v-model="ruleForm.secheck" style="display:flex">
+                      <div style="display:flex">
                         <el-checkbox
-                          label="Sectionalplane"
+                        v-model="ruleForm.sectional_contour_state"
+                          label="sectionalcontour"
                         ></el-checkbox>
                         <el-checkbox
+                        v-model="ruleForm.scalar_value_state"
                           label="Scalarvalue"
                         ></el-checkbox>
-                      </el-checkbox-group>
+                      </div>
                     </div> 
   </div>
 </div>

+ 32 - 23
src/views/index/HCFDLab/index.vue

@@ -225,12 +225,12 @@
                    <span >{{item.titlie}}</span>
             </div>
             </div> 
-             <div class="listitem lbg_color3 bkcolor3" >
+             <!-- <div class="listitem lbg_color3 bkcolor3" >
              <div class="item1 " v-for="(item,index) in  Cuelist"  :key="'five9-'+ index" :class="{activeOrange:active=='five10-'+ index}" @click="clickgeometry($event,index,'five10-'+ index)"  >
                  <el-image :src="item.icon" fit="cover" />  
                    <span >{{item.titlie}}</span>
             </div>
-            </div>
+            </div> -->
                </div>
               
            </el-tab-pane>
@@ -1766,7 +1766,7 @@
         <el-button   @click="dialog.SurfaceGrid_visiable = false"
           >{{ $t("HCFD.file.cancel")}}  </el-button
         >
-        <el-button type="primary" @click="bStepok('','ResultImport');dialog.SurfaceGrid_visiable = false"
+        <el-button type="primary" @click="bStepok('','ResultImport','');dialog.SurfaceGrid_visiable = false"
           >{{ $t("HCFD.file.ok")}}</el-button
         >
       </div>
@@ -1848,7 +1848,7 @@
         <el-button   @click="dialog.VolumeGrid_visiable = false"
           >{{ $t("HCFD.file.cancel")}}</el-button
         >
-        <el-button type="primary" @click="bStepok('','ResultImport'); dialog.VolumeGrid_visiable = false"
+        <el-button type="primary" @click="bStepok('','ResultImport',''); dialog.VolumeGrid_visiable = false"
           >{{ $t("HCFD.file.ok")}}</el-button
         >
       </div>
@@ -3610,29 +3610,37 @@ pointclick(){
   // 添加div
  addTab(targetName) {
    this.target= targetName;
-    console.log(targetName);
         let newTabName = ++this.tabIndex + '';
+        console.log(newTabName);
+      this.bStepok('',"SliceDisplayAdd '",newTabName)
+
         this.editableTabs.push({
           title:newTabName,
           name: newTabName,
           // content:Addtabs,
             ruleForm:{
-                fw:'1',
-                slicecheck:'Solid',
-                sx:'',
-                sy:'',
-                sx:'',
-                rx:'',
-                yx:'',
-                zx:'',
-                con:'0',
-                colorlevel:'Sectionalplane',
-                secheck:'',
+                index:1,
+                type:"line", 
+                variableName:'1',
+                level:'',
+                normal_x:'',
+                normal_y :'',
+                normal_z:'',
+                position_x:'',
+                position_y:'',
+                position_z:'',
+                scalar_value_state:'',
+                solid_state:'',
+                sectional_pLane_state:'',
+                sectional_contour_state:'',
+                xrange:'0.0',
+                yrange:'0.0',
+                zrange:'0.0',
+                areaRange:"",
                 },
 
         });
         this.editableTabsValue = newTabName;
-         console.log( this.editableTabs);
       
       },
        //删除新增的tab
@@ -3701,7 +3709,7 @@ console.log(val)
        this.desclist=this.parameterObj.hcfdBoundarys;
       sessionStorage.setItem("res", obj);
       this.solverConfigid=solverConfigid;
-       this.state=datas.state;
+       this.state=datas.state;//-1-为求解 ,0-是求解中,1-求解完成
       sessionStorage.setItem("solverConfigid", solverConfigid);
     },
 //更新参数配置
@@ -3898,7 +3906,7 @@ setpnum(){
 
 },
 // 获取轮廓数据
-bStepok(num,action){
+bStepok(num,action,index){
   const params = {
         transCode: 'AFT001',
         pid:this.project.projectId,
@@ -3915,25 +3923,26 @@ bStepok(num,action){
         dataV:this.vectorobj.dataV,
         dataW:this.vectorobj.dataW,
         scaleFactor:this.vectorobj.scaleFactor,
+        index:index,
 
         }
         request(params)
           .then((res) => { 
-             
+             console.log(res);
          })
           .catch((err) => {
           })
 },
 //level颜色的数据
 changeblur(){
- this.bStepok(this.outlineobj.level,'ContourDisplay')
+ this.bStepok(this.outlineobj.level,'ContourDisplay','')
 },
 vchangeblur(){
- this.bStepok(this.outlineobj.level,"LineDisplay")
+ this.bStepok(this.outlineobj.level,"LineDisplay",'')
 },
 // 矢量的OK按钮
 vectorOK(){
- this.bStepok('',"VectorDisplay")
+ this.bStepok('',"VectorDisplay",'')
 },
 // 获取轮廓数据
 outlinedata(){

+ 10 - 13
src/views/index/index.vue

@@ -10,7 +10,7 @@
         <hcfd ref="hcfd" :objopp="objopp" :ytdata="ytdata" :vectorparam="vectorparam" :pid="pid" @fun="fun()" @changelines="changelines()" @linezhexian="linezhexian()" :elodingfalse="elodingfalse" @exlodingfalse="exlodingfalse" :femnum="femnum"></hcfd>
         </div>
           <div v-else-if="value2=='FEMLab(结构力学)'">
-        <fem ref="fem" :femnum="femnum" :logs='logs' @getthislog='getthislog' :pid="pid"></fem>
+        <fem ref="fem" :femnum="femnum" :logs='logs' @getthislog='getthislog' :pid="pid" @exlodingfalse="exlodingfalse" ></fem>
         </div>
         <div v-else-if="value2=='FEMLab(结构力学)版本2'">
         <fem2 ref="fem2" :femnum="femnum" :logs='logs' :pid="pid" ></fem2>
@@ -501,19 +501,17 @@ linezhexian(num){
            
            })   
         }else if(val=='FEMLab(结构力学)'){
-            
+            let data=res;
              this.logs='FEMLab(结构力学)';
-              this.$refs.fem.femchange(res.parameterObj,res.solverConfigid);
+             this.$refs.fem.femchange(res.parameterObj,res.solverConfigid,data);
               this.$refs.TFileStream.imgtupian=false;
               this.$refs.monitor.container_show=false;
-             this.$nextTick(()=>{
-            
-           })   
+
+        // }  
         }else{
           
         }
             }else{
-              console.log(2222)
             }
           })
           .catch((err) => {
@@ -543,19 +541,18 @@ linezhexian(num){
           this.solverConfigid=res.solverConfigid;
          let data= JSON.parse(this.objopp);
           this.numsteps=data.nmlParam.steps;
+           this.exlodingfalse(false)
           that.$refs.TFileStream.imgtupian=true;
             that.$refs.monitor.container_show=true;
            })   
         }else if(val=='FEMLab(结构力学)'){
-            this.logs='FEMLab(结构力学)'
-              this.$refs.fem.femchange(res.parameterObj,res.solverConfigid);
+              let data=res;
+            this.logs='FEMLab(结构力学)';
+            this.$refs.fem.femchange(res.parameterObj,res.solverConfigid,data);
             that.$refs.TFileStream.imgtupian=false;
             that.$refs.monitor.container_show=false;
+            
               
-             that.$nextTick(()=>{
-             // this.$refs.fem.femchange(res.parameterObj,res.solverConfigid);
-           
-           })   
         }else{
           
         }