liuqiao 2 anni fa
parent
commit
ea8b629bde
2 ha cambiato i file con 378 aggiunte e 13 eliminazioni
  1. 365 11
      src/views/index/HCFDLab/index.vue
  2. 13 2
      src/views/index/index.vue

+ 365 - 11
src/views/index/HCFDLab/index.vue

@@ -2102,7 +2102,7 @@
      :style="styX"
        >
             <div slot="title" class=dialog_header>
-     <el-image class="imge" :src="p4" fit="cover" />
+     <el-image class="imge" :src="p9" fit="cover" />
      <span class="text-color">Solid Surface</span>
   </div>
   <el-form :model="form">
@@ -2128,13 +2128,13 @@
     <div class="radio_text text_color liangf">
               <div class="classfelx" style="text-align: center;">
                 <el-radio
-                      v-model="parameterObj.nmlParam.noninertial_Reference_Frame"
+                      v-model="radio"
                       label="on"
                       >hide</el-radio>
                   </div>
                     <div class="classfelx">
                     <el-radio
-                      v-model="parameterObj.nmlParam.noninertial_Reference_Frame"
+                      v-model="radio"
                       label="off"
                       >show</el-radio
                     >
@@ -2154,6 +2154,218 @@
         >
       </div>
 </el-dialog>
+<!--Slice片 -->
+ <el-dialog  :visible.sync="dialog.Slice_Surface" 
+     v-if="active=='five8-1'"
+    :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="p12" 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() ">添加</el-button>
+        <el-button plain class="anniu" @click="moveTab() ">清除</el-button>
+      </div>
+     <el-tabs v-model="editableTabsValue" type="card" closable @tab-remove="removeTab">
+  <el-tab-pane
+    v-for="item in editableTabs"
+    :key="item.name"
+    :label="item.title"
+    :name="item.name"
+  >
+    {{item.content}}
+  </el-tab-pane>
+</el-tabs>
+  <div class='selecttype'>
+        <span class="texttype">片</span>
+        <el-form-item label="面积_范围" :label-width="formLabelWidth2" >
+      <el-input v-model="slice.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
+                          label="Solid"
+                          @change="ContourvalVolume()"
+                        ></el-checkbox>
+                        <el-checkbox
+                          label="Sectional plane"
+                          @change="ContourvalVolume()"
+                        ></el-checkbox>
+                      </el-checkbox-group>
+                    </div>  
+          <div class="line">
+      <div class="linetext">正常值</div>
+    </div> 
+     <el-form-item label="X" :label-width="formLabelWidth4" >
+      <el-input v-model="slice.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-form-item>
+           <el-form-item label="Z" :label-width="formLabelWidth4" >
+      <el-input v-model="slice.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>
+         <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>
+         <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>
+         <span style="width:120px">Zrange:(0,0)</span>
+    </el-form-item>
+ </div>
+      <div class="line">
+      <div class="linetext">位置</div>
+    </div>
+          <el-form-item label="类型" :label-width="formLabelWidth2">
+              <el-select  v-model="slice.con"  placeholder="请选择">
+          <el-option
+            v-for="item in conlist"
+            :key="item.value"
+            :label="item.name"
+            :value="item.value"
+            >
+          </el-option>
+        </el-select>
+        </el-form-item>
+          <el-form-item label="变量名" :label-width="formLabelWidth2">
+              <el-select  v-model="slice.con"  placeholder="请选择">
+          <el-option
+            v-for="item in conlist"
+            :key="item.value"
+            :label="item.name"
+            :value="item.value"
+            >
+          </el-option>
+        </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-form-item>
+               <div class="disflex lheig34 liitem">
+                      <el-checkbox-group v-model="slice.secheck" style="display:flex">
+                        <el-checkbox
+                          label="Sectionalplane"
+                        ></el-checkbox>
+                        <el-checkbox
+                          label="Scalarvalue"
+                        ></el-checkbox>
+                      </el-checkbox-group>
+                    </div> 
+  </div>
+  
+ </div> 
+  </el-form>
+  <div slot="footer" class="dialog-footer">
+        <el-button   @click="dialog.Slice_Surface= false"
+          >{{ $t("HCFD.file.cancel")}}</el-button
+        >
+        <el-button type="primary" @click="dialog.Slice_Surface= false"
+          >{{ $t("HCFD.file.ok")}}</el-button
+        >
+        <el-button type="primary" @click="dialog.Slice_Surface = false"
+          >Apply</el-button
+        >
+      </div>
+</el-dialog>
+<!-- an_Animation -->
+ <el-dialog  :visible.sync="dialog.an_Animation" 
+     v-if="active=='five9-0'"
+    :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="p9" fit="cover" />
+     <span class="text-color">动画</span>
+  </div>
+  <el-form :model="form">
+   <div class="heigeinput">
+      <div class="line">
+      <div class="linetext">动画</div>
+    </div> 
+       <el-form-item label="第一步" :label-width="formLabelWidth2" >
+      <el-input value="PingYi" autocomplete="off"></el-input>
+      </el-form-item>
+          <el-form-item label="最后一步" :label-width="formLabelWidth2" >
+      <el-input value="PingYi" autocomplete="off"></el-input>
+      </el-form-item>
+          <el-form-item label="当前步" :label-width="formLabelWidth2" >
+      <el-input value="PingYi" autocomplete="off"></el-input>
+      </el-form-item>
+<div class="line">
+      <div class="linetext">通用场景</div>
+    </div> 
+     <div class="block1" style="dispaly:flex">
+        <div class="listbtn"> 
+       <el-button plain class="anniu">点</el-button>
+         <el-slider v-model="value1" style="width:50%"></el-slider>
+        <el-button plain class="anniu">Cells</el-button>
+      </div>
+        <div class="listbtn"> 
+       <el-button plain class="anniu">Start</el-button>
+        <el-button plain class="anniu">Last</el-button>
+        <el-button plain class="anniu">Play/stop</el-button>
+       
+      </div>
+         <div class="listbtn"> 
+       <el-button plain class="anniu">Next</el-button>
+        <el-button plain class="anniu">End</el-button>
+          </div>
+              <el-form-item label="T_区间" :label-width="formLabelWidth2" >
+      <el-input value="PingYi" autocomplete="off"></el-input>
+      </el-form-item>
+     <div class="qijuan">正确的范围:(0~50)</div>
+            <div class="listbtn"> 
+        <el-button plain class="anniu">Edit</el-button>
+        <el-button plain class="anniu">Apply</el-button>
+       
+      </div>
+        <div class='selecttype'>
+        <span class="texttype">zoom</span>
+      </div>
+    <!-- <span class="demonstration">Low</span>
+    <el-slider v-model="value1"></el-slider>
+    <span class="demonstration">Quick</span> -->
+  </div>
+ </div> 
+  </el-form>
+  <div slot="footer" class="dialog-footer">
+        <el-button   @click="dialog.an_Animation= false"
+          >{{ $t("HCFD.file.cancel")}}</el-button
+        >
+        <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>
+
 <!--Curve Select曲线选择 -->
  <el-dialog  :visible.sync="dialog.Curve_Select" 
      v-if="active=='five10-0'"
