liuqiao преди 2 години
родител
ревизия
40e5dec323
променени са 1 файла, в които са добавени 170 реда и са изтрити 80 реда
  1. 170 80
      src/views/index/FEMLab/fem.vue

+ 170 - 80
src/views/index/FEMLab/fem.vue

@@ -1,5 +1,5 @@
 <template>
-<div class="leading  fem">
+<div class="leading ">
     <div class="scal">
       <div class="toolbar-part-detail lbg_color1 ">
          <!-- 工具栏 -->
@@ -79,7 +79,7 @@
                    <span >{{item.titlie}}</span>
             </div>
             </div>
-               <div v-if="bxval=='0'">
+               <div v-if="fenxval=='0'">
                <!-- <div class="item1"   v-for="(item,index) in fexkz2"  :key="'five2-'+ index" :class="{activeOrange:active=='five2-'+ index}" @click="clickgeometry($event,index,'five2-'+ index)">
                 <el-tooltip class="item" effect="dark" :content="item.titlie" placement="bottom">
                         <el-image :src="item.icon" fit="cover" />   
@@ -92,7 +92,7 @@
             </div>
             </div>
                </div>
-               <div v-if="bxval=='1'">
+               <div v-if="fenxval=='1'">
                <!-- <div class="item1"   v-for="(item,index) in fexkz3"  :key="'five3-'+ index" :class="{activeOrange:active=='five3-'+ index}" @click="clickgeometry($event,index,'five3-'+ index)">
                 <el-tooltip class="item" effect="dark" :content="item.titlie" placement="bottom">
                         <el-image :src="item.icon" fit="cover" />   
@@ -105,7 +105,7 @@
             </div>
             </div>
                </div>
-                <div v-if="bxval=='2'">
+                <div v-if="fenxval=='2'">
                <!-- <div class="item1"   v-for="(item,index) in fexkz4"  :key="'five4-'+ index" :class="{activeOrange:active=='five4-'+ index}" @click="clickgeometry($event,index,'five4-'+ index)">
                 <el-tooltip class="item" effect="dark" :content="item.titlie" placement="bottom">
                         <el-image :src="item.icon" fit="cover" />   
@@ -118,7 +118,7 @@
             </div>
             </div>
                </div>
-               <div v-if="bxval=='3'">
+               <div v-if="fenxval=='3'">
                <!-- <div class="item1"   v-for="(item,index) in fexkz5"  :key="'five5-'+ index" :class="{activeOrange:active=='five5-'+ index}" @click="clickgeometry($event,index,'five5-'+ index)">
                 <el-tooltip class="item" effect="dark" :content="item.titlie" placement="bottom">
                         <el-image :src="item.icon" fit="cover" />   
@@ -142,6 +142,13 @@
           </el-tab-pane>
                 <el-tab-pane label="结果查看" name="six"> 
                      <div class="imgzong" >
+                
+             <div class="listitem lbg_color3 bkcolor3"  v-for="(item,index) in  animationlist1"  :key="'six0-'+ index" :class="{activeOrange:active=='six0-'+ index}" @click="clickgeometry($event,index,'six0-'+ index)">
+             <div class="item2 "   >
+                 <el-image :src="item.icon" fit="cover" />  
+                   <span >{{item.titlie}}</span>
+            </div>
+            </div>
                <div class="listitem lbg_color3 bkcolor3" style=" display: flex" >
                <div>
              <div class="item1 " v-for="(item,index) in  displaylist"  :key="'six2-'+ index" :class="{activeOrange:active=='six2-'+ index}" @click="clickgeometry($event,index,'six2-'+ index)"  >
@@ -948,7 +955,7 @@
   <div class="selecr">
       <el-form>
        <el-form-item label="分析类型" :label-width="formLabelWidth2">
-      <el-select  @change="changestleixing" v-model="bxval"  placeholder="请选择">
+      <el-select  @change="changestleixing" v-model="fenxval"  placeholder="请选择">
     <el-option
       v-for="item in bxlist"
       :key="item.value"
@@ -962,7 +969,7 @@
   </div>
       <div slot="footer" class="dialog-footer">
         <el-button type="info"  @click="dialog.cae_visiable = false">取消</el-button>
-        <el-button type="primary" @click="dialog.cae_visiable = false"
+        <el-button type="primary" @click="femRun(); dialog.cae_visiable = false"
           >确定</el-button
         >
       </div>
@@ -1835,9 +1842,55 @@
   
       </div>
 </el-dialog>
