Merge remote-tracking branch 'origin/master'

master
lwj 2024-08-23 22:30:31 +08:00
commit 9bd349be5e
10 changed files with 543 additions and 151 deletions

View File

@ -4,38 +4,40 @@ import request from '@/utils/request'
export function selectEngineList(data){ export function selectEngineList(data){
return request({ return request({
url: "/engine/engine/getMaintenanceList", url: "/engine/engine/getMaintenanceList",
method: "Get", method: "post",
data:data
})
}
//导出
export function selectSourceExport(data){
return request({
url: "/source/source/export",
method: "POST",
data:data data:data
}) })
} }
//新增
export function insertAdd(data){
export function insert(data){
return request({ return request({
url: "/source/source/insert", url: "/engine/engine/insert",
method: "get", method: "post",
data:data
})
}
export function update(data){
return request({
url: "/engine/engine/update",
method: "post",
data:data data:data
}) })
} }
//获取基本信息
export function getInfo(id){ export function del(id){
return request({ return request({
url: "/source/source/id", url: "/engine/engine/delete/" + id,
method: "get", method: "post",
data:id
}) })
} }

View File

@ -0,0 +1,9 @@
import request from '@/utils/request'
export function getPhonePlace(data) {
return request({
url: '/mart/list/getPhonePlace',
method: 'get',
data:data
})
}

View File