@@ -2253,13 +2465,38 @@
         <div class="line">
       <div class="linetext">结果曲线</div>
     </div> 
-   
     </div>
    <div class="heigeinput selecr">
-      
-
-      
-      
+      <div class='selecttype'>
+        <span class="texttype">选择类型</span>
+      <div class="divselect">
+      <div>
+        <el-radio v-model="radio" label="1">点</el-radio>
+        <el-radio v-model="radio" label="2">曲线</el-radio>
+      </div>
+       
+        <div>
+         <el-form-item label="点大小" :label-width="formLabelWidth2" >
+      <el-input value="PingYi" autocomplete="off"></el-input>
+      </el-form-item>
+         <el-form-item label="曲线大小" :label-width="formLabelWidth2" >
+      <el-input value="PingYi" autocomplete="off"></el-input>
+      </el-form-item>
+        </div>
+      </div>
+      </div>
+        <div class='selecttype'>
+        <span class="texttype">zoom</span>
+        <div class="liangf">
+         <el-form-item label="X_最小值" :label-width="formLabelWidth2" >
+      <el-input value="0" autocomplete="off"></el-input>
+      </el-form-item>
+         <el-form-item label="Y_最大值" :label-width="formLabelWidth2" >
+      <el-input value="0" autocomplete="off"></el-input>
+      </el-form-item>
+        </div>
+     
+      </div>
  </div> 
   </el-form>
   <div slot="footer" class="dialog-footer">
@@ -2274,6 +2511,7 @@
         >
       </div>
 </el-dialog>
+
      <!-- 单位计算开始 -->
        <el-dialog  :visible.sync="visiable" 
      v-if="active=='six-0'"
