Browse Source

完成数据建模

yukai 3 years ago
parent
commit
ea61e19a6c

+ 16 - 1
src/api/datahub/index.ts

@@ -17,6 +17,21 @@ export default {
       add: (data: object) => post('/source/node/add', data),
       delete: (nodeId: number) => del('/source/node/del', { nodeId }),
       edit: (data: object) => put('/source/node/edit', data),
-   } 
+   },
+
+   template:{
+      getList: (params: object) => get('/source/template/search', params),
+      add: (data: object) => post('/source/template/add', data),
+      delete: (ids: number) => del('/source/template/del', { ids }),
+      edit: (data: object) => put('/source/template/edit', data),
+      detail: (id: number) => get('/source/template/detail', { id }),
+   } ,
+
+   tnode:{
+      getList: (params: object) => get('/source/template/node/list', params),
+      add: (data: object) => post('/source/template/node/add', data),
+      delete: (id: number) => del('/source/template/node/del', { id }),
+      edit: (data: object) => put('/source/template/node/edit', data),
+   },
   
 }

+ 26 - 128
src/views/datahub/modeling/component/edit.vue

@@ -1,23 +1,23 @@
 <template>
 	<div class="system-edit-dic-container">
-		<el-dialog :title="(ruleForm.sourceId !== 0 ? '修改' : '添加') + '自建表'" v-model="isShowDialog" width="769px">
+		<el-dialog :title="(ruleForm.id !== 0 ? '修改' : '添加') + '模型'" v-model="isShowDialog" width="769px">
 			<el-form :model="ruleForm" ref="formRef" :rules="rules" size="default" label-width="110px">
-				<el-form-item label="自建表标识" prop="key">
-					<el-input v-model="ruleForm.key" placeholder="请输入自建表名称" />
+				<el-form-item label="模型标识" prop="key">
+					<el-input v-model="ruleForm.key" placeholder="请输入模型名称" />
 				</el-form-item>
-				<el-form-item label="自建表名称" prop="name">
-					<el-input v-model="ruleForm.name" placeholder="请输入自建表名称" />
+				<el-form-item label="模型名称" prop="name">
+					<el-input v-model="ruleForm.name" placeholder="请输入模型名称" />
 				</el-form-item>
 
 				<el-form-item label="描述" prop="description">
-					<el-input v-model="ruleForm.description" type="textarea" placeholder="请输入内容"></el-input>
+					<el-input v-model="ruleForm.desc" type="textarea" placeholder="请输入内容"></el-input>
 				</el-form-item>
 
 			</el-form>
 			<template #footer>
 				<span class="dialog-footer">
 					<el-button @click="onCancel" size="default">取 消</el-button>
-					<el-button type="primary" @click="onSubmit" size="default">{{ ruleForm.sourceId !== 0 ? '修 改' : '添 加' }}</el-button>
+					<el-button type="primary" @click="onSubmit" size="default">{{ ruleForm.id !== 0 ? '修 改' : '添 加' }}</el-button>
 				</span>
 			</template>
 		</el-dialog>
@@ -28,14 +28,12 @@
 import { reactive, toRefs, defineComponent, ref, unref } from 'vue';
 import api from '/@/api/datahub';
 import { ElMessage } from 'element-plus';
