nanjingliujinyu 5 달 전
부모
커밋
87aa635174

+ 35 - 0
ruoyi-ui/src/api/register/regCom.js

@@ -194,4 +194,39 @@ export function fieldAll(query) {
     method: 'get',
     params: query
   })
+}
+export function addSet(data) {
+  return request({
+    url: "/data/set",
+    method: 'post',
+    data:data
+  });
+}
+export function dataSetList(query) {
+  return request({
+    url: '/data/set/list',
+    method: 'get',
+    params: query
+  })
+}
+export function editSet(data) {
+  return request({
+    url: '/data/set',
+    method: 'put',
+    data: data
+  })
+}
+export function fieldAdd(data) {
+  return request({
+    url: "/data/field/addList",
+    method: 'post',
+    data:data
+  });
+}
+export function delField(id) {
+  return request({
+    url: '/data/field/removeOne',
+    method: 'delete',
+    params: id
+  })
 }

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

@@ -9,10 +9,10 @@
       <el-tree :expand-on-click-node="false" ref="treeRef" :filter-node-method="filterNode" :current-node-key="currentNodeKey" class="treeLeft" 
       :data="data" @node-click="handleNodeClick" node-key="id" style="margin-left: -10%;margin-top: 0%;width: 120%;background-color: transparent;" default-expand-all :key="valueKet">
           <template #default="{ node, data }">
-            <span  style="justify-content: space-between;display: flex;width: 30%;align-items: center;margin-left: 5%;">
+            <span  style="justify-content: space-between;display: flex;width: 30%;align-items: center;margin-left: 1%;">
               <div class="custom-tree-node" style="align-items: center;line-height: 1.5;">
-                <svg-icon icon-class="model" dstyle="color: #13E03B;" v-if="data.nodeType=='SET'"/>
-                <svg-icon icon-class="model2" style="color: red;" v-if="data.nodeType=='TREE'"/>
+                <svg-icon icon-class="model"  v-if="data.nodeType=='SET'"/>
+                <svg-icon icon-class="model2"  v-if="data.nodeType=='TREE'"/>
                 <span style="font-size: 1rem;">{{ node.label }}</span>
               </div>
               <div style="margin-right: 1%;position: absolute;left:90%;">
@@ -76,11 +76,10 @@
         border 
         :height="tableheight">
         <el-table-column type="index" label="序号" width="80"></el-table-column>
-        <el-table-column prop="fieldName" label="名称:">
+        <el-table-column prop="dcName" label="名称:">
         </el-table-column>
-        <el-table-column prop="fieldCode" label="代码"/>
-        <el-table-column prop="fieldType" label="分类"/>
-        <el-table-column prop="fieldDesc" label="说明"/>>
+        <el-table-column prop="dcType" label="分类"/>
+        <el-table-column prop="dcNote" label="说明"/>>
         <el-table-column prop="address" label="操作" width="250">
             <template #default="scope">
                 <div style="display: flex;justify-content: space-between;width: 100%;">
@@ -106,17 +105,17 @@
   </div>
   <el-dialog :title="title" @close="clearForm" v-model="dialogVisible" title="" width="30%"  destroy-on-close :key="tableKey">
     <el-form :label-width="140" label-position="right" :disabled="isEdit" style="margin-left: 5%;margin-top: 2%;"  :model="formZu" class="demo-form-inline" ref="formRefZu" :rules="rulesZu">
-      <el-form-item label="元数据表名(英文):" prop="metaTable" style="" v-if="isAddTa">
-        <el-input v-model="formZu.metaTable" style="width: 75%;" placeholder=""  resize="none"/>
-      </el-form-item>
-      <el-form-item label="元数据表中文名:" prop="dsType" style="">
+      <el-form-item label="数据集中文名:" prop="dcName" style="">
         <el-input v-model="formZu.dcName" style="width: 75%;" placeholder=""  resize="none"/>
       </el-form-item>
-      <el-form-item label="元数据表说明:" prop="dsPort" style="">
-        <el-input v-model="formZu.metaNote" style="width: 75%;" placeholder="" type="textarea" :row="2" resize="none"/>
+      <el-form-item label="数据集说明:" prop="dcNote" style="">
+        <el-input v-model="formZu.dcNote" style="width: 75%;" placeholder="" type="textarea" :row="2" resize="none"/>
+      </el-form-item>
+      <el-form-item label="数据集类型:" prop="dcType" style="">
+        <el-input v-model="formZu.dcType" style="width: 75%;" placeholder="" type="" :row="2" resize="none"/>
       </el-form-item>
-      <el-form-item label="排序:" prop="dsUser">
-        <el-input-number v-model="formZu.metaSort" :min="1" style="width: 75%;"/>
+      <el-form-item label="排序:" prop="dcSort">
+        <el-input-number v-model="formZu.dcSort" :min="1" style="width: 50%;"/>
       </el-form-item>
     </el-form>
     <template #footer>