@@ -2496,6 +2734,34 @@ export default {
 
   data() {
     return {
+      slice:{
+      fw:'1',
+      slicecheck:'Solid',
+      sx:'',
+      sy:'',
+      sx:'',
+      rx:'',
+      yx:'',
+      zx:'',
+      con:'0',
+      colorlevel:'Sectionalplane',
+      secheck:'',
+      },
+        editableTabsValue: '2',
+        editableTabs: [{
+          title: '1',
+          name: '1',
+          content: 'Tab 1 content'
+        }, {
+          title: '2',
+          name: '2',
+          content: 'Tab 2 content'
+        }],
+        tabIndex: 2,
+       
+     
+      value1: 0,
+      radio:'',
       desclist:[],
       boundaryid:'',
           desc:'' ,
@@ -2675,11 +2941,11 @@ export default {
         ],
         displaylist2:[
            { icon:p9, titlie:'Solid Surface'},
-            { icon:p12, titlie:'Slice'},
+            { icon:p12, titlie:''},
             { icon:p13, titlie:'Stream'},
         ],
         animationlist:[
-           { icon:p9, titlie:'Solid Surface'},
+           { icon:p9, titlie:'动画'},
         ],
         Cuelist:[
             { icon:p9, titlie:'Curve Select'},
@@ -2913,7 +3179,11 @@ export default {
           ],
         },
       ],
-
+  conlist:[
+            {value:'0', name: "line" },
+            {value:'1', name: "Contour"},
+          ],
+          con:'0',
       dialog: {
         //弹出框 控制
         new_visiable: false,
@@ -2950,8 +3220,10 @@ export default {
         Line_visiable:false,
         Vector_visiable:false,
         Solid_Surface:false,
+        Slice_Surface:false,
         Curve_Select:false,
         Curve_Disp1ay:false,
+        an_Animation:false,
       },
       geneal: {
         //数据存储
@@ -3172,6 +3444,50 @@ export default {
   //     this.websock.close() //离开路由之后断开websocket连接
   //   },
 methods:{
+  // 添加div
+ addTab(targetName) {
+        let newTabName = ++this.tabIndex + '';
+        this.editableTabs.push({
+          title:newTabName,
+          name: newTabName,
+           slice:{
+            fw:'2',
+            slicecheck:'Solid',
+            sx:'',
+            sy:'',
+            sx:'',
+            rx:'',
+            yx:'',
+            zx:'',
+            con:'0',
+            colorlevel:'Sectionalplane',
+            secheck:'',
+            },
+        });
+        this.editableTabsValue = newTabName;
+      },
+      removeTab(targetName) {
+        let tabs = this.editableTabs;
+        let activeName = this.editableTabsValue;
+        if (activeName === targetName) {
+          tabs.forEach((tab, index) => {
+            if (tab.name === targetName) {
+              let nextTab = tabs[index + 1] || tabs[index - 1];
+              if (nextTab) {
+                activeName = nextTab.name;
+              }
+            }
+          });
+        }
+        
+        this.editableTabsValue = activeName;
+        this.editableTabs = tabs.filter(tab => tab.name !== targetName);
+      },
+      //删除新增的tab
+moveTab(targetName){
+    let tabs = this.editableTabs;
+    tabs.pop();
+},
   changedesc1(val){
     this.desclist=JSON.parse(val);
      this.parameterObj.hcfdBoundarys= this.desclist;
@@ -3465,6 +3781,12 @@ this.styX.left=e.clientX+'px';
        break;
           case 'five8-0':
         this.dialog.Solid_Surface = true;
+       break;
+         case 'five8-1':
+        this.dialog.Slice_Surface= true;
+       break;
+        case 'five9-0':
+        this.dialog.an_Animation = true;
        break;
         case 'five10-0':
         this.dialog.Curve_Select = true;
@@ -4537,6 +4859,10 @@ html,body{
 </style>
 // 样式大全
 <style lang="scss" scoped>
+.qijuan{
+      padding-left: 25px;
+    margin-bottom: 20px;
+}
   .el-dialog__wrapper{
           top: 20vh;
   }
@@ -4784,6 +5110,34 @@ display:flex;
 }
 </style>
 <style lang="scss" scoped>
+.selecttype{
+      position: relative;
+      margin: 35px 0 20px 0;
+      border:1px solid;
+      padding:15px;
+.divselect{
+  display:flex;
+  .el-radio{
+        height: 23px;
+    line-height: 23px;
+  }
+}
+
+}
+.divselect .el-avatar, .el-cascader-panel, .el-radio, .el-radio--medium.is-bordered .el-radio__label, .el-radio__label{
+  font-size: 12px !important;
+}
+.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;
+}
 .femFooter {
   height: 135px !important;
   padding: 0;

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

@@ -124,7 +124,7 @@
                     </el-tooltip>
                  </div>
                   <span class="shu">|</span>
-                           <div class="item1"  v-for="(item,index) in toollist4"  :key="'tl4-'+ index"  :class="{activeOrange1:active=='tl4-'+ index}" @click="meshclick($event,index,'tl4-'+ index)">
+                           <div class="item1"  v-for="(item,index) in toollist4"   :key="'tl4-'+ index"  :class="{activeOrange2:active=='tl4-'+ index}" :tabIndex="index" @click="meshclick($event,index,'tl4-'+ index)">
                      <el-tooltip class="item" effect="dark" :content="item.titlie" placement="bottom">
                          <el-image :src="item.icon" fit="cover" /> 
                     </el-tooltip>
@@ -792,11 +792,22 @@ html,body{
       background-color:rgba(240, 171, 39, 0);
       border-radius: 5px;
       box-sizing: border-box;
-      border: 3px solid yellow;
       box-sizing: border-box;
       background-color: yellow;
 
     }
+.activeOrange2 :focus{
+      border-radius: 5px;
+      border: 2px solid yellow;
+      box-sizing: border-box;
+      background-color: yellow;
+}
+.activeOrange2 :active{
+      border-radius: 5px;
+      border: none;
+      box-sizing: border-box;
+      background-color: none;
+}
 .itemimg1 .item1 .el-image{
   width: 20px;
   height: 20px;