Qin Dong Ming 2024-08-23 09:27:17 +08:00
commit b45b2cc95a
4 changed files with 215 additions and 301 deletions

View File

@ -9,14 +9,14 @@ export function selectSourceList(data){
}) })
} }
//导出 // //导出
export function selectSourceExport(data){ // export function selectSourceExport(data){
return request({ // return request({
url: "/source/source/export", // url: "/source/source/export",
method: "POST", // method: "POST",
data:data // data:data
}) // })
} // }
//新增 //新增
export function insertAdd(data){ export function insertAdd(data){
@ -31,7 +31,7 @@ export function insertAdd(data){
//获取基本信息 //获取基本信息
export function getInfo(id){ export function getInfo(id){
return request({ return request({
url: "/source/source/id", url: "/source/source/"+id,
method: "get", method: "get",
}) })
} }
@ -47,4 +47,13 @@ export function connectionTest(data){
} }
//删除
export function deleteSource(ids){
return request({
url: "/source/source/"+ids,
method: "delete",
})
}

View File

@ -1,10 +1,10 @@
import request from '@/utils/request' import request from '@/utils/request'
//查询规则引擎列表 //查询规则引擎列表
export function selectEngineList(data){ export function selectTaskList(data){
return request({ return request({
url: "/task/task/list", url: "/task/task/list",
method: "get", method: "post",
data:data data:data
}) })
} }

View File

@ -28,10 +28,10 @@
<el-button <el-button
v-hasPermi="['tool:gen:import']" v-hasPermi="['tool:gen:import']"
icon="el-icon-upload" icon="el-icon-download"
plain plain
size="mini" size="mini"
type="info" type="warning"
@click="findSelectSourceExport" @click="findSelectSourceExport"
>导出 >导出
</el-button> </el-button>
@ -46,6 +46,15 @@
>新增 >新增
</el-button> </el-button>
<el-button
icon="el-icon-delete"
plain
size="mini"
type="danger"
@click="deleteSourceByIds()"
>删除
</el-button>
<el-dialog title="添加数据源接入" :visible.sync="dialogFormVisible"> <el-dialog title="添加数据源接入" :visible.sync="dialogFormVisible">
@ -208,6 +217,7 @@ import {selectSourceList} from "@/api/etl/switch";
import {selectSourceExport} from "@/api/etl/switch"; 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 {deleteSource} from "@/api/etl/switch";
import {getInfo} from "@/api/etl/switch"; import {getInfo} from "@/api/etl/switch";
export default { export default {
@ -218,6 +228,7 @@ export default {
//" //"
return { return {
ids:[],
dialogFormVisible:false, dialogFormVisible:false,
SourceReq:{ SourceReq:{
@ -234,6 +245,20 @@ export default {
watch: {}, watch: {},
//", //",
methods: { methods: {
deleteSourceByIds(){
deleteSource(this.ids).then(res=>{
if(res.code===200){
alert("删除成功");
}
})
},
handleDelete(row){
deleteSource(row.id).then(res=>{
if(res.code===200){
alert("删除成功");
}
})
},
textP(){ textP(){
connectionTest(this.sourceAddReq).then(res=>{ connectionTest(this.sourceAddReq).then(res=>{
if (res.code===200){ if (res.code===200){
@ -245,7 +270,9 @@ export default {
}, },
addSource(){ addSource(){
insertAdd(this.sourceAddReq).then(res=>{ insertAdd(this.sourceAddReq).then(res=>{
if(res.code===200){
location.reload();
}
}) })
}, },
// //
@ -268,10 +295,16 @@ export default {
}) })
}, },
findSelectSourceExport(){ findSelectSourceExport(){
selectSourceExport(this.SourceReq).then(); this.download('source/source/export', {
...this.SourceReq
}, `source_${new Date().getTime()}.xlsx`)
// selectSourceExport(this.SourceReq).then();
}, },
handleSelectionChange(row){ handleSelectionChange(row){
this.ids=[];
for (let rowKey in row) {
this.ids.push(row[rowKey].id)
}
}, },
}, },
// - 访this", // - 访this",

View File

@ -1,186 +1,165 @@
<template> <template>
<div class="app-container"> <div>
<el-form v-show="showSearch" ref="queryForm" :inline="true" :model="queryParams" label-width="68px" size="small">
<el-form-item label="客户名称" prop="appName"> <el-form label-width="80px" :model="taskReq" ref="queryForm" :inline="true" class="demo-form-inline" size="small">
<el-input <el-form-item label="任务包含名称">
v-model="queryParams.appName" <el-input v-model="taskReq.name"></el-input>
clearable
placeholder="请输入客户名称"
style="width: 240px"
@keyup.enter.native="getList"
/>
</el-form-item> </el-form-item>
<el-form-item label="客户编码" prop="appCode"> <el-form-item label="优先级选择">
<el-input <el-select v-model="taskReq.weigh" placeholder="请选择等级">
v-model="queryParams.appCode" <el-option label="请选择" value=""></el-option>
clearable <el-option label="紧急" value="1"></el-option>
placeholder="请输入客户编码" <el-option label="低" value="2"></el-option>
style="width: 240px" <el-option label="中" value="3"></el-option>
@keyup.enter.native="getList" <el-option label="高" value="4"></el-option>
/>
</el-form-item>
<el-form-item label="客户状态" prop="configType">
<el-select v-model="queryParams.status" clearable placeholder="客户状态">
<el-option
v-for="dict in dict.type.sys_yes_no"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="任务执行状态">
<el-form-item> <el-select v-model="taskReq.weigh" placeholder="请选择等级">
<el-button icon="el-icon-search" size="mini" type="primary" @click="getList"></el-button> <el-option label="请选择" value=""></el-option>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button> <el-option label="待执行" value="0"></el-option>
<el-option label="正在执行" value="1"></el-option>
<el-option label="执行完毕" value="2"></el-option>
</el-select>
</el-form-item> </el-form-item>
<el-button @click="findSelectTaskList()">
查询
</el-button>
</el-form> </el-form>
<el-row :gutter="10" class="mb8"> <!-- <el-button-->
<el-col :span="1.5"> <!-- v-hasPermi="['system:user:remove']"-->
<!-- icon="el-icon-delete"-->
<!-- size="mini"-->
<!-- type="text"-->
<!-- @click="handleDelete(scope.row)"-->
<!-- >删除-->
<!-- </el-button>-->
<el-button <el-button
v-hasPermi="['system:config:add']" icon="el-icon-delete"
icon="el-icon-plus"
plain plain
size="mini" size="mini"
type="primary" type="danger"
@click="handleAdd" @click="insertAdd()"
>新增 >新增
</el-button> </el-button>
</el-col>
<el-col :span="1.5">
<el-button
v-hasPermi="['system:config:export']"
icon="el-icon-download"
plain
size="mini"
type="warning"
@click="handleExport"
>导出
</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-row :gutter="10"> <!-- <el-dialog title="添加数据源接入" :visible.sync="dialogFormVisible">-->
<el-empty description="暂无支付客户" v-if="customerList.length === 0"></el-empty>
<el-col :span="8" v-for="customer in customerList" v-if="customerList.length !== 0"> <!-- <el-form :model="sourceAddReq">-->
<!-- <el-form-item label="id">-->
<!-- <el-input v-model="sourceAddReq.id"></el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="任务名称">-->
<!-- <el-input v-model="sourceAddReq.name"></el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="任务执行状态">-->
<!-- <el-input v-model="sourceAddReq.weigh"></el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="任务完成度">-->
<!-- <el-input v-model="sourceAddReq.status"></el-input>-->
<!-- </el-form-item>-->
<!-- </el-form>-->
<!-- </el-dialog>-->
<el-card class="box-card">
<div slot="header" class="clearfix">
<span style="font-size: 18px;font-weight: 900">{{ customer.appName }}</span>
<el-switch
style="float: right; margin: 4px 5px 0;"
v-model="customer.status"
active-color="#13ce66"
inactive-color="#ff4949"
active-value="Y"
inactive-value="N"
@change="handleStatusChange(customer)"
>
</el-switch>
<el-popconfirm
confirm-button-text='好的'
cancel-button-text='不用了'
icon="el-icon-info"
icon-color="red"
title="这是一段内容确定删除吗?"
@confirm="handleDelete(customer.id)"
>
<el-button style="float: right; padding: 5px ;margin: 0 5px" slot="reference" type="danger" icon="el-icon-delete" circle ></el-button>
</el-popconfirm>
<el-button style="float: right; padding: 5px ;margin: 0 5px" type="primary" icon="el-icon-edit" @click="handleUpdate(customer.id)"circle></el-button>
</div>
<div>
<el-descriptions class="margin-top" :column="1" :size="size" border>
<el-descriptions-item>
<template slot="label"><i class="el-icon-user"></i>客户名称</template>
{{ customer.appName }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label"><i class="el-icon-user"></i>客户编码</template>
{{ customer.appCode }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label"><i class="el-icon-user"></i>创建人</template>
{{ customer.createBy }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label"><i class="el-icon-user"></i>创建日期</template>
{{ customer.createTime }}
</el-descriptions-item>
</el-descriptions>
<el-divider content-position="left">近5笔交易记录</el-divider>
<el-table <el-table
:data="customer.orderPaySimpleRespList" :data="taskList"
style="width: 100%"> style="width: 100%"
<el-table-column prop="cusOrderNumber" label="客户单号"></el-table-column>
<el-table-column prop="price" label="支付金额"></el-table-column> @selection-change="handleSelectionChange">
<el-table-column prop="channelTypeName" label="渠道商"></el-table-column>
<el-table-column
type="selection"
width="55">
</el-table-column>
<el-table-column
label="id"
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">
<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">
<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 ==2 "></span>
<span style="margin-left: 10px">{{ scope.row.status }}</span>
</template>
</el-table-column>
<el-table-column
label="任务完成度"
width="180">
<template slot-scope="scope">
<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 ==2 "></span>
<span style="margin-left: 10px">{{ scope.row.status }}</span>
</template>
</el-table-column>
<el-table-column
align="right">
<template slot-scope="scope">
<el-button
icon="el-icon-pear"
size="mini"
type="text"
@click="update(scope.row)">执行</el-button>
<el-button
icon="el-icon-delete"
size="mini"
type="text"
@click="handleDelete(scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table> </el-table>
</div>
</el-card>
</el-col>
</el-row>
<el-dialog
:title="title"
:visible.sync="open"
width="50%">
<el-form ref="form" :model="form" label-width="120px" :rules="rules">
<el-form-item label="客户编码" prop="appCode">
<span v-if="this.form.id !=null" style="font-size: 16px">{{form.appCode}}</span>
<el-select v-if="this.form.id == null" v-model="form.appCode" placeholder="请选择未入住的客户" style="width: 100%">
<el-option
v-for="item in appCodeList"
:key="item"
:label="item"
:value="item">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="客户名称" prop="appName">
<el-input v-model="form.appName"></el-input>
</el-form-item>
<el-form-item label="是否激活开通" prop="status">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in dict.type.sys_yes_no"
:key="dict.value"
:label="dict.value"
>{{ dict.label }}
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="详细描述">
<el-input v-model="form.appDesc" type="textarea"></el-input>
</el-form-item>
<el-form-item label="客户备注">
<editor v-model="form.remark" :min-height="192"/>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="open = false"> </el-button>
<el-button type="primary" @click="submitForm"> </el-button>
</span>
</el-dialog>
@ -191,57 +170,26 @@
<script> <script>
//jsjsjson, //jsjsjson,
//import from ', //import from ',
import {selectList, customerAll, update, save, get, del, enable,disable} from "@/api/pay/customer"; import {selectSourceList} from "@/api/etl/switch";
import {selectSourceExport} from "@/api/etl/switch";
import {connectionTest} from "@/api/etl/switch";
import {insertAdd} from "@/api/etl/switch";
import {getInfo} from "@/api/etl/switch";
import { selectTaskList } from '@/api/task/task'
export default { export default {
name: "Customer",
dicts: ['sys_yes_no'],
//import使" //import使"
components: {}, components: {},
props: {}, props: {},
data() { data() {
//" //"
return { return {
// dialogFormVisible:false,
appCodeList:["cloud-1","cloud-2","cloud-3"], taskReq:{
//
title:"",
//
form:{
appName: "",
appCode: "",
appDesc: "",
status: "Y",
remark: ""
},
//
open:false,
switchValue:true,
//
showSearch: true,
//
queryParams: {
appName: "",
appCode: "",
status: "Y"
},
rules: {
appCode: [
{required: true, message: "请选择客户编码", trigger: "change"}
],
appName: [
{required: true, message: "客户名称不能为空", trigger: "blur"}
],
status: [
{required: true, message: "请选择客户是否开通", trigger: "blur"}
]
}, },
// taskList:[],
customerList:[],
}; };
}, },
// data", // data",
@ -250,97 +198,25 @@ export default {
watch: {}, watch: {},
//", //",
methods: { methods: {
/** 客户状态更改触发 */ findSelectTaskList(){
handleStatusChange(row){ selectTaskList(this.taskReq).then(res=>{
console.log(row) console.log(res.data);
if (row.status === "Y"){ this.taskList=res.data;
enable(row.id).then((res)=>{ console.log(this.taskList);
this.$modal.msgSuccess("启用成功")
this.getList()
}) })
}else {
disable(row.id).then((res)=>{
this.$modal.msgSuccess("禁用成功")
this.getList()
})
}
}, },
/** 新增按钮操作 */ insertAdd(){
handleAdd() {
this.reset();
this.open = true;
this.title = "添加支付单客户信息";
},
/** 删除按钮操作*/
handleDelete(orderCustomerId) {
del(orderCustomerId).then((res)=>{
this.$modal.msgSuccess("删除成功")
this.getList()
})
},
/** 修改按钮操作 */
handleUpdate(orderCustomerId) {
this.reset();
get(orderCustomerId).then((res)=>{
this.form=res.data
this.open = true;
this.title = "修改支付单客户信息";
})
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.getList();
},
//
getList(){
selectList(this.queryParams).then((res)=>{
this.customerList=res.data
})
},
reset() {
this.form = {
"appName": "",
"appCode": "",
"appDesc": "",
"status": "Y",
"remark": ""
};
this.resetForm("form");
this.appCodeList = [];
customerAll().then((res)=>{
this.appCodeList = res.data
})
}, },
/** 提交按钮 */ handleSelectionChange(row){
submitForm: function () {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id !== undefined) {
update(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
save(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
}, },
},
// - 访this", // - 访this",
created() { created() {
this.getList() this.findSelectTaskList();
}, },
// - 访DOM", // - 访DOM",
mounted() { mounted() {
@ -363,8 +239,4 @@ export default {
</script> </script>
<style scoped> <style scoped>
.el-card{
margin: 10px 0;
}
</style> </style>