liuqiao 2 سال پیش
والد
کامیت
85fdb5d423

BIN
src/assets/icon/animation.png


BIN
src/assets/icon/result_contour.png


BIN
src/assets/icon/result_curve.png


BIN
src/assets/icon/result_line.png


BIN
src/assets/icon/result_slice.png


BIN
src/assets/icon/result_stream.png


BIN
src/assets/icon/result_vector.png


BIN
src/assets/icon/solid_surface.png


+ 61 - 27
src/views/index/HCFDLab/addtabs.vue

@@ -1,12 +1,12 @@
 <template>
 <div>
      <div class='selecttype'>
-        <span class="texttype">片</span>
+        <span class="texttype">片</span>
         <el-form-item label="面积_范围" :label-width="formLabelWidth2" >
-      <el-input v-model="slice.fw"  autocomplete="off"></el-input>
+      <el-input v-model="ruleForm.fw"  autocomplete="off"></el-input>
       </el-form-item>
       <div class="disflex lheig34 liitem">
-                      <el-checkbox-group v-model="slice.slicecheck" style="display:flex">
+                      <el-checkbox-group v-model="ruleForm.slicecheck" style="display:flex">
                         <el-checkbox
                           label="Solid"
                           @change="ContourvalVolume()"
@@ -21,32 +21,32 @@
       <div class="linetext">正常值</div>
     </div> 
      <el-form-item label="X" :label-width="formLabelWidth4" >
-      <el-input v-model="slice.sx" autocomplete="off"></el-input>
+      <el-input v-model="ruleForm.sx" autocomplete="off"></el-input>
       </el-form-item>
            <el-form-item label="Y" :label-width="formLabelWidth4" >
-      <el-input v-model="slice.sy" autocomplete="off"></el-input>
+      <el-input v-model="ruleForm.sy" autocomplete="off"></el-input>
       </el-form-item>
            <el-form-item label="Z" :label-width="formLabelWidth4" >
-      <el-input v-model="slice.sz" autocomplete="off"></el-input>
+      <el-input v-model="ruleForm.sz" 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="slice.xr" autocomplete="off"></el-input>
+      <el-input v-model="ruleForm.xr" autocomplete="off"></el-input>
          <span style="width:120px">Xrange:(0,0)</span>
     </el-form-item>
  </div>
   <div class="yiinpu heigeinput">
     <el-form-item label="Y" :label-width="formLabelWidth4">
-      <el-input v-model="slice.yr" autocomplete="off"></el-input>
+      <el-input v-model="ruleForm.yr" autocomplete="off"></el-input>
          <span style="width:120px">Yrange:(0,0)</span>
     </el-form-item>
  </div>
   <div class="yiinpu heigeinput">
     <el-form-item label="Z" :label-width="formLabelWidth4">
-      <el-input v-model="slice.zr" autocomplete="off"></el-input>
+      <el-input v-model="ruleForm.zr" autocomplete="off"></el-input>
          <span style="width:120px">Zrange:(0,0)</span>
     </el-form-item>
  </div>
@@ -54,7 +54,7 @@
       <div class="linetext">位置</div>
     </div>
           <el-form-item label="类型" :label-width="formLabelWidth2">
-              <el-select  v-model="slice.con"  placeholder="请选择">
+              <el-select  v-model="ruleForm.con"  placeholder="请选择">
           <el-option
             v-for="item in conlist"
             :key="item.value"
@@ -65,7 +65,7 @@
         </el-select>
         </el-form-item>
           <el-form-item label="变量名" :label-width="formLabelWidth2">
-              <el-select  v-model="slice.con"  placeholder="请选择">
+              <el-select  v-model="ruleForm.con"  placeholder="请选择">
           <el-option
             v-for="item in conlist"
             :key="item.value"
@@ -76,10 +76,10 @@
         </el-select>
         </el-form-item>
            <el-form-item label="颜色数量" :label-width="formLabelWidth2">
