浏览代码

修改格式

yukai 3 年之前
父节点
当前提交
555012cf6e

+ 4 - 9
src/views/datahub/modeling/component/edit.vue

@@ -12,7 +12,6 @@
 				<el-form-item label="描述" prop="description">
 					<el-input v-model="ruleForm.desc" type="textarea" placeholder="请输入内容"></el-input>
 				</el-form-item>
-
 			</el-form>
 			<template #footer>
 				<span class="dialog-footer">
@@ -52,22 +51,21 @@ export default defineComponent({
 				id: 0,
 				name: '',
 				key: '',
-				
+
 				desc: '',
 			},
 			rules: {
 				key: [{ required: true, message: '模型标识不能为空', trigger: 'blur' }],
 				name: [{ required: true, message: '模型名称不能为空', trigger: 'blur' }],
-			
 			},
 		});
-		
+
 		// 打开弹窗
 		const openDialog = (row: RuleFormState | null) => {
 			resetForm();
 
 			if (row) {
-				state.ruleForm = row
+				state.ruleForm = row;
 			}
 			state.isShowDialog = true;
 		};
@@ -76,7 +74,7 @@ export default defineComponent({
 				id: 0,
 				name: '',
 				key: '',
-				
+
 				desc: '',
 			};
 		};
@@ -94,8 +92,6 @@ export default defineComponent({
 			if (!formWrap) return;
 			formWrap.validate((valid: boolean) => {
 				if (valid) {
-	
-
 					if (state.ruleForm.id !== 0) {
 						//修改
 						api.template.edit(state.ruleForm).then(() => {
@@ -117,7 +113,6 @@ export default defineComponent({
 		};
 
 		return {
-		
 			openDialog,
 			closeDialog,
 			onCancel,

+ 102 - 144
src/views/datahub/modeling/component/editNode.vue

@@ -2,70 +2,33 @@
 	<div class="system-edit-dic-container">
 		<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-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 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>
@@ -73,16 +36,9 @@
 					<el-input v-model="ruleForm.name" placeholder="请输入字段节点名称" />
 				</el-form-item>
 
-
-					
-			<el-form-item label="数据类型" prop="dataType">
-					<el-select v-model="ruleForm.dataType" filterable placeholder="请选择数据类型" >
-						<el-option
-						v-for="item in tabData"
-						:key="item.value"
-						:label="item.label"
-						:value="item.value"
-						/>
+				<el-form-item label="数据类型" prop="dataType">
+					<el-select v-model="ruleForm.dataType" filterable placeholder="请选择数据类型">
+						<el-option v-for="item in tabData" :key="item.value" :label="item.label" :value="item.value" />
 					</el-select>
 				</el-form-item>
 
@@ -90,10 +46,9 @@
 					<el-input v-model="ruleForm.default" placeholder="请输入取值项" />
 				</el-form-item>
 
-	<el-form-item label="描述" prop="desc">
+				<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">
@@ -137,53 +92,61 @@ export default defineComponent({
 		const editDicRef = ref();
 		const formRef = ref<HTMLElement | null>(null);
 		const state = reactive<DicState>({
-			
 			isShowDialog: false,
-			tabData:[{
-				label: 'varchar',
-				value: 'varchar',
-			},{
-				label: 'string',
-				value: 'string',
-			},{
-				label: 'int',
-				value: 'int',
-			},{
-				label: 'bigint',
-				value: 'bigint',
-			},{
-				label: 'tinyint',
-				value: 'tinyint',
-			},{
-				label: 'float',
-				value: 'float',
-			},{
-				label: 'double',
-				value: 'double',
-			},{
-				label: 'text',
-				value: 'text',
-			},{
-				label: 'datetime',
-				value: 'datetime',
-			},{
-				label: 'timestamp',
-				value: 'timestamp',
-			}],
-		
-	
-			sourceData:[],
-			nodeData:[],
+			tabData: [
+				{
+					label: 'varchar',
+					value: 'varchar',
+				},
+				{
+					label: 'string',
+					value: 'string',
+				},
+				{
+					label: 'int',
+					value: 'int',
+				},
+				{
+					label: 'bigint',
+					value: 'bigint',
+				},
+				{
+					label: 'tinyint',
+					value: 'tinyint',
+				},
+				{
+					label: 'float',
+					value: 'float',
+				},
+				{
+					label: 'double',
+					value: 'double',
+				},
+				{
+					label: 'text',
+					value: 'text',
+				},
+				{
+					label: 'datetime',
+					value: 'datetime',
+				},
+				{
+					label: 'timestamp',
+					value: 'timestamp',
+				},
+			],
+
+			sourceData: [],
+			nodeData: [],
 
-		
 			ruleForm: {
 				id: 0,
-				sourceId:0,
-				nodeId:0,
+				sourceId: 0,
+				nodeId: 0,
 				name: '',
 				key: '',
-				from:1,
-				default:'',
+				from: 1,
+				default: '',
 				desc: '',
 			},
 			rules: {
@@ -191,71 +154,67 @@ export default defineComponent({
 				name: [{ required: true, message: '字段节点名称不能为空', trigger: 'blur' }],
 				dataType: [{ required: true, message: '字段节点类型不能为空', trigger: 'blur' }],
 				value: [{ required: true, message: '字段节点取值项不能为空', trigger: 'blur' }],
-			
 			},
 		});
-		
 
-		
 		// 打开弹窗
 		const openDialog = (row: RuleFormState | null) => {
 			resetForm();
 
-
 			console.log(row);
 			if (row?.id) {
-				  state.ruleForm = row
+				state.ruleForm = row;
 			}
 
-			if(row.sourceId){
+			if (row.sourceId) {
 				getNodeList(row.sourceId);
 			}
-			 state.ruleForm = row
+			state.ruleForm = row;
 			state.isShowDialog = true;
 
 			getSouData();
 		};
 
-
-		const getSouData=()=>{
-			api.common.getList({
+		const getSouData = () => {
+			api.common
+				.getList({
 					pageNum: 1,
 					pageSize: 50,
-					
-				}).then((res: any) => {
-				state.sourceData = res.list;
-			});
-
+				})
+				.then((res: any) => {
+					state.sourceData = res.list;
+				});
 		};
 
-		const getNodeList=(event)=>{
-
-			api.node.getList({
+		const getNodeList = (event) => {
+			api.node
+				.getList({
 					pageNum: 1,
 					pageSize: 50,
 					sourceId: event,
-				}).then((res: any) => {
-				state.nodeData = res.list;
-			});
+				})
+				.then((res: any) => {
+					state.nodeData = res.list;
+				});
 		};
-		const setNode=(event)=>{
+		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;
-					}
-			})
+				if (item.nodeId == event) {
+					state.ruleForm.name = item.name;
+					state.ruleForm.key = item.key;
+					state.ruleForm.dataType = item.dataType;
+				}
+			});
 		};
 		const resetForm = () => {
 			state.ruleForm = {
 				id: 0,
 				name: '',
-				sourceId:0,
-				nodeId:0,
+				sourceId: 0,
+				nodeId: 0,
 				key: '',
-				from:1,
-				default:'',
+				from: 1,
+				default: '',
 				desc: '',
 			};
 		};
@@ -272,9 +231,8 @@ export default defineComponent({
 			const formWrap = unref(formRef) as any;
 			if (!formWrap) return;
 			formWrap.validate((valid: boolean) => {
-			if (valid) {
-
-				if (state.ruleForm.id !== 0) {
+				if (valid) {
+					if (state.ruleForm.id !== 0) {
 						//修改
 						api.tnode.edit(state.ruleForm).then(() => {
 							ElMessage.success('字段节点类型修改成功');

+ 97 - 95
src/views/datahub/modeling/detail.vue

@@ -3,81 +3,90 @@
 		<div class="content">
 			<div class="cont_box">
 				<div class="title">模型标识:{{ detail.key }}</div>
-				<div class="title" style="margin-left: 20px;">模型表名:{{ detail.name }}</div>
-		
+				<div class="title" style="margin-left: 20px">模型表名:{{ detail.name }}</div>
 			</div>
 		</div>
 
 		<div class="content-box">
+			<div class="wu-box">
+				<div class="system-user-search mb15">
+					<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="name">
+							<el-input
+								v-model="tableData.param.name"
+								placeholder="请输入字段节点名称"
+								clearable
+								size="default"
+								style="width: 240px"
+								@keyup.enter.native="typeList"
+							/>
+						</el-form-item>
 
-
-                        <div class="wu-box">
-						 <div class="system-user-search mb15">
-        <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="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>
-                <ele-Search />
-              </el-icon>
-              查询
-            </el-button>
-            <el-button size="default" @click="resetQuery(queryRef)">
-              <el-icon>
-                <ele-Refresh />
-              </el-icon>
-              重置
-            </el-button>
-            <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-form-item>
+							<el-button size="default" type="primary" class="ml10" @click="typeList">
+								<el-icon>
+									<ele-Search />
+								</el-icon>
+								查询
+							</el-button>
+							<el-button size="default" @click="resetQuery(queryRef)">
+								<el-icon>
+									<ele-Refresh />
+								</el-icon>
+								重置
+							</el-button>
+							<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-icon>
                 <ele-Delete />
               </el-icon>
               删除
             </el-button> -->
-          </el-form-item>
-        </el-form>
-      </div>
-                       
-
-                         <el-table :data="tableData.data" style="width: 100%" >
-        <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> 
-
-        <el-table-column label="操作" width="200" align="center">
-          <template #default="scope">
-	
-
-            <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>
-      </el-table>
-      <pagination v-show="tableData.total>0" :total="tableData.total" v-model:page="tableData.param.pageNum" v-model:limit="tableData.param.pageSize" @pagination="typeList" />
-           </div>         
-                  
-
+						</el-form-item>
+					</el-form>
+				</div>
 
+				<el-table :data="tableData.data" style="width: 100%">
+					<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>
 
-
-        </div>
- <EditDic ref="editDicRef" @typeList="typeList" />
+					<el-table-column label="操作" width="200" align="center">
+						<template #default="scope">
+							<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>
+				</el-table>
+				<pagination
+					v-show="tableData.total > 0"
+					:total="tableData.total"
+					v-model:page="tableData.param.pageNum"
+					v-model:limit="tableData.param.pageSize"
+					@pagination="typeList"
+				/>
+			</div>
+		</div>
+		<EditDic ref="editDicRef" @typeList="typeList" />
 	</div>
 </template>            
 <script lang="ts">
@@ -105,18 +114,18 @@ interface TableDataState {
 	};
 }
 export default defineComponent({
-    name: 'dataDetail',
-    components: { EditDic },
-    setup(prop, context) {
-        		const editDicRef = ref();
+	name: 'dataDetail',
+	components: { EditDic },
+	setup(prop, context) {
+		const editDicRef = ref();
 
 		const route = useRoute();
-        const state = reactive<TableDataState>({
-            config: {},
-		
+		const state = reactive<TableDataState>({
+			config: {},
+
 			isShowDialog: false,
 			detail: [],
-            
+
 			tableData: {
 				data: [],
 				total: 0,
@@ -124,38 +133,34 @@ export default defineComponent({
 				param: {
 					pageNum: 1,
 					pageSize: 10,
-                    tid: route.params && route.params.id,
+					tid: route.params && route.params.id,
 					status: '',
 					dateRange: [],
 				},
 			},
 		});
 
-
-
-        onMounted(() => {
+		onMounted(() => {
 			const ids = route.params && route.params.id;
 			api.template.detail(ids).then((res: any) => {
 				state.detail = res.data;
 			});
 
-                typeList();
+			typeList();
 		});
 
-        const typeList = () => {
+		const typeList = () => {
 			api.tnode.getList(state.tableData.param).then((res: any) => {
 				state.tableData.data = res.list;
 				//state.tableData.total = res.Total;
 			});
 		};
 
-
-   
-        const handleClick = (tab: TabsPaneContext, event: Event) => {
+		const handleClick = (tab: TabsPaneContext, event: Event) => {
 			console.log(tab, event);
 		};
 
-        	const onRowDel = (row: TableDataRow) => {
+		const onRowDel = (row: TableDataRow) => {
 			let msg = '你确定要删除所选数据?';
 			let ids: number[] = [];
 			if (row) {
@@ -182,28 +187,27 @@ export default defineComponent({
 				.catch(() => {});
 		};
 
-        	// 打开修改数据源弹窗
-        const onOpenEdit = (row: TableDataRow) => {
+		// 打开修改数据源弹窗
+		const onOpenEdit = (row: TableDataRow) => {
 			editDicRef.value.openDialog(row);
 		};
 
-		const onOpenAdd =()=>{
-			editDicRef.value.openDialog({tid:route.params.id,id:0,from:1});
+		const onOpenAdd = () => {
+			editDicRef.value.openDialog({ tid: route.params.id, id: 0, from: 1 });
 		};
 
-        	return {
+		return {
 			Edit,
-            editDicRef,
+			editDicRef,
 			onOpenAdd,
-            typeList,
-            onRowDel,
-            onOpenEdit,
-            handleClick,
+			typeList,
+			onRowDel,
+			onOpenEdit,
+			handleClick,
 			...toRefs(state),
 		};
-    },
+	},
 });
-
 </script>
 <style>
 .content {
@@ -262,6 +266,4 @@ export default defineComponent({
 	border: 0px;
 	color: #1890ff;
 }
-
-
 </style>

+ 85 - 70
src/views/datahub/modeling/index.vue

@@ -1,72 +1,90 @@
 <template>
-  <div class="system-dic-container">
-    <el-card shadow="hover">
-      <div class="system-user-search mb15">
-        <el-form :model="tableData.param" ref="queryRef" :inline="true" >
+	<div class="system-dic-container">
+		<el-card shadow="hover">
+			<div class="system-user-search mb15">
+				<el-form :model="tableData.param" ref="queryRef" :inline="true">
+					<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>
+								<ele-Search />
+							</el-icon>
+							查询
+						</el-button>
+						<el-button size="default" @click="resetQuery(queryRef)">
+							<el-icon>
+								<ele-Refresh />
+							</el-icon>
+							重置
+						</el-button>
+						<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-icon>
+								<ele-Delete />
+							</el-icon>
+							删除
+						</el-button>
+					</el-form-item>
+				</el-form>
+			</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="id" width="80" />
+				<el-table-column label="模型标识" prop="key" :show-overflow-tooltip="true" />
+				<el-table-column label="模型名称" prop="name" :show-overflow-tooltip="true" />
 
-		 
-          <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>
-                <ele-Search />
-              </el-icon>
-              查询
-            </el-button>
-            <el-button size="default" @click="resetQuery(queryRef)">
-              <el-icon>
-                <ele-Refresh />
-              </el-icon>
-              重置
-            </el-button>
-            <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-icon>
-                <ele-Delete />
-              </el-icon>
-              删除
-            </el-button>
-          </el-form-item>
-        </el-form>
-      </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="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"></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.id"
+							class="link-type"
+							style="padding-right: 12px; font-size: 12px; color: #409eff"
+						>
+							<span>字段管理</span>
+						</router-link>
 
-        <el-table-column label="操作" width="200" align="center">
-          <template #default="scope">
-		   	<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>
-
-            <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>
-      </el-table>
-      <pagination v-show="tableData.total>0" :total="tableData.total" v-model:page="tableData.param.pageNum" v-model:limit="tableData.param.pageSize" @pagination="typeList" />
-    </el-card>
-    <EditDic ref="editDicRef" @typeList="typeList" />
-	    <Detail ref="detailRef"  />
-
-  </div>
+						<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>
+			</el-table>
+			<pagination
+				v-show="tableData.total > 0"
+				:total="tableData.total"
+				v-model:page="tableData.param.pageNum"
+				v-model:limit="tableData.param.pageSize"
+				@pagination="typeList"
+			/>
+		</el-card>
+		<EditDic ref="editDicRef" @typeList="typeList" />
+		<Detail ref="detailRef" />
+	</div>
 </template>
 
 <script lang="ts">
@@ -80,7 +98,7 @@ interface TableDataRow {
 	id: number;
 	name: string;
 	key: string;
-	
+
 	createBy: string;
 }
 interface TableDataState {
@@ -94,7 +112,6 @@ interface TableDataState {
 			pageSize: number;
 			name: string;
 			key: string;
-			
 		};
 	};
 }
@@ -107,7 +124,6 @@ export default defineComponent({
 		const editDicRef = ref();
 		const queryRef = ref();
 		const state = reactive<TableDataState>({
-			
 			tableData: {
 				data: [],
 				total: 0,
@@ -117,7 +133,6 @@ export default defineComponent({
 					pageSize: 10,
 					name: '',
 					key: '',
-
 				},
 			},
 		});
@@ -179,7 +194,7 @@ export default defineComponent({
 		const handleSelectionChange = (selection: TableDataRow[]) => {
 			state.ids = selection.map((item) => item.id);
 		};
-	
+
 		return {
 			addDicRef,
 			editDicRef,

+ 12 - 16
src/views/datahub/source/component/edit.vue

@@ -28,7 +28,7 @@
 						<el-input v-model="item.expression" placeholder="请输入规则表达式" />
 					</el-form-item>
 
-					<el-form-item label="参数" >
+					<el-form-item label="参数">
 						<el-input v-model="item.params.name" placeholder="请输入键值" class="w-35" />
 						<el-input v-model="item.params.value" placeholder="请输入值" class="w-35" />
 						<div class="conicon">
@@ -41,17 +41,17 @@
 				</div>
 				<el-divider content-position="left">数据源配置</el-divider>
 
-				<el-form-item label="请求方法" >
+				<el-form-item label="请求方法">
 					<el-select v-model="config.method" placeholder="请选择请求方法">
 						<el-option v-for="item in methodData" :key="item.value" :label="item.label" :value="item.value" />
 					</el-select>
 				</el-form-item>
 
-				<el-form-item label="请求地址" >
+				<el-form-item label="请求地址">
 					<el-input v-model="config.url" placeholder="请输入请求地址" />
 				</el-form-item>
 
-				<el-form-item label="更新时间" >
+				<el-form-item label="更新时间">
 					<el-input v-model="config.interval" placeholder="请输入更新时间" class="w-35" />
 					<el-select v-model="config.intervalUnit" placeholder="请选择单位">
 						<el-option v-for="item in unitData" :key="item.value" :label="item.label" :value="item.value" />
@@ -113,7 +113,6 @@ export default defineComponent({
 	setup(prop, { emit }) {
 		const formRef = ref<HTMLElement | null>(null);
 		const state = reactive<DicState>({
-			
 			isShowDialog: false,
 			config: {},
 			ruledata: [
@@ -207,7 +206,6 @@ export default defineComponent({
 				key: [{ required: true, message: '数据源标识不能为空', trigger: 'blur' }],
 				name: [{ required: true, message: '数据源名称不能为空', trigger: 'blur' }],
 				from: [{ required: true, message: '数据源类型不能为空', trigger: 'blur' }],
-			
 			},
 		});
 		const delParams = (index) => {
@@ -241,25 +239,23 @@ export default defineComponent({
 			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
+				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) => {
+					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.name = Object.keys(item.params);
 						state.rule[index].params.value = item.params[Object.keys(item.params)];
 					});
-
-
-				 })
+				});
 			}
 			state.isShowDialog = true;
 		};
 		const resetForm = () => {
 			state.ruleForm = {
-						sourceId: 0,
+				sourceId: 0,
 				name: '',
 				from: 1,
 				key: '',

+ 64 - 74
src/views/datahub/source/component/editNode.vue

@@ -15,15 +15,10 @@
 						<el-radio :label="1">是</el-radio>
 					</el-radio-group>
 				</el-form-item>
-					
-			<el-form-item label="数据类型" prop="dataType">
-					<el-select v-model="ruleForm.dataType" filterable placeholder="请选择数据类型" >
-						<el-option
-						v-for="item in tabData"
-						:key="item.value"
-						:label="item.label"
-						:value="item.value"
-						/>
+
+				<el-form-item label="数据类型" prop="dataType">
+					<el-select v-model="ruleForm.dataType" filterable placeholder="请选择数据类型">
+						<el-option v-for="item in tabData" :key="item.value" :label="item.label" :value="item.value" />
 					</el-select>
 				</el-form-item>
 
@@ -31,16 +26,14 @@
 					<el-input v-model="ruleForm.value" 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-form-item label="表达式">
 						<el-input v-model="item.expression" placeholder="请输入规则表达式" />
 					</el-form-item>
 
-					<el-form-item label="参数" >
+					<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">
@@ -51,13 +44,6 @@
 				<div style="padding: 10px">
 					<el-button type="primary" class="addbutton" @click="addRule">增加</el-button>
 				</div>
-
-	
-
-			
-			
-
-			
 			</el-form>
 			<template #footer>
 				<span class="dialog-footer">
@@ -100,41 +86,51 @@ export default defineComponent({
 		const editDicRef = ref();
 		const formRef = ref<HTMLElement | null>(null);
 		const state = reactive<DicState>({
-			
 			isShowDialog: false,
 			config: {},
-			tabData:[{
-				label: 'varchar',
-				value: 'varchar',
-			},{
-				label: 'string',
-				value: 'string',
-			},{
-				label: 'int',
-				value: 'int',
-			},{
-				label: 'bigint',
-				value: 'bigint',
-			},{
-				label: 'tinyint',
-				value: 'tinyint',
-			},{
-				label: 'float',
-				value: 'float',
-			},{
-				label: 'double',
-				value: 'double',
-			},{
-				label: 'text',
-				value: 'text',
-			},{
-				label: 'datetime',
-				value: 'datetime',
-			},{
-				label: 'timestamp',
-				value: 'timestamp',
-			}],
-			ruledata:  [
+			tabData: [
+				{
+					label: 'varchar',
+					value: 'varchar',
+				},
+				{
+					label: 'string',
+					value: 'string',
+				},
+				{
+					label: 'int',
+					value: 'int',
+				},
+				{
+					label: 'bigint',
+					value: 'bigint',
+				},
+				{
+					label: 'tinyint',
+					value: 'tinyint',
+				},
+				{
+					label: 'float',
+					value: 'float',
+				},
+				{
+					label: 'double',
+					value: 'double',
+				},
+				{
+					label: 'text',
+					value: 'text',
+				},
+				{
+					label: 'datetime',
+					value: 'datetime',
+				},
+				{
+					label: 'timestamp',
+					value: 'timestamp',
+				},
+			],
+			ruledata: [
 				{
 					expression: '',
 					params: {
@@ -152,19 +148,16 @@ export default defineComponent({
 					},
 				},
 			],
-			
-		
 
-		
 			ruleForm: {
 				nodeId: 0,
-				isPk:0,
+				isPk: 0,
 				name: '',
 				key: '',
-				dataType:'',
-				value:'',
+				dataType: '',
+				value: '',
 				rule: [],
-				
+
 				description: '',
 			},
 			rules: {
@@ -173,10 +166,8 @@ export default defineComponent({
 				isPk: [{ required: true, message: '请选择是否主键', trigger: 'blur' }],
 				dataType: [{ required: true, message: '数据节点类型不能为空', trigger: 'blur' }],
 				value: [{ required: true, message: '数据节点取值项不能为空', trigger: 'blur' }],
-			
 			},
 		});
-		
 
 		const delRule = (index) => {
 			state.rule.splice(index, 1);
@@ -196,17 +187,16 @@ export default defineComponent({
 			resetForm();
 
 			if (row?.nodeId) {
+				state.ruleForm = row;
 
-				  state.ruleForm = row
+				var data = JSON.parse(row.rule);
+				console.log(data);
 
-				 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)];
-					});
+				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;
@@ -216,11 +206,11 @@ export default defineComponent({
 			state.ruleForm = {
 				nodeId: 0,
 				name: '',
-				isPk:0,
+				isPk: 0,
 				from: 1,
 				key: '',
 				rule: [],
-				
+
 				description: '',
 			};
 		};
@@ -237,7 +227,7 @@ export default defineComponent({
 			const formWrap = unref(formRef) as any;
 			if (!formWrap) return;
 			formWrap.validate((valid: boolean) => {
-			if (valid) {
+				if (valid) {
 					//修改rule数据
 					state.rule.forEach((item, index) => {
 						item.params[item.params.name] = item.params.value;

+ 148 - 170
src/views/datahub/source/detail.vue

@@ -3,127 +3,111 @@
 		<div class="content">
 			<div class="cont_box">
 				<div class="title">数据源名称:{{ detail.name }}</div>
-				<div class="pro-status" ><span :class="developer_status==1?'on':'off'"></span>{{developer_status==1?'已发布':'未发布'}}</div>
-			
-				<div class="pro-option"  @click="CkOption"> {{developer_status==1?'停用':'发布'}}</div>
+				<div class="pro-status"><span :class="developer_status == 1 ? 'on' : 'off'"></span>{{ developer_status == 1 ? '已发布' : '未发布' }}</div>
+
+				<div class="pro-option" @click="CkOption">{{ developer_status == 1 ? '停用' : '发布' }}</div>
 			</div>
 		</div>
 
 		<div class="content-box">
-                <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick">
-
-                    <el-tab-pane label="数据源信息" name="1">
-                        
-                        <el-form size="default" label-width="110px" :inline="true">
-
-                        <el-divider content-position="left">基本信息</el-divider>
-
-                            <el-form-item label="数据源标识:">
-                                  {{detail.key}}
-                                </el-form-item>
-
-                                 <el-form-item label="数据源名称:">
-                                  {{detail.name}}
-                                </el-form-item>
-                                 <el-form-item label="数据源描述:">
-                                  {{detail.description}}
-                                </el-form-item>
-                                 <el-form-item label="数据来源:">
-                                 
-                                  <span v-if="detail.from==1">api导入</span>
-                                  <span v-if="detail.from==2">数据库</span>
-                                  <span v-if="detail.from==3">文件</span>
-                                </el-form-item>
-
-                                	<el-divider content-position="left">规则表达式</el-divider>
-
-
-                                    <div v-for="(item, index) in rule" :key="index">
-                                <el-form-item label="表达式:">
-                                   {{item.expression}}
-                                </el-form-item>
-
-                                <el-form-item label="参数:" >
-                                     {{item.params.name}}~ {{item.params.value}}
-                                   
-                                </el-form-item>
-
-                                <el-divider content-position="left">数据源配置</el-divider>
-
-                                <el-form-item label="请求方法:" prop="method">
-                                        {{config.method}}
-                                </el-form-item>
-                                <el-form-item label="请求地址:" prop="method">
-                                        {{config.url}}
-                                </el-form-item>
-                                 <el-form-item label="更新时间:" prop="method">
-                                        {{config.interval}}
-                                        {{config.intervalUnit}}
-                                </el-form-item>
-
-                                <el-divider content-position="left">请求参数</el-divider>
-
-                                <div class="content-f" v-for="(item, index) in requestParams" :key="index">
-
-                                <el-form-item label="参数类型:">
-                                        {{item.type}}
-                                </el-form-item>
-                                <el-form-item label="参数标题:">
-                                        {{item.name}}
-                                </el-form-item>
-                                 <el-form-item label="参数名:">
-                                        {{item.key}}
-                                </el-form-item>
-                                 <el-form-item label="参数值:">
-                                        {{item.value}}
-                                </el-form-item>
-
-                                    
-                                       
-                                    </div>
-                            </div>
-                        </el-form>
-
-                    </el-tab-pane>
-
-                    <el-tab-pane label="数据节点" name="2">
-                        <div class="wu-box">
-                            <div class="wu-title">
-									<div class="title">数据节点</div>
-									<div><el-button type="primary" @click="onOpenEdit()">添加</el-button></div>
-								</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 prop="createdAt" label="创建时间" align="center" width="180"></el-table-column> 
-
-        <el-table-column label="操作" width="200" align="center">
-          <template #default="scope">
-	
-
-            <el-button size="small" text type="warning" @click="onOpenEdit1(scope.row)">修改</el-button>
-            <el-button size="small" text type="danger" @click="onRowDel(scope.row)">删除</el-button>
-          </template>
-        </el-table-column>
-      </el-table>
-      <pagination v-show="tableData.total>0" :total="tableData.total" v-model:page="tableData.param.pageNum" v-model:limit="tableData.param.pageSize" @pagination="typeList" />
-           </div>         
-                    </el-tab-pane>
-
-                </el-tabs>
-
-
-
-
-        </div>
- <EditDic ref="editDicRef" @typeList="typeList" />
+			<el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick">
+				<el-tab-pane label="数据源信息" name="1">
+					<el-form size="default" label-width="110px" :inline="true">
+						<el-divider content-position="left">基本信息</el-divider>
+
+						<el-form-item label="数据源标识:">
+							{{ detail.key }}
+						</el-form-item>
+
+						<el-form-item label="数据源名称:">
+							{{ detail.name }}
+						</el-form-item>
+						<el-form-item label="数据源描述:">
+							{{ detail.description }}
+						</el-form-item>
+						<el-form-item label="数据来源:">
+							<span v-if="detail.from == 1">api导入</span>
+							<span v-if="detail.from == 2">数据库</span>
+							<span v-if="detail.from == 3">文件</span>
+						</el-form-item>
+
+						<el-divider content-position="left">规则表达式</el-divider>
+
+						<div v-for="(item, index) in rule" :key="index">
+							<el-form-item label="表达式:">
+								{{ item.expression }}
+							</el-form-item>
+
+							<el-form-item label="参数:"> {{ item.params.name }}~ {{ item.params.value }} </el-form-item>
+
+							<el-divider content-position="left">数据源配置</el-divider>
+
+							<el-form-item label="请求方法:" prop="method">
+								{{ config.method }}
+							</el-form-item>
+							<el-form-item label="请求地址:" prop="method">
+								{{ config.url }}
+							</el-form-item>
+							<el-form-item label="更新时间:" prop="method">
+								{{ config.interval }}
+								{{ config.intervalUnit }}
+							</el-form-item>
+
+							<el-divider content-position="left">请求参数</el-divider>
+
+							<div class="content-f" v-for="(item, index) in requestParams" :key="index">
+								<el-form-item label="参数类型:">
+									{{ item.type }}
+								</el-form-item>
+								<el-form-item label="参数标题:">
+									{{ item.name }}
+								</el-form-item>
+								<el-form-item label="参数名:">
+									{{ item.key }}
+								</el-form-item>
+								<el-form-item label="参数值:">
+									{{ item.value }}
+								</el-form-item>
+							</div>
+						</div>
+					</el-form>
+				</el-tab-pane>
+
+				<el-tab-pane label="数据节点" name="2">
+					<div class="wu-box">
+						<div class="wu-title">
+							<div class="title">数据节点</div>
+							<div><el-button type="primary" @click="onOpenEdit()">添加</el-button></div>
+						</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 prop="createdAt" label="创建时间" align="center" width="180"></el-table-column>
+
+							<el-table-column label="操作" width="200" align="center">
+								<template #default="scope">
+									<el-button size="small" text type="warning" @click="onOpenEdit1(scope.row)">修改</el-button>
+									<el-button size="small" text type="danger" @click="onRowDel(scope.row)">删除</el-button>
+								</template>
+							</el-table-column>
+						</el-table>
+						<pagination
+							v-show="tableData.total > 0"
+							:total="tableData.total"
+							v-model:page="tableData.param.pageNum"
+							v-model:limit="tableData.param.pageSize"
+							@pagination="typeList"
+						/>
+					</div>
+				</el-tab-pane>
+			</el-tabs>
+		</div>
+		<EditDic ref="editDicRef" @typeList="typeList" />
 	</div>
 </template>            
 <script lang="ts">
@@ -151,14 +135,14 @@ interface TableDataState {
 	};
 }
 export default defineComponent({
-    name: 'dataDetail',
-    components: { EditDic },
-    setup(prop, context) {
-        		const editDicRef = ref();
+	name: 'dataDetail',
+	components: { EditDic },
+	setup(prop, context) {
+		const editDicRef = ref();
 
 		const route = useRoute();
-        const state = reactive<TableDataState>({
-            config: {},
+		const state = reactive<TableDataState>({
+			config: {},
 			ruledata: [
 				{
 					expression: '',
@@ -182,11 +166,11 @@ export default defineComponent({
 					value: '',
 				},
 			],
-          
+
 			isShowDialog: false,
 			detail: [],
-            activeName: '1',
-			developer_status:0,
+			activeName: '1',
+			developer_status: 0,
 			tableData: {
 				data: [],
 				total: 0,
@@ -194,60 +178,55 @@ export default defineComponent({
 				param: {
 					pageNum: 1,
 					pageSize: 10,
-                    sourceId: route.params && route.params.sourceId,
+					sourceId: route.params && route.params.sourceId,
 					status: '',
 					dateRange: [],
 				},
 			},
 		});
 
-
-
-        onMounted(() => {
+		onMounted(() => {
 			const ids = route.params && route.params.sourceId;
 			api.common.detail(ids).then((res: any) => {
 				state.detail = res.data;
-				state.developer_status=res.data.status
-				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.developer_status = res.data.status;
+				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)];
+				});
 			});
 
-                typeList();
+			typeList();
 		});
 
-        const typeList = () => {
+		const typeList = () => {
 			api.node.getList(state.tableData.param).then((res: any) => {
 				state.tableData.data = res.list;
 				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) => {
+		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);
 		};
 
-        	const onRowDel = (row: TableDataRow) => {
+		const onRowDel = (row: TableDataRow) => {
 			let msg = '你确定要删除所选数据?';
 			let ids: number[] = [];
 			if (row) {
@@ -274,28 +253,27 @@ export default defineComponent({
 				.catch(() => {});
 		};
 
-        	// 打开修改数据源弹窗
+		// 打开修改数据源弹窗
 		const onOpenEdit = () => {
-			editDicRef.value.openDialog({ sourceId: route.params.sourceId, nodeId: 0 ,isPk:0});
+			editDicRef.value.openDialog({ sourceId: route.params.sourceId, nodeId: 0, isPk: 0 });
 		};
-        const onOpenEdit1 = (row: TableDataRow) => {
+		const onOpenEdit1 = (row: TableDataRow) => {
 			editDicRef.value.openDialog(row);
 		};
 
-        	return {
+		return {
 			Edit,
-            editDicRef,
-            typeList,
-            onRowDel,
-            onOpenEdit,
-            onOpenEdit1,
-            handleClick,
+			editDicRef,
+			typeList,
+			onRowDel,
+			onOpenEdit,
+			onOpenEdit1,
+			handleClick,
 			CkOption,
 			...toRefs(state),
 		};
-    },
+	},
 });
-
 </script>
 <style>
 .content {

+ 103 - 85
src/views/datahub/source/index.vue

@@ -1,91 +1,110 @@
 <template>
-  <div class="system-dic-container">
-    <el-card shadow="hover">
-      <div class="system-user-search mb15">
-        <el-form :model="tableData.param" ref="queryRef" :inline="true" >
+	<div class="system-dic-container">
+		<el-card shadow="hover">
+			<div class="system-user-search mb15">
+				<el-form :model="tableData.param" ref="queryRef" :inline="true">
+					<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 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 label="数据源类型" prop="host">
-				<el-select v-model="tableData.param.from" placeholder="请选择数据源类型" @keyup.enter.native="typeList">
-						<el-option v-for="item in typeData" :key="item.value" :label="item.label" :value="item.value" />
-					</el-select>
-          </el-form-item>
-      
-        
-         
-          <el-form-item>
-            <el-button size="default" type="primary" class="ml10" @click="typeList">
-              <el-icon>
-                <ele-Search />
-              </el-icon>
-              查询
-            </el-button>
-            <el-button size="default" @click="resetQuery(queryRef)">
-              <el-icon>
-                <ele-Refresh />
-              </el-icon>
-              重置
-            </el-button>
-            <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-icon>
-                <ele-Delete />
-              </el-icon>
-              删除
-            </el-button>
-          </el-form-item>
-        </el-form>
-      </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="key" :show-overflow-tooltip="true" />
-        <el-table-column label="数据源名称" prop="name" :show-overflow-tooltip="true" />
-         <el-table-column prop="from" label="数据源类型"  align="center">
-          <template #default="scope">
-		  	<span v-if="scope.row.from==1">api导入</span>
-		  	<span v-if="scope.row.from==2">数据库</span>
-		  	<span v-if="scope.row.from==3">文件</span>
-          </template>
-        </el-table-column>
-        <el-table-column prop="status" label="状态" width="120" align="center">
-          <template #default="scope">
-            <el-tag type="success" size="small" v-if="scope.row.status==1">已发布</el-tag>
-            <el-tag type="info" size="small" v-if="scope.row.status==0">未发布</el-tag>
-          </template>
-        </el-table-column>
+					<el-form-item label="数据源类型" prop="host">
+						<el-select v-model="tableData.param.from" placeholder="请选择数据源类型" @keyup.enter.native="typeList">
+							<el-option v-for="item in typeData" :key="item.value" :label="item.label" :value="item.value" />
+						</el-select>
+					</el-form-item>
 
-		  <el-table-column prop="createdAt" label="创建时间" align="center" width="180"></el-table-column> 
+					<el-form-item>
+						<el-button size="default" type="primary" class="ml10" @click="typeList">
+							<el-icon>
+								<ele-Search />
+							</el-icon>
+							查询
+						</el-button>
+						<el-button size="default" @click="resetQuery(queryRef)">
+							<el-icon>
+								<ele-Refresh />
+							</el-icon>
+							重置
+						</el-button>
+						<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-icon>
+								<ele-Delete />
+							</el-icon>
+							删除
+						</el-button>
+					</el-form-item>
+				</el-form>
+			</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="key" :show-overflow-tooltip="true" />
+				<el-table-column label="数据源名称" prop="name" :show-overflow-tooltip="true" />
+				<el-table-column prop="from" label="数据源类型" align="center">
+					<template #default="scope">
+						<span v-if="scope.row.from == 1">api导入</span>
+						<span v-if="scope.row.from == 2">数据库</span>
+						<span v-if="scope.row.from == 3">文件</span>
+					</template>
+				</el-table-column>
+				<el-table-column prop="status" label="状态" width="120" align="center">
+					<template #default="scope">
+						<el-tag type="success" size="small" v-if="scope.row.status == 1">已发布</el-tag>
+						<el-tag type="info" size="small" v-if="scope.row.status == 0">未发布</el-tag>
+					</template>
+				</el-table-column>
 
-        <el-table-column label="操作" width="200" align="center">
-          <template #default="scope">
-		   	<router-link :to="'/datahub/source/detail/' + scope.row.sourceId" class="link-type" style="padding-right: 12px;
-    font-size: 12px;color: #409eff;">
-              <span>详情</span>
-            </router-link>
+				<el-table-column prop="createdAt" label="创建时间" align="center" width="180"></el-table-column>
 
-            <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>
-      </el-table>
-      <pagination v-show="tableData.total>0" :total="tableData.total" v-model:page="tableData.param.pageNum" v-model:limit="tableData.param.pageSize" @pagination="typeList" />
-    </el-card>
-    <EditDic ref="editDicRef" @typeList="typeList" />
-	    <Detail ref="detailRef"  />
+				<el-table-column label="操作" width="200" align="center">
+					<template #default="scope">
+						<router-link
+							:to="'/datahub/source/detail/' + scope.row.sourceId"
+							class="link-type"
+							style="padding-right: 12px; font-size: 12px; color: #409eff"
+						>
+							<span>详情</span>
+						</router-link>
 
-  </div>
+						<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>
+			</el-table>
+			<pagination
+				v-show="tableData.total > 0"
+				:total="tableData.total"
+				v-model:page="tableData.param.pageNum"
+				v-model:limit="tableData.param.pageSize"
+				@pagination="typeList"
+			/>
+		</el-card>
+		<EditDic ref="editDicRef" @typeList="typeList" />
+		<Detail ref="detailRef" />
+	</div>
 </template>
 
 <script lang="ts">
@@ -115,7 +134,6 @@ interface TableDataState {
 			name: string;
 			key: string;
 			from: string;
-			
 		};
 	};
 }
@@ -152,7 +170,7 @@ export default defineComponent({
 					pageSize: 10,
 					name: '',
 					types: '',
-					status:'',
+					status: '',
 				},
 			},
 		});
@@ -214,7 +232,7 @@ export default defineComponent({
 		const handleSelectionChange = (selection: TableDataRow[]) => {
 			state.ids = selection.map((item) => item.sourceId);
 		};
-	
+
 		return {
 			addDicRef,
 			editDicRef,