nanjingliujinyu 5 meses atrás
pai
commit
a9464530d3

+ 1 - 0
ruoyi-ui/package.json

@@ -34,6 +34,7 @@
     "nprogress": "0.2.0",
     "ol": "^10.2.1",
     "pinia": "2.1.7",
+    "pinyin": "^4.0.0",
     "sortablejs": "^1.15.6",
     "vue": "3.4.31",
     "vue-cropper": "1.1.1",

+ 21 - 1
ruoyi-ui/src/api/register/regCom.js

@@ -266,4 +266,24 @@ export function delFile(id) {
     method: 'delete',
     params: id
   })
-}
+}
+export function addGroup(data) {
+  return request({
+    url: "/model/pargroup",
+    method: 'post',
+    data:data
+  });
+}
+export function editGroup(data) {
+  return request({
+    url: '/model/pargroup',
+    method: 'put',
+    data: data
+  })
+}
+export function delFen(id) {
+  return request({
+    url: '/model/pargroup/' + id,
+    method: 'delete'
+  })
+}

+ 321 - 79
ruoyi-ui/src/views/register/componentReg/index.vue

@@ -517,87 +517,121 @@
                 <el-descriptions-item label="联系方式:">{{formJi.devContact}}</el-descriptions-item>
               </el-descriptions>
             </el-tab-pane>
-            <el-tab-pane label="模型参数" style="height: 50vh;">
+            <el-tab-pane label="模型参数" style="height: 50vh;" :key="activeTabKey">
               <div style="display: flex;justify-content: space-between;margin-right: 2%;align-items: center;background-color: #e9e9eb;;width: 100%;">
                 <div style="display: flex;align-items: center;margin-left: 1%;">
-                  <el-checkbox v-model="checked1" label="参数是否分组" size="large"  />
-                  <el-button  @click="addCan" style="margin-left: 10%;" type="success" size="mini" plain v-if="checked1">新增分组</el-button>
+                  <el-checkbox v-model="checked1" label="参数是否分组" size="large"  @change="gatherTable"/>
+                  <el-button  @click="showAddFenzu" style="margin-left: 10%;" type="success" size="mini" plain v-if="checked1">新增分组</el-button>
                 </div>
                 <div style="display: flex;justify-content: flex-end;margin-right: 1%;">
-                  <el-button  @click="addCan" style="margin-left: 5%;" type="success" size="mini" plain>新增参数</el-button>
+                  <el-button  @click="addCan" style="margin-left: 5%;" type="success" size="mini" plain :disabled="selFen">新增参数</el-button>
                   <el-button  @click="delAllCan" style="margin-top: 0%;" type="danger" size="mini" plain>删除</el-button>
                 </div>
               </div>
               <div style="display: flex;">
-              <div v-show="checked1" style="flex:1;margin-top:1%;width: 10%;background-color: #F2F6FC;height:45vh;">
-               <el-tree   :expand-on-click-node="false" ref="treeRef" :filter-node-method="filterNode" :current-node-key="currentNodeKey" class="treeLeft" :data="groupTreeData" @node-click="handleNodeClick" node-key="id" style="margin-top: 10%;background-color: transparent;" default-expand-all :key="valueKet">
-                  
-              </el-tree>
-              </div>
-              <div style="width: 90%;flex: 1;">
-                <el-table 
-              style="margin-top: 1%;width: 100%;margin-left: 1%;"
-              :data="tableDataCan" 
-              :cell-style="{ textAlign: 'center',padding:'3px 0px' }"
-              :header-cell-style="{ textAlign: 'center', }"
-              :row-style="{ height: heightAll*0.01+'px',fontSize: '16px',textAlign:'center'  }"
-              border>
-                  <el-table-column prop="parName" label="*参数英文名">
-                    <template #default="scope" style="width: 120%;">
-                        <el-input  v-model="scope.row.parEnname" style="width: 120%;margin-left: -10%;"/>
-                    </template>
-                  </el-table-column>
-                  <el-table-column prop="parName" label="*参数名称">
-                    <template #default="scope">
-                        <el-input  v-model="scope.row.parName" style="width: 120%;margin-left: -10%;"/>
-                    </template>
-                  </el-table-column>
-                  <el-table-column prop="parType" label="*参数类型" >
-                    <template #default="scope">
-                        <el-input  v-model="scope.row.parType" style="width: 120%;margin-left: -10%;"/>
-                    </template>
-                  </el-table-column>
-                  <el-table-column prop="parLine" label="行号">
-                    <template #default="scope">
-                        <el-input  v-model="scope.row.parLine" style="width: 120%;margin-left: -10%;"/>
-                    </template>
-                  </el-table-column>
-                  <el-table-column prop="parNote" label="维度">
-                    <template #default="scope">
-                        <el-input  v-model="scope.row.parDimen" style="width: 120%;margin-left: -10%;"/>
-                    </template>
-                  </el-table-column>
-                  <el-table-column prop="parNote" label="表达式">
-                    <template #default="scope">
-                        <el-input  v-model="scope.row.parExpr" style="width: 120%;margin-left: -10%;"/>
-                    </template>
-                  </el-table-column>
-                  <el-table-column prop="parNote" label="*默认值">
-                    <template #default="scope">
-                        <el-input  v-model="scope.row.parDefVal" style="width: 120%;margin-left: -10%;"/>
-                    </template>
-                  </el-table-column>
-                  <el-table-column prop="parNote" label="参数范围">
-                    <template #default="scope">
-                        <el-input  v-model="scope.row.parRange" style="width: 120%;margin-left: -10%;"/>
-                    </template>
-                  </el-table-column>
-                  <el-table-column prop="parNote" label="版本号">
-                    <template #default="scope">
-                        <el-input  v-model="scope.row.parVersion" style="width: 120%;margin-left: -10%;"/>
-                    </template> 
-                  </el-table-column>
-                  <el-table-column prop="parNote" label="操作" width="85">
-                    <template #default="scope">
-                        <el-button type="danger" @click="delCan(scope.$index)" text size="mini" style="margin-left: 0%;">删除</el-button>
-                    </template> 
-                  </el-table-column>
-              </el-table>
-              </div>
+                <div v-if="checked1" style="margin-top:1%;width: 10%;background-color: #F2F6FC;height:45vh;">
+                  <el-tree :expand-on-click-node="false" ref="treeRef" :filter-node-method="filterNode" :current-node-key="currentNodeKey" class="treeLeft" 
+                    :data="groupTreeData" @node-click="handleNodeClick" node-key="id" style="margin-left: 0%;margin-top: 1%;width: 100%;background-color: transparent;" default-expand-all :key="valueKet">
+                        <template #default="{ node, data }">
+                          <span  style="justify-content: space-between;display: flex;width: 100%;align-items: center;margin-left: -10%;">
+                            <div class="custom-tree-node" style="align-items: center;line-height: 1.5;">
+                              <span style="">{{ node.label }}</span>
+                            </div>
+                            <div style="margin-right: 1%;position: absolute;left:78%;">
+                              <el-dropdown trigger="hover" @click.stop v-if="currentNodeKey === data.mgid">
+                                  <el-icon><MoreFilled /></el-icon>
+                                  <!-- <svg-icon icon-class="zhankai"/> -->
+                                <template #dropdown>
+                                  <el-dropdown-menu>
+                                    <el-dropdown-item style="display: flex;"  @click="showEditFen">
+                                      <el-icon class="el-icon--right" style="color: black;">
+                                        <Connection />
+                                      </el-icon>
+                                      <div>
+                                        编辑分组
+                                      </div>
+                                    </el-dropdown-item>
+                                    <divider/>
+                                    <el-dropdown-item style="display: flex;"  @click="delFenZu" divided>
+                                      <el-icon class="el-icon--right" style="color: black;">
+                                        <CircleClose />
+                                      </el-icon>
+                                      <div>
+                                        删除分组
+                                      </div>
+                                    </el-dropdown-item>
+                                  </el-dropdown-menu>
+                                </template>
+                              </el-dropdown>
+                            </div>
+                          </span>
+                        </template>
+                      </el-tree>
+                </div>
+                <div style="width: 90%;flex: 1;">
+                  <el-table 
+                style="margin-top: 1%;width: 100%;margin-left: 1%;overflow: auto;"
+                :data="tableDataCan" 
+                :cell-style="{ textAlign: 'center',padding:'3px 0px' }"
+                :header-cell-style="{ textAlign: 'center', }"
+                max-height="45vh"
+                :row-style="{ height: heightAll*0.01+'px',fontSize: '16px',textAlign:'center'  }"
+                border>
+                    <el-table-column prop="parName" label="*参数英文名">
+                      <template #default="scope" style="width: 120%;">
+                          <el-input  v-model="scope.row.parEnname" style="width: 120%;margin-left: -10%;"/>
+                      </template>
+                    </el-table-column>
+                    <el-table-column prop="parName" label="*参数名称">
+                      <template #default="scope">
+                          <el-input  v-model="scope.row.parName" style="width: 120%;margin-left: -10%;"/>
+                      </template>
+                    </el-table-column>
+                    <el-table-column prop="parType" label="*参数类型" >
+                      <template #default="scope">
+                          <el-input  v-model="scope.row.parType" style="width: 120%;margin-left: -10%;"/>
+                      </template>
+                    </el-table-column>
+                    <el-table-column prop="parLine" label="行号">
+                      <template #default="scope">
+                          <el-input  v-model="scope.row.parLine" style="width: 120%;margin-left: -10%;"/>
+                      </template>
+                    </el-table-column>
+                    <el-table-column prop="parNote" label="维度">
+                      <template #default="scope">
+                          <el-input  v-model="scope.row.parDimen" style="width: 120%;margin-left: -10%;"/>
+                      </template>
+                    </el-table-column>
+                    <el-table-column prop="parNote" label="表达式">
+                      <template #default="scope">
+                          <el-input  v-model="scope.row.parExpr" style="width: 120%;margin-left: -10%;"/>
+                      </template>
+                    </el-table-column>
+                    <el-table-column prop="parNote" label="*默认值">
+                      <template #default="scope">
+                          <el-input  v-model="scope.row.parDefVal" style="width: 120%;margin-left: -10%;"/>
+                      </template>
+                    </el-table-column>
+                    <el-table-column prop="parNote" label="参数范围">
+                      <template #default="scope">
+                          <el-input  v-model="scope.row.parRange" style="width: 120%;margin-left: -10%;"/>
+                      </template>
+                    </el-table-column>
+                    <el-table-column prop="parNote" label="版本号">
+                      <template #default="scope">
+                          <el-input  v-model="scope.row.parVersion" style="width: 120%;margin-left: -10%;"/>
+                      </template> 
+                    </el-table-column>
+                    <el-table-column prop="parNote" label="操作" width="85">
+                      <template #default="scope">
+                          <el-button type="danger" @click="delCan(scope.$index, scope.row)" text size="mini" style="margin-left: 0%;">删除</el-button>
+                      </template> 
+                    </el-table-column>
+                </el-table>
+                </div>
               </div>
             </el-tab-pane>
             <el-tab-pane label="模型状态">Role</el-tab-pane>
-            <el-tab-pane label="Task">Task</el-tab-pane>
           </el-tabs>
           <template #footer>
           <span class="dialog-footer">
@@ -608,11 +642,35 @@
           </span>
           </template>
         </el-dialog >
+        <el-dialog v-model="dialogVisibleFen" :title="titleFen" width="30%" @close="clearFromTree" destroy-on-close :key="tableKey">
+          <el-form :label-width="100" label-position="right" style="margin-left: 5%;margin-top: 2%;"  :model="formTree" class="demo-form-inline" ref="formRefTree" :rules="rulesTree">
+            <el-form-item label="名称:" prop="parGroupName" style="">
+              <el-input v-model="formTree.parGroupName" @blur="handleBlur" style="width: 75%;" placeholder=""  resize="none"/>
+            </el-form-item>
+            <el-form-item label="组编码:" prop="parGroupCode"  style="">
+              <el-input v-model="formTree.parGroupCode" style="width: 75%;" placeholder=""  resize="none"/>
+            </el-form-item>
+            <el-form-item label="说明:" prop="parGroupNote">
+              <el-input v-model="formTree.parGroupNote" style="width: 75%;" placeholder="" type="textarea"  resize="none"/>
+            </el-form-item>
+            <el-form-item label="排序:" prop="parGroupSort">
+              <el-input-number v-model="formTree.parGroupSort" :min="1" style="width: 50%;"/>
+            </el-form-item>
+          </el-form>
+          <template #footer>
+            <span class="dialog-footer">
+              <el-button size="mini" @click="dialogVisibleFen = false">取消</el-button>
+              <el-button type="primary" @click="submitFen" size="mini">
+                提交
+              </el-button>
+            </span>
+          </template>
+        </el-dialog>
     </div>
   </div>
 </template>
 <script   setup>
-import { getModelList,addModel,delMdid,getModelDetail,updateModel,modelFile,getParamsList,changePar,delAllPar,getModelParList } from "@/api/register/regCom";
+import { getModelList,addModel,delMdid,getModelDetail,updateModel,addGroup,getParamsList,changePar,delAllPar,getModelParList,delFen } from "@/api/register/regCom";
 import { ref, onMounted, onUnmounted, nextTick } from 'vue';
 import { Search } from '@element-plus/icons-vue'
 import {
@@ -625,8 +683,13 @@ import { getToken } from "@/utils/auth";
 import { fa } from "element-plus/es/locales.mjs";
 import { column } from "element-plus/es/components/table-v2/src/common.mjs";
 import { TRUE } from "sass";
+import { editGroup } from "../../../api/register/regCom";
+import pinyin from 'pinyin';
+
 const { proxy } = getCurrentInstance();
+const dialogVisibleFen = ref(false)
 const dragTableRef = ref()
+const isaddFen = ref(false)
 const dialogVisible = ref(false)
 const dialogVisibleDe = ref(false)
 const dialogVisiblePei = ref(false)
@@ -638,7 +701,9 @@ const mdUnit = ref('')
 const isElse = ref(false)
 const elseLan = ref('')
 const tableDataCan = ref([])
+const selFen = ref(true)
 const groupTreeData = ref([])
+const parRow = ref({})
 const formJi = ref({
   name:'',
   version:'',
@@ -666,6 +731,7 @@ const formJi = ref({
   mdInNote:'',
   mdOutNote:''
 });
+const activeTabKey = ref(0)
 const rulesJi = reactive({
   name: [{ required: true, message: '必填', trigger: 'blur' }],
   enname: [{ required: true, message: '必填', trigger: 'blur' }],
@@ -682,8 +748,21 @@ const rulesZu = reactive({
   mdCPU: [{ required: true, message: '必填', trigger: 'blur' }],
 });
 const formRefZu = ref();
-const activeName = ref('first')
 
+const formTree = ref({
+  parGroupSort:1,
+  parGroupNote:'',
+  parGroupName:'',
+  parGroupCode:''
+});
+const rulesTree = reactive({
+  parGroupName: [{ required: true, message: '必填', trigger: 'blur' }],
+  parGroupSort: [{ required: true, message: '必填', trigger: 'blur' }],
+  parGroupCode: [{ required: true, message: '必填', trigger: 'blur' }],
+});
+const formRefTree = ref();
+const activeName = ref('first')
+const titleFen = ref('');
 const upload = reactive({
   // 是否显示弹出层(用户导入)
   open: false,
@@ -790,19 +869,162 @@ const optionsEnv = ref([
 const uploadRef = ref(null);
 const fileList = ref([]);
 const fileList1 = ref([]);
+const tableDataCanAll = ref([]);
 const parForm = ref('')
+const currentNodeKey = ref('')
+const parTree = ref({})
 onMounted(() => {
   getModelListTable()
   // addNewModel()
 });
+
 const handleChange = (file, files) => {
   fileList.value = files;
 };
 const handleChange1 = (file, files) => {
   fileList1.value = files;
 };
-function delAllCan(){
+function getChineseInitials(str) {
+    if (!str || typeof str !== 'string') return '';
+    
+    // 拆分字符串为字符数组
+    const chars = str.split('');
+    const result = chars.map(char => {
+        // 判断是否为中文(Unicode范围:\u4e00-\u9fa5)
+        if (/[\u4e00-\u9fa5]/.test(char)) {
+            // 获取中文首字母拼音(忽略多音字)
+            const pinyinArr = pinyin(char, {
+                style: pinyin.STYLE_FIRST_LETTER,
+                heteronym: false
+            });
+            return pinyinArr[0][0]; // 返回首字母
+        }
+        return char; // 非中文字符直接保留(若需忽略英文可改为空字符串)
+    });
+    return result.join('');
+}
+function handleBlur(){
+  formTree.value.parGroupCode = getChineseInitials(formTree.value.parGroupName)
+}
+function gatherTable(){
+  if(checked1.value===false){
+    var keyArray = []
+    tableDataCanAll.value.forEach(item=>{
+      keyArray.push(item.key)
+    })
+    tableDataCanAll.value.forEach(item=>{
+      tableDataCan.value.forEach(item2=>{
+        if(item2.key===item.key){
+          item = item2
+        }
+      })
+    })
+    tableDataCan.value.forEach(item=>{
+      if(!keyArray.includes(item.key)){
+        tableDataCanAll.value.push(item)
+      }
+    })
+    currentNodeKey.value = null
+    selFen.value = true
+    tableDataCan.value = tableDataCanAll.value
+  }
+}
+function handleNodeClick(node, data){
+    var keyArray = []
+    selFen.value = false
+    tableDataCanAll.value.forEach(item=>{
+      keyArray.push(item.key)
+    })
+    tableDataCanAll.value.forEach(item=>{
+      tableDataCan.value.forEach(item2=>{
+        if(item2.key===item.key){
+          item = item2
+        }
+      })
+    })
+    tableDataCan.value.forEach(item=>{
+      if(!keyArray.includes(item.key)){
+        tableDataCanAll.value.push(item)
+      }
+    })
+    parTree.value = data.data
+    tableDataCan.value = []
+    tableDataCanAll.value.forEach(item=>{
+      if(item.parGroup==data.data.parGroupCode){
+        tableDataCan.value.push(item)
+      }
+    })
+    currentNodeKey.value = data.data.mgid
+}
+function submitFen(){
+  formTree.value.mdid = parForm.value.mdid
+  console.log(isaddFen.value)
+  if(isaddFen.value===true){
+    addGroup(formTree.value).then(res=>{
+      if(res.code===200){
+        var par = {
+          mdid:parForm.value.mdid
+        }
+        getModelParList(par).then(res1=>{
+          proxy.$modal.msgSuccess("新增成功");
+          groupTreeData.value = res1.data
+          groupTreeData.value.forEach((item, index, array) => { 
+          item.label = item.parGroupName
+          item.value = item.parGroupCode
+          dialogVisibleFen.value = false
+        })
+      })
+      }
+    })
+  }
+  else{
+    editGroup(formTree.value).then(res=>{
+      if(res.code===200){
+        var par = {
+          mdid:parForm.value.mdid
+        }
+        getModelParList(par).then(res1=>{
+          proxy.$modal.msgSuccess("修改成功");
+          groupTreeData.value = res1.data
+          groupTreeData.value.forEach((item, index, array) => { 
+          item.label = item.parGroupName
+          item.value = item.parGroupCode
+          dialogVisibleFen.value = false
+        })
+      })
+      }
+    })
+  }
   
+}
+function showEditFen(){
+  isaddFen.value = false
+  dialogVisibleFen.value = true
+  formTree.value = parTree.value
+}
+function showAddFenzu(){
+  isaddFen.value = true
+  dialogVisibleFen.value = true
+}
+function delFenZu(){
+  proxy.$modal.confirm('是否确认删除所有参数?').then(function () {
+    return delFen(parTree.value.mgid);
+  }).then(() => {
+    var par = {
+      mdid:parForm.value.mdid
+    }
+    getModelParList(par).then(res1=>{
+        groupTreeData.value = res1.data
+        groupTreeData.value.forEach((item, index, array) => { 
+        item.label = item.parGroupName
+        item.value = item.parGroupCode
+        dialogVisibleFen.value = false
+      })
+    })
+    proxy.$modal.msgSuccess("删除成功");
+  }).catch(() => {});
+}
+function delAllCan(){
   proxy.$modal.confirm('是否确认删除所有参数?').then(function () {
     return delAllPar(parForm.value.mdid);
   }).then(() => {
@@ -811,12 +1033,11 @@ function delAllCan(){
   }).catch(() => {});
 }
 function saveChangePar(){
-  tableDataCan.value.forEach((item, index, array) => { 
+  tableDataCanAll.value.forEach((item, index, array) => { 
       item.mdid = parForm.value.mdid
-      item.parGroup = 'def'
       item.parCate = 'int'
   })
-  changePar(tableDataCan.value).then(res=>{
+  changePar(tableDataCanAll.value).then(res=>{
     if(res.code===200){
       proxy.$modal.msgSuccess("修改成功");
       dialogVisiblePei.value = false
@@ -826,6 +1047,7 @@ function saveChangePar(){
 }
 async function showPei(row){
   dialogVisiblePei.value = true
+  parRow.value = row
   var par = {
     mdid:row.mdid
   }
@@ -843,11 +1065,19 @@ async function showPei(row){
   
   await getParamsList(par).then(res=>{
     tableDataCan.value = res.data
+    tableDataCan.value.forEach(item=>{
+      item.key = Math.random()
+    })
   }) 
-  
+  tableDataCanAll.value = JSON.parse(JSON.stringify(tableDataCan.value))
 }
-function delCan(index){
+function delCan(index,row){
   tableDataCan.value.splice(index, 1)
+  tableDataCanAll.value.forEach((item,index,array)=>{
+    if(item.key===row.key){
+      array.splice(index,1)
+    }
+  })
 }
 function showDe(row){
   dialogVisibleDe.value = true
@@ -862,8 +1092,11 @@ function showDe(row){
 }
 function addCan(){
   tableDataCan.value.push({
-    mdid:parForm.value.mdid
+    key:Math.random(),
+    mdid:parForm.value.mdid,
+    parGroup:parTree.value.parGroupCode
   })
+  console.log(tableDataCan.value)
 }
 function downOut(){
   var url = window.location.host + formJi.value.mdOutFile
@@ -995,6 +1228,9 @@ async function handleFileSuccess(response, file, fileList){
     }
   });
 };
+function clearFromTree(){
+  formTree.value = {}
+}
 function clearForm(){
   tableDataCan.value = []
   activeName.value = 'first'
@@ -1150,4 +1386,10 @@ const seledMo = ['primary','plain','plain','plain','plain','plain','plain']
   align-items: center; /* 垂直居中 */
   gap: 8px;            /* 图标与文字间距 */
 }
+:deep(.svg-icon) {
+  outline: none;
+}
+:deep(.svg-icon svg) {
+  stroke: none;
+}
 </style>

+ 1 - 1
ruoyi-ui/src/views/register/modelData/dataJi.vue

@@ -134,7 +134,7 @@
     <div style="margin-top: 2%;">
       <div style="display: flex;justify-content: space-between;align-items: center;">
         <div style="display: flex;justify-content: flex-end;width: 100%;margin-right: 2%;">
-          <el-button  @click="addCanAdd" style="margin-top: 1%;" type="success" size="mini" plain>新增参数</el-button>
+          <el-button  @click="addCanAdd" style="margin-top: 0%;" type="success" size="mini" plain>新增参数</el-button>
         </div>
       </div>
       <div>

+ 8 - 2
ruoyi-ui/src/views/register/modelData/index.vue

@@ -7,9 +7,10 @@
             <span  style="justify-content: space-between;display: flex;width: 50%;align-items: center;">
               <div class="custom-tree-node">
                   <svg-icon icon-class="model2" style="color: #eebe77;width: 1.5rem;height:1.5rem;" v-if="data.label=='数据源'"/>
-                  <svg-icon icon-class="model" style="color: #13E03B;;width: 1.5rem;height:1.5rem;" v-if="data.label=='数据集'"/>
+                  <svg-icon icon-class="model" style="color: #13E03B;;width: 1.5rem;height:1.5rem;" v-if="data.label=='数据集(编辑)'"/>
                   <svg-icon svg-icon icon-class="cate" style="color: red;;width: 1.5rem;height:1.5rem;" v-if="data.label=='元数据'"/>
                   <svg-icon icon-class="流程图" style="color: red;;width: 1.5rem;height:1.5rem;" v-if="data.label=='流程图'"/>
+                  <svg-icon icon-class="流程图" style="color: red;;width: 1.5rem;height:1.5rem;" v-if="data.label=='数据集(查看)'"/>
                 <span style="font-size: 1rem;">{{ node.label }}</span>
               </div>
             </span>
@@ -44,7 +45,7 @@ const data =  ref([
         id:'2'
     },
     {
-        label:'数据集',
+        label:'数据集(编辑)',
         value:'dataUn',
         id:'3'
     },
@@ -53,6 +54,11 @@ const data =  ref([
         value:'dataUn',
         id:'4'
     },
+    {
+        label:'数据集(查看)',
+        value:'dataUn',
+        id:'5'
+    },
 ])
 const currentNodeKey = ref('1')
 const dataSourceData = ref()

+ 1 - 1
ruoyi-ui/src/views/register/modelData/liucheng.vue

@@ -16,7 +16,7 @@
                             <svg-icon icon-class="model2"  v-if="data.nodeType=='FLOW'"/>
                             <span style="font-size: 1rem;margin-left: 2%;">{{ node.label }}</span>
                         </div>
-                        <el-icon v-if="data.nodeType=='FLOW'&&currentNodeKey === data.id" :size="size" color="red" style="position: absolute;left: 80%;" @click="delTree(data)">
+                        <el-icon v-if="data.nodeType=='FLOW'&&currentNodeKey === data.id" :size="size" color="red" style="position: absolute;left: 85%;" @click="delTree(data)">
                             <Delete />
                         </el-icon>
                         </span>