Răsfoiți Sursa

Merge branch 'master' of http://git.mydig.net/Sagoo-Cloud/sagoo-admin-ui

vera_min 3 ani în urmă
părinte
comite
41c7eb0ed3

+ 15 - 2
src/views/datahub/modeling/component/edit.vue

@@ -9,12 +9,25 @@
 					<el-input v-model="ruleForm.name" placeholder="请输入模型名称" />
 				</el-form-item>
 
-				<el-form-item label="更新时间" prop="interval">
+
+
+				<!-- <el-form-item label="更新时间" prop="interval">
 					<el-input v-model="ruleForm.interval" placeholder="请输入更新时间" class="w-35" />
 					<el-select v-model="ruleForm.intervalUnit" placeholder="请选择单位">
 						<el-option v-for="item in unitData" :key="item.value" :label="item.label" :value="item.value" />
 					</el-select>
-				</el-form-item>
+				</el-form-item> -->
+
+				<el-form-item label="定时请求">
+							<el-input v-model="ruleForm.cronExpression" placeholder="请输入cron表达式" />
+							<ul style="list-style: none;">
+								<li><el-icon><ele-WarningFilled /></el-icon> */5 * * * * ? : 每隔5秒执行一次</li>
+								<li><el-icon><ele-WarningFilled /></el-icon> 20 */1 * * * ? : 每隔1分钟执行一次</li>
+								<li><el-icon><ele-WarningFilled /></el-icon> 30 0 23 * * ? : 每天23点执行一次</li>
+								<li><el-icon><ele-WarningFilled /></el-icon> 0 0 1 * * ? : 每天凌晨1点执行一次</li>
+								<li><el-icon><ele-WarningFilled /></el-icon> 0 0 1 1 * ? : 每月1号凌晨1点执行一次</li>
+							</ul>
+						</el-form-item>
 
 				<el-form-item label="描述" prop="desc">
 					<el-input v-model="ruleForm.desc" type="textarea" placeholder="请输入内容"></el-input>

+ 17 - 4
src/views/datahub/source/component/edit.vue

@@ -54,12 +54,25 @@
 							<el-input v-model="config.url" placeholder="请输入请求地址" />
 						</el-form-item>
 
-						<el-form-item label="更新时间">
+						
+						<el-form-item label="定时请求">
+							<el-input v-model="config.cronExpression" placeholder="请输入cron表达式" />
+							<ul style="list-style: none;">
+								<li><el-icon><ele-WarningFilled /></el-icon> */5 * * * * ? : 每隔5秒执行一次</li>
+								<li><el-icon><ele-WarningFilled /></el-icon> 20 */1 * * * ? : 每隔1分钟执行一次</li>
+								<li><el-icon><ele-WarningFilled /></el-icon> 30 0 23 * * ? : 每天23点执行一次</li>
+								<li><el-icon><ele-WarningFilled /></el-icon> 0 0 1 * * ? : 每天凌晨1点执行一次</li>
+								<li><el-icon><ele-WarningFilled /></el-icon> 0 0 1 1 * ? : 每月1号凌晨1点执行一次</li>
+							</ul>
+						</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>
+						</el-form-item> -->
+				
 
 						<div class="box-content">
 							<el-divider content-position="left">请求参数</el-divider>
@@ -87,8 +100,8 @@
 					<el-form-item label="选择设备">
 						<el-select v-model="devconfig.deviceKey" filterable placeholder="请选择设备" @change="setNode">
 							<el-option v-for="item in sourceData" :key="item.id" :label="item.key" :value="item.id">
-								<span style="float: left">{{ item.key }}</span>
-								<span style="float: right; font-size: 13px">{{ item.name }}</span>
+								<span style="float: left">{{ item.name }}</span>
+								<span style="float: right; font-size: 13px">{{ item.key }}</span>
 							</el-option>
 						</el-select>
 					</el-form-item>

+ 10 - 2
src/views/rule-engine/edit.vue

@@ -29,17 +29,25 @@ import { ref, reactive, nextTick } from 'vue';
 import api from '/@/api/rule';
 import axios from 'axios';
 import { ruleRequired } from '/@/utils/validator';
-import { ElMessage } from 'element-plus';
+import {  ElMessage } from 'element-plus';
 
 const emit = defineEmits(['getList']);
 