@@ -222,7 +221,7 @@
         <el-input v-model="formTree.itemNotes" style="width: 75%;" placeholder=""  resize="none"/>
       </el-form-item>
       <el-form-item label="排序:" prop="itemNo">
-        <el-input-number v-model="formZu.itemNo" :min="1" style="width: 50%;"/>
+        <el-input-number v-model="formTree.itemNo" :min="1" style="width: 50%;"/>
       </el-form-item>
     </el-form>
     <template #footer>
@@ -238,7 +237,7 @@
 <script   setup>
 import { reactive } from 'vue'
 import { Plus } from '@element-plus/icons-vue'
-import { cateTree,addCate,delCate,fieldAll } from "@/api/register/regCom.js";
+import { cateTree,addCate,delCate,fieldAll,addSet,dataSetList,editSet,fieldAdd,delField  } from "@/api/register/regCom.js";
 import { ref, onMounted, onUnmounted, nextTick } from 'vue';
 const { proxy } = getCurrentInstance();
 const data =  ref([])
@@ -259,15 +258,17 @@ const dcName =ref()
 const parDel = ref({})
 const parTree = ref({})
 const formZu = ref({
-  metaTable:'',
+  cateId:'',
   dcName:'',
-  metaType:'',
-  metaNote:'',
-  metaSort:'',
+  dcType:'',
+  dcSort:1,
+  dcNote:''
 });
 const currentNodeKey = ref('')
 const rulesZu = reactive({
-  metaTable: [{ required: true, message: '必填', trigger: 'blur' }],
+  dcName: [{ required: true, message: '必填', trigger: 'blur' }],
+  dcType: [{ required: true, message: '必填', trigger: 'blur' }],
+  dcSort: [{ required: true, message: '必填', trigger: 'blur' }],
 });
 const formRefZu = ref();
 const tableDataCanAdd = ref([])