+<!-- 步数 -->
+<el-dialog
+      :visible.sync="dialog.an_steps"
+      class="lg-y-z"
+      :close-on-click-modal="false"
+      :modal-append-to-body="false"
+       :append-to-body="false"
+      @close='activecleer()'
+        v-if="active=='six0-0'"
+    :modal='false'
+    custom-class='dialoglocation dialog_color'
+     width="385px"
+     :style="styX"
+    >
+        <div slot="title" class=dialog_header>
+     <el-image class="imge" :src="p20" fit="cover" />
+     <span class="text-color">FEM步数</span>
+  </div>
+
+                <div class="flexpad30">
+                  <div class="selecr">
+                      <el-form>
+                      <el-form-item :label="$t('HCFD.results.steps') " :label-width="formLabelWidth2">
+                      <el-select  size="mini" v-model="femStep" @change="femStepChange" placeholder="请选择">
+                  <el-option
+                          v-for="setep in femSteplist"
+                          :key="setep"
+                          :label="setep"
+                          :value="setep"
+                        >
+                        </el-option>
+                  </el-select>
+                </el-form-item>
+      </el-form>
+      </div>
+          </div>
+      <div slot="footer" class="dialog-footer">
+        <el-button   @click="dialog.an_steps = false"
+          >{{ $t("HCFD.file.cancel")}}  </el-button
+        >
+        <el-button type="primary" @click="bStepok('ResultImport','','');dialog.an_steps = false"
+          >{{ $t("HCFD.file.ok")}}</el-button
+        >
+      </div>
+    </el-dialog>
 <!-- an_Animation -->
+ <!-- an_Animation -->
  <el-dialog  :visible.sync="dialog.an_Animation" 
-     v-if="active=='six4-0'"
+     v-if="active=='five9-0'"
     :modal='false'
     :close-on-click-modal="false"
     @close='activecleer()'
@@ -1854,41 +1907,32 @@
       <div class="line">
       <div class="linetext">动画</div>
     </div> 
+     <div class="listbtn anbtn"> 
+       <el-button plain class="anniu"  @click="animationclick('contour')">轮廓显示</el-button>
+        <el-button plain class="anniu" @click="animationclick('line')">线</el-button>
+        <el-button plain class="anniu" @click="animationclick('vector')">矢量</el-button>
+          <el-button plain class="anniu" @click="animationclick('solidSurface')">实体表面</el-button>
+      </div>
+          <div class="yiinpu loadclass" >
+             <el-button plain class="anniu">Lode</el-button>
+             <el-progress :percentage="50" :stroke-width="5" ></el-progress>
+ </div>
        <el-form-item label="第一步" :label-width="formLabelWidth2" >
-      <el-input value="PingYi" autocomplete="off"></el-input>
+      <el-input v-model="animationobj.firststep" autocomplete="off"></el-input>
       </el-form-item>
           <el-form-item label="最后一步" :label-width="formLabelWidth2" >
-      <el-input value="PingYi" autocomplete="off"></el-input>
+      <el-input v-model="animationobj.laststep" autocomplete="off"></el-input>
       </el-form-item>
           <el-form-item label="当前步" :label-width="formLabelWidth2" >
-      <el-input value="PingYi" autocomplete="off"></el-input>
+      <el-input  v-model="animationobj.currentstep" autocomplete="off"></el-input>
       </el-form-item>
-      <div class="timeanmiantion">
-        <ul>
-        <li>Time<span>1</span></li>
-           <li style="flex:2;">
-             <el-form-item label="FileType" :label-width="formLabelWidth2">
-      <el-select    v-model="fileTypeval" disabled  placeholder="请选择">
-    <el-option
-      v-for="item in fileTypeli"
-      :key="item.value"
-      :label="item.name"
-      :value="item.value"
-      >
-    </el-option>
-  </el-select>
- </el-form-item>
-        </li>
-   
-        </ul>
-      </div>
 <div class="line">
       <div class="linetext">通用场景</div>
     </div> 
-        <div class="block1" style="dispaly:flex">
+     <div class="block1" style="dispaly:flex">
         <div class="listbtn"> 
        <el-button plain class="anniu">low</el-button>
-         <el-slider v-model="value1" style="width:50%"></el-slider>
+         <el-slider v-model="value1" style="width:50%;margin: 0 10px 0 15px;"></el-slider>
         <el-button plain class="anniu">Quick</el-button>
       </div>
         <div class="listbtn anbtn"> 
@@ -1916,10 +1960,13 @@
  </div>
         <div class='selecttype'>
         <span class="texttype">zoom</span>
+          <ul>
+      <li v-for="(item,key) in animationobj.zoomarr" :key="key">
+        <span  class="zoomclass">{{item}}</span>
+          <el-checkbox :label="item"  :key="item"  v-model="checked" @change="zoomList(item)">hide</el-checkbox>
+      </li>
+    </ul>
       </div>
-    <!-- <span class="demonstration">Low</span>
-    <el-slider v-model="value1"></el-slider>
-    <span class="demonstration">Quick</span> -->
   </div>
  </div> 
   </el-form>
@@ -1930,11 +1977,9 @@
         <el-button type="primary" @click="dialog.an_Animation= false"
           >{{ $t("HCFD.file.ok")}}</el-button
         >
-        <!-- <el-button type="primary" @click="dialog.an_Animation = false"
-          >Apply</el-button
-        > -->
       </div>
 </el-dialog>
+
          <filesload
       ref="filesload"
       :fileurls="fileurls"