+const props = defineProps({
+	types: {
+		type: Number,
+		default: 0, // 规则编排是0 数据转发是1
+	},
+});
+
 const showDialog = ref(false);
 const formRef = ref();
 
 const baseForm = {
 	id: undefined,
 	name: '',
-	types: 0,
+	types: props.types,
+	// types: 0,
 	flowId: '',
 	expound: '',
 };

+ 2 - 2
src/views/rule-engine/index.vue

@@ -38,7 +38,7 @@
 			</el-table-column>
 		</el-table>
 		<pagination v-if="params.total" :total="params.total" v-model:page="params.pageNum" v-model:limit="params.pageSize" @pagination="getList()" />
-		<EditForm ref="editFormRef" @getList="getList()"></EditForm>
+		<EditForm ref="editFormRef" @getList="getList()" :types="0"></EditForm>
 	</el-card>
 </template>
 
@@ -52,7 +52,7 @@ import EditForm from './edit.vue';
 
 const editFormRef = ref();
 
-const { params, tableData, getList, loading } = useSearch<any[]>(api.getList, 'Data', { name: '', address: '' });
+const { params, tableData, getList, loading } = useSearch<any[]>(api.getList, 'Data', { types: 0 });
 
 getList();
 

+ 81 - 2
src/views/rule-engine/send.vue

@@ -1,5 +1,84 @@
 <template>
-	<div class="tc">开发中...</div>
+	<el-card shadow="hover">
+		<div class="search">
+			<el-form :inline="true">
+				<el-form-item>
+					<!-- <el-button size="default" type="primary" class="ml10" @click="getList(1)">
+							<el-icon>
+								<ele-Search />
+							</el-icon>
+							查询
+						</el-button> -->
+					<el-button type="success" @click="addOrEdit()">
+						<el-icon>
+							<ele-FolderAdd />
+						</el-icon>
+						新增规则编排
+					</el-button>
+				</el-form-item>
+			</el-form>
+		</div>
+		<el-table :data="tableData" style="width: 100%" v-loading="loading">
+			<el-table-column type="index" label="序号" width="80" align="center" />
+			<el-table-column prop="flowId" label="流程ID" show-overflow-tooltip></el-table-column>
+			<el-table-column prop="name" label="项目名称" show-overflow-tooltip></el-table-column>
+			<el-table-column prop="createdAt" label="创建时间" min-width="100" align="center"></el-table-column>
+			<el-table-column prop="status" label="状态" width="100" 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-else>已停止</el-tag>
+          </template>
+        </el-table-column>
+			<el-table-column label="操作" width="150" align="center">
+				<template #default="scope">
+					<!-- <el-button size="small" text type="primary" @click="preview(scope.row)">启动</el-button> -->
+					<el-button size="small" text type="warning" @click="edit(scope.row)">编辑</el-button>
+					<el-button size="small" text type="danger" @click="onDel(scope.row)">删除</el-button>
+				</template>
+			</el-table-column>
+		</el-table>
+		<pagination v-if="params.total" :total="params.total" v-model:page="params.pageNum" v-model:limit="params.pageSize" @pagination="getList()" />
+		<EditForm ref="editFormRef" @getList="getList()" :types="1"></EditForm>
+	</el-card>
 </template>
 
-<script lang="ts" setup></script>
+<script lang="ts" setup>
+import { ref } from 'vue';
+import api from '/@/api/rule';
+import { ElMessageBox, ElMessage } from 'element-plus';
+import { useSearch } from '/@/hooks/useCommon';
+import { Session } from '/@/utils/storage';
+import EditForm from './edit.vue';
+
+const editFormRef = ref();
+
+const { params, tableData, getList, loading } = useSearch<any[]>(api.getList, 'Data', { types: 1 });
+
+getList();
+
+const addOrEdit = async (row?: any) => {
+	if (row) {
+		editFormRef.value.open(row);
+		return;
+	} else {
+		editFormRef.value.open();
+	}
+};
+
+const edit = async (row: any) => {
+	const url = window.location.protocol + '//' +  window.location.hostname + ':1880/?access_token=' + Session.get('token') + '#/flow/' + row.flowId;
+	window.open(url);
+};
+
+const onDel = (row: any) => {
+	ElMessageBox.confirm(`此操作将删除:“${row.name}”,是否继续?`, '提示', {
+		confirmButtonText: '确认',
+		cancelButtonText: '取消',
+		type: 'warning',
+	}).then(async () => {
+		await api.del([row.id as string]);
+		ElMessage.success('删除成功');
+		getList();
+	});
+};
+</script>