liuqiao 2 yıl önce
ebeveyn
işleme
6fd4d26a0a

+ 38 - 28
src/views/index/FEMLab/fem.vue

@@ -1950,7 +1950,7 @@
         <div class="block1" style="dispaly:flex">
         <div class="listbtn"> 
        <el-button plain class="anniu" @click="lowclick()">low</el-button>
-         <el-slider :max='1000' v-model.number="value1" style="width:50%;margin: 0 10px 0 15px;"></el-slider>
+         <el-slider  :max='Number(animationobj.laststep)'   :step="median"   v-model.number="value1" @change="sliderchange" style="width:50%;margin: 0 10px 0 15px;"></el-slider>
         <el-button plain class="anniu" @click="Quickclick()">Quick</el-button>
       </div>
         <div class="listbtn anbtn"> 
@@ -2068,7 +2068,8 @@ export default {
       animationType:'ContourDisplay',
       percentage:0,
       countnum:0,
-      numan:1,
+      numan:true,
+      //numan:2,
     checkList:[],
        animationobj:{
         firststep:'',
@@ -3107,6 +3108,7 @@ setpnum(){
         .then((res) => {
         let steps= res.steps.split(',');
         this.femSteplist=steps; 
+        this.slidermax =Number( this.femSteplist.length);
       this.median=Number(this.femSteplist[2])-Number(this.femSteplist[1]);
             })
   }
@@ -3292,39 +3294,55 @@ this.bStepok("animation",'','')
         Startclick(){
           this.sign=='Start'
           let that=this;
-          this.countnum=0;
+          this.numan=true;
             this.value1= Number(this.animationobj.currentstep);
-              this.timesleep(100)
+                console.log(this.numan)
+              this.timesleep(500)
         },
+   stepfun(){
+        for(let i=0;i<=this.femSteplist.length-1;i++){
+        if(this.femSteplist[i]==this.animationobj.currentstep){
+          this.countnum=i;
+        }
+           }
+   },
       timesleep(time){
         this.signnum=true;
           const sleep = (timeout= time)=>new Promise( (resolve, reject)=>{
                     setTimeout (resolve, timeout);
                     });
               let timer = async(timeout) => {
-              for(let i= this.currentstep1;i<=this.femSteplist.length-1;i++){
-                if(this.signnum)
+              for(let i=this.countnum;i<=this.femSteplist.length-1;i++){
+               
                    if(this.signnum==true){
                      await sleep(time);
                      this.jiekou(this.femSteplist[i]);
                 }else{
                          break;
                 }
-              // await sleep(time);
-              // this.jiekou(this.femSteplist[i]);
               }
               }
               timer(time);
+      },
+      //sliderchange
+      sliderchange(val){
+        this.animationobj.currentstep=val+"";
+        this.value1=val;
+         this.jiekou(this.animationobj.currentstep);
       },
         //Low/2
    lowclick(){
     // this.Stepe
+        this.numan=true;
+    console.log(this.numan)
      this.sign='Low';
-       this.timesleep(2000)
+      this.timesleep(2000)
    },
    Quickclick(){
+         this.numan=true;
+     console.log(this.numan)
      this.sign='Quick';
-     this.timesleep(500)
+     this.timesleep(100)
  
    },
   //上一个
@@ -3359,23 +3377,11 @@ this.bStepok("animation",'','')
   },
   // 点击一下循环,再点击一下停止备注记录长度在循环
     Playstop(){
-       this.numan++
-        if(this.numan%2==0){
-              console.log("点击结束") 
+      if(this.numan==true){
            this.signnum=false;
-            //  if( this.sign=='Low'){
-
-            //  }else if(this.sign=='Quick'){
-            //     this.signnum=false;
-            //  }else if(this.sign=='Start'){
-
-            //  }
-            //  else{
-               console.log("没有动画播放")
-            //  }
+           this.numan=false;
         }else{
-             console.log("点击结束") 
-          
+            // this.numan=true;
              if( this.sign=='Low'){
                this.lowclick()
                 this.signnum=true;
@@ -3386,9 +3392,7 @@ this.bStepok("animation",'','')
               this.signnum=true;
                this.Startclick();
              }else{
-               console.log("没有动画播放")
              }
-            console.log("点开始")
          
         }
     //  this.numan++;
@@ -3444,7 +3448,13 @@ this.bStepok("animation",'','')
             .catch((err) => {
             }); 
       },
-  }
+  },
+    watch: {
+       'animationobj.currentstep' () {
+       this.stepfun();
+     },
+       deep: true
+}
   
 }
 </script>