-          <el-input-number v-model="slice.colorlevel" controls-position="right"  :min="1" :max="10"></el-input-number>
+          <el-input-number v-model="ruleForm.colorlevel" controls-position="right"  :min="1" :max="10"></el-input-number>
                </el-form-item>
                <div class="disflex lheig34 liitem">
-                      <el-checkbox-group v-model="slice.secheck" style="display:flex">
+                      <el-checkbox-group v-model="ruleForm.secheck" style="display:flex">
                         <el-checkbox
                           label="Sectionalplane"
                         ></el-checkbox>
@@ -94,22 +94,30 @@
 
 <script>
 export default {
+  props:{
+ ruleForm: {
+          type: Object,
+          default () {
+            return {}
+          }
+        },
+  },
         data(){
             return{
-                slice:{
-                fw:'1',
-                slicecheck:'Solid',
-                sx:'',
-                sy:'',
-                sx:'',
-                rx:'',
-                yx:'',
-                zx:'',
-                con:'0',
-                colorlevel:'Sectionalplane',
-                secheck:'',
+                // ruleForm:{
+                // fw:'1',
+                // slicecheck:'Solid',
+                // sx:'',
+                // sy:'',
+                // sx:'',
+                // rx:'',
+                // yx:'',
+                // zx:'',
+                // con:'0',
+                // colorlevel:'Sectionalplane',
+                // secheck:'',
                 
-                },
+                // },
                   formLabelWidth: '60px',
                     formLabelWidth2:'73px',
                     formLabelWidth4:'37px',
@@ -126,6 +134,32 @@ export default {
 }
 </script>
 
-<style>
+<style lang="scss">
+@import '@/styles/variables.scss';
+@import '@/styles/mixin.scss';
+.selecttype{
+      position: relative;
+      margin: 35px 0 20px 0;
+      border:1px solid;
+      padding:15px;
+.divselect{
+  display:flex;
+  .el-radio{
+        height: 23px;
+    line-height: 23px;
+  }
+}
 
+}
+.texttype{
+  position: absolute;
+    display: inline-block;
+    top: -13px;
+    left: 50%;
+    margin: 0 auto;
+    margin-left: -27px;
+    font-size: 12px;
+    background-color: #fff;
+    padding: 3px 5px;
+}
 </style>

+ 247 - 63
src/views/index/HCFDLab/index.vue

@@ -139,12 +139,6 @@
                             <span >{{item.titlie}}</span>
             </div>
             </div>  
-              <div class="listitem lbg_color3 bkcolor3  imgsolution"  v-for="(item,index) in  solutionlist22"  :key="'four44-'+ index" :class="{activeOrange:active=='four44-'+ index}" @click="clickgeometry($event,index,'four44-'+ index)" >
-             <div class="item2 "   >
-                 <el-image :src="item.icon" fit="cover" />  
-                   <span >{{item.titlie}}</span>
-            </div>
-            </div> 
             </div>
         
           </el-tab-pane>
@@ -157,7 +151,7 @@
                    <span >{{item.titlie}}</span>
             </div>
             </div>
-             <div class="listitem lbg_color3 bkcolor3" style=" display: flex" >
+             <!-- <div class="listitem lbg_color3 bkcolor3" style=" display: flex" >
                <div>
              <div class="item1 " v-for="(item,index) in plotslsit"  :key="'five1-'+ index" :class="{activeOrange:active=='five1-'+ index}" @click="clickgeometry($event,index,'five1-'+ index)"  >
                  <el-image :src="item.icon" fit="cover" />  
@@ -176,15 +170,15 @@
                    <span >{{item.titlie}}</span>
             </div>
              </div>
-            </div>
-               <div class="listitem lbg_color3 bkcolor3" >
+            </div> -->
+               <!-- <div class="listitem lbg_color3 bkcolor3" >
              <div class="item1 " v-for="(item,index) in  samplelist"  :key="'five4-'+ index" :class="{activeOrange:active=='five4-'+ index}" @click="clickgeometry($event,index,'five4-'+ index)"  >
                  <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="listitem lbg_color3 bkcolor3" style=" display: flex" >
                <div>
              <div class="item1 " v-for="(item,index) in generatelist"  :key="'five5-'+ index" :class="{activeOrange:active=='five5-'+ index}" @click="clickgeometry($event,index,'five5-'+ index)"  >
                  <el-image :src="item.icon" fit="cover" />  
@@ -198,7 +192,7 @@
             </div>
              </div>
            
-            </div>
+            </div> -->
                <div class="listitem lbg_color3 bkcolor3" style=" display: flex" >
                <div>
              <div class="item1 " v-for="(item,index) in  displaylist"  :key="'five7-'+ index" :class="{activeOrange:active=='five7-'+ index}" @click="clickgeometry($event,index,'five7-'+ index)"  >
@@ -213,12 +207,24 @@
             </div>
              </div>
             </div>
-             <div class="listitem lbg_color3 bkcolor3" >
+             <!-- <div class="listitem lbg_color3 bkcolor3" >
              <div class="item1 " v-for="(item,index) in  animationlist"  :key="'five9-'+ index" :class="{activeOrange:active=='five9-'+ index}" @click="clickgeometry($event,index,'five9-'+ index)"  >
                  <el-image :src="item.icon" fit="cover" />  
                    <span >{{item.titlie}}</span>
             </div>
+            </div> -->
+             <div class="listitem lbg_color3 bkcolor3"  v-for="(item,index) in  animationlist"  :key="'five9-'+ index" :class="{activeOrange:active=='five9-'+ index}" @click="clickgeometry($event,index,'five9-'+ index)">
+             <div class="item2 "   >
+                 <el-image :src="item.icon" fit="cover" />  
+                   <span >{{item.titlie}}</span>
+            </div>
+            </div>
+             <div class="listitem lbg_color3 bkcolor3  imgsolution"  v-for="(item,index) in  solutionlist22"  :key="'four44-'+ index" :class="{activeOrange:active=='four44-'+ index}" @click="clickgeometry($event,index,'four44-'+ index)" >
+             <div class="item2 "   >
+                 <el-image :src="item.icon" fit="cover" />  
+                   <span >{{item.titlie}}</span>
             </div>
+            </div> 
              <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" />  
@@ -2089,7 +2095,7 @@
      :style="styX"
        >
             <div slot="title" class=dialog_header>
-     <el-image class="imge" :src="p9" fit="cover" />
+     <el-image class="imge" :src="p14" fit="cover" />
      <span class="text-color">Solid Surface</span>
   </div>
   <el-form :model="form">
@@ -2153,24 +2159,25 @@
      :style="styX"
        >
             <div slot="title" class=dialog_header>
-     <el-image class="imge" :src="p12" fit="cover" />
-     <span class="text-color">片</span>
+     <el-image class="imge" :src="p15" fit="cover" />
+     <span class="text-color">片</span>
   </div>
   <el-form :model="form">
    <div class="heigeinput">
       <div class="listbtn"> 
        <el-button plain class="anniu"  @click="addTab(editableTabsValue) ">添加</el-button>
-        <el-button plain class="anniu" @click="moveTab(targetName) ">清除</el-button>
+         <el-button plain class="anniu"  @tab-remove="removeTab">updata</el-button>
+        <el-button plain class="anniu"  @click="removeclear(editableTabsValue)">清除</el-button>
       </div>
-     <el-tabs v-model="editableTabsValue" type="card" closable @tab-remove="removeTab">
+     <el-tabs v-model="editableTabsValue" type="card" closable @tab-remove="removeTab" @tab-click="handletabclick" >
   <el-tab-pane
     v-for="item in editableTabs"
     :key="item.name"
     :label="item.title"
     :name="item.name"
   >
-    <!-- {{item.content}} -->
-     <Addtabs :is=item.content> {{item.content}}</Addtabs>
+    <!-- {{item.content}}:is=item.content   -->
+     <Addtabs ref="addtab"  :ruleForm="item.ruleForm"></Addtabs>
   </el-tab-pane>
 </el-tabs>
 
@@ -2181,7 +2188,7 @@
         <el-button   @click="dialog.Slice_Surface= false"
           >{{ $t("HCFD.file.cancel")}}</el-button
         >
-        <el-button type="primary" @click=" liceOK();dialog.Slice_Surface= false"
+        <el-button type="primary" @click=" liceOK();"
           >{{ $t("HCFD.file.ok")}}</el-button
         >
         <el-button type="primary" @click="dialog.Slice_Surface = false"
@@ -2189,6 +2196,157 @@
         >
       </div>
 </el-dialog>
+<!-- Stream -->
+ <el-dialog  :visible.sync="dialog.Stream_Surface" 
+     v-if="active=='five8-2'"
+    :modal='false'
+    :close-on-click-modal="false"
+    @close='activecleer()'
+    custom-class='dialoglocation dialog_color'
+     width="385px"
+     :style="styX"
+       >
+            <div slot="title" class=dialog_header>
+     <el-image class="imge" :src="p16" fit="cover" />
+     <span class="text-color">Stream</span>
+  </div>
+  <el-form :model="form">
+   <div class="heigeinput">
+ <div class='selecttype'>
+        <span class="texttype">Stream</span>
+         <div class='selecttype'>
+        <span class="texttype">矢量</span>
+         <div class="selecr">
+          <el-form-item label="u" :label-width="formLabelWidth4">
+      <el-select 
+                  size="mini"
+                  v-model="vectorobj.dataU"
+                  placeholder="select boundary"
+                >
+                   <el-option
+                            v-for="scalar in vectorobj.dataUarr"
+                            :key="scalar"
+                            :label="scalar"
+                            :value="scalar"
+                          >
+                          </el-option>
+                </el-select>
+        </el-form-item>
+        <el-form-item label="v" :label-width="formLabelWidth4">
+      <el-select 
+                  size="mini"
+                  v-model="vectorobj.dataV"
+                  placeholder="select boundary"
+                >
+                   <el-option
+                            v-for="scalar in vectorobj.dataVarr"
+                            :key="scalar"
+                            :label="scalar"
+                            :value="scalar"
+                          >
+                          </el-option>
+                </el-select>
+        </el-form-item>
+            <el-form-item label="w" :label-width="formLabelWidth4">
+      <el-select 
+                  size="mini"
+                  v-model="vectorobj.dataW"
+                  placeholder="select boundary"
+                >
+                   <el-option
+                            v-for="scalar in vectorobj.dataWarr"
+                            :key="scalar"
+                            :label="scalar"
+                            :value="scalar"
+                          >
+                          </el-option>
+                </el-select>
+        </el-form-item>
+    </div>
+    <div class="listbtn"> 
+       <el-button plain class="anniu">创建</el-button>
+      </div>
+      </div>
+        <div class='selecttype'>
+        <span class="texttype">seed</span>
+         <div class="listbtn"> <el-button plain class="anniu">选择</el-button></div>
+          <div class="listbtn"> <el-button plain class="anniu">删除最后一个</el-button></div>
+          <div class="listbtn"> <el-button plain class="anniu">删除全部</el-button></div>
+        </div>
+         <div class="selecr">
+          <div class="line">
+      <div class="linetext"> 方向</div>
+    </div>  
+          <el-form-item label="方向" :label-width="formLabelWidth5">
+      <el-select 
+                  size="mini"
+                  v-model="vectorobj.dataU"
+                  placeholder="select boundary"
+                >
+                   <el-option
+                            v-for="scalar in vectorobj.dataUarr"
+                            :key="scalar"
+                            :label="scalar"
+                            :value="scalar"
+                          >
+                          </el-option>
+                </el-select>
+        </el-form-item>
+             <div class="line">
+      <div class="linetext"> 样式</div>
+    </div>  
+          <el-form-item label="StreamStyle" :label-width="formLabelWidth5">
+      <el-select 
+                  size="mini"
+                  v-model="vectorobj.dataU"
+                  placeholder="select boundary"
+                >
+                   <el-option
+                            v-for="scalar in vectorobj.dataUarr"
+                            :key="scalar"
+                            :label="scalar"
+                            :value="scalar"
+                          >
+                          </el-option>
+                </el-select>
+        </el-form-item>
+      <div class="line">
+      <div class="linetext"> intergration</div>
+    </div> 
+        <el-form-item label="InitialStep" :label-width="formLabelWidth6" >
+      <el-input value="PingYi" autocomplete="off"></el-input>
+      </el-form-item>
+          <el-form-item label="MaxPropagation" :label-width="formLabelWidth6" >
+      <el-input value="PingYi" autocomplete="off"></el-input>
+      </el-form-item>
+          <el-form-item label="MinimumStep" :label-width="formLabelWidth6" >
+      <el-input value="PingYi" autocomplete="off"></el-input>
+      </el-form-item> 
+    <div class="radio_text text_color liangf">
+              <div class="classfelx" style="text-align: center;">
+               <el-checkbox v-model="colorobj.showHideState" label="show"></el-checkbox>
+   
+                  </div>
+                    <div class="classfelx">
+                       <el-checkbox v-model="colorobj.showHideState" label="tool"></el-checkbox>
+                 
+                    </div>
+                    </div>
+        </div>
+      </div>
+  
+ </div> 
+  </el-form>
+  <div slot="footer" class="dialog-footer">
+        <el-button   @click="dialog.Stream_Surface= false"
+          >{{ $t("HCFD.file.cancel")}}</el-button
+        >
+        <el-button type="primary" @click="dialog.Stream_Surface= false"
+          >{{ $t("HCFD.file.ok")}}</el-button
+        >
+  
+      </div>
+</el-dialog>
 <!-- an_Animation -->
  <el-dialog  :visible.sync="dialog.an_Animation" 
      v-if="active=='five9-0'"
@@ -2588,17 +2746,23 @@ import qq from '@/assets/icon/14.png'
 
 import p1 from '@/assets/icon/7.png'
 import p2 from '@/assets/icon/zoomtowindow.png'
-import p3 from '@/assets/icon/1.png'
-import p4 from '@/assets/icon/3.png'
+import p3 from '@/assets/icon/result_contour.png'
+import p4 from '@/assets/icon/result_vector.png'
 import p5 from '@/assets/icon/13.png'
 import p6 from '@/assets/icon/14.png'
 import p7 from '@/assets/icon/19.png'
 import p8 from '@/assets/icon/12.png'
-import p9 from '@/assets/icon/15.png'
+import p9 from '@/assets/icon/result_line.png'
 import p10 from '@/assets/icon/6.png'
 import p11 from '@/assets/icon/9.png'
 import p12 from '@/assets/icon/2.png'
 import p13 from '@/assets/icon/18.png'
+import p14 from '@/assets/icon/solid_surface.png'
+import p15 from '@/assets/icon/result_slice.png'
+import p16 from '@/assets/icon/result_stream.png'
+import p17 from '@/assets/icon/animation.png'
+import p18 from '@/assets/icon/result_curve.png'
+
 
 
 import adilog from "@/assets/hcfd_images/adilog.png";
@@ -2687,33 +2851,28 @@ export default {
       pointvalue:'1',
       linevalue:"1",
       },
-      slice:{
-      fw:'1',
-      slicecheck:'Solid',
-      sx:'',
-      sy:'',
-      sx:'',
-      rx:'',
-      yx:'',
-      zx:'',
-      con:'0',
-      colorlevel:'Sectionalplane',
-      secheck:'',
-      },
       target:'',
         editableTabsValue: '1',
         editableTabs: [
         //   {
         //   title: '1',
         //   name: '1',
-        //   content: 'Tab 1 content'
-        // }, {
-        //   title: '2',
-        //   name: '2',
-        //   content: 'Tab 2 content'
+        //   ruleForm: {
+        //         fw:'1',
+        //         slicecheck:'Solid',
+        //         sx:'',
+        //         sy:'',
+        //         sx:'',
+        //         rx:'',
+        //         yx:'',
+        //         zx:'',
+        //         con:'0',
+        //         colorlevel:'Sectionalplane',
+        //         secheck:'',
         // },
+        //   },
         ],
-        tabIndex: 1,
+        tabIndex: 0,
        
      
       value1: 0,
@@ -2739,7 +2898,7 @@ export default {
         d1,d2,d3,d4,
        j1,j2,
        q1, q2,q3,q4,q5,q6,qq,
-       p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,
+       p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,
       visibles:false,
       restime:'',
       numzhexian:'',
@@ -2850,7 +3009,7 @@ export default {
              { icon:q4, titlie:'初始化'},
         ],
          solutionlist22:[
-             { icon:qq, titlie:'折线图'},
+             { icon:p18, titlie:'折线图'},
         ],
         solutionlist3:[
             { icon:q5, titlie:'运行控制'},
@@ -2901,12 +3060,12 @@ export default {
             { icon:p4, titlie:'矢量'},
         ],
         displaylist2:[
-           { icon:p9, titlie:'Solid Surface'},
-            { icon:p12, titlie:'片'},
-            { icon:p13, titlie:'Stream'},
+           { icon:p14, titlie:'Solid Surface'},
+            { icon:p15, titlie:'切片'},
+            { icon:p16, titlie:'Stream'},
         ],
         animationlist:[
-           { icon:p9, titlie:'动画'},
+           { icon:p17, titlie:'动画'},
         ],
         Cuelist:[
             { icon:p9, titlie:'Curve Select'},
@@ -3178,6 +3337,7 @@ export default {
         Vector_visiable:false,
         Solid_Surface:false,
         Slice_Surface:false,
+        Stream_Surface:false,
         Curve_Select:false,
         Curve_Disp1ay:false,
         an_Animation:false,
@@ -3451,20 +3611,34 @@ pointclick(){
         this.editableTabs.push({
           title:newTabName,
           name: newTabName,
-           content:'Addtabs',
+          // content:Addtabs,
+            ruleForm:{
+                fw:'1',
+                slicecheck:'Solid',
+                sx:'',
+                sy:'',
+                sx:'',
+                rx:'',
+                yx:'',
+                zx:'',
+                con:'0',
+                colorlevel:'Sectionalplane',
+                secheck:'',
+                },
+
         });
         this.editableTabsValue = newTabName;
          console.log( this.editableTabs);
       
       },
-      removeTab(targetName) {
-        
-         console.log(targetName);
-        let tabs = this.editableTabs;
+       //删除新增的tab
+      removeclear(val){
+        console.log(val)
+         let tabs = this.editableTabs;
         let activeName = this.editableTabsValue;
-        if (activeName === targetName) {
+        if (activeName === val) {
           tabs.forEach((tab, index) => {
-            if (tab.name === targetName) {
+            if (tab.name === val) {
               let nextTab = tabs[index + 1] || tabs[index - 1];
               if (nextTab) {
                 activeName = nextTab.name;
@@ -3472,14 +3646,14 @@ pointclick(){
             }
           });
         }
-        
         this.editableTabsValue = activeName;
-        this.editableTabs = tabs.filter(tab => tab.name !== targetName);
-        
+        this.editableTabs = tabs.filter(tab => tab.name !== val);
+
       },
-      //删除新增的tab
-moveTab(){
-      let tabs = this.editableTabs;
+      removeTab(targetName) {
+        
+         console.log(targetName);
+        let tabs = this.editableTabs;
         let activeName = this.editableTabsValue;
         if (activeName === targetName) {
           tabs.forEach((tab, index) => {
@@ -3494,8 +3668,15 @@ moveTab(){
         
         this.editableTabsValue = activeName;
         this.editableTabs = tabs.filter(tab => tab.name !== targetName);
-},
+        
+      },
+   handletabclick(el){
+     console.log(el);
+
+   },  
 liceOK(){
+ 
+  console.log(this.editableTabs);
 
 },
   changedesc1(val){
@@ -3969,6 +4150,9 @@ this.styX.left=e.clientX+'px';
        break;
          case 'five8-1':
         this.dialog.Slice_Surface= true;
+       break;
+           case 'five8-2':
+        this.dialog.Stream_Surface= true;
        break;
         case 'five9-0':
         this.dialog.an_Animation = true;