Browse Source

10.8修改边线

liuqiao 11 months ago
parent
commit
4a0df10c97

BIN
src/assets/flowimg/xuek0.png


BIN
src/assets/img/xuek0.png


+ 3 - 3
src/style/index.css

@@ -437,12 +437,12 @@ margin-top: -6px;
   bottom: 0px;
   bottom: 0px;
 }
 }
 .el-footer{
 .el-footer{
- --el-footer-padding: 0 0 0 20px;
+ --el-footer-padding: 0 0 0 0px;
     --el-footer-height: auto;
     --el-footer-height: auto;
 }
 }
 .footerText .el-textarea__inner{
 .footerText .el-textarea__inner{
   width: 100%;
   width: 100%;
-  height: 130px!important;
+  height: 178px!important;
   border: 0;
   border: 0;
   font-size: 12px;
   font-size: 12px;
   color: #333;
   color: #333;
@@ -544,5 +544,5 @@ box-sizing: border-box;
   padding: 2px 0;
   padding: 2px 0;
 }
 }
 .youhualog{
 .youhualog{
-  padding: 20px;
+  padding: 5px 10px;
 }
 }

+ 2 - 2
src/style/style.css

@@ -450,7 +450,7 @@ margin-top: -6px;
   bottom: 0px;
   bottom: 0px;
 }
 }
 .el-footer{
 .el-footer{
- --el-footer-padding: 0 0 0 20px;
+ --el-footer-padding: 0 0 0 0px;
     --el-footer-height: auto;
     --el-footer-height: auto;
 }
 }
 .left_main{
 .left_main{
@@ -459,7 +459,7 @@ margin-top: -6px;
 }
 }
 .footerText .el-textarea__inner{
 .footerText .el-textarea__inner{
   width: 100%;
   width: 100%;
-  height: 130px!important;
+  height: 178px!important;
   border: 0;
   border: 0;
   font-size: 12px;
   font-size: 12px;
   color: #333;
   color: #333;

+ 43 - 28
src/views/home.vue

@@ -643,7 +643,7 @@
               <div class="numberinput lefttext">
               <div class="numberinput lefttext">
                 <el-form >
                 <el-form >
                   <span>代理模型</span>
                   <span>代理模型</span>
-                  <el-form-item label="代理模型类型:" :label-width="formLabelWidth2">
+                  <el-form-item label="代理模型类型:" :label-width="formLabelWidth1">
                     <el-select   v-model="agval" :suffix-icon="CaretBottom" placeholder="请选择">
                     <el-select   v-model="agval" :suffix-icon="CaretBottom" placeholder="请选择">
                             <el-option
                             <el-option
                               v-for="item in agelist"
                               v-for="item in agelist"
@@ -653,7 +653,7 @@
                             </el-option>
                             </el-option>
                           </el-select>
                           </el-select>
                   </el-form-item>  
                   </el-form-item>  
-                  <el-form-item label="设计空间类型:" :label-width="formLabelWidth2">
+                  <el-form-item label="设计空间类型:" :label-width="formLabelWidth1">
                     <el-select   v-model="agval1" :suffix-icon="CaretBottom" placeholder="请选择">
                     <el-select   v-model="agval1" :suffix-icon="CaretBottom" placeholder="请选择">
                             <el-option
                             <el-option
                               v-for="item in agelist1"
                               v-for="item in agelist1"
@@ -663,7 +663,7 @@
                             </el-option>
                             </el-option>
                           </el-select>
                           </el-select>
                   </el-form-item> 
                   </el-form-item> 
-                  <el-form-item label="试验设计方法:" :label-width="formLabelWidth2">
+                  <el-form-item label="试验设计方法:" :label-width="formLabelWidth1">
                     <el-select   v-model="agval2" :suffix-icon="CaretBottom" placeholder="请选择">
                     <el-select   v-model="agval2" :suffix-icon="CaretBottom" placeholder="请选择">
                             <el-option
                             <el-option
                               v-for="item in agelist2"
                               v-for="item in agelist2"
@@ -673,14 +673,14 @@
                             </el-option>
                             </el-option>
                           </el-select>
                           </el-select>
                   </el-form-item> 
                   </el-form-item> 
-                  <el-form-item label="初始样本点数:" :label-width="formLabelWidth2">
+                  <el-form-item label="初始样本点数:" :label-width="formLabelWidth1">
                     <el-input-number v-model="num" :min="1" :max="10" controls-position="right" />
                     <el-input-number v-model="num" :min="1" :max="10" controls-position="right" />
                   </el-form-item>
                   </el-form-item>
-                  <span>加点方法</span>
-                  <el-form-item label="最大样本点数:" :label-width="formLabelWidth2">
+                  <span>加点准则</span>
+                  <el-form-item label="最大样本点数:" :label-width="formLabelWidth1">
                     <el-input-number v-model="num" :min="1" :max="10" controls-position="right" />
                     <el-input-number v-model="num" :min="1" :max="10" controls-position="right" />
                   </el-form-item>
                   </el-form-item>
-                  <el-form-item label="加点准则:" :label-width="formLabelWidth2">
+                  <el-form-item label="加点准则:" :label-width="formLabelWidth1">
                     <el-select   v-model="addval" :suffix-icon="CaretBottom" placeholder="请选择">
                     <el-select   v-model="addval" :suffix-icon="CaretBottom" placeholder="请选择">
                             <el-option
                             <el-option
                               v-for="item in addlist"
                               v-for="item in addlist"
@@ -693,7 +693,7 @@
                   <el-form-item label="单次迭代新增样本点数:" :label-width="formLabelWidth1">
                   <el-form-item label="单次迭代新增样本点数:" :label-width="formLabelWidth1">
                     <el-input-number v-model="num" :min="1" :max="10" controls-position="right" />
                     <el-input-number v-model="num" :min="1" :max="10" controls-position="right" />
                   </el-form-item>
                   </el-form-item>
-                  <el-form-item label="约束处理方法:" :label-width="formLabelWidth2">
+                  <el-form-item label="约束处理方法:" :label-width="formLabelWidth1">
                     <el-select   v-model="addval1" :suffix-icon="CaretBottom" placeholder="请选择">
                     <el-select   v-model="addval1" :suffix-icon="CaretBottom" placeholder="请选择">
                             <el-option
                             <el-option
                               v-for="item in addlist1"
                               v-for="item in addlist1"
@@ -703,7 +703,8 @@
                             </el-option>
                             </el-option>
                           </el-select>
                           </el-select>
                   </el-form-item>
                   </el-form-item>
-                  <el-form-item label="优化算法" :label-width="formLabelWidth2">
+                  <span>优化算法</span>
+                  <el-form-item label="优化算法:" :label-width="formLabelWidth1">
                     <el-select   v-model="ys" :suffix-icon="CaretBottom" placeholder="请选择">
                     <el-select   v-model="ys" :suffix-icon="CaretBottom" placeholder="请选择">
                             <el-option
                             <el-option
                               v-for="item in yslist"
                               v-for="item in yslist"
@@ -713,19 +714,19 @@
                             </el-option>
                             </el-option>
                           </el-select>
                           </el-select>
                   </el-form-item>
                   </el-form-item>
-                       <el-form-item label="种群规模:" :label-width="formLabelWidth2">
+                       <el-form-item label="种群规模:" :label-width="formLabelWidth1">
                     <el-input-number v-model="num" :min="1" :max="10" controls-position="right" />
                     <el-input-number v-model="num" :min="1" :max="10" controls-position="right" />
                   </el-form-item>
                   </el-form-item>
-                  <el-form-item label="最大进化代数:" :label-width="formLabelWidth2">
+                  <el-form-item label="最大迭代次数:" :label-width="formLabelWidth1">
                     <el-input-number v-model="num" :min="1" :max="10" controls-position="right" />
                     <el-input-number v-model="num" :min="1" :max="10" controls-position="right" />
                   </el-form-item>
                   </el-form-item>
-                  <el-form-item label="交叉概率:" :label-width="formLabelWidth2">
+                  <el-form-item label="交叉概率:" :label-width="formLabelWidth1">
                     <el-input-number v-model="num" :min="1" :max="10" controls-position="right" />
                     <el-input-number v-model="num" :min="1" :max="10" controls-position="right" />
                   </el-form-item>
                   </el-form-item>
-                  <el-form-item label="变异概率:" :label-width="formLabelWidth2">
+                  <el-form-item label="变异概率:" :label-width="formLabelWidth1">
                     <el-input-number v-model="num" :min="1" :max="10" controls-position="right" />
                     <el-input-number v-model="num" :min="1" :max="10" controls-position="right" />
                   </el-form-item>
                   </el-form-item>
-                  <el-form-item label="交叉算子:" :label-width="formLabelWidth2">
+                  <el-form-item label="交叉算子:" :label-width="formLabelWidth1">
                     <el-select   v-model="addval2" :suffix-icon="CaretBottom" placeholder="请选择">
                     <el-select   v-model="addval2" :suffix-icon="CaretBottom" placeholder="请选择">
                             <el-option
                             <el-option
                               v-for="item in addlist2"
                               v-for="item in addlist2"
@@ -735,10 +736,10 @@
                             </el-option>
                             </el-option>
                           </el-select>
                           </el-select>
                   </el-form-item>
                   </el-form-item>
-                  <el-form-item label="竞赛规模:" :label-width="formLabelWidth2">
+                  <el-form-item label="竞赛规模:" :label-width="formLabelWidth1">
                     <el-input-number v-model="num" :min="1" :max="10" controls-position="right" />
                     <el-input-number v-model="num" :min="1" :max="10" controls-position="right" />
                   </el-form-item>
                   </el-form-item>
-                  <el-form-item label="保留优选策略:" :label-width="formLabelWidth2">
+                  <el-form-item label="保留优选策略:" :label-width="formLabelWidth1">
                     <el-select   v-model="addval3" :suffix-icon="CaretBottom" placeholder="请选择">
                     <el-select   v-model="addval3" :suffix-icon="CaretBottom" placeholder="请选择">
                             <el-option
                             <el-option
                               v-for="item in addlist3"
                               v-for="item in addlist3"
@@ -748,7 +749,7 @@
                             </el-option>
                             </el-option>
                           </el-select>
                           </el-select>
                   </el-form-item>
                   </el-form-item>
-                  <el-form-item label="变异算子选择:" :label-width="formLabelWidth2">
+                  <el-form-item label="变异算子选择:" :label-width="formLabelWidth1">
                     <el-select   v-model="addval4" :suffix-icon="CaretBottom" placeholder="请选择">
                     <el-select   v-model="addval4" :suffix-icon="CaretBottom" placeholder="请选择">
                             <el-option
                             <el-option
                               v-for="item in addlist4"
                               v-for="item in addlist4"
@@ -758,7 +759,7 @@
                             </el-option>
                             </el-option>
                           </el-select>
                           </el-select>
                   </el-form-item>
                   </el-form-item>
-                  <el-form-item label="precision:" :label-width="formLabelWidth2">
+                  <el-form-item label="precision:" :label-width="formLabelWidth1">
                     <el-select   v-model="addval7" :suffix-icon="CaretBottom" placeholder="请选择">
                     <el-select   v-model="addval7" :suffix-icon="CaretBottom" placeholder="请选择">
                             <el-option
                             <el-option
                               v-for="item in addlist7"
                               v-for="item in addlist7"
@@ -768,7 +769,7 @@
                             </el-option>
                             </el-option>
                           </el-select>
                           </el-select>
                   </el-form-item>
                   </el-form-item>
-                  <el-form-item label="GPU" :label-width="formLabelWidth2">
+                  <el-form-item label="GPU" :label-width="formLabelWidth1">
                     <el-select   v-model="addval8" :suffix-icon="CaretBottom" placeholder="请选择">
                     <el-select   v-model="addval8" :suffix-icon="CaretBottom" placeholder="请选择">
                             <el-option
                             <el-option
                               v-for="item in addlist8"
                               v-for="item in addlist8"
@@ -853,7 +854,7 @@
                 </ul>
                 </ul>
                 <div  class="footer-content">
                 <div  class="footer-content">
                 <div class="eldesign classtable" v-if="activeIndex2==0">
                 <div class="eldesign classtable" v-if="activeIndex2==0">
-                 <el-table :data="designtable" border style="width: 100%">
+                 <el-table :data="designtable" border style="width: 100%" height="100">
                   <el-table-column type="index" label="编号"  width="70" />
                   <el-table-column type="index" label="编号"  width="70" />
                   <el-table-column prop="name" label="变量名称">
                   <el-table-column prop="name" label="变量名称">
                     <template #default="{ row }">
                     <template #default="{ row }">
@@ -889,7 +890,7 @@
                 
                 
                 </div>
                 </div>
                 <div class="elconstraint classtable" v-if="activeIndex2==1">
                 <div class="elconstraint classtable" v-if="activeIndex2==1">
-                  <el-table :data="tableData" stripe style="width: 100%">
+                  <el-table :data="tableData" stripe style="width: 100%" height="100">
                   <el-table-column type="index" label="编号"  width="100" />
                   <el-table-column type="index" label="编号"  width="100" />
                   <el-table-column prop="data" label="约束类型" >
                   <el-table-column prop="data" label="约束类型" >
                   <template v-slot="scope">
                   <template v-slot="scope">
@@ -926,7 +927,7 @@
                 
                 
                 </div>
                 </div>
                 <div class="eloptimize classtable" v-if="activeIndex2==2">
                 <div class="eloptimize classtable" v-if="activeIndex2==2">
-                  <el-table :data="eloptimize" stripe style="width: 100%">
+                  <el-table :data="eloptimize" stripe style="width: 100%" height="100">
                   <el-table-column type="index" label="编号"  width="70" />
                   <el-table-column type="index" label="编号"  width="70" />
                   <el-table-column prop="qi" label="启用" width="70">
                   <el-table-column prop="qi" label="启用" width="70">
                   <template v-slot="scope">
                   <template v-slot="scope">
@@ -1110,6 +1111,11 @@ let options3=ref([
           label: 'CATIA',
           label: 'CATIA',
           img:'xuek1.png',
           img:'xuek1.png',
         },
         },
+        {
+          id:'3-0',
+          label: 'CST',
+          img:'xuek1.png',
+        },
         {
         {
           id:'3-2',
           id:'3-2',
           label: 'Excel',
           label: 'Excel',
@@ -1198,7 +1204,7 @@ let options3=ref([
   let tabactive=ref("");
   let tabactive=ref("");
   let checkbox=ref(false)
   let checkbox=ref(false)
   let formLabelWidth6 = ref(100)
   let formLabelWidth6 = ref(100)
-  let formLabelWidth1 = ref(200)
+  let formLabelWidth1 = ref(170)
   let formLabelWidth2 = ref(130)
   let formLabelWidth2 = ref(130)
   let canshu=ref();
   let canshu=ref();
  
  
@@ -1526,7 +1532,13 @@ let options3=ref([
         dialog.value.guanli  = true;
         dialog.value.guanli  = true;
         break;
         break;
         case "选择连线颜色":
         case "选择连线颜色":
-    
+        break;
+        case "逻辑流连线":
+        vuefval.value.linestrokeWidth(1);
+        break;
+        case "数据流连线":
+        vuefval.value.linestrokeWidth(3);
+        console.log("数据流")
       default: 
       default: 
     }
     }
    }
    }
@@ -1607,7 +1619,7 @@ let options3=ref([
   .footerTitle {
   .footerTitle {
     display: flex;
     display: flex;
       justify-content: space-between;
       justify-content: space-between;
-      padding: 5px 20px;
+      padding: 5px 0px;
       font-size: 20px;
       font-size: 20px;
       height: 25px !important;
       height: 25px !important;
       z-index: 99;;
       z-index: 99;;
@@ -1634,7 +1646,7 @@ let options3=ref([
   }
   }
   .footerText .el-textarea__inner {
   .footerText .el-textarea__inner {
     width: 100%;
     width: 100%;
-    height: 135px!important;
+    height: 178px!important;
     border: 0;
     border: 0;
     font-size: 12px;
     font-size: 12px;
     color: #333;
     color: #333;
@@ -1700,7 +1712,8 @@ display: flex;
 
 
 }
 }
 .footer-content{
 .footer-content{
-  padding: 15px 24px;
+ /* // padding: 15px 24px; */
+ padding:5px;
   border: 1px solid #2267B1;
   border: 1px solid #2267B1;
   margin-right: 119px;
   margin-right: 119px;
 }
 }
@@ -1708,9 +1721,11 @@ display: flex;
   width: 530px;
   width: 530px;
 }
 }
 .dibu{
 .dibu{
-  margin-top: 10px;
+  margin-top: 5px;
   display: flex;
   display: flex;
     justify-content: flex-end;
     justify-content: flex-end;
+    height: 30px;
+    overflow: hidden;
 }
 }
 .dibu .el-input__wrapper{
 .dibu .el-input__wrapper{
   width: 226px;
   width: 226px;

+ 9 - 1
src/views/home/newfile.vue

@@ -84,8 +84,16 @@ const openclick=()=>{
    // router.replace({ path: key })
    // router.replace({ path: key })
 }
 }
 const saveclick=()=>{
 const saveclick=()=>{
-  router.push({ path: "/home" ,query:{name:1 ,vlaobj:JSON.stringify(newfile.value)}});
+  if(newfile.value.name==''||newfile.value.name==null||newfile.value.name==undefined){
+    ElMessage.error('名称不能为空')
+  }else if(newfile.value.description==''||newfile.value.description==null||newfile.value.description==undefined){
+    ElMessage.error('描述不能为空')
+  }
+  else{
+    router.push({ path: "/home" ,query:{name:1 ,vlaobj:JSON.stringify(newfile.value)}});
   eldialog.value = false;
   eldialog.value = false;
+  }
+
 }
 }
 </script>
 </script>
 <style lang="scss" scoped>
 <style lang="scss" scoped>

+ 2 - 2
src/views/index.vue

@@ -1589,7 +1589,7 @@ const footerShows = (evt) => {
 .footerTitle {
 .footerTitle {
   display: flex;
   display: flex;
   justify-content: space-between;
   justify-content: space-between;
-  padding: 5px 20px;
+  padding: 5px 0px;
   font-size: 20px;
   font-size: 20px;
   height: 25px !important;
   height: 25px !important;
   z-index: 99;
   z-index: 99;
@@ -1624,7 +1624,7 @@ const footerShows = (evt) => {
 
 
 .footerText .el-textarea__inner {
 .footerText .el-textarea__inner {
   width: 100%;
   width: 100%;
-  height: 135px !important;
+  height: 178px !important;
   border: 0;
   border: 0;
   font-size: 12px;
   font-size: 12px;
   color: #333;
   color: #333;

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

@@ -57,7 +57,7 @@ function onNodeClick(e){
   noid.value=e.node;
   noid.value=e.node;
   console.log(e);
   console.log(e);
   console.log(111111)
   console.log(111111)
-  if(e.node.data.label=='优化器'){
+  if(e.node.data.label=='优化器'||e.node.data.label=='进化优化器'){
     console.log(e.node);
     console.log(e.node);
     emit('optimizerfalse', true);
     emit('optimizerfalse', true);
   }
   }

+ 8 - 0
src/views/vuetree/Sidebar.vue

@@ -57,6 +57,11 @@ const datatree = ref([
           label: 'CATIA',
           label: 'CATIA',
           img:'xuek1.png',
           img:'xuek1.png',
         },
         },
+        {
+          id:'3-0',
+          label: 'CST',
+          img:'xuek0.png',
+        },
         {
         {
           id:'3-2',
           id:'3-2',
           label: 'Excel',
           label: 'Excel',
@@ -175,4 +180,7 @@ const datatree = ref([
   .moban span{
   .moban span{
     display: block;
     display: block;
   }
   }
+  .el-tree-node img{
+    width: 24px;
+  }
 </style>
 </style>

+ 2 - 2
src/views/vuetree/eltree.vue

@@ -43,8 +43,8 @@ onMounted(() => {
 </style>
 </style>
 <style>
 <style>
 .vue-flow__node.draggable {
 .vue-flow__node.draggable {
-  width: 56px !important;
-    height: 56px !important;
+  width: 60px !important;
+    height: 58px !important;
     border: none;   
     border: none;   
     background-color: rgba(0,0,0,0);
     background-color: rgba(0,0,0,0);
 }
 }

+ 29 - 52
src/views/vuetree/index.vue

@@ -3,7 +3,7 @@
     class="basic-flow" 
     class="basic-flow" 
     :default-viewport="{ zoom: 1.5 }" :min-zoom="0.2" :max-zoom="4" @drop="onDrop"
     :default-viewport="{ zoom: 1.5 }" :min-zoom="0.2" :max-zoom="4" @drop="onDrop"
     @contextmenu.prevent="onContextMenu" @node-contextmenu="logEvent('contextmenu', $event)" 
     @contextmenu.prevent="onContextMenu" @node-contextmenu="logEvent('contextmenu', $event)" 
-    @dragover="onDragOver" @dragleave="onDragLeave" @edge-click="onEdgeClick" @node-click="onNodeClick">
+    @dragover="onDragOver" @dragleave="onDragLeave" @edge-click="onEdgeClick" @node-double-click="onNodeDoubleClick"  @node-click="onNodeClick">
     <template  #node-default="props">
     <template  #node-default="props">
       <!-- <template  #node-process="props">   //  @contextmenu.prevent="onContextMenu"  -->
       <!-- <template  #node-process="props">   //  @contextmenu.prevent="onContextMenu"  -->
       <eltree :node="props" />
       <eltree :node="props" />
@@ -25,17 +25,12 @@
       <ControlButton title="Reset Transform" @click="resetTransform">
       <ControlButton title="Reset Transform" @click="resetTransform">
         <Icon name="reset" />
         <Icon name="reset" />
       </ControlButton>
       </ControlButton>
-
-      <!-- <ControlButton title="Shuffle Node Positions" @click="updatePos">
-        <Icon name="update" />
-      </ControlButton> -->
-
-      <ControlButton title="Toggle Dark Mode" @click="toggleDarkMode">
+      <ControlButton title="背景切换" @click="toggleDarkMode">
         <Icon v-if="dark" name="sun" />
         <Icon v-if="dark" name="sun" />
         <Icon v-else name="moon" />
         <Icon v-else name="moon" />
       </ControlButton>
       </ControlButton>
 
 
-      <ControlButton title="Log `toObject`" @click="logToObject1">
+      <ControlButton title="保存" @click="logToObject1">
         <Icon name="log" />
         <Icon name="log" />
       </ControlButton>
       </ControlButton>
     </Controls>
     </Controls>
@@ -50,7 +45,7 @@
 </template>
 </template>
 <script setup>
 <script setup>
 import { ref, markRaw } from 'vue'
 import { ref, markRaw } from 'vue'
-import { VueFlow,Panel, useVueFlow, MarkerType } from '@vue-flow/core'
+import { VueFlow,Panel, useVueFlow, MarkerType} from '@vue-flow/core'
 import { ElMessage, ElButton, ElDialog, ElSelect } from 'element-plus'
 import { ElMessage, ElButton, ElDialog, ElSelect } from 'element-plus'
 import { useRoute } from 'vue-router';
 import { useRoute } from 'vue-router';
 import { request, uploadFile } from "@/utils/request";
 import { request, uploadFile } from "@/utils/request";
@@ -104,12 +99,17 @@ onConnect((connection) => {
   console.log(connection);
   console.log(connection);
   connection.type = 'smoothstep';//  smoothstep straight
   connection.type = 'smoothstep';//  smoothstep straight
   connection.markerEnd = MarkerType.ArrowClosed;
   connection.markerEnd = MarkerType.ArrowClosed;
-  connection.color="#FC0537"
+  //connection.color="#FC0537"
+  connection.style = { strokeWidth: 1,stroke:'#b1b1b7' };
   addEdges(connection)
   addEdges(connection)
 })
 })
+
 function onNodeClick(e) {
 function onNodeClick(e) {
   noid.value = e.node;
   noid.value = e.node;
-  if (e.node.data.label == '优化器') {
+}
+function onNodeDoubleClick(e) {
+  noid.value = e.node;
+  if (e.node.data.label == '优化器'||e.node.data.label=='进化优化器') {
     console.log(e.node);
     console.log(e.node);
     emit('optimizerfalse', true);
     emit('optimizerfalse', true);
   }
   }
@@ -119,41 +119,14 @@ function onNodeClick(e) {
 function onEdgeClick(e) {
 function onEdgeClick(e) {
   Edgeid.value = e.edge.id;
   Edgeid.value = e.edge.id;
   seledge.value= e.edge;
   seledge.value= e.edge;
+  // seledge.value.style.stroke = 'red';
 }
 }
 function logEvent(name, event) {
 function logEvent(name, event) {
   console.log(2222)
   console.log(2222)
 }
 }
 function onContextMenu(event) {
 function onContextMenu(event) {
-//   if (noid.value !== null) {
-//     if (noid.value.id) {
-//       console.log(noid.value.position.y);
-//       console.log(noid.value.position.x);
-//       document.getElementById('contextMenu').style.top = noid.value.position.y + 100 + 'px';
-//       document.getElementById('contextMenu').style.left = noid.value.position.x + 270 + 'px';
-//       document.getElementById('contextMenu').style.display = 'block';
-//       event.preventDefault();
-//       //shopShow.value=true;
-//       // document.getElementById('contextMenu').style.display = 'none';
-//     }
-//   }
 
 
 }
 }
-//点击左键右键内容消失
-// document.addEventListener('click', function (e) {
-//   if (e.button === 0) { // 0 是左键
-//     document.getElementById('contextMenu').style.display = 'none';
-//     //   shopShow.value=false;
-//   }
-// });
-//删除
-// const deleteItemConfirm = () => {
-//   if (noid.value.id) {
-//     vueFlowRef.value.removeNodes(noid.value.id);
-//     noid.value = null;
-//     document.getElementById('contextMenu').style.display = 'none';
-//   }
-
-// }
 onInit((vueFlowInstance) => {
 onInit((vueFlowInstance) => {
   vueFlowInstance.fitView()
   vueFlowInstance.fitView()
 })
 })
@@ -164,8 +137,6 @@ onNodeDragStop(({ event, nodes, node }) => {
 
 
 onConnect((connection) => {
 onConnect((connection) => {
   addEdges(connection)
   addEdges(connection)
-  console.log(1111);
-  console.log(edges.value);
 })
 })
 function updatePos() {
 function updatePos() {
   nodes.value = nodes.value.map((node) => {
   nodes.value = nodes.value.map((node) => {
@@ -199,8 +170,6 @@ async  function logToObject1() {
         const img = canvas.toDataURL('image/png');
         const img = canvas.toDataURL('image/png');
  
  
         // 创建一个图片元素并设置src属性为转换后的图片数据
         // 创建一个图片元素并设置src属性为转换后的图片数据
-        // const image = new Image();
-        // image.src = img;
        vueflowimg.value=img
        vueflowimg.value=img
        if(vueflowimg.value!=''){
        if(vueflowimg.value!=''){
         console.log("进入了")
         console.log("进入了")
@@ -210,13 +179,6 @@ async  function logToObject1() {
       } catch (error) {
       } catch (error) {
         console.error('转换出错:', error);
         console.error('转换出错:', error);
       }
       }
-  // console.log(toObject())
-  // if (!vueFlowRef.value) {
-  //   console.warn('VueFlow element not found');
-  //   return;
-  // }
-
-  // capture(vueFlowRef.value, { shouldDownload: true });
 }
 }
 //添加接口
 //添加接口
 const addflow = () => {
 const addflow = () => {
@@ -275,13 +237,28 @@ const getroter=()=>{
    console.log( newobj.value);
    console.log( newobj.value);
   
   
  }
  }
+}
+//改变线的粗
+const linestrokeWidth=(num)=>{
+// console.log(seledge.value);
+  let edgearr= toObject().edges;
+  for (let i = 0; i <= edgearr.length-1; i++) {
+    edgearr[i].style.strokeWidth = num;
+}
+addEdges(edgearr);
+
 }
 }
 //改变线的颜色
 //改变线的颜色
 const changeAllEdgesColor=(color1)=>{
 const changeAllEdgesColor=(color1)=>{
   //console.log(props.color1);
   //console.log(props.color1);
-  seledge.value.style = { stroke: color1};
+  console.log(seledge.value);
+  seledge.value.style.stroke = color1;
 }
 }
-defineExpose({changeAllEdgesColor});
+
+watch(() => seledge.value, (newItems, oldItems) => {
+      console.log('Array changed:', newItems);
+    });
+defineExpose({changeAllEdgesColor,linestrokeWidth});
 </script>
 </script>
 
 
 <style>
 <style>

+ 4 - 1
src/views/vuetree/useDnD.js

@@ -6,6 +6,7 @@ import gc2 from '@/assets/flowimg/gc2.png'
 import gc3 from '@/assets/flowimg/gc3.png'
 import gc3 from '@/assets/flowimg/gc3.png'
 import wen from '@/assets/flowimg/wen.png'
 import wen from '@/assets/flowimg/wen.png'
 import xuek1 from '@/assets/flowimg/xuek1.png'
 import xuek1 from '@/assets/flowimg/xuek1.png'
+import xuek0 from '@/assets/flowimg/xuek0.png'
 import xuek2 from '@/assets/flowimg/xuek2.png'
 import xuek2 from '@/assets/flowimg/xuek2.png'
 import xuek3 from '@/assets/flowimg/xuek3.png'
 import xuek3 from '@/assets/flowimg/xuek3.png'
 import xuek4 from '@/assets/flowimg/xuek4.png'
 import xuek4 from '@/assets/flowimg/xuek4.png'
@@ -39,7 +40,9 @@ function imagefun(){
       return datas = {label:'优化问题', image:wen}
       return datas = {label:'优化问题', image:wen}
     }else if(nid=='3-1'){
     }else if(nid=='3-1'){
       return datas = {label:'CATIA', image:xuek1}
       return datas = {label:'CATIA', image:xuek1}
-    }else if(nid=='3-2'){
+    }else if(nid=='3-0'){
+      return datas = {label:'CST', image:xuek0}
+    } else if(nid=='3-2'){
       return datas = {label:'Excel', image:xuek2}
       return datas = {label:'Excel', image:xuek2}
     }else if(nid=='3-3'){
     }else if(nid=='3-3'){
       return datas = {label:'Feko', image:xuek3}
       return datas = {label:'Feko', image:xuek3}