瀏覽代碼

Merge branch 'master' of http://39.98.38.2:13000/dumingliang/sh-model-platform

ZhuDeKang 6 月之前
父節點
當前提交
23528b393e

+ 6 - 0
ruoyi-ui/src/api/service/info.js

@@ -89,4 +89,10 @@ export function addTree(data) {
     method: 'post',
     data: data
   })
+}
+export function deTree(id) {
+  return request({
+    url: '/interfaces/cate/' + id,
+    method: 'delete'
+  })
 }

File diff suppressed because it is too large
+ 0 - 0
ruoyi-ui/src/assets/icons/svg/接口.svg


+ 1 - 0
ruoyi-ui/src/assets/icons/svg/模型.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1753871610949" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1549" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M154.68661162 328.42831573l-1.28709316 0.64354657v364.89095508l357.81194092 188.23739678V506.36896719L154.68661162 328.42831573z" fill="#FFFFFF" p-id="1550"></path><path d="M868.37985459 328.75008945L511.21145938 140.83446552 168.52286445 321.02752959l-13.83625283 7.40078613 356.52484775 177.94065147 4.18305323-1.93064063 353.95066143-175.04469052V329.0718623l-0.96531944-0.32177285zM515.3945126 504.43832656l-4.18305323 1.93064063 4.18305323-1.93064063z" fill="#91D5FF" p-id="1551"></path><path d="M939.8135331 294.32034336a59.84983916 59.84983916 0 0 0-25.42009307-26.70718623L538.56219219 68.75723955a58.88451885 58.88451885 0 0 0-54.70146563 0L108.35125244 266.32606396a58.24097227 58.24097227 0 0 0-15.44511973 13.83625284 64.35466612 64.35466612 0 0 0-9.65320049 12.54915966 59.84983916 59.84983916 0 0 0-6.43546581 25.7418668v386.12799405a59.20629258 59.20629258 0 0 0 32.17733261 52.1272793l375.50947413 197.56882352a59.20629258 59.20629258 0 0 0 26.70718622 7.72255987h4.50482696a56.31033252 56.31033252 0 0 0 22.84590586-6.11369297l375.509475-197.56882441a59.20629258 59.20629258 0 0 0 32.17733261-52.12727842V318.45334326a56.63210625 56.63210625 0 0 0-6.4354667-24.1329999z m-70.46835908 35.07329268l-353.95066142 175.04469052-4.18305323 2.25241348v375.50947412L153.07774472 693.96281739V329.0718623l13.83625284-7.40078613 344.29746182-180.83661064 357.16839521 187.91562392z" fill="#40A9FF" p-id="1552"></path></svg>

File diff suppressed because it is too large
+ 0 - 0
ruoyi-ui/src/assets/icons/svg/模型1.svg


+ 80 - 25
ruoyi-ui/src/views/service/info/index.vue

@@ -21,8 +21,8 @@
                   <!-- <el-tag  class="ml-2">
                     服务
                   </el-tag> -->
-                  <svg-icon icon-class="service2" style="color: #13E03B;" v-if="data.nodeType=='SERVICE'"/>
-                  <el-tag v-if="data.nodeType=='TREE'" class="ml-2" type="success">树</el-tag>
+                  <svg-icon icon-class="接口" style="color: #13E03B;" v-if="data.nodeType=='SERVICE'"/>
+                  <svg-icon icon-class="模型" style="color: red;" v-if="data.nodeType=='TREE'"/>
                 <span>{{ node.label }}</span>
               </div>
               <div style="margin-right: 1%;position: absolute;margin-left: 75%;">
@@ -32,7 +32,7 @@
                     </el-icon>
                   <template #dropdown>
                     <el-dropdown-menu>
-                      <el-dropdown-item style="display: flex;" @click="add1Lever">
+                      <el-dropdown-item style="display: flex;" @click="add1Level">
                         <el-icon class="el-icon--right" style="color: black;">
                           <CirclePlus />
                         </el-icon>
@@ -40,7 +40,7 @@
                           添加同级
                         </div>
                       </el-dropdown-item>
-                      <el-dropdown-item style="display: flex;"  @click="addNextLever">
+                      <el-dropdown-item style="display: flex;"  @click="addNextLevel">
                         <el-icon class="el-icon--right" style="color: black;">
                           <Connection />
                         </el-icon>
@@ -568,7 +568,14 @@
                       <el-row :gutter="48">
                             <el-col :span="10">
                               <el-form-item label="所属模型:" prop="mdid" style="">
-                                <el-select
+                                <el-tree-select
+                                  v-model="formAdd.mdid"
+                                  :data="optionsMdid"
+                                  check-strictly
+                                  :render-after-expand="false"
+                                  style="width: 100%"
+                                />
+                                <!-- <el-select
                                 v-model="formAdd.mdid"
                                     style="width: 100%;margin-left: 0%;"
                                 >
@@ -578,7 +585,7 @@
                                     :label="item.label"
                                     :value="item.id"
                                     />
-                                </el-select>
+                                </el-select> -->
                       </el-form-item>
                             </el-col>
                       </el-row>
@@ -656,7 +663,7 @@
                                 <el-table-column prop="itemName" label="参数名称">
                                     <template #default="scope">
                                         <div style="width: 100%;">
-                                            <el-input placeholder="请填写参数名称" type="primary" class="noBor" v-model="scope.row.itemName" size="mini" text style="margin-left: 0%;"></el-input>
+                                            <el-input placeholder="请填写参数名称" type="primary" class="noBor" v-model="scope.row.paramName" size="mini" text style="margin-left: 0%;"></el-input>
                                         </div>
                                     </template>
                                 </el-table-column>