@@ -330,11 +331,11 @@ tableDataCanAdd.value.forEach((item, index, array)=>{
   })
   if(tableDataCanAdd.value.length===0){
     var par = {
-      dsCode:parDscode.value,
+      dcCode:currentNodeKey.value,
       metaTable:parMeta.value.metaTable,
       fieldCode:parDel.value.fieldCode
     }
-    delMetaFiled(par).then(res=>{
+    delField(par).then(res=>{
       if(res.code===200){
         proxy.$modal.msgSuccess("修改成功");
         getTable()
@@ -343,7 +344,7 @@ tableDataCanAdd.value.forEach((item, index, array)=>{
     })
   }
   else{
-    addPeiList(tableDataCanAdd.value).then(res=>{
+    fieldAdd(tableDataCanAdd.value).then(res=>{
       if(res.code===200){
         proxy.$modal.msgSuccess("修改成功");
         getTable()
@@ -388,13 +389,13 @@ function clearForm(){
     dcName:'',
     metaType:'',
     metaNote:'',
-    metaSort:'',
+    metaSort:1,
   }
   tableDataCanAdd.value = []
 }
 function addCanAdd(){
     var par = {
-        dsCode:parDscode.value,
+        dcCode:currentNodeKey.value,
         metaTable:parMeta.value.metaTable,
     }
     tableDataCanAdd.value.push(par)
@@ -407,11 +408,10 @@ function delCanAdd(index){
 }
 function getTable(){
   var par = {
-    dcCode:parTree.value.id,
-    dcName:dcName.value
+    dcCode:currentNodeKey.value,
   }
-  fieldAll(par).then(res=>{
-    tableData.value = res.data
+  dataSetList(par).then(res=>{
+    tableData.value = res.rows
   })
 }
 function showAdd(){
@@ -450,8 +450,8 @@ function getTree(){
 function addTa(){
   formRefZu.value.validate(async (valid) => {
       if(valid){
-        formZu.value.dsCode = parDscode.value
-        await addMeta(formZu.value).then(res=>{
+        formZu.value.dcCode = currentNodeKey.value
+        await addSet(formZu.value).then(res=>{
         if(res.code===200){
           proxy.$modal.msgSuccess("新增成功");
           getTable()
@@ -462,13 +462,18 @@ function addTa(){
   }); 
 }
 function saveEditTa(){
-  editMeta(formZu.value).then(res=>{
-    if(res.code===200){
-      proxy.$modal.msgSuccess("修改成功");
-      dialogVisible.value = false
-      getTable()
+  formRefZu.value.validate(async (valid) => {
+      if(valid){
+        editSet(formZu.value).then(res=>{
+        if(res.code===200){
+            proxy.$modal.msgSuccess("修改成功");
+            dialogVisible.value = false
+            getTable()
+        }
+    })
     }
-  })
+  });
+  
 }
 function delRow(row) {
   var par = {
@@ -539,7 +544,7 @@ onMounted(() => {
   stroke: none;
 }
 :deep(.el-tree-node__expand-icon) {
-  margin-left:1%; /* 向右推动图标 */
+  margin-left:5%; /* 向右推动图标 */
 }
 :deep(.el-table__body tr:hover > td) {
   background-color: #eaf7ff !important;

+ 5 - 0
ruoyi-ui/src/views/register/modelData/dataSource.vue

@@ -73,6 +73,9 @@
       <el-form-item label="密码:" prop="dsPass">
         <el-input v-model="formZu.dsPass" style="width: 75%;" placeholder=""  resize="none"/>
       </el-form-item>
+      <el-form-item label="排序:" prop="dcSort">
+        <el-input-number v-model="formZu.sort" :min="1" style="width: 50%;"/>
+      </el-form-item>
       <el-form-item label="说明:" prop="dsNode">
         <el-input v-model="formZu.dsNode" style="width: 75%;" placeholder=""  resize="none"/>
       </el-form-item>
@@ -134,6 +137,7 @@ const formZu = ref({
   dsUser:'',
   dsPass:'',
   dsNode:'',
+  sort:1
 });
 const rulesZu = reactive({
   dsTitle: [{ required: true, message: '必填', trigger: 'blur' }]
@@ -163,6 +167,7 @@ function clearForm(){
     dsUser:'',
     dsPass:'',
     dsNode:'',
+    sort:1
   }
 }
 function getTable(){

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

@@ -1,5 +1,10 @@
 <template>
-    <el-container>
+    <div>
+        <div id="tinyflow" style="height:calc(100vh - 180px);padding:1%;width:50%">
+
+        </div>
+    </div>
+    <!-- <el-container>
         <el-header style="height:40px;padding-top:10px;">
             <el-row justify="end">
                 <el-col :span="18">
@@ -11,10 +16,10 @@
                 </el-col>
             </el-row> 
         </el-header>
-        <el-main id="tinyflow" style="height:calc(100vh - 180px);padding:1%;">
+        <el-main >
             
         </el-main> 
-    </el-container> 
+    </el-container>  -->
 </template>
 
 <script setup >
@@ -153,42 +158,23 @@ const customNodes = {
     },
 };
 
-const initialData = ref({
-            nodes: [
-                { id: '1', position: { x: 0, y: 0 }, data: { label: 'Start' } },
-                { id: '2', position: { x: 200, y: 0 }, data: { label: 'End' } }
-            ],
-            edges: [
-                { id: 'e1-2', source: '1', target: '2' }
-            ]
-        });
-
 const tinyflow = ref(null);;
 
-const fetchData = () => {
-  if (tinyflow) {
-    console.log(tinyflow.value);
-    const data = tinyflow.value.getData();
-    console.log('流程数据:', data);
-  }
-};
-
 // 初始化 Tinyflow
 onMounted(() => {
     tinyflow.value = new Tinyflow({
         element: '#tinyflow', // 挂载的目标元素(支持选择器字符串或 DOM 元素)
         data: {
             nodes: [
-                { id: '1', position: { x: 0, y: 0 }, data: { label: 'Start' } },
-                { id: '2', position: { x: 200, y: 0 }, data: { label: 'End' } }
             ],
             edges: [
-                { id: 'e1-2', source: '1', target: '2' }
             ]
         },
         customNodes,
     });
-
+    tinyflow.on('node:click', (event) => {
+        console.log('节点被点击', event.node);
+    });
   
 });
 
@@ -198,6 +184,7 @@ onMounted(() => {
 
 </script>
 <style>
+
 .tinyflow-logo:after{
     content:"上海市水务海洋局模型流程设计器";
     white-space: pre-wrap;
@@ -213,4 +200,10 @@ onMounted(() => {
     opacity:.1
 }
 </style>
+<style scoped>
+:deep(.tf-node-wrapper-title){
+    display:none
+}
+</style>
+
 

+ 25 - 19
ruoyi-ui/src/views/register/modelData/metaData.vue

@@ -8,17 +8,18 @@
       </div>
     </template>
       <el-tree :expand-on-click-node="false" ref="treeRef" :filter-node-method="filterNode" :current-node-key="currentNodeKey" class="treeLeft" :data="data" @node-click="handleNodeClick" 
-      node-key="id" style="margin-left:-15%;margin-top: 5%;width: 99%;background-color: transparent;" default-expand-all :key="valueKet">
+      node-key="id" style="margin-left:-15%;margin-top: 1%;width: 99%;background-color: transparent;" default-expand-all :key="valueKet">
           <template #default="{ node, data }">
             <span  style="display: flex;width: 30%;align-items: center;margin-left: 1%;line-height: 1.5;">
               <div class="custom-tree-node" style="width: 50%;line-height: 1.5;align-items: center;">
                   <!-- <el-tag v-if="data.nodeType=='MODEL'" class="ml-2" type="warning">模型</el-tag> -->
                   <el-icon><Coin /></el-icon>
                 <span style="font-size: 1rem;">{{ node.label }}</span>
-                <el-icon :size="size" color="red" style="float: right;margin-right: 1%;">
+                
+              </div>
+              <el-icon :size="size" color="red" style="position: absolute;left: 110%;" @click="delTree(data)">
                   <Delete />
                 </el-icon>
-              </div>
             </span>
           </template>
         </el-tree>
@@ -83,7 +84,7 @@
         <el-input v-model="formZu.metaNote" style="width: 75%;" placeholder="" type="textarea" :row="2" resize="none"/>
       </el-form-item>
       <el-form-item label="排序:" prop="dsUser">
-        <el-input-number v-model="formZu.metaSort" :min="1" style="width: 75%;"/>
+        <el-input-number v-model="formZu.metaSort" :min="1" style="width: 50%;"/>
         <!-- <el-input v-model="formZu.metaSort" style="width: 75%;" placeholder=""  resize="none"/> -->
       </el-form-item>
     </el-form>
@@ -221,7 +222,7 @@
 <script   setup>
 import { reactive } from 'vue'
 import { Plus,Delete} from '@element-plus/icons-vue'
-import { getDataMetaList,getDataSourceList,addMeta,delMeta,editMeta,addPeiList,getMetaFiele,delMetaFiled,addDataSource } from "@/api/register/regCom.js";
+import { getDataMetaList,getDataSourceList,addMeta,delMeta,editMeta,addPeiList,getMetaFiele,delMetaFiled,addDataSource,delDataSource } from "@/api/register/regCom.js";
 import { ref, onMounted, onUnmounted, nextTick } from 'vue';
 const { proxy } = getCurrentInstance();
 const data =  ref([])
@@ -269,6 +270,14 @@ const rulesTree = reactive({
 const formRefTree = ref();
 const parDscode = ref('')
 
+function delTree(data) {
+  proxy.$modal.confirm('是否确认删除?').then(function () {
+    return delDataSource(data.dsCode);
+  }).then(() => {
+    getTable();
+    proxy.$modal.msgSuccess("删除成功");
+  }).catch(() => {});
+};
 function showAddDataSource(){
   dialogVisibleData.value = true
 }
@@ -432,13 +441,18 @@ function addTa(){
   }); 
 }
 function saveEditTa(){
-  editMeta(formZu.value).then(res=>{
-    if(res.code===200){
-      proxy.$modal.msgSuccess("修改成功");
-      dialogVisible.value = false
-      getTable()
+  formRefZu.value.validate(async (valid) => {
+      if(valid){
+        editMeta(formZu.value).then(res=>{
+          if(res.code===200){
+            proxy.$modal.msgSuccess("修改成功");
+            dialogVisible.value = false
+            getTable()
+          }
+        })
     }
-  })
+  }); 
+  
 }
 function delRow(row) {
   var par = {
@@ -477,14 +491,6 @@ function handleNodeClick(node, data){
   console.log(parDscode.value)
   getTable()
 }
-function delTree(node, data) {
-  proxy.$modal.confirm('是否确认删除?').then(function () {
-    return delCate(data.id);
-  }).then(() => {
-    getTree();
-    proxy.$modal.msgSuccess("删除成功");
-  }).catch(() => {});
-};
 function editTree(node, data){
   console.log(data)
   titleTree.value = '编辑'

+ 3 - 0
ruoyi-ui/src/views/service/info/editModel.vue

@@ -408,6 +408,9 @@
                       </el-form-item>
                             </el-col>
                       </el-row>
+                      <el-form-item label="排序:" prop="dcSort">
+                        <el-input-number v-model="formAdd.sort" :min="1" style="width: 15%;"/>
+                      </el-form-item>
                       <el-row :gutter="48">
                             <el-col :span="10">
                               <el-form-item label="响应类型:" prop="" style="display: flex; align-items: center;">

+ 3 - 0
ruoyi-ui/src/views/service/info/index.vue

@@ -310,6 +310,9 @@
                       </el-form-item>
                             </el-col>
                       </el-row>
+                      <el-form-item label="排序:" prop="dcSort">
+                        <el-input-number v-model="formAdd.sort" :min="1" style="width: 15%;"/>
+                      </el-form-item>
                       <el-row :gutter="48">
                             <el-col :span="10">
                               <el-form-item label="响应类型:" prop="" style="display: flex; align-items: center;">