-import { Delete, Minus, Right } from '@element-plus/icons-vue';
 
 interface RuleFormState {
-	id: number;
+	id?: number;
 	name: string;
 	key: string;
-	description: string;
-	status: number;
+	desc: string;
 }
 interface DicState {
 	isShowDialog: boolean;
@@ -45,99 +43,41 @@ interface DicState {
 
 export default defineComponent({
 	name: 'Edit',
-	components: { Delete, Minus, Right },
 
 	setup(prop, { emit }) {
 		const formRef = ref<HTMLElement | null>(null);
 		const state = reactive<DicState>({
-			
 			isShowDialog: false,
-			
-
 			ruleForm: {
-				sourceId: 0,
+				id: 0,
 				name: '',
-				from: 1,
 				key: '',
-				rule: [],
-				config: {
-					method: '',
-					url: '',
-					interval: '',
-					intervalUnit: '',
-					requestParams: [],
-				},
-				description: '',
+				
+				desc: '',
 			},
 			rules: {
-				key: [{ required: true, message: '自建表标识不能为空', trigger: 'blur' }],
-				name: [{ required: true, message: '自建表名称不能为空', trigger: 'blur' }],
-				from: [{ required: true, message: '自建表类型不能为空', trigger: 'blur' }],
+				key: [{ required: true, message: '模型标识不能为空', trigger: 'blur' }],
+				name: [{ required: true, message: '模型名称不能为空', trigger: 'blur' }],
 			
 			},
 		});
-		const delParams = (index) => {
-			state.requestParams.splice(index, 1);
-		};
-
-		const addParams = () => {
-			state.requestParams.push({
-				type: '',
-				key: '',
-				name: '',
-				value: '',
-			});
-		};
-
-		const delRule = (index) => {
-			state.rule.splice(index, 1);
-		};
-
-		const addRule = () => {
-			state.rule.push({
-				expression: '',
-				params: {
-					name: '',
-					value: '',
-				},
-			});
-		};
+		
 		// 打开弹窗
 		const openDialog = (row: RuleFormState | null) => {
 			resetForm();
 
 			if (row) {
-				 api.common.detail(row.sourceId).then((res:any)=>{
-				    state.ruleForm = res.data
-					state.config=res.data.apiConfig
-					state.requestParams=res.data.apiConfig.requestParams
-
-           			res.data.sourceRule.forEach((item, index) => {
-						state.rule[index].expression = item.expression;
-						state.rule[index].params.name =Object.keys(item.params) ;
-						state.rule[index].params.value = item.params[Object.keys(item.params)];
-					});
-
-
-				 })
+				state.ruleForm = row
 			}
 			state.isShowDialog = true;
 		};
 		const resetForm = () => {
 			state.ruleForm = {
-						sourceId: 0,
+				id: 0,
 				name: '',
-				from: 1,
 				key: '',
-				rule: [],
-				config: {
-					method: '',
-					url: '',
-					interval: '',
-					intervalUnit: '',
-					requestParams: [],
-				},
-				description: '',
+				
+				desc: '',
 			};
 		};
 		// 关闭弹窗
@@ -154,29 +94,20 @@ export default defineComponent({
 			if (!formWrap) return;
 			formWrap.validate((valid: boolean) => {
 				if (valid) {
-					//修改rule数据
-					state.rule.forEach((item, index) => {
-						item.params[item.params.name] = item.params.value;
-						delete item.params.name;
-						delete item.params.value;
-					});
+	
 
-					state.ruleForm.rule = state.rule;
-					state.config.requestParams = state.requestParams;
-					state.ruleForm.config = state.config;
-
-					if (state.ruleForm.sourceId !== 0) {
+					if (state.ruleForm.id !== 0) {
 						//修改
-						api.common.edit(state.ruleForm).then(() => {
-							ElMessage.success('自建表类型修改成功');
+						api.template.edit(state.ruleForm).then(() => {
+							ElMessage.success('模型类型修改成功');
 							closeDialog(); // 关闭弹窗
 							emit('typeList');
 						});
 					} else {
 						//添加
 
-						api.common.add(state.ruleForm).then(() => {
-							ElMessage.success('自建表类型添加成功');
+						api.template.add(state.ruleForm).then(() => {
+							ElMessage.success('模型类型添加成功');
 							closeDialog(); // 关闭弹窗
 							emit('typeList');
 						});
@@ -186,10 +117,7 @@ export default defineComponent({
 		};
 
 		return {
-			addRule,
-			delRule,
-			addParams,
-			delParams,
+		
 			openDialog,
 			closeDialog,
 			onCancel,
@@ -200,34 +128,4 @@ export default defineComponent({
 	},
 });
 </script>
-<style>
-.el-input__wrapper {
-	width: 98%;
-}
 
-.box-content {
-	border: 1px solid #e8e8e8;
-	margin: 10px;
-	padding: 10px;
-}
-
-.content-f {
-	display: flex;
-	margin-bottom: 10px;
-}
-.content-f .el-input__wrapper {
-	margin-right: 5px;
-}
-.addbutton {
-	width: 100%;
-	margin-top: 10px;
-}
-.conicon {
-	width: 55px;
-	height: 25px;
-
-	font-size: 28px;
-	line-height: 28px;
-	cursor: pointer;
-}
-</style>

+ 138 - 131
src/views/datahub/modeling/component/editNode.vue

@@ -1,7 +1,71 @@
 <template>
 	<div class="system-edit-dic-container">
-		<el-dialog :title="(ruleForm.nodeId !== 0 ? '修改' : '添加') + '字段节点'" v-model="isShowDialog" width="769px">
+		<el-dialog :title="(ruleForm.id !== 0 ? '修改' : '添加') + '字段节点'" v-model="isShowDialog" width="769px">
 			<el-form :model="ruleForm" ref="formRef" :rules="rules" size="default" label-width="110px">
+
+
+
+			<el-form-item label="类型" prop="from">
+					<el-radio-group v-model="ruleForm.from">
+						<el-radio :label="1">自定义</el-radio>
+						<el-radio :label="2">数据源</el-radio>
+					</el-radio-group>
+				</el-form-item>
+
+
+
+
+
+				<div v-if="ruleForm.from==2">
+				
+						
+			<el-form-item label="数据源" prop="sourceId">
+					<el-select v-model="ruleForm.sourceId" filterable  placeholder="请选择数据源" @change="getNodeList">
+						<el-option
+						v-for="item in sourceData"
+						:key="item.sourceId"
+						:label="item.key"
+						:value="item.sourceId"
+						>
+						<span style="float: left">{{ item.key }}</span>
+						<span
+							style="
+							float: right;
+							font-size: 13px;
+							"
+							>{{ item.name }}</span
+						>
+						</el-option>
+					</el-select>
+				
+			</el-form-item>
+
+				<el-form-item label="数据源节点" prop="nodeId">
+					<el-select v-model="ruleForm.nodeId" filterable  placeholder="请选择数据源" @change="setNode">
+						<el-option
+						v-for="item in nodeData"
+						:key="item.nodeId"
+						:label="item.key"
+						:value="item.nodeId"
+						>
+						<span style="float: left">{{ item.key }}</span>
+						<span
+							style="
+							float: right;
+							font-size: 13px;
+							"
+							>{{ item.name }}</span
+						>
+						</el-option>
+					</el-select>
+				
+			</el-form-item>
+
+
+				</div>
+
+
+
 				<el-form-item label="字段节点标识" prop="key">
 					<el-input v-model="ruleForm.key" placeholder="请输入字段节点名称" />
 				</el-form-item>
@@ -22,42 +86,19 @@
 					</el-select>
 				</el-form-item>
 
-				<el-form-item label="取值项" prop="value">
-					<el-input v-model="ruleForm.value" placeholder="请输入取值项" />
+				<el-form-item label="默认值" prop="default">
+					<el-input v-model="ruleForm.default" placeholder="请输入取值项" />
 				</el-form-item>
 
-		
-
-				<el-divider content-position="left">规则表达式</el-divider>
-
-				<div v-for="(item, index) in rule" :key="index">
-					<el-form-item label="表达式" >
-						<el-input v-model="item.expression" placeholder="请输入规则表达式" />
-					</el-form-item>
-
-					<el-form-item label="参数" >
-						<el-input v-model="rule[index].params.name" placeholder="请输入键值" class="w-35" />
-						<el-input v-model="rule[index].params.value" placeholder="请输入值" class="w-35" />
-						<div class="conicon">
-							<el-icon @click="delRule(index)" v-if="index > 0"><Delete /></el-icon>
-						</div>
-					</el-form-item>
-				</div>
-				<div style="padding: 10px">
-					<el-button type="primary" class="addbutton" @click="addRule">增加</el-button>
-				</div>
-
-	
-
-			
-			
-
+	<el-form-item label="描述" prop="desc">
+					<el-input v-model="ruleForm.desc" type="textarea" placeholder="请输入内容"></el-input>
+				</el-form-item>
 			
 			</el-form>
 			<template #footer>
 				<span class="dialog-footer">
 					<el-button @click="onCancel" size="default">取 消</el-button>
-					<el-button type="primary" @click="onSubmit" size="default">{{ ruleForm.nodeId !== 0 ? '修 改' : '添 加' }}</el-button>
+					<el-button type="primary" @click="onSubmit" size="default">{{ ruleForm.id !== 0 ? '修 改' : '添 加' }}</el-button>
 				</span>
 			</template>
 		</el-dialog>
@@ -71,13 +112,15 @@ import { ElMessage } from 'element-plus';
 import { Delete, Minus, Right } from '@element-plus/icons-vue';
 
 interface RuleFormState {
-	nodeId: number;
+	id: number;
 	name: string;
 	from: number;
+	sourceId: number;
+	nodeId: number;
 	key: string;
 	dataType: string;
-	value: string;
-	description: string;
+	default: string;
+	desc: string;
 	status: number;
 }
 interface DicState {
@@ -96,7 +139,6 @@ export default defineComponent({
 		const state = reactive<DicState>({
 			
 			isShowDialog: false,
-			config: {},
 			tabData:[{
 				label: 'varchar',
 				value: 'varchar',
@@ -128,37 +170,21 @@ export default defineComponent({
 				label: 'timestamp',
 				value: 'timestamp',
 			}],
-			ruledata:  [
-				{
-					expression: '',
-					params: {
-						name: '',
-						value: '',
-					},
-				},
-			],
-			rule: [
-				{
-					expression: '',
-					params: {
-						name: '',
-						value: '',
-					},
-				},
-			],
-			
 		
+	
+			sourceData:[],
+			nodeData:[],
 
 		
 			ruleForm: {
-				nodeId: 0,
+				id: 0,
+				sourceId:0,
+				nodeId:0,
 				name: '',
 				key: '',
-				dataType:'',
-				value:'',
-				rule: [],
-				
-				description: '',
+				from:1,
+				default:'',
+				desc: '',
 			},
 			rules: {
 				key: [{ required: true, message: '字段节点标识不能为空', trigger: 'blur' }],
@@ -170,49 +196,67 @@ export default defineComponent({
 		});
 		
 
-		const delRule = (index) => {
-			state.rule.splice(index, 1);
-		};
-
-		const addRule = () => {
-			state.rule.push({
-				expression: '',
-				params: {
-					name: '',
-					value: '',
-				},
-			});
-		};
+		
 		// 打开弹窗
 		const openDialog = (row: RuleFormState | null) => {
 			resetForm();
 
-			if (row?.nodeId) {
 
+			console.log(row);
+			if (row?.id) {
 				  state.ruleForm = row
-
-				 var data=JSON.parse(row.rule)
-           			 console.log(data);
-
-					data.forEach((item, index) => {
-						state.rule[index].expression = item.expression;
-						state.rule[index].params.name =Object.keys(item.params) ;
-						state.rule[index].params.value = item.params[Object.keys(item.params)];
-					});
 			}
 
-			state.ruleForm = row;
+			if(row.sourceId){
+				getNodeList(row.sourceId);
+			}
+			 state.ruleForm = row
 			state.isShowDialog = true;
+
+			getSouData();
+		};
+
+
+		const getSouData=()=>{
+			api.common.getList({
+					pageNum: 1,
+					pageSize: 50,
+					
+				}).then((res: any) => {
+				state.sourceData = res.list;
+			});
+
+		};
+
+		const getNodeList=(event)=>{
+
+			api.node.getList({
+					pageNum: 1,
+					pageSize: 50,
+					sourceId: event,
+				}).then((res: any) => {
+				state.nodeData = res.list;
+			});
+		};
+		const setNode=(event)=>{
+			state.nodeData.forEach((item, index) => {
+					if(item.nodeId==event){
+						state.ruleForm.name=item.name;
+						state.ruleForm.key=item.key;
+						state.ruleForm.dataType=item.dataType;
+					}
+			})
 		};
 		const resetForm = () => {
 			state.ruleForm = {
-				nodeId: 0,
+				id: 0,
 				name: '',
-				from: 1,
+				sourceId:0,
+				nodeId:0,
 				key: '',
-				rule: [],
-				
-				description: '',
+				from:1,
+				default:'',
+				desc: '',
 			};
 		};
 		// 关闭弹窗
@@ -229,18 +273,10 @@ export default defineComponent({
 			if (!formWrap) return;
 			formWrap.validate((valid: boolean) => {
 			if (valid) {
-					//修改rule数据
-					state.rule.forEach((item, index) => {
-						item.params[item.params.name] = item.params.value;
-						delete item.params.name;
-						delete item.params.value;
-					});
 
-					state.ruleForm.rule = state.rule;
-
-					if (state.ruleForm.nodeId !== 0) {
+				if (state.ruleForm.id !== 0) {
 						//修改
-						api.node.edit(state.ruleForm).then(() => {
+						api.tnode.edit(state.ruleForm).then(() => {
 							ElMessage.success('字段节点类型修改成功');
 							closeDialog(); // 关闭弹窗
 							emit('typeList');
@@ -248,7 +284,7 @@ export default defineComponent({
 					} else {
 						//添加
 
-						api.node.add(state.ruleForm).then(() => {
+						api.tnode.add(state.ruleForm).then(() => {
 							ElMessage.success('字段节点类型添加成功');
 							closeDialog(); // 关闭弹窗
 							emit('typeList');
@@ -259,8 +295,9 @@ export default defineComponent({
 		};
 
 		return {
-			addRule,
-			delRule,
+			getSouData,
+			getNodeList,
+			setNode,
 			openDialog,
 			closeDialog,
 			onCancel,
@@ -271,34 +308,4 @@ export default defineComponent({
 	},
 });
 </script>
-<style>
-.el-input__wrapper {
-	width: 98%;
-}
 
-.box-content {
-	border: 1px solid #e8e8e8;
-	margin: 10px;
-	padding: 10px;
-}
-
-.content-f {
-	display: flex;
-	margin-bottom: 10px;
-}
-.content-f .el-input__wrapper {
-	margin-right: 5px;
-}
-.addbutton {
-	width: 100%;
-	margin-top: 10px;
-}
-.conicon {
-	width: 55px;
-	height: 25px;
-
-	font-size: 28px;
-	line-height: 28px;
-	cursor: pointer;
-}
-</style>

+ 32 - 38
src/views/datahub/modeling/detail.vue

@@ -2,8 +2,8 @@
 	<div class="system-dic-container">
 		<div class="content">
 			<div class="cont_box">
-				<div class="title">数据表名称:{{ detail.name }}</div>
-				<div class="title">数据表表名:{{ detail.name }}</div>
+				<div class="title">模型标识:{{ detail.key }}</div>
+				<div class="title" style="margin-left: 20px;">模型表名:{{ detail.name }}</div>
 		
 			</div>
 		</div>
@@ -13,12 +13,12 @@
 
                         <div class="wu-box">
 						 <div class="system-user-search mb15">
-        <el-form :model="tableData.param" ref="queryRef" :inline="true" label-width="68px">
-          <el-form-item label="字段标题" prop="name">
-            <el-input v-model="tableData.param.name" placeholder="请输入产品名称" clearable size="default" style="width: 240px" @keyup.enter.native="typeList" />
+        <el-form :model="tableData.param" ref="queryRef" :inline="true" label-width="130px">
+          <el-form-item label="字段节点标题" prop="key">
+            <el-input v-model="tableData.param.key" placeholder="请输入字段节点标题" clearable size="default" style="width: 240px" @keyup.enter.native="typeList" />
           </el-form-item>
-          <el-form-item label="字段名称" prop="deviceType">
-            <el-input v-model="tableData.param.deviceType" placeholder="请输入设备类型" clearable size="default" style="width: 240px" @keyup.enter.native="typeList" />
+          <el-form-item label="字段节点名称" prop="name">
+            <el-input v-model="tableData.param.name" placeholder="请输入字段节点名称" clearable size="default" style="width: 240px" @keyup.enter.native="typeList" />
           </el-form-item>
         
           <el-form-item>
@@ -34,30 +34,29 @@
               </el-icon>
               重置
             </el-button>
-            <el-button size="default" type="success" class="ml10" @click="onOpenAddDic">
+            <el-button size="default" type="success" class="ml10" @click="onOpenAdd">
               <el-icon>
                 <ele-FolderAdd />
               </el-icon>
-              新增字段
+              新增字段节点
             </el-button>
-            <el-button size="default" type="danger" class="ml10" @click="onRowDel(null)">
+            <!-- <el-button size="default" type="danger" class="ml10" @click="onRowDel(null)">
               <el-icon>
                 <ele-Delete />
               </el-icon>
               删除
-            </el-button>
+            </el-button> -->
           </el-form-item>
         </el-form>
       </div>
                        
 
                          <el-table :data="tableData.data" style="width: 100%" >
-        <el-table-column label="ID" align="center" prop="nodeId" width="80" />
-        <el-table-column label="字段标题" prop="key" :show-overflow-tooltip="true" />
-        <el-table-column label="字段名称" prop="name" :show-overflow-tooltip="true" />
-        <el-table-column label="字段类型" prop="dataType" :show-overflow-tooltip="true" />
-        <el-table-column label="字段长度" prop="value" :show-overflow-tooltip="true" />
-        <el-table-column label="默认值" prop="value" :show-overflow-tooltip="true" />
+        <el-table-column label="ID" align="center" prop="id" width="80" />
+        <el-table-column label="字段节点标题" prop="key" :show-overflow-tooltip="true" />
+        <el-table-column label="字段节点名称" prop="name" :show-overflow-tooltip="true" />
+        <el-table-column label="字段节点类型" prop="dataType" :show-overflow-tooltip="true" />
+        <el-table-column label="默认值" prop="default" :show-overflow-tooltip="true" />
         <el-table-column label="备注说明" prop="value" :show-overflow-tooltip="true" />
 		  <el-table-column prop="createdAt" label="创建时间" align="center" width="180"></el-table-column> 
 
@@ -65,7 +64,7 @@
           <template #default="scope">
 	
 
-            <el-button size="small" text type="warning" @click="onOpenEdit1(scope.row)">修改</el-button>
+            <el-button size="small" text type="warning" @click="onOpenEdit(scope.row)">修改</el-button>
             <el-button size="small" text type="danger" @click="onRowDel(scope.row)">删除</el-button>
           </template>
         </el-table-column>
@@ -125,7 +124,7 @@ export default defineComponent({
 				param: {
 					pageNum: 1,
 					pageSize: 10,
-                    sourceId: route.params && route.params.sourceId,
+                    tid: route.params && route.params.id,
 					status: '',
 					dateRange: [],
 				},
@@ -135,32 +134,23 @@ export default defineComponent({
 
 
         onMounted(() => {
-			
+			const ids = route.params && route.params.id;
+			api.template.detail(ids).then((res: any) => {
+				state.detail = res.data;
+			});
 
                 typeList();
 		});
 
         const typeList = () => {
-			api.node.getList(state.tableData.param).then((res: any) => {
+			api.tnode.getList(state.tableData.param).then((res: any) => {
 				state.tableData.data = res.list;
-				state.tableData.total = res.Total;
+				//state.tableData.total = res.Total;
 			});
 		};
 
 
-        const CkOption=()=>{
-                if(state.developer_status==1){
-                    api.common.undeploy({sourceId:route.params.sourceId}).then((res: any) => {
-                        ElMessage.success('操作成功');
-                        state.developer_status=0;
-                    });
-                }else{
-                    api.common.deploy({sourceId:route.params.sourceId}).then((res: any) => {
-                        ElMessage.success('操作成功');
-                        state.developer_status=1;
-                    });
-                }
-		}
+   
         const handleClick = (tab: TabsPaneContext, event: Event) => {
 			console.log(tab, event);
 		};
@@ -170,7 +160,7 @@ export default defineComponent({
 			let ids: number[] = [];
 			if (row) {
 				msg = `此操作将永久删除数据节点:“${row.name}”,是否继续?`;
-				ids = row.nodeId;
+				ids = row.id;
 			} else {
 				ids = state.ids;
 			}
@@ -184,7 +174,7 @@ export default defineComponent({
 				type: 'warning',
 			})
 				.then(() => {
-					api.node.delete(ids).then(() => {
+					api.tnode.delete(ids).then(() => {
 						ElMessage.success('删除成功');
 						typeList();
 					});
@@ -197,14 +187,18 @@ export default defineComponent({
 			editDicRef.value.openDialog(row);
 		};
 
+		const onOpenAdd =()=>{
+			editDicRef.value.openDialog({tid:route.params.id,id:0,from:1});
+		};
+
         	return {
 			Edit,
             editDicRef,
+			onOpenAdd,
             typeList,
             onRowDel,
             onOpenEdit,
             handleClick,
-			CkOption,
 			...toRefs(state),
 		};
     },

+ 25 - 43
src/views/datahub/modeling/index.vue

@@ -5,14 +5,12 @@
         <el-form :model="tableData.param" ref="queryRef" :inline="true" >
 
 		 
-          <el-form-item label="自建表名称" prop="name">
-            <el-input v-model="tableData.param.name" placeholder="请输入自建表名称" clearable size="default" style="width: 240px" @keyup.enter.native="typeList" />
+          <el-form-item label="模型标识" prop="key">
+            <el-input v-model="tableData.param.key" placeholder="请输入模型标识" clearable size="default" style="width: 240px" @keyup.enter.native="typeList" />
+          </el-form-item>
+		  <el-form-item label="模型名称" prop="name">
+            <el-input v-model="tableData.param.name" placeholder="请输入模型名称" clearable size="default" style="width: 240px" @keyup.enter.native="typeList" />
           </el-form-item>
-		 
-         
-      
-        
-         
           <el-form-item>
             <el-button size="default" type="primary" class="ml10" @click="typeList">
               <el-icon>
@@ -30,7 +28,7 @@
               <el-icon>
                 <ele-FolderAdd />
               </el-icon>
-              新增自建表
+              新增模型
             </el-button>
        <el-button size="default" type="danger" class="ml10" @click="onRowDel(null)">
               <el-icon>
@@ -43,17 +41,17 @@
       </div>
       <el-table :data="tableData.data" style="width: 100%" @selection-change="handleSelectionChange">
         <el-table-column type="selection" width="55" align="center" />
-        <el-table-column label="ID" align="center" prop="sourceId" width="80" />
-        <el-table-column label="自建表名称" prop="name" :show-overflow-tooltip="true" />
-        <el-table-column label="自建表表名" prop="name" :show-overflow-tooltip="true" />
+        <el-table-column label="ID" align="center" prop="id" width="80" />
+        <el-table-column label="模型标识" prop="key" :show-overflow-tooltip="true" />
+        <el-table-column label="模型名称" prop="name" :show-overflow-tooltip="true" />
         
       
 
-		  <el-table-column prop="createdAt" label="创建时间" align="center" width="180"></el-table-column> 
+		  <el-table-column prop="createdAt" label="创建时间" align="center" ></el-table-column> 
 
         <el-table-column label="操作" width="200" align="center">
           <template #default="scope">
-		   	<router-link :to="'/datahub/modeling/detail/' + scope.row.sourceId" class="link-type" style="padding-right: 12px;
+		   	<router-link :to="'/datahub/modeling/detail/' + scope.row.id" class="link-type" style="padding-right: 12px;
     font-size: 12px;color: #409eff;">
               <span>字段管理</span>
             </router-link>
@@ -79,11 +77,10 @@ import api from '/@/api/datahub';
 
 // 定义接口来定义对象的类型
 interface TableDataRow {
-	sourceId: number;
+	id: number;
 	name: string;
 	key: string;
-	status: number;
-	from: string;
+	
 	createBy: string;
 }
 interface TableDataState {
@@ -97,7 +94,6 @@ interface TableDataState {
 			pageSize: number;
 			name: string;
 			key: string;
-			from: string;
 			
 		};
 	};
@@ -111,21 +107,7 @@ export default defineComponent({
 		const editDicRef = ref();
 		const queryRef = ref();
 		const state = reactive<TableDataState>({
-			typeData: [
-				{
-					label: 'api导入',
-					value: '1',
-				},
-				{
-					label: '数据库',
-					value: '2',
-				},
-				{
-					label: '文件',
-					value: '3',
-				},
-			],
-			ids: [],
+			
 			tableData: {
 				data: [],
 				total: 0,
@@ -134,8 +116,8 @@ export default defineComponent({
 					pageNum: 1,
 					pageSize: 10,
 					name: '',
-					types: '',
-					status:'',
+					key: '',
+
 				},
 			},
 		});
@@ -144,16 +126,16 @@ export default defineComponent({
 			typeList();
 		};
 		const typeList = () => {
-			api.common.getList(state.tableData.param).then((res: any) => {
+			api.template.getList(state.tableData.param).then((res: any) => {
 				state.tableData.data = res.list;
 				state.tableData.total = res.Total;
 			});
 		};
-		// 打开新增自建表弹窗
-		const onOpenAdd = () => {
-			editDicRef.value.openDialog();
+		// 打开新增菜单弹窗
+		const onOpenAdd = (row?: TableDataRow) => {
+			editDicRef.value.openDialog(row?.id);
 		};
-		// 打开修改自建表弹窗
+		// 打开修改模型弹窗
 		const onOpenEdit = (row: TableDataRow) => {
 			editDicRef.value.openDialog(row);
 		};
@@ -161,8 +143,8 @@ export default defineComponent({
 			let msg = '你确定要删除所选数据?';
 			let ids: number[] = [];
 			if (row) {
-				msg = `此操作将永久删除自建表:“${row.name}”,是否继续?`;
-				ids = [row.sourceId];
+				msg = `此操作将永久删除模型:“${row.name}”,是否继续?`;
+				ids = [row.id];
 			} else {
 				ids = state.ids;
 			}
@@ -176,7 +158,7 @@ export default defineComponent({
 				type: 'warning',
 			})
 				.then(() => {
-					api.common.delete(ids).then(() => {
+					api.template.delete(ids).then(() => {
 						ElMessage.success('删除成功');
 						typeList();
 					});
@@ -195,7 +177,7 @@ export default defineComponent({
 		};
 		// 多选框选中数据
 		const handleSelectionChange = (selection: TableDataRow[]) => {
-			state.ids = selection.map((item) => item.sourceId);
+			state.ids = selection.map((item) => item.id);
 		};
 	
 		return {