Răsfoiți Sursa

1、新增数据源 设备数据源 添加 修改 json测试
2、修改部分暗黑模式

yukai 3 ani în urmă
părinte
comite
7902a60e3d

+ 3 - 0
src/api/datahub/index.ts

@@ -11,6 +11,9 @@ export default {
     deploy: (data: object) => post('/source/deploy', data),
     undeploy: (data: object) => post('/source/undeploy', data),  
     api: (sourceId: number) => get('/source/api/get', { sourceId }),
+    devadd: (data: object) => post('/source/device/add', data),
+    devedit: (data: object) => put('/source/device/edit', data),
+    devapi: (sourceId: number) => get('/source/device/get', { sourceId }),
     },
    
    node:{

+ 1 - 1
src/views/datahub/modeling/detail.vue

@@ -74,7 +74,7 @@
 					<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">
+					<el-table-column label="操作" width="200" align="center" fixed="right">
 						<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>

+ 1 - 4
src/views/datahub/modeling/index.vue

@@ -64,11 +64,8 @@
         </el-table-column>
 				<el-table-column prop="createdAt" label="创建时间" align="center"></el-table-column>
 
-				<el-table-column label="操作" width="400" align="center">
+				<el-table-column label="操作" width="400" align="center" fixed="right">
 					<template #default="scope">
-
-						
-
 						<router-link
 							:to="'/datahub/modeling/detail/' + scope.row.id"
 							class="link-type"

+ 129 - 46
src/views/datahub/source/component/edit.vue

@@ -43,43 +43,90 @@
 				</div>
 				<el-divider content-position="left">数据源配置</el-divider>
 
-				<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>
+				<div v-if="ruleForm.from==1">
+
+						<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-input v-model="config.url" placeholder="请输入请求地址" />
+						</el-form-item>
+
+						<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" />
+							</el-select>
+						</el-form-item>
+
+						<div class="box-content">
+							<el-divider content-position="left">请求参数</el-divider>
+							<div class="content-f" v-for="(item, index) in requestParams" :key="index">
+								<el-select v-model="item.type" placeholder="参数类型" style="width: 320px">
+									<el-option v-for="item in paramData" :key="item.value" :label="item.label" :value="item.value" />
+								</el-select>
+								<el-input v-model="item.name" placeholder="请输入参数标题" style="width: 320px" />
+								<el-input v-model="item.key" placeholder="请输入参数名" style="width: 320px" />
+								<el-input v-model="item.value" placeholder="请输入参数值" style="width: 320px" />
+								<div class="conicon">
+									<el-icon @click="delParams(index)" v-if="index > 0"><Delete /></el-icon>
+								</div>
+							</div>
+							<el-button type="primary" class="addbutton" @click="addParams">增加</el-button>
+						</div>
+				</div>
 
-				<el-form-item label="请求地址">
-					<el-input v-model="config.url" placeholder="请输入请求地址" />
-				</el-form-item>
 
-				<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" />
-					</el-select>
-				</el-form-item>
 
-				<div class="box-content">
-					<el-divider content-position="left">请求参数</el-divider>
-					<div class="content-f" v-for="(item, index) in requestParams" :key="index">
-						<el-select v-model="item.type" placeholder="参数类型" style="width: 320px">
-							<el-option v-for="item in paramData" :key="item.value" :label="item.label" :value="item.value" />
-						</el-select>
-						<el-input v-model="item.name" placeholder="请输入参数标题" style="width: 320px" />
-						<el-input v-model="item.key" placeholder="请输入参数名" style="width: 320px" />
-						<el-input v-model="item.value" placeholder="请输入参数值" style="width: 320px" />
-						<div class="conicon">
-							<el-icon @click="delParams(index)" v-if="index > 0"><Delete /></el-icon>
-						</div>
-					</div>
-					<el-button type="primary" class="addbutton" @click="addParams">增加</el-button>
+
+				<div v-if="ruleForm.from==4">
+						<el-form-item label="主机地址" >
+							<el-input v-model="devconfig.host" placeholder="请输入主机地址"   />
+						</el-form-item>
+
+						<el-form-item label="端口号">
+							<el-input v-model="devconfig.port" placeholder="请输入端口号" />
+						</el-form-item>
+
+						<el-form-item label="用户名">
+							<el-input v-model="devconfig.user" placeholder="请输入用户名" />
+						</el-form-item>
+
+						<el-form-item label="密码">
+							<el-input v-model="devconfig.password" placeholder="请输入密码" />
+						</el-form-item>
+
+						<el-form-item label="数据库名称">
+							<el-input v-model="devconfig.dbname" placeholder="请输入数据库名称" />
+						</el-form-item>
+
+						<el-form-item label="表名称">
+							<el-input v-model="devconfig.table" placeholder="请输入表名称" />
+						</el-form-item>
+
+						<el-form-item label="更新时间">
+							<el-input v-model="devconfig.interval" placeholder="请输入更新时间" class="w-35" />
+							<el-select v-model="devconfig.intervalUnit" placeholder="请选择单位">
+								<el-option v-for="item in unitData" :key="item.value" :label="item.label" :value="item.value" />
+							</el-select>
+						</el-form-item>
+
 				</div>
+
+
+
+
+
+
+
 			</el-form>
 			<template #footer>
 				<span class="dialog-footer">
 
-					<el-button @click="onTest" type="warning" size="default">测试</el-button>
+					<el-button @click="onTest" type="warning" size="default" v-if="ruleForm.sourceId>0">测试</el-button>
 					<el-button @click="onCancel" size="default">取 消</el-button>
 					<el-button type="primary" @click="onSubmit" size="default">{{ ruleForm.sourceId !== 0 ? '修 改' : '添 加' }}</el-button>
 				</span>
@@ -137,6 +184,7 @@ export default defineComponent({
 			isShowDialog: false,
 			dialogVisible:false,
 			config: {},
+			devconfig: {},
 			sourceId:0,
 			jsonData:'',
 			ruledata: [
@@ -269,9 +317,12 @@ export default defineComponent({
 				state.sourceId=row.sourceId
 				api.common.detail(row.sourceId).then((res: any) => {
 					state.ruleForm = res.data;
-					state.config = res.data.apiConfig;
-					state.requestParams = res.data.apiConfig.requestParams;
-
+					if(res.data.from==1){
+						state.config = res.data.apiConfig;
+						state.requestParams = res.data.apiConfig.requestParams;
+					}else if(res.data.from==4){
+						state.devconfig = res.data.deviceConfig;
+					}
 					res.data.sourceRule.forEach((item, index) => {
 						state.rule[index].expression = item.expression;
 						state.rule[index].replace = item.replace;
@@ -309,11 +360,20 @@ export default defineComponent({
 		};
 
 		const onTest=()=>{
+			if(state.ruleForm.from==1){
 				api.common.api(state.sourceId).then((res: any) => {
 					state.jsonData=JSON.parse(res.data);
 					state.dialogVisible=true
 						console.log(res);
 				})
+			}else if(state.ruleForm.from==4){
+				api.common.devapi(state.sourceId).then((res: any) => {
+					state.jsonData=JSON.parse(res.data);
+					state.dialogVisible=true
+						console.log(res);
+				})
+			}
+			
 		};
 		// 新增
 		const onSubmit = () => {
@@ -329,24 +389,47 @@ export default defineComponent({
 					// });
 
 					state.ruleForm.rule = state.rule;
-					state.config.requestParams = state.requestParams;
-					state.ruleForm.config = state.config;
-
+					if(state.ruleForm.from==1 ){
+						state.config.requestParams = state.requestParams;
+						state.ruleForm.config = state.config;
+					}else if(state.ruleForm.from==4 ){
+						state.ruleForm.config = state.devconfig;
+					}
+					
 					if (state.ruleForm.sourceId !== 0) {
 						//修改
-						api.common.edit(state.ruleForm).then(() => {
-							ElMessage.success('数据源类型修改成功');
-							closeDialog(); // 关闭弹窗
-							emit('typeList');
-						});
+
+						if(state.ruleForm.from==1 ){
+							api.common.edit(state.ruleForm).then(() => {
+								ElMessage.success('数据源类型修改成功');
+								closeDialog(); // 关闭弹窗
+								emit('typeList');
+							});
+						}else if(state.ruleForm.from==4 ){
+							api.common.devedit(state.ruleForm).then(() => {
+								ElMessage.success('数据源类型修改成功');
+								closeDialog(); // 关闭弹窗
+								emit('typeList');
+							});
+						}
+
+
+
 					} else {
 						//添加
-
-						api.common.add(state.ruleForm).then(() => {
-							ElMessage.success('数据源类型添加成功');
-							closeDialog(); // 关闭弹窗
-							emit('typeList');
-						});
+						if(state.ruleForm.from==1 ){
+							api.common.add(state.ruleForm).then(() => {
+								ElMessage.success('数据源类型添加成功');
+								closeDialog(); // 关闭弹窗
+								emit('typeList');
+							});
+						}else if(state.ruleForm.from==4 ){
+							api.common.devadd(state.ruleForm).then(() => {
+								ElMessage.success('数据源类型添加成功');
+								closeDialog(); // 关闭弹窗
+								emit('typeList');
+							});
+						}
 					}
 				}
 			});

+ 1 - 1
src/views/datahub/source/detail.vue

@@ -89,7 +89,7 @@
 
 							<el-table-column prop="createdAt" label="创建时间" align="center" width="180"></el-table-column>
 
-							<el-table-column label="操作" width="200" align="center">
+							<el-table-column label="操作" width="200" align="center" fixed="right">
 								<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>

+ 6 - 1
src/views/datahub/source/index.vue

@@ -68,6 +68,7 @@
 						<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>
+						<span v-if="scope.row.from == 4">设备</span>
 					</template>
 				</el-table-column>
 				<el-table-column prop="status" label="状态" width="120" align="center">
@@ -79,7 +80,7 @@
 
 				<el-table-column prop="createdAt" label="创建时间" align="center" width="180"></el-table-column>
 
-				<el-table-column label="操作" width="200" align="center">
+				<el-table-column label="操作" width="200" align="center" fixed="right">
 					<template #default="scope">
 						<router-link
 							:to="'/datahub/source/detail/' + scope.row.sourceId"
@@ -159,6 +160,10 @@ export default defineComponent({
 					label: '文件',
 					value: '3',
 				},
+				{
+					label: '设备',
+					value: '4',
+				},
 			],
 			ids: [],
 			tableData: {

+ 1 - 1
src/views/device/category/index.vue

@@ -28,7 +28,7 @@
         
        
         <el-table-column prop="createdAt" label="创建时间" align="center" min-width="180"></el-table-column>
-        <el-table-column label="操作" align="center" width="140">
+        <el-table-column label="操作" align="center" width="140" fixed="right">
           <template #default="scope">
             <el-button size="small" type="text" @click="onOpenAdd(scope.row)">新增</el-button>
             <el-button size="small" text type="warning" @click="onOpenEdit(scope.row)">修改</el-button>

+ 1 - 1
src/views/device/instance/index.vue

@@ -67,7 +67,7 @@
         </el-table-column>
          <el-table-column prop="registryTime" label="激活时间" align="center" width="150"></el-table-column>
          <el-table-column prop="lastOnlineTime" label="最后上线时间" align="center" width="150"></el-table-column>
-        <el-table-column label="操作" width="200" align="center">
+        <el-table-column label="操作" width="200" align="center" fixed="right">
           <template #default="scope">
 
 			 <el-button size="small" text type="primary" @click="onOpenDetail(scope.row)">详情</el-button>

+ 4 - 4
src/views/device/product/detail.vue

@@ -68,7 +68,7 @@
 										</template>
 									</el-table-column>
 									<el-table-column label="说明" prop="desc" :show-overflow-tooltip="true" />
-									<el-table-column label="操作" width="300" align="center">
+									<el-table-column label="操作" width="300" align="center" fixed="right">
 										<template #default="scope">
 											<el-button size="small" text type="warning" @click="onEditAttr(scope.row)">修改</el-button>
 											<el-button size="small" text type="danger" @click="onRowDel(scope.row.key,'attr')">删除</el-button>
@@ -87,7 +87,7 @@
 									<el-table-column label="名称" prop="name" :show-overflow-tooltip="true" />
 
 									<el-table-column label="描述" prop="desc" :show-overflow-tooltip="true" />
-									<el-table-column label="操作" width="300" align="center">
+									<el-table-column label="操作" width="300" align="center" fixed="right">
 										<template #default="scope">
 											<el-button size="small" text type="warning" @click="onEditFun(scope.row)">修改</el-button>
 											<el-button size="small" text type="danger" @click="onRowDel(scope.row.key,'fun')">删除</el-button>
@@ -113,7 +113,7 @@
 									</el-table-column>
 									<el-table-column label="描述" prop="desc" :show-overflow-tooltip="true" />
 
-									<el-table-column label="操作" width="300" align="center">
+									<el-table-column label="操作" width="300" align="center" fixed="right">
 										<template #default="scope">
 											<el-button size="small" text type="warning"  @click="onEditEvent(scope.row)">修改</el-button>
 											<el-button size="small" text type="danger" @click="onRowDel(scope.row.key,'event')">删除</el-button>
@@ -142,7 +142,7 @@
 										</template>
 									</el-table-column>
 									<el-table-column label="描述" prop="desc" :show-overflow-tooltip="true" />
-									<el-table-column label="操作" width="300" align="center">
+									<el-table-column label="操作" width="300" align="center" fixed="right">
 										<template #default="scope">
 											<el-button size="small" text type="warning"  @click="onEditTag(scope.row)">修改</el-button>
 											<el-button size="small" text type="danger" @click="onRowDel(scope.row.key,'tab')">删除</el-button>

+ 1 - 1
src/views/device/product/index.vue

@@ -64,7 +64,7 @@
           </template>
         </el-table-column>
         <!-- <el-table-column prop="createdAt" label="创建时间" align="center" width="180"></el-table-column> -->
-        <el-table-column label="操作" width="150" align="center">
+        <el-table-column label="操作" width="150" align="center" fixed="right">
           <template #default="scope">
 		     <router-link :to="'/device/product/detail/' + scope.row.id" class="link-type" style="padding-right: 12px;
     font-size: 12px;color: #409eff;">