@ -10,6 +10,24 @@ export function listUser(query) {
}) })
} }
// 用户余额
export function userRecharge(data) {
return request({
url: '/money/alipay/recharge',
method: 'post',
params: data
})
}
// 查询用户余额
export function userBalance(userId) {
return request({
url: '/money/balance/' + userId,
method: 'get',
})
}
// 查询用户详细 // 查询用户详细
export function getUser(userId) { export function getUser(userId) {
return request({ return request({

View File

@ -1,6 +1,6 @@
import request from '@/utils/request' import request from '@/utils/request'
//查询规则引擎列表 //查询任务列表
export function selectTaskList(data){ export function selectTaskList(data){
return request({ return request({
url: "/task/task/list", url: "/task/task/list",
@ -9,33 +9,30 @@ export function selectTaskList(data){
}) })
} }
//导出 //添加
export function selectSourceExport(data){ export function addTask(data){
return request({ return request({
url: "/source/source/export", url: "/task/task/addTask",
method: "POST", method: "POST",
data:data data:data
}) })
} }
//修改
//新增 export function updateById(data) {
export function insertAdd(data){
return request({ return request({
url: "/source/source/insert", url: "/task/task/updateById",
method: "get", method: "POST",
data:data data: data
})
}
//删除
export function deleteByTaskId(id) {
return request({
url: "/task/task/deleteById/" + id,
method: "POST"
}) })
} }
//获取基本信息
export function getInfo(id){
return request({
url: "/source/source/id",
method: "get",
})
}

View File

@ -14,88 +14,71 @@
<el-form-item label="规则状态"> <el-form-item label="规则状态">
<el-input v-model="engine.status"></el-input> <el-input v-model="engine.status"></el-input>
</el-form-item> </el-form-item>
<el-button @click="findSelectSourceList()"> <el-button @click="select()">
查询 查询
</el-button> </el-button>
</el-form> </el-form>
<!-- <el-button-->
<!-- v-hasPermi="['tool:gen:import']"--> <el-button
<!-- icon="el-icon-upload"--> type="warning"
<!-- plain--> plain
<!-- size="mini"--> icon="el-icon-download"
<!-- type="info"--> size="mini"
<!-- @click="findSelectSourceExport"--> @click="findSelectSourceExport"
<!-- >导出--> v-hasPermi="['source:data:export']"
<!-- </el-button>--> >导出
</el-button>
<!-- <el-button--> <el-button
<!-- icon="el-icon-delete"--> icon="el-icon-delete"
<!-- plain--> plain
<!-- size="mini"--> size="mini"
<!-- type="danger"--> type="danger"
<!-- @click="insertAdd()"--> @click="insert()"
<!-- >新增--> >新增
<!-- </el-button>--> </el-button>
<!-- <el-dialog title="添加数据源接入" :visible.sync="dialogFormVisible">--> <el-dialog title="添加数据源接入" :visible.sync="dialogFormVisible" >
<!-- <el-form :model="sourceAddReq">--> <el-form :model="engine">
<!-- <el-form-item label="接入源名称">--> <el-form-item label="接入源名称">
<!-- <el-input v-model="sourceAddReq.dataResourceName"></el-input>--> <el-input v-model="engine.id"></el-input>
<!-- </el-form-item>--> </el-form-item>
<!-- <el-form-item label="数据来源系统名称">--> <el-form-item label="数据来源系统名称">
<!-- <el-input v-model="sourceAddReq.dataSourcesSystemName"></el-input>--> <el-input v-model="engine.name"></el-input>
<!-- </el-form-item>--> </el-form-item>
<!-- <el-form-item label="主机地址">--> <el-form-item label="主机地址">
<!-- <el-input v-model="sourceAddReq.host"></el-input>--> <el-input v-model="engine.type"></el-input>
<!-- </el-form-item>--> </el-form-item>
<!-- <el-form-item label="主机端口">--> <el-form-item label="主机端口">
<!-- <el-input v-model="sourceAddReq.port"></el-input>--> <el-input v-model="engine.scope"></el-input>
<!-- </el-form-item>--> </el-form-item>
<!-- <el-form-item label="数据接入类型">--> <el-form-item label="数据接入类型">
<!-- <el-input v-model="sourceAddReq.databaseType"></el-input>--> <el-input v-model="engine.engineCode"></el-input>
<!-- </el-form-item>--> </el-form-item>
<!-- <el-form-item label="数据库名称">--> <el-form-item label="数据库名称">
<!-- <el-input v-model="sourceAddReq.databaseName"></el-input>--> <el-input v-model="engine.isActivate"></el-input>
<!-- </el-form-item>--> </el-form-item>
<!-- <el-form-item label="数据库用户">--> <el-form-item label="数据库用户">
<!-- <el-input v-model="sourceAddReq.username"></el-input>--> <el-input v-model="engine.status"></el-input>
<!-- </el-form-item>--> </el-form-item>
<!-- <el-form-item label="数据库密码">--> <el-form-item label="数据库密码">
<!-- <el-input v-model="sourceAddReq.password"></el-input>--> <el-input v-model="engine.description"></el-input>
<!-- </el-form-item>--> </el-form-item>
<!-- <el-form-item label="数据连接参数">-->
<!-- <el-input v-model="sourceAddReq.connectionParams"></el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="初始化连接数量">-->
<!-- <el-input v-model="sourceAddReq.initLinkNum"></el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="最大连接数量">-->
<!-- <el-input v-model="sourceAddReq.maxLinkNum"></el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="最大等待时间">-->
<!-- <el-input v-model="sourceAddReq.maxWaitTime"></el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="最大等待次数">-->
<!-- <el-input v-model="sourceAddReq.maxWaitTimes"></el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="备注">-->
<!-- <el-input v-model="sourceAddReq.remark"></el-input>-->
<!-- </el-form-item>-->
<!-- </el-form>--> </el-form>
<!-- <div slot="footer" class="dialog-footer">--> <div slot="footer" class="dialog-footer">
<!-- <el-button @click="dialogFormVisible = false">测试</el-button>--> <el-button @click="dialogFormVisible = false"> </el-button>
<!-- <el-button @click="dialogFormVisible = false"></el-button>--> <el-button type="primary" @click="dialogFormVisible = false"> </el-button>
<!-- <el-button type="primary" @click="dialogFormVisible = false"> </el-button>--> </div>
<!-- </div>-->
<!-- </el-dialog>--> </el-dialog>
@ -112,6 +95,7 @@
<span v-if="scope.row.type==2"></span> <span v-if="scope.row.type==2"></span>
<span v-if="scope.row.type==3"></span> <span v-if="scope.row.type==3"></span>
<span v-if="scope.row.type==4"></span> <span v-if="scope.row.type==4"></span>
<span v-if="scope.row.type==4"></span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="作用域" style="color: blue" prop="scope"> <el-table-column label="作用域" style="color: blue" prop="scope">
@ -146,23 +130,20 @@
<el-table-column <el-table-column
align="right"> align="right">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button
icon="el-icon-pear"
size="mini"
type="text"
@click="update(scope.row)">规则维护</el-button>
<el-button <el-button
icon="el-icon-delete" icon="el-icon-delete"
size="mini" size="mini"
type="text" type="text"
@click="handleDelete(scope.row)">删除</el-button> @click="handleDelete(scope.row.id)">删除</el-button>
<el-button <el-button
icon="el-icon-service" icon="el-icon-service"
size="mini" size="mini"
type="text" type="text"
@click="struceure(scope.row)">修改</el-button> @click="handUpdate(scope.row.id)">规则维护</el-button>
</template> </template>
</el-table-column> </el-table-column>
@ -175,6 +156,42 @@
<!-- 分页-->
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="engineReq.pageNum"
:page-sizes="[1, 2, 3, 4, 5]"
:page-size="engineReq.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="total">
</el-pagination>
</div> </div>
</template> </template>
@ -182,8 +199,7 @@
//jsjsjson, //jsjsjson,
//import from ', //import from ',
import {insertAdd} from "@/api/etl/switch"; import {insertAdd} from "@/api/etl/switch";
import {selectEngineList} from "@/api/engine/engine"; import {del, insert, selectEngineList, update} from "@/api/engine/engine";
import {selectList} from "@/api/pay/customer";
export default { export default {
//import使" //import使"
components: {}, components: {},
@ -192,14 +208,16 @@ export default {
//" //"
return { return {
// dialogFormVisible:false, engineReq:{
// SourceReq:{ pageNum:1,
// pageSize:5
// }, },
engine:{ engine:{
}, },
arr:[], arr:[],
dialogFormVisible:false,
total:0
}; };
}, },
// data", // data",
@ -208,15 +226,47 @@ export default {
watch: {}, watch: {},
//", //",
methods: { methods: {
selectList, handleSizeChange(val) {
// insertAdd(){ console.log(`每页 ${val}`);
// this.dialogFormVisible=true this.engineReq.pageSize = val;
// }, this.findSelectSourceList();
},
handleCurrentChange(val) {
console.log(`当前页: ${val}`);
this.engineReq.pageNum = val;
this.findSelectSourceList();
},
insert(){
this.dialogFormVisible = true
insert(this.engine).then(res =>{
this.$message.success(res.msg || "添加成功")
})
this.engine = {}
},
findSelectSourceList(){ findSelectSourceList(){
selectEngineList().then(res=>{ selectEngineList(this.engineReq).then(res=>{
this.arr=res.data; this.arr=res.data.list;
this.total=res.data.total;
}) })
}, },
handleDelete(id){
del(id).then(res =>{
this.$message.success(res.msg || "删除成功")
})
},
handUpdate(){
update(this.engine).then(res =>{
this.$message.success(res.msg || "修改成功")
})
},
findSelectSourceExport(){
this.download('engine/engine/export', {
...this.engineReq
}, `source_${new Date().getTime()}.xlsx`)
},
select(){
this.findSelectSourceList();
}
}, },
// - 访this", // - 访this",
created() { created() {

View File

@ -347,7 +347,6 @@ export default {
this.download('source/source/export', { this.download('source/source/export', {
...this.SourceReq ...this.SourceReq
}, `source_${new Date().getTime()}.xlsx`) }, `source_${new Date().getTime()}.xlsx`)
// selectSourceExport(this.SourceReq).then();
}, },
handleSelectionChange(row){ handleSelectionChange(row){
this.ids=[]; this.ids=[];

View File

@ -0,0 +1,30 @@
<template>
<div>
<span style="text-align: center">账户余额: {{ balance }}</span>
</div>
</template>
<script>
import {userBalance} from "@/api/system/user";
export default {
data() {
return {
balance: null, //
};
},
async created() {
try {
const userId = 1; // ID
const response = await userBalance(userId);
this.balance = response.data.balance; //
} catch (error) {
console.error('Error fetching user balance:', error);
}
},
};
</script>
<style scoped>
/* 添加样式 */
</style>

View File

@ -0,0 +1,114 @@
<template>
<div>
<el-card class="box-card">
<div slot="header" class="clearfix">
<span>手机号查询归属地</span>
<el-button style="float: right; padding: 3px 0" type="text">购买</el-button>
</div>
<el-form :label-position="labelPosition" :model="formLabelAlign">
<el-form-item placeholder="请输入手机号">
<input v-model="formLabelAlign.tel">
</el-form-item>
<el-form-item>
<button @click="getPhonePlace"></button>
</el-form-item>
</el-form>
<span>省份{{this.formLabelAlign.province}}</span><br>
<span>城市{{this.formLabelAlign.city}}</span><br>
<span>区号{{this.formLabelAlign.areacode}}</span><br>
<span>邮编{{this.formLabelAlign.zip}}</span><br>
<span>运营商{{this.formLabelAlign.company}}</span>
</el-card>
<el-card class="box-card">
<div slot="header" class="clearfix">
<span>IP查询归属地</span>
<el-button style="float: right; padding: 3px 0" type="text">购买</el-button>
</div>
<div v-for="o in 4" :key="o" class="text item">
{{'列表内容 ' + o }}
</div>
</el-card>
</div>
</template>
<script>
//jsjsjson,
//import from ',
import {getPhonePlace} from "@/api/port/port";
export default {
//import使"
components: {},
props: {},
data() {
//"
return {
formLabelAlign:{
province:"",
city:"",
areacode:"",
zip:"",
company:"",
},
};
},
// data",
computed: {},
//data",
watch: {},
//",
methods: {
getPhonePlace(){
getPhonePlace(this.formLabelAlign.tel).then((res)=>{
this.formLabelAlign.province=res.data.province;
this.formLabelAlign.city=res.data.city;
this.formLabelAlign.areacode=res.data.areacode;
this.formLabelAlign.zip=res.data.zip;
this.formLabelAlign.company=res.data.company;
})
}
},
// - 访this",
created() {
},
// - 访DOM",
mounted() {
},
beforeCreate() {
}, // - ",
beforeMount() {
}, // - ",
beforeUpdate() {
}, // - ",
updated() {
}, // - ",
beforeDestroy() {
}, // - ",
destroyed() {
}, // - ",
activated() {
} //keep-alive",
};
</script>
<style scoped>
.text {
font-size: 14px;
}
.item {
margin-bottom: 18px;
}
.clearfix:before,
.clearfix:after {
display: table;
content: "";
}
.clearfix:after {
clear: both
}
.box-card {
width: 480px;
}
</style>

View File

@ -15,7 +15,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="任务执行状态"> <el-form-item label="任务执行状态">
<el-select v-model="taskReq.weigh" placeholder="请选择等级"> <el-select v-model="taskReq.status" placeholder="请选择等级">
<el-option label="请选择" value=""></el-option> <el-option label="请选择" value=""></el-option>
<el-option label="待执行" value="0"></el-option> <el-option label="待执行" value="0"></el-option>
<el-option label="正在执行" value="1"></el-option> <el-option label="正在执行" value="1"></el-option>
@ -28,24 +28,18 @@
</el-form> </el-form>
<!-- <el-button-->
<!-- v-hasPermi="['system:user:remove']"-->
<!-- icon="el-icon-delete"-->
<!-- size="mini"-->
<!-- type="text"-->
<!-- @click="handleDelete(scope.row)"-->
<!-- >删除-->
<!-- </el-button>-->
<el-col :span="1.5">
<el-button <el-button
icon="el-icon-delete" v-hasPermi="['system:config:add']"
plain icon="el-icon-plus"
size="mini" plain
type="danger" size="mini"
@click="insertAdd()" type="primary"
>新增 @click="handleAdd"
</el-button> >新增
</el-button>
</el-col>
<!-- <el-dialog title="添加数据源接入" :visible.sync="dialogFormVisible">--> <!-- <el-dialog title="添加数据源接入" :visible.sync="dialogFormVisible">-->
@ -122,7 +116,6 @@
<span style="margin-left: 10px" v-if="scope.row.status ==0 "></span> <span style="margin-left: 10px" v-if="scope.row.status ==0 "></span>
<span style="margin-left: 10px" v-if="scope.row.status ==1 "></span> <span style="margin-left: 10px" v-if="scope.row.status ==1 "></span>
<span style="margin-left: 10px" v-if="scope.row.status ==2 "></span> <span style="margin-left: 10px" v-if="scope.row.status ==2 "></span>
<span style="margin-left: 10px">{{ scope.row.status }}</span>
</template> </template>
</el-table-column> </el-table-column>
@ -133,7 +126,6 @@
<span style="margin-left: 10px" v-if="scope.row.status ==0 "></span> <span style="margin-left: 10px" v-if="scope.row.status ==0 "></span>
<span style="margin-left: 10px" v-if="scope.row.status ==1 "></span> <span style="margin-left: 10px" v-if="scope.row.status ==1 "></span>
<span style="margin-left: 10px" v-if="scope.row.status ==2 "></span> <span style="margin-left: 10px" v-if="scope.row.status ==2 "></span>
<span style="margin-left: 10px">{{ scope.row.status }}</span>
</template> </template>
</el-table-column> </el-table-column>
@ -145,7 +137,7 @@
icon="el-icon-pear" icon="el-icon-pear"
size="mini" size="mini"
type="text" type="text"
@click="update(scope.row)">执行</el-button> @click="executeTask(scope.row)">执行</el-button>
<el-button <el-button
icon="el-icon-delete" icon="el-icon-delete"
@ -155,10 +147,149 @@
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<!-- 添加界面-->
<el-dialog title="添加任务信息" :visible.sync="dialogFormVisible">
<el-form :model="taskAddReq">
<el-form-item label="任务名称">
<el-input v-model="taskAddReq.name"></el-input>
</el-form-item>
<el-form-item label="优先级选择">
<el-select v-model="taskReq.weigh" placeholder="请选择等级">
<el-option label="请选择" value=""></el-option>
<el-option label="紧急" value="1"></el-option>
<el-option label="低" value="2"></el-option>
<el-option label="中" value="3"></el-option>
<el-option label="高" value="4"></el-option>
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogFormVisible = false"> </el-button>
<el-button type="primary" @click="addTask()"> </el-button>
</div>
</el-dialog>
<!-- 添加任务详情设计-->
<el-dialog title="添加表" :visible.sync="taskInputAdd">
<el-form label-width="80px" :model="taskInputReq" ref="queryForm" :inline="true" class="demo-form-inline" size="small">
<el-form-item label="任务id">
<el-input v-model="taskInputReq.taskId"></el-input>
</el-form-item>
<el-form-item label="数据库id">
<el-input v-model="taskInputReq.databaseId"></el-input>
</el-form-item>
<el-form-item label="数据表">
<el-select v-model="taskReq.tableName" placeholder="请选择等级">
<el-option label="请选择" value="0"></el-option>
<span v-for="table in tableList">
<el-option :label=table.tableName :value=table.id :key=table.id></el-option>
</span>
</el-select>
</el-form-item>
<el-form-item label="表别名">
<el-input v-model="taskInputReq.tableAsName"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="taskInputAdd = false"> </el-button>
<el-button type="primary" @click="addTaskInput()"></el-button>
</div>
</el-dialog>
<!-- 字段选择列表-->
<el-dialog title="添加表" :visible.sync="taskInputFieldAdd">
<el-table
:data="taskList"
style="width: 100%"
@selection-change="handleSelectionChange">
<el-table-column
type="selection"
width="55">
</el-table-column>
<el-table-column
label="字段"
width="180">
<template slot-scope="scope">
<i class="el-icon-time"></i>
<span style="margin-left: 10px">{{ scope.row.id }}</span>
</template>
</el-table-column>
<el-table-column
label="类型/长度"
width="180">
<template slot-scope="scope">
<i class="el-icon-time"></i>
<span style="margin-left: 10px">{{ scope.row.name }}</span>
</template>
</el-table-column>
<el-table-column
label="非空"
width="180">
<template slot-scope="scope">
<i class="el-icon-time"></i>
<span style="margin-left: 10px">{{ scope.row.name }}</span>
</template>
</el-table-column>
<el-table-column
label="注释"
width="180">
<template slot-scope="scope">
<i class="el-icon-time"></i>
<span style="margin-left: 10px">{{ scope.row.name }}</span>
</template>
</el-table-column>
<el-table-column
label="处理规则"
width="180">
<template slot-scope="scope">
<span style="margin-left: 10px" v-if="scope.row.weigh ==1 "></span>
<span style="margin-left: 10px" v-if="scope.row.weigh ==2 "></span>
<span style="margin-left: 10px" v-if="scope.row.weigh ==3 "></span>
<span style="margin-left: 10px" v-if="scope.row.weigh ==4 "></span>
</template>
</el-table-column>
<el-table-column
label="表别名"
width="180">
<template slot-scope="scope">
<input type="text">
</template>
</el-table-column>
</el-table>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogFormVisible = false"> </el-button>
<el-button type="primary" @click="addTask()"> </el-button>
</div>
</el-dialog>
@ -175,7 +306,7 @@ import {selectSourceExport} from "@/api/etl/switch";
import {connectionTest} from "@/api/etl/switch"; import {connectionTest} from "@/api/etl/switch";
import {insertAdd} from "@/api/etl/switch"; import {insertAdd} from "@/api/etl/switch";
import {getInfo} from "@/api/etl/switch"; import {getInfo} from "@/api/etl/switch";
import { selectTaskList } from '@/api/task/task' import { addTask, deleteById, deleteByTaskId, selectTaskList, updateById } from '@/api/task/task'
export default { export default {
//import使" //import使"
@ -186,10 +317,17 @@ export default {
return { return {
dialogFormVisible:false, dialogFormVisible:false,
//
taskInputAdd:false,
//
taskInputFieldAdd:false,
taskReq:{ taskReq:{
}, },
taskAddReq:{},
taskInputReq:{},
taskList:[], taskList:[],
tableList:[],
}; };
}, },
// data", // data",
@ -198,6 +336,31 @@ export default {
watch: {}, watch: {},
//", //",
methods: { methods: {
executeTask(){
this.taskInputAdd = true;
},
addTaskInput(){
this.taskInputAdd = false;
this.taskInputFieldAdd = true;
},
//
handleAdd(){
this.dialogFormVisible = true;
},
//
addTask(){
addTask(this.taskAddReq).then(res=>{
alert(res.msg)
if(res.code == 200){
location.reload();
}
});
},
//
findSelectTaskList(){ findSelectTaskList(){
selectTaskList(this.taskReq).then(res=>{ selectTaskList(this.taskReq).then(res=>{
console.log(res.data); console.log(res.data);
@ -206,10 +369,19 @@ export default {
}) })
}, },
insertAdd(){ updateById(){
}, },
handleDelete(row){
deleteByTaskId(row.getId).then(res=>{
alert(res.msg);
if(res.code == 200){
location.reload();
}
})
},
handleSelectionChange(row){ handleSelectionChange(row){
}, },

View File

@ -38,6 +38,7 @@ module.exports = {
// detail: https://cli.vuejs.org/config/#devserver-proxy // detail: https://cli.vuejs.org/config/#devserver-proxy
[process.env.VUE_APP_BASE_API]: { [process.env.VUE_APP_BASE_API]: {
target: `http://172.13.1.1/prod-api`, target: `http://172.13.1.1/prod-api`,
// target: `http://127.0.0.1/8080`,
changeOrigin: true, changeOrigin: true,
pathRewrite: { pathRewrite: {
['^' + process.env.VUE_APP_BASE_API]: '' ['^' + process.env.VUE_APP_BASE_API]: ''