@@ -2008,6 +2053,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 p20 from '@/assets/icon/u3739.png'
 import { number } from 'echarts/lib/export';
 
 export default {
@@ -2019,7 +2065,14 @@ export default {
     },
   data() {
     return {
-      p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,
+       animationobj:{
+        firststep:'',
+        laststep:'',
+        currentstep:'',
+        zoomarr:[],
+     },
+       Stepe:'',
+      p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,
       femstate:-1,
         isVolume:"",
         outlineobj:{
@@ -2032,6 +2085,8 @@ export default {
         nameTypes:'',
         scalarmax:'',
      },
+      femSteplist: [],
+      femStep:'',
     vSalar: "",
     velementCheckeds: ["Contour"],
     colorobj:{
@@ -2262,6 +2317,7 @@ export default {
               Slice_Surface:false,  
               Stream_Surface:false,
               an_Animation:false,
+              an_steps:false,
            
           },
            project: {
@@ -2284,6 +2340,9 @@ export default {
         ],
         animationlist:[
            { icon:p17, titlie:'动画'},
+        ],
+           animationlist1:[
+           { icon:p20, titlie:'步数选择'},
         ],
          solutionlist22:[
              { icon:p18, titlie:'折线图'},
@@ -2411,7 +2470,8 @@ export default {
               //  {value:'2',name:'传热分析'},
                {value:'3',name:'瞬态响应分析'},
         ],
-         bxval:'0',
+        bxval:'',
+         fenxval:'0',
           bxlist1:[
                {value:'0',name:'串行'},
                {value:'1',name:'MPI并行'},
@@ -2524,14 +2584,20 @@ this.init();
                }else{
                  this.$emit("exlodingfalse",false)
                }
+               console.log(this.parameterObj);
+               console.log(this.parameterObj.dynamic.value);
       if(this.parameterObj.f_static.value==true){
-        this.bxval='0';
+        this.fenxval='0';
+           console.log(this.parameterObj.f_static.value);
       }else if(this.parameterObj.eigenv.value=true){
-          this.bxval='1';
+               console.log(this.parameterObj.eigenv.value);
+          this.fenxval='1';
       }else if(this.parameterObj.dynamic.value=true){
-        this.bxval='2';
+               console.log(this.parameterObj.dynamic.value);
+        this.fenxval='3';
       }
-      
+      console.log(this.fenxval);
+      this.changestleixing(this.fenxval);
     },
        async femRun() {
       //更新参数,求解,抓取日志
@@ -2573,40 +2639,6 @@ femparam(){
         .catch((err) => {
           this.runShow='hidden'
         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: "已取消",
-          //       });
-          //     });
-          // }
         });
     },
       //  
@@ -2621,7 +2653,7 @@ bStepok(action,index){
         solverConfigId:this.femsolverConfigid,
         action:action,
         paramJson:this.streamparae,
-        step:this.bStep,
+        step:this.femStep,
         scalarName:this.outlineobj.scalarName,
         level:this.outlineobj.level,
         range0:this.outlineobj.range0,
@@ -2903,7 +2935,7 @@ let b=(Number(this.colorobj.B)/255).toFixed(4);
         solverConfigId:this.femsolverConfigid,
         action:'SolidSurfaceDisplay',
         paramJson:'',
-        step:this.bStep,
+        step:this.femStep,
         scalarName:this.outlineobj.scalarName,
         level:'',
         range0:this.outlineobj.range0,
@@ -3032,9 +3064,67 @@ this.styX.left=e.clientX+'px';
        case 'five6-0':
         this.femExe();
       break 
+        case 'six0-0':
+          this.setpnum();
+         this.dialog.an_steps=true;
+      break;
     
   }
 
+  },
+  // //选择step
+femStepChange(val){
+  this.Stepe=val;
+   if(this.Stepe==0){
+    Message({
+            type: "warning",
+            message: "请选择setp有效值",
+          });
+  }
+    this.animationobj.firststep= this.femSteplist[0];
+    this.animationobj.laststep= this.femSteplist[this.femSteplist.length -1];
+    this.animationobj.currentstep=this.femStep;
+},
+// 获取物面数据的步数
+setpnum(){
+  let steplist=this.femSteplist
+  let len=steplist.length;
+  if(len==0){
+     let params = {
+            transCode: "AFT002",
+            pid:this.project.projectId,
+            solverConfigId:this.solverConfigid,
+          };
+           request(params)
+        .then((res) => {
+        let steps= res.steps.split(',');
+        this.femSteplist=steps; 
+            })
+  }
+
+},
+ animationclick(val){
+    switch(val){
+       case 'contour':
+         
+        this.active='six2-0';
+        this.dialog.contour_visiable = true;
+      break;
+       case 'line':
+          this.active='six2-1';
+        this.dialog.Line_visiable = true;
+      break;
+       case 'vector':
+           this.active='six2-2';
+       this.dialog.Vector_visiable = true;
+      break;
+       case 'solidSurface':
+         this.active='six3-0';
+         this.dialog.Solid_Surface = true;
+      break;
+
+    }
+
   },
   // 文件上传
   femupload(){