+ 84 - 50
src/views/index/HCFDLab/index.vue

@@ -2380,7 +2380,7 @@
         <div class="block1" style="dispaly:flex">
         <div class="listbtn"> 
        <el-button plain class="anniu" @click="lowclick()">low</el-button>
-         <el-slider :max='1000' v-model.number="value1" style="width:50%;margin: 0 10px 0 15px;"></el-slider>
+         <el-slider :max='Number(animationobj.laststep)'   :step="median"  v-model.number="value1" @change="sliderchange" style="width:50%;margin: 0 10px 0 15px;"></el-slider>
         <el-button plain class="anniu" @click="Quickclick()">Quick</el-button>
       </div>
         <div class="listbtn anbtn"> 
@@ -2819,8 +2819,12 @@ export default {
 
   data() {
     return {
-      countnum:0,
-      numan:1,
+      sign:'low',
+      signnum:false,
+      countnum:100,
+       numan:true,
+       slidermax:Number,
+       median:Number,
     checkList:[],
       // 云图参数
          Stepe:'',//步数
@@ -3016,7 +3020,7 @@ export default {
              {val:'VectorDisplay', titlie:'矢量'},
              {val:'SolidSurfaceDisplay', titlie:'实体表面'},
         ],
-        animaval:'',
+        animaval:'ContourDisplay',
         meshlist:[
            { icon:q4, titlie:'文件上传'},
           
@@ -3304,6 +3308,7 @@ export default {
       boundaryStep: [],
       bStep:'',
       boundaryScalars: [],
+      hcfdSteplist:[],
       bScalar: "cp",
 
       velementCheckeds: ["Contour"],
@@ -3944,8 +3949,12 @@ setpnum(){
            request(params)
         .then((res) => {
         let steps= res.steps.split(',');
-        this.boundaryStep=steps;                                                                                                                                                                                                                                                  
+        this.boundaryStep=steps; 
+        this.hcfdSteplist=steps;                                                                                                                                                                                                                                              
         this.volumStep=steps;
+        this.slidermax =Number( this.boundaryStep.length);
+        console.log(this.slidermax );
+          this.median=Number(this.hcfdSteplist[2])-Number(this.hcfdSteplist[1]);
             })
   }
 
@@ -4278,6 +4287,7 @@ this.styX.left=e.clientX+'px';
         this.dialog.Stream_Surface= true;
        break;
         case 'five9-0':
+           this.stepfun();
             this.value1=Number(this.animationobj.currentstep);  
         this.dialog.an_Animation = true;
        break;
@@ -4565,6 +4575,7 @@ vStepChange(val){
             message: "请选择setp有效值",
           });
   }
+
    this.animationobj.firststep= this.volumStep[0];
     this.animationobj.laststep= this.volumStep[this.volumStep.length -1];
     this.animationobj.currentstep=val;    
@@ -5110,33 +5121,59 @@ if(val==true){
         },
 //动画
   // 循环步数
-    
-        // 动画的开始
-        Startclick(){
+       Startclick(){
+          this.sign=='Start'
           let that=this;
-          this.countnum=0;
-            this.value1= Number(this.animationobj.currentstep);
-              this.timesleep(1000)
+          this.numan=true;
+          this.value1= Number(this.animationobj.currentstep);
+          this.timesleep(500)
         },
+    stepfun(){
+        for(let i=0;i<=this.hcfdSteplist.length-1;i++){//this.hcfdSteplist.length-1
+        if(this.hcfdSteplist[i]==this.animationobj.currentstep){
+          this.countnum=i;
+        }
+           }
+   },
       timesleep(time){
+           let num=100;
+           //this.countnum=0
+           console.log(this.countnum);
+         // let len= Number((this.animationobj.currentstep).charAt[0]);
+        this.signnum=true;
           const sleep = (timeout= time)=>new Promise( (resolve, reject)=>{
                     setTimeout (resolve, timeout);
                     });
               let timer = async(timeout) => {
-              for(let i= this.countnum;i<=this.boundaryStep.length-1;i++){
-              await sleep(time);
-              this.jiekou(this.boundaryStep[i]);
+              for(let i= this.countnum;i<=this.hcfdSteplist.length-1;i++){//this.hcfdSteplist.length-1
+                   if(this.signnum==true){
+                     await sleep(time);
+                     this.jiekou(this.hcfdSteplist[i]);
+                }else{
+                         break;
+                }
               }
               }
               timer(time);
+      },
+      //sliderchange
+      sliderchange(val){
+        this.animationobj.currentstep=val+"";
+        this.value1=val;
+         this.jiekou(this.animationobj.currentstep);
       },
         //Low/2
    lowclick(){
-    // this.Stepe
-       this.timesleep(2000)
+    
+      this.numan=true;
+      this.sign='Low';
+      this.timesleep(2000)
    },
    Quickclick(){
-       this.timesleep(500)
+         this.numan=true;
+     console.log(this.numan)
+     this.sign='Quick';
+     this.timesleep(100)
  
    },
   //上一个
@@ -5148,8 +5185,8 @@ if(val==true){
             message: "已经是最开始一张",
           });
     }else{
-     
-  this.animationobj.currentstep= (this.value1)-100;
+      console.log(this.median)
+  this.animationobj.currentstep=Number(this.animationobj.currentstep)-this.median;
   console.log( this.animationobj.currentstep);
   this.jiekou( this.animationobj.currentstep); 
     }
@@ -5164,42 +5201,33 @@ if(val==true){
             message: "已经是最后一张",
           });
     }else{
-  this.animationobj.currentstep= (this.value1)+100;
+  this.animationobj.currentstep=Number(this.animationobj.currentstep)+this.median;
   console.log( this.animationobj.currentstep);
   this.jiekou( this.animationobj.currentstep); 
     }
   },
   // 点击一下循环,再点击一下停止备注记录长度在循环
     Playstop(){
-     this.numan++;
-        let flag = true;
-           this.value1= Number(this.animationobj.currentstep);
-          const sleep = (timeout=2000)=>new Promise( (resolve, reject)=>{
-                    setTimeout (resolve, timeout);
-                    });
-                    console.log(this.value1+''+typeof this.value1)
-              let timer = async(timeout) => {
-              for(let i= this.countnum;i<=this.boundaryStep.length;i++){
-                if(this.numan%2==0){
-                   this.countnum++;
-                   if(i<this.boundaryStep.length){
-                       this.jiekou(this.boundaryStep[i]);
-                   }else{
-                         this.numan=1;
-                         this.countnum=0;
-                   }    
-                }else{
-                 flag = true;
-                 this.value1=Number(this.animationobj.currentstep);
-                  console.log("点击结束")
-                       break;
-                }
-              await sleep(2000);
-                }
-              }
-              timer(2000);
-        
-    },
+      if(this.numan==true){
+           this.signnum=false;
+           this.numan=false;
+        }else{
+            // this.numan=true;
+             if( this.sign=='Low'){
+               this.lowclick()
+                this.signnum=true;
+             }else if(this.sign=='Quick'){
+                  this.signnum=true;
+               this.Quickclick();
+             }else if(this.sign=='Start'){
+              this.signnum=true;
+               this.Startclick();
+             }else{
+             }
+         
+        }
+ },
+ 
   // 最后一张
   Endclick(){
   this.jiekou(this.animationobj.laststep); 
@@ -5227,7 +5255,13 @@ if(val==true){
       },
  
 
-      }
+      },
+   watch: {
+       'animationobj.currentstep' () {
+       this.stepfun();
+     },
+       deep: true
+}
 }
 </script>
 <style lang="scss" >

+ 2 - 1
src/views/index/index.vue

@@ -578,7 +578,8 @@ linezhexian(num){
               this.solverConfigid=res.solverConfigid;
                 this.logs='FEMLab(结构力学)';
                  this.startimg("init",'loaddata');
-            that.$refs.monitor.container_show=false;
+             this.$refs.monitor.container_show=false;
+             this.$refs.TFileStream.imgtupian=false;