liuqiao 11 hónapja
szülő
commit
4f99198c07

+ 13 - 3
src/views/home.vue

@@ -41,6 +41,13 @@
                         <el-image :src="getImgPath(item.url)" fit="cover" />
                         <span>{{ item.titlie }}</span>
                       </div>
+                      <div class="item2 floatitem wentsd" v-for="(item, index) in Rolelist11" :key="'Role11' + index"
+                        :class="{ activeOrange: active == 'Role11' + index }"
+                        @click="clickgeometry($event, index, 'Role11' + index, item.titlie)">
+                        <el-image :src="getImgPath(item.url)" fit="cover" />
+                        <el-color-picker v-model="color1" />
+                        <span>{{ item.titlie }}</span>
+                      </div>
                     </div>
                   </div>
                   <!--  -->
@@ -789,7 +796,7 @@
             <!-- 放图形 -->
             <div class="main_container">
               <div class="main_model">
-                <vuefindex :optimizer="dialog.optimizer" @optimizerfalse="optimizerfalse()"></vuefindex>
+                <vuefindex ref="vuefval" :optimizer="dialog.optimizer" @optimizerfalse="optimizerfalse()" :color1="color1"></vuefindex>
                 <div  class="maxh221">
              
                 <!-- 右侧边栏开始 -->
@@ -1032,6 +1039,7 @@
   const router = useRouter();
   let logs=ref("");
   let tableval=ref();
+  let vuefval=ref();
   let elodingfalse=ref(false);
   let footerShow=ref(false);
   let tabName=ref("one")
@@ -1039,6 +1047,7 @@
   const listli = ['设计变量', '约束条件', '优化目标'];
   const activeIndex = ref(0);
   const activeIndex2 = ref(0);
+  const color1 = ref('#409EFF')
   const datatree = ref([
     {
       id:1,
@@ -1220,8 +1229,8 @@ let options3=ref([
   let Rolelist1=ref([
   { url: 'w4.png', titlie: "逻辑流连线" },
   { url: 'w5.png', titlie: "数据流连线" },
-  { url: 'w6.png', titlie: "选择连线颜色" },
   ])
+  let Rolelist11=ref([  { url: 'w6.png', titlie: "选择连线颜色" }  ])
   let Rolelist2=ref([
   { url: 'w7.png', titlie: "模块组合" },
   { url: 'w8.png', titlie: "模块拆分" },
@@ -1516,8 +1525,9 @@ let options3=ref([
         case "任务检索":
         dialog.value.guanli  = true;
         break;
+        case "选择连线颜色":
+        vuefval.value.changeAllEdgesColor();
       default: 
-        console.log(1111)   
     }
    }
   const deviceSelectChange = () => {

+ 4 - 2
src/views/home/querylist.vue

@@ -16,7 +16,7 @@
             :header-cell-style="{ 'background': 'rgba(13, 22, 57, 0) ' }">
             <el-table-column prop="image" label="图片" >
             <template #default="scope">
-                <el-image :src="scope.row.image" fit="contain"></el-image>      
+               <div class="elimagetab"><el-image :src="scope.row.image" fit="contain"></el-image> </div>     
          </template>
                         </el-table-column>
             <el-table-column prop="name" label="名称" />
@@ -176,6 +176,8 @@ sessionStorage.setItem("objlist",JSON.stringify(val));
     border-radius: 4px;
 }
 
-
+.elimagetab{
+    width: 150px;
+}
 </style>
 

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

@@ -18,17 +18,17 @@ onMounted(() => {
 </script>
 <template>
  
-  <div>
-    <div class="custom-node icons" :id="`node-${node.id}`" >
+  <div v-if="props.node.data!=null">
+    <div class="custom-node icons" :id="`node-${node.id}`"  >
     <img :src="props.node.data.image" alt="节点图片" />
     <span>{{props.node.data.label }}</span>
   </div>
-
-  </div>
- <Handle type="source" :position="Position.Right"  />
+  <Handle type="source" :position="Position.Right"  />
   <Handle id="target-c" type="source" :position="Position.Top"  /> 
    <Handle id="target-b" type="target"  :position="Position.Left" /> 
   <Handle id="target-d" type="target" :position="Position.Bottom"  /> 
+  </div>
+
 </template>
 <style scoped> 
 

+ 44 - 15
src/views/vuetree/index.vue

@@ -12,10 +12,11 @@
     <Background pattern-color="#aaa" :gap="16" />
 
     <!-- <MiniMap /> -->
-    <Panel>
+    <Panel :position="'right'">
       <div>
-        <button class="remove" @click="removeNode(event)">删除节点</button>
-        <button class="remove" @click="removeEdge(event)">删除线</button>
+        <button class="remove" @click="removeNode(event)">N</button>
+        <button class="remove" @click="removeEdge(event)">E</button>
+        <button class="remove" @click="removeall(event)">all</button>
         <!-- <button class="remove" @click="getnodes()">获取所有数据</button> -->
       </div>
      
@@ -49,7 +50,7 @@
 </template>
 <script setup>
 import { ref, markRaw } from 'vue'
-import { VueFlow, useVueFlow, MarkerType } from '@vue-flow/core'
+import { VueFlow,Panel, useVueFlow, MarkerType } from '@vue-flow/core'
 import { ElMessage, ElButton, ElDialog, ElSelect } from 'element-plus'
 import { useRoute } from 'vue-router';
 import { request, uploadFile } from "@/utils/request";
@@ -76,7 +77,15 @@ const props = defineProps({
   optimizer: {
     type: Boolean,
   },
+  color1: {
+    type: String,
+  },
+})
+let newobj=ref({
+  name:'',
+  description:'',
 })
+let pid=ref('');
 let newroter=ref();
 let vueflowimg=ref('');
 const shopShow = ref(false);
@@ -94,6 +103,7 @@ onConnect((connection) => {
   console.log(connection);
   connection.type = 'smoothstep';//  smoothstep straight
   connection.markerEnd = MarkerType.ArrowClosed;
+  connection.color="#FC0537"
   addEdges(connection)
 })
 function onNodeClick(e) {
@@ -174,18 +184,21 @@ function removeNode(id) {
   id = noid.value.id
   vueFlowRef.value.removeNodes(noid.value.id);
 }
+function removeall(){
+  nodes.value=[];
+  edges.value=[];
+}
 async  function logToObject1() {
   let obj = { nodes: toObject().nodes,edges:toObject().edges };
   mergedObj.value=JSON.stringify(obj);
   try {
-    console.log(vueFlowRef.value)
         const container = vueFlowRef.value.$el;
         const canvas = await html2canvas(container);
         const img = canvas.toDataURL('image/png');
  
         // 创建一个图片元素并设置src属性为转换后的图片数据
-        const image = new Image();
-        image.src = img;
+        // const image = new Image();
+        // image.src = img;
        vueflowimg.value=img
        if(vueflowimg.value!=''){
         console.log("进入了")
@@ -207,9 +220,9 @@ async  function logToObject1() {
 const addflow = () => {
     const params = {
         transCode: 'MDO0002',
-        pid: '',
-        name: newroter.value.name,
-        remark:newroter.value.description,
+        pid: pid.value,
+        name: newobj.value.name,
+        remark:newobj.value.description,
         image:vueflowimg.value,
         isshare:'1',
         flow:mergedObj.value 
@@ -245,20 +258,36 @@ onMounted(() => {
 const getroter=()=>{
 
  if(route.query.id=='2'){
+
   let objlist=JSON.parse(sessionStorage.getItem("objlist"));
+  console.log(11111)
+  console.log(objlist)
   let nodesflow=JSON.parse(objlist.flow)
+
       nodes.value=nodesflow.nodes;
       edges.value=nodesflow.edges;
+      newobj.value.name=objlist.name;
+      newobj.value.description=objlist.remark;
+      console.log(objlist.pid);
+      pid.value=objlist.pid;
  }else if(route.query.id='1'&&route.query!={}){
   newroter.value=JSON.parse(route.query.vlaobj);
+  newobj.value= newroter.value;
+   console.log( newobj.value);
   
  }
-  // if(route.query.id=='0'){
-  //   console.log(route.query);
-  //   nodes.value=initialNodes;
-  //   edges.value=initialEdges;
-  // }
 }
+//改变线的颜色
+const changeAllEdgesColor=()=>{
+let  id = Edgeid.value;
+edges.value=edges.value.filter((edge) => edge.id !== id)
+console.log(props.color1);
+  // const edge = vueFlowRef.value.find(el => el.id === id);
+      // if (edge && edge.data) {
+        edges.value.color = props.color1;
+    // }
+}
+defineExpose({changeAllEdgesColor});
 </script>
 
 <style>

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

@@ -91,11 +91,15 @@ export default function useDragAndDrop() {
   })
 
   function onDragStart(event, type,id) {
-    console.log(event);
-    nid=id;
+  
+ 
     if (event.dataTransfer) {
+     
+      nid=id;
       event.dataTransfer.setData('application/vueflow', type)
-      event.dataTransfer.effectAllowed = 'move'       
+      event.dataTransfer.effectAllowed = 'move'    
+      console.log(1122344)   
+   
     }
 
     draggedType.value =type;
@@ -103,6 +107,7 @@ export default function useDragAndDrop() {
     isDragging.value = true
 
     document.addEventListener('drop', onDragEnd)
+   
   }
 
   /**
@@ -133,6 +138,7 @@ export default function useDragAndDrop() {
     isDragging.value = false
     isDragOver.value = false
     draggedType.value = null
+    nid=''
     document.removeEventListener('drop', onDragEnd)
   }
 
@@ -178,7 +184,6 @@ export default function useDragAndDrop() {
     })
     addNodes(snodes.value)
     //addEdges(sedges.value)
-    console.log(sedges.value);
   }
 
   return {