@@ -744,10 +751,10 @@
           <template #footer>
               <span class="dialog-footer">
                 <el-button size="mini" @click="dialogVisibleLevel = false">取消</el-button>
-                <el-button type="primary" @click="add1Level" size="mini" v-if="show1Lev">
+                <el-button type="primary" @click="saveAdd1Level" size="mini" v-if="show1Lev">
                   提交
                 </el-button>
-                <el-button type="primary" @click="addNextLevel" size="mini" v-if="!show1Lev">
+                <el-button type="primary" @click="saveAddNextLevel" size="mini" v-if="!show1Lev">
                   提交
                 </el-button>
             </span>
@@ -760,7 +767,7 @@
 import {getCatalog} from "@/api/service/catalog";
 import { Plus,Search,Filter,Promotion,Check  } from '@element-plus/icons-vue'
 import { reactive } from 'vue'
-import { modelTreeSelect,getSerDe,addService,addParam,editService,editParam,addServiceParam,delService,getTreeDe,addTree } from "@/api/service/info";
+import { modelTreeSelect,getSerDe,addService,addParam,editService,editParam,addServiceParam,delService,getTreeDe,addTree,deTree } from "@/api/service/info";
 import { ref, onMounted, onUnmounted, nextTick,onBeforeMount } from 'vue';
 import JsonViewer from 'vue-json-viewer'
 import 'vue-json-viewer/style.css' 
@@ -962,6 +969,28 @@ const filterNode = (value, data) => {
   if (!value) return true; // 空搜索时显示所有节点
   return data.label.includes(value); // 检查节点标签是否包含关键字
 };
+function filterModelNodes(nodes) {
+  if (!Array.isArray(nodes)) return [];
+  
+  const result = [];
+  for (const node of nodes) {
+    // 递归处理子节点(如果有)
+    const filteredChildren = node.children ? filterModelNodes(node.children) : [];
+    
+    if (node.nodeType === 'MODEL') {
+      // 保留当前节点,并更新其子节点
+      node.value = node.id
+      result.push({
+        ...node,
+        children: filteredChildren
+      });
+    } else {
+      // 删除当前节点,将其子节点提升到当前层级
+      result.push(...filteredChildren);
+    }
+  }
+  return result;
+}
 function clearAdd(){
   formAdd.value = {
     name:'',
@@ -1001,7 +1030,15 @@ function extractModelNodesDFSIterative(root) {
   }
   return result;
 }
-
+function delAll(){
+  proxy.$modal.confirm('是否确认删除?').then(function () {
+    return deTree(parTree.value.id);
+  }).then(() => {
+    getTreeLeft();
+    proxy.$modal.msgSuccess("删除成功");
+    dialogVisibleLevel.value = false
+  }).catch(() => {});
+}
 function clearFromLev(){
   formLev.value = {
     itemName:'',
@@ -1010,20 +1047,40 @@ function clearFromLev(){
   }
 }
 function addNextLevel(){
-  
+  dialogVisibleLevel.value = true
+  show1Lev.value = false
+}
+function saveAddNextLevel(){
+   formRefLev.value.validate((valid) => {
+    if(valid){
+      var par = formLev.value
+      par.treeType = parTree.value.nodeType
+      par.treePid = parTree.value.id
+      addTree(par).then(res=>{
+        if(res.code===200){
+          proxy.$modal.msgSuccess("新增成功");
+          getTreeLeft()
+          dialogVisibleLevel.value = false
+        }
+      })
+    }
+  });
 }
-function add1Lever(){
+function add1Level(){
   dialogVisibleLevel.value = true
+  show1Lev.value = true
+}
+function saveAdd1Level(){
   formRefLev.value.validate((valid) => {
     if(valid){
       var par = formLev.value
-      par.treeType = parTree.value.treeType
-      par.treePid = parTree.value.treePid
+      par.treeType = parTree.value.nodeType
+      par.treePid = parTree.value.pid
       addTree(par).then(res=>{
         if(res.code===200){
           proxy.$modal.msgSuccess("新增成功");
           getTreeLeft()
-          dialogVisibleLevel = false
+          dialogVisibleLevel.value = false
         }
       })
     }
@@ -1099,13 +1156,13 @@ function showAdd(){
   dialogVisible.value = true
 }
 async function handleNodeClick(node,data,event){
+  parTree.value = data.data
   currentNodeKey.value = data.data.id
-  console.log(currentNodeKey.value)
+  console.log(data.data.nodeType)
   isEdit.value = false
   parId.value = data.data
   await getSerDe(data.data.id).then(res=>{
     detail.value = res.data.ptService
-    detail.value.nodeType = data.data.nodeType
     tableDataCan.value = res.data.list
     dataReturn.value = res.data.returnList
     console.log(tableDataCan.value)
@@ -1113,20 +1170,18 @@ async function handleNodeClick(node,data,event){
     formJi.value = res.data.ptService
     example.value = res.data.ptService.example
   })
-  if(data.data.nodeType==='MODEL'){
-    getTreeDe(data.data.id).then(res=>{
-      parTree.value = res.data
-    })
-  }
+  detail.value.nodeType = data.data.nodeType
+  
 }
 async function getTreeLeft(){
   var par
   await modelTreeSelect().then(res=>{
     par = res.data
     data.value = res.data
+    
   })
-  optionsMdid.value = extractModelNodesDFSIterative(par)
-  
+  optionsMdid.value = filterModelNodes(par)
+  console.log(optionsMdid.value)
 }
 function renameTreeProperties(tree) {
   // 深拷贝避免修改原始数据(可选,根据需求)

Some files were not shown because too many files changed in this diff