Merge remote-tracking branch 'origin/master'

master
chaiyapeng 2024-08-29 21:55:54 +08:00
commit f9b8d7b482
11 changed files with 1090 additions and 217 deletions

View File

@ -9,9 +9,7 @@ export function selectEngineList(data){
}) })
} }
//添加规则数据
export function insert(data){ export function insert(data){
return request({ return request({
url: "/engine/engine/insert", url: "/engine/engine/insert",
@ -20,6 +18,7 @@ export function insert(data){
}) })
} }
//修改规则数据
export function update(data){ export function update(data){
return request({ return request({
url: "/engine/engine/update", url: "/engine/engine/update",
@ -28,8 +27,7 @@ export function update(data){
}) })
} }
//通过id删除数据
export function del(id){ export function del(id){
return request({ return request({
url: "/engine/engine/delete/" + id, url: "/engine/engine/delete/" + id,
@ -38,7 +36,6 @@ export function del(id){
}) })
} }
//开启 //开启
export function onEngine(id){ export function onEngine(id){
return request({ return request({
@ -48,7 +45,6 @@ export function onEngine(id){
}) })
} }
//禁用 //禁用
export function forbiddenEngine(id){ export function forbiddenEngine(id){
return request({ return request({
@ -58,6 +54,7 @@ export function forbiddenEngine(id){
}) })
} }
//查看等级列表信息
export function selectLevel(){ export function selectLevel(){
return request({ return request({
url: "/engine/level/selectLevelList", url: "/engine/level/selectLevelList",
@ -73,7 +70,6 @@ export function getRuleEngineInfo(id) {
}) })
} }
// 通过id查询 // 通过id查询
export function findById(id) { export function findById(id) {
return request({ return request({
@ -82,4 +78,13 @@ export function findById(id) {
}) })
} }
//通过id删除数据
export function dels(id) {
return request({
url: '/engine/engine/delete/' + id,
method: 'post',
data: id
})
}

View File

@ -8,6 +8,7 @@ export function list(){
}) })
} }
//添加类型数据
export function insert(data){ export function insert(data){
return request({ return request({
url: "/engine/type/add", url: "/engine/type/add",
@ -16,6 +17,7 @@ export function insert(data){
}) })
} }
//修改类型数据
export function update(data){ export function update(data){
return request({ return request({
url: "/engine/type/update", url: "/engine/type/update",
@ -24,6 +26,7 @@ export function update(data){
}) })
} }
//删除类型数据
export function del(id){ export function del(id){
return request({ return request({
url: "/engine/type/delete/" + id, url: "/engine/type/delete/" + id,
@ -32,6 +35,7 @@ export function del(id){
}) })
} }
//导出类型数据
export function exports(data){ export function exports(data){
return request({ return request({
url: "/engine/type/export", url: "/engine/type/export",

View File

@ -9,9 +9,7 @@ export function list(data){
}) })
} }
//添加规则引擎版本数据
export function insert(data){ export function insert(data){
return request({ return request({
url: "/engine/version/insert", url: "/engine/version/insert",
@ -20,16 +18,7 @@ export function insert(data){
}) })
} }
// export function update(data){ //删除规则引擎版本信息
// return request({
// url: "/engine/engine/update",
// method: "post",
// data:data
// })
// }
export function del(id){ export function del(id){
return request({ return request({
url: "/engine/version/delete/" + id, url: "/engine/version/delete/" + id,
@ -38,7 +27,7 @@ export function del(id){
}) })
} }
//查看等级列表
export function selectLevel(){ export function selectLevel(){
return request({ return request({
url: "/engine/level/selectLevelList", url: "/engine/level/selectLevelList",

View File

@ -1,366 +1,677 @@
<template> <template>
<div> <div>
<el-form label-width="80px" :model="engineReq" :inline="true" class="demo-form-inline" size="small"> <el-form label-width="80px" :model="engineReq" :inline="true" class="demo-form-inline" size="small">
<el-form-item label="规则名称"> <el-form-item label="规则名称">
<el-input v-model="engineReq.name"></el-input> <el-input v-model="engineReq.name"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="规则类型"> <el-form-item label="规则类型">
<el-select v-model="engineReq.type" placeholder="请选择类型"> <el-select v-model="engineReq.type" placeholder="请选择类型">
<el-option label="字段类型" value="1"></el-option> <el-option label="字段类型" value="1"></el-option>
<el-option label="基本类型" value="2"></el-option> <el-option label="基本类型" value="2"></el-option>
<el-option label="引用类型" value="3"></el-option> <el-option label="引用类型" value="3"></el-option>
<el-option label="时间类型" value="4"></el-option> <el-option label="时间类型" value="4"></el-option>
<el-option label="转换类型" value="5"></el-option> <el-option label="转换类型" value="5"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="是否激活"> <el-form-item label="是否激活">
<el-select v-model="engineReq.isActivate" placeholder="是否激活"> <el-select v-model="engineReq.isActivate" placeholder="是否激活">
<el-option label="已激活" value="1"></el-option> <el-option label="已激活" value="1"></el-option>
<el-option label="未激活" value="2"></el-option> <el-option label="未激活" value="2"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="规则状态"> <el-form-item label="规则状态">
<el-select v-model="engineReq.status" placeholder="规则状态"> <el-select v-model="engineReq.status" placeholder="规则状态">
<el-option label="开启" value="1"></el-option> <el-option label="开启" value="1"></el-option>
<el-option label="关闭" value="2"></el-option> <el-option label="关闭" value="2"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-button @click="select()"> <el-button @click="select()">
查询 查询
</el-button> </el-button>
<el-button @click="clears()"> <el-button @click="clears()">
重置 重置
</el-button> </el-button>
</el-form> </el-form>
<el-button
type="warning" <el-button type="warning" plain icon="el-icon-download" size="mini" @click="findSelectSourceExport"
plain v-hasPermi="['source:data:export']">导出
icon="el-icon-download"
size="mini"
@click="findSelectSourceExport"
v-hasPermi="['source:data:export']"
>导出
</el-button> </el-button>
<!-- 添加按钮 /--> <!-- 添加按钮 /-->
<el-button <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd" v-hasPermi="['source:data:add']">
type="primary" 新增
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['source:data:add']"
>新增
</el-button> </el-button>
<!-- 添加或修改规则引擎对话框 --> <!-- 添加或修改规则引擎对话框 -->
<el-dialog :title="title" :visible.sync="open" width="80%" append-to-body> <el-dialog :title="title" :visible.sync="open" width="80%" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="规则名称" prop="name"> <el-form-item label="规则名称" prop="name">
<el-input v-model="form.name" placeholder="请输入规则名称"/> <el-input v-model="form.name" placeholder="请输入规则名称"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="规则编码" prop="engineCode"> <el-form-item label="规则编码" prop="engineCode">
<el-input v-model="form.engineCode" placeholder="请输入规则编码"/> <el-input v-model="form.engineCode" placeholder="请输入规则编码"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="规则类型" prop="type"> <el-form-item label="规则类型" prop="type">
<el-select v-model="form.type" placeholder="请选择规则类型" style="width: 100%"> <el-select v-model="form.type" placeholder="请选择规则类型" style="width: 100%">
<el-option <el-option
v-for="dict in dict.type.rule_engine_type" v-for="dict in dict.type.rule_engine_type"
:key="dict.value" :key="dict.value"
:label="dict.label" :label="dict.label"
:value="Number(dict.value)" :value="Number(dict.value)"
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="规则级别" prop="scope"> <el-form-item label="规则级别" prop="scope">
<el-select v-model="form.scope" placeholder="请选择规则级别" style="width: 100%"> <el-select v-model="form.scope" placeholder="请选择规则级别" style="width: 100%">
<el-option <el-option
v-for="dict in dict.type.rule_engine_level" v-for="dict in dict.type.rule_engine_level"
:key="dict.value" :key="dict.value"
:label="dict.label" :label="dict.label"
:value="Number(dict.value)" :value="Number(dict.value)"
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="是否激活" prop="isActivate"> <el-form-item label="是否激活" prop="isActivate">
<el-radio-group v-model="form.isActivate"> <el-radio-group v-model="form.isActivate">
<el-radio <el-radio
v-for="dict in dict.type.rule_engine_activate_status" v-for="dict in dict.type.rule_engine_activate_status"
:key="dict.value" :key="dict.value"
:label="dict.value" :label="dict.value"
>{{ dict.label }} >{{ dict.label }}
</el-radio> </el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="规则状态" prop="status"> <el-form-item label="规则状态" prop="status">
<el-radio-group v-model="form.status"> <el-radio-group v-model="form.status">
<el-radio <el-radio
v-for="dict in dict.type.sys_normal_disable" v-for="dict in dict.type.sys_normal_disable"
:key="dict.value" :key="dict.value"
:label="dict.value" :label="dict.value"
>{{ dict.label }} >{{ dict.label }}
</el-radio> </el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="规则描述"> <el-form-item label="规则描述">
<editor v-model="form.description" :min-height="192"/> <editor v-model="form.description" :min-height="192"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="备注" prop="remark"> <el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容"/> <el-input v-model="form.remark" type="textarea" placeholder="请输入内容"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button> <el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button> <el-button @click="cancel"> </el-button>
</div> </div>
</el-dialog> </el-dialog>
<el-table :data="arr" style="width: 100%"> <el-table :data="arr" style="width: 100%">
<el-table-column label="编号" prop="id"></el-table-column> <el-table-column label="编号" prop="id"></el-table-column>
<el-table-column label="名称" prop="name"></el-table-column> <el-table-column label="名称" prop="name"></el-table-column>
<el-table-column label="类型" style="color: #13ce66" prop="type"> <el-table-column label="类型" style="color: #13ce66" prop="type">
<template v-slot="scope"> <template v-slot="scope">
<span v-if="scope.row.type==1"></span> <span v-if="scope.row.type==1"></span>
<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> <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">
<template v-slot="scope"> <template v-slot="scope">
<span v-if="scope.row.scope==1"></span> <span v-if="scope.row.scope==1"></span>
<span v-if="scope.row.scope==2"></span> <span v-if="scope.row.scope==2"></span>
<span v-if="scope.row.scope==3"></span> <span v-if="scope.row.scope==3"></span>
<span v-if="scope.row.scope==4"></span> <span v-if="scope.row.scope==4"></span>
<span v-if="scope.row.scope==5"></span> <span v-if="scope.row.scope==5"></span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="引擎编码" prop="engineCode"></el-table-column> <el-table-column label="引擎编码" prop="engineCode"></el-table-column>
<el-table-column label="是否激活" style="color: red" prop="isActivate"> <el-table-column label="是否激活" style="color: red" prop="isActivate">
<template v-slot="scope"> <template v-slot="scope">
<span v-if="scope.row.isActivate==1"></span> <span v-if="scope.row.isActivate==1"></span>
<span v-if="scope.row.isActivate==2"></span> <span v-if="scope.row.isActivate==2"></span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="状态" style="color: #787be8" prop="status"> <el-table-column label="状态" style="color: #787be8" prop="status">
<template v-slot="scope"> <template v-slot="scope">
<span v-if="scope.row.status==1"></span> <span v-if="scope.row.status==1"></span>
<span v-if="scope.row.status==2"></span> <span v-if="scope.row.status==2"></span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="描述" prop="description"></el-table-column> <el-table-column label="描述" prop="description"></el-table-column>
<el-table-column <el-table-column
align="right"> align="right">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button
icon="el-icon-delete"
size="mini"
type="text"
@click="handleDelete(scope.row.id)">删除</el-button>
<el-button
icon="el-icon-service"
size="mini"
type="text"
@click="handleUpdate(scope.row)">修改规则配置</el-button>
<el-button <el-button
icon="el-icon-service"
icon="el-icon-delete"
size="mini" size="mini"
type="text" type="text"
@click="engineRuleMaintenance(scope.row)">规则维护</el-button>
@click="handleDelete(scope.row.id)">删除
</el-button>
<el-button
icon="el-icon-service"
size="mini"
type="text"
@click="handleUpdate(scope.row)">修改规则配置
</el-button>
<el-button
icon="el-icon-service"
size="mini"
type="text"
@click="engineRuleMaintenance(scope.row)">规则维护
</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<!-- 分页--> <!-- 分页-->
<el-pagination <el-pagination
@size-change="handleSizeChange" @size-change="handleSizeChange"
@current-change="handleCurrentChange" @current-change="handleCurrentChange"
:current-page="engineReq.pageNum" :current-page="engineReq.pageNum"
:page-sizes="[1, 2, 3, 4, 5]" :page-sizes="[1, 2, 3, 4, 5]"
:page-size="engineReq.pageSize" :page-size="engineReq.pageSize"
layout="total, sizes, prev, pager, next, jumper" layout="total, sizes, prev, pager, next, jumper"
:total="total"> :total="total">
</el-pagination> </el-pagination>
</div> </div>
</template> </template>
<script> <script>
//jsjsjson, //jsjsjson,
import {del, insert, selectEngineList, update} from "@/api/engine/engine"; import {del, insert, selectEngineList, update} from "@/api/engine/engine";
export default { export default {
name: "maintenance", name: "maintenance",
dicts: ['rule_engine_activate_status', 'rule_engine_type', 'sys_normal_disable', 'rule_engine_level'], dicts: ['rule_engine_activate_status', 'rule_engine_type', 'sys_normal_disable', 'rule_engine_level'],
//import使" //import使"
components: {}, components: {},
props: {}, props: {},
data() { data() {
//" //"
return { return {
engineReq: { engineReq: {
pageNum: 1, pageNum: 1,
pageSize: 5 pageSize: 5
},
engine:{
}, },
engine: {},
title: "", title: "",
arr: [], arr: [],
dialogFormVisible: false, dialogFormVisible: false,
total: 0, total: 0,
form: {}, form: {},
open: false, open: false,
// //
rules: { rules: {
name: [ name: [
{required: true, message: "规则名称不能为空", trigger: "blur"} {required: true, message: "规则名称不能为空", trigger: "blur"}
], ],
type: [ type: [
{required: true, message: "规则类型不能为空", trigger: "change"} {required: true, message: "规则类型不能为空", trigger: "change"}
], ],
engineCode: [ engineCode: [
{required: true, message: "规则编码不能为空", trigger: "blur"} {required: true, message: "规则编码不能为空", trigger: "blur"}
], ],
isActivate: [ isActivate: [
{required: true, message: "是否激活不能为空", trigger: "change"} {required: true, message: "是否激活不能为空", trigger: "change"}
], ],
status: [ status: [
{required: true, message: "规则状态不能为空", trigger: "change"} {required: true, message: "规则状态不能为空", trigger: "change"}
], ],
createBy: [ createBy: [
{required: true, message: "创建者不能为空", trigger: "blur"} {required: true, message: "创建者不能为空", trigger: "blur"}
], ],
createTime: [ createTime: [
{required: true, message: "创建时间不能为空", trigger: "blur"} {required: true, message: "创建时间不能为空", trigger: "blur"}
], ],
} }
}; };
}, },
// data", // data",
computed: {}, computed: {},
//data", //data",
watch: {}, watch: {},
//", //",
methods: { methods: {
handleSizeChange(val) { handleSizeChange(val) {
console.log(`每页 ${val}`); console.log(`每页 ${val}`);
this.engineReq.pageSize = val; this.engineReq.pageSize = val;
this.findSelectSourceList(); this.findSelectSourceList();
}, },
handleCurrentChange(val) { handleCurrentChange(val) {
console.log(`当前页: ${val}`); console.log(`当前页: ${val}`);
this.engineReq.pageNum = val; this.engineReq.pageNum = val;
this.findSelectSourceList(); this.findSelectSourceList();
}, },
findSelectSourceList() { findSelectSourceList() {
selectEngineList(this.engineReq).then(res => { selectEngineList(this.engineReq).then(res => {
this.arr = res.data.list; this.arr = res.data.list;
this.total = res.data.total; this.total = res.data.total;
}) })
}, },
handleDelete(id) { handleDelete(id) {
if (confirm("是否删除这条数据?")) { if (confirm("是否删除这条数据?")) {
del(id).then(res => { del(id).then(res => {
// //
this.$message.success(res.msg || "删除成功") this.$message.success(res.msg || "删除成功")
}) })
} }
}, },
findSelectSourceExport() { findSelectSourceExport() {
this.download('engine/engine/export', { this.download('engine/engine/export', {
...this.engineReq ...this.engineReq
}, },
`source_${new Date().getTime()}.xlsx`) `source_${new Date().getTime()}.xlsx`)
}, },
select() { select() {
this.findSelectSourceList(); this.findSelectSourceList();
}, },
/** 新增按钮操作 */ /** 新增按钮操作 */
handleAdd() { handleAdd() {
// this.reset(); // this.reset();
this.open = true; this.open = true;
this.title = "添加规则引擎"; this.title = "添加规则引擎";
}, },
/** 修改按钮操作 */ /** 修改按钮操作 */
handleUpdate(row) { handleUpdate(row) {
// this.reset(); // this.reset();
this.form = row; this.form = row;
this.open = true; this.open = true;
this.title = "修改规则引擎"; this.title = "修改规则引擎";
}, },
/** 提交按钮 */ /** 提交按钮 */
submitForm() { submitForm() {
this.$refs["form"].validate(valid => { this.$refs["form"].validate(valid => {
if (valid) { if (valid) {
if (this.form.id != null) { if (this.form.id != null) {
update(this.form).then(response => { update(this.form).then(response => {
this.$modal.msgSuccess("修改成功"); this.$modal.msgSuccess("修改成功");
this.findSelectSourceList(); this.findSelectSourceList();
this.open = false; this.open = false;
}) })
} else { } else {
insert(this.form).then(response => { insert(this.form).then(response => {
this.$modal.msgSuccess("新增成功"); this.$modal.msgSuccess("新增成功");
this.findSelectSourceList(); this.findSelectSourceList();
this.open = false; this.open = false;
}) })
} }
} }
}); });
}, },
engineRuleMaintenance(row) { engineRuleMaintenance(row) {
this.$router.push({ this.$router.push({
path: 'list', path: 'list',
query: {id: row.id} query: {id: row.id}
}) })
}, },
clears() { clears() {
this.engineReq = { this.engineReq = {
name: '', name: '',
type: '', type: '',
isActivate: '', isActivate: '',
status: '' status: ''
}; };
} }
}, },
// - 访this", // - 访this",
created() { created() {
this.findSelectSourceList(); this.findSelectSourceList();
}, },
// - 访DOM", // - 访DOM",
mounted() { mounted() {
}, },
beforeCreate() { beforeCreate() {
}, // - ", }, // - ",
beforeMount() { beforeMount() {
}, // - ", }, // - ",

View File

@ -1,112 +1,375 @@
<template> <template>
<div> <div>
<el-row :gutter="10">
<el-col :span="8" v-for="customer in scopeList" v-if="scopeList.length !== 0">
<el-card class="box-card">
<div slot="header" class="clearfix">
<span style="font-size: 18px;font-weight: 900">{{ customer.name }}</span>
<span style="font-size: 18px;font-weight: 900">{{ customer.versionCode }}</span>
<span style="font-size: 18px;font-weight: 900">{{ customer.isActivate }}</span>
<span style="font-size: 18px;font-weight: 900">{{ customer.status }}</span>
<span style="font-size: 18px;font-weight: 900">{{ customer.testStatus }}</span>
<span style="font-size: 18px;font-weight: 900">{{ customer.ruleContent }}</span>
<span style="font-size: 18px;font-weight: 900">{{ customer.engineMaintenanceId }}</span>
<span style="font-size: 18px;font-weight: 900">{{ customer.description }}</span>
</div>
<div>
<el-descriptions class="margin-top" :column="1" :size="size" border>
<el-descriptions-item> <div style="height: 30px">
<template slot="label">
<i class="el-icon-user"></i>版本名称</template>
{{ customer.name }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
<i class="el-icon-user"></i>版本编码</template>
{{ customer.versionClass }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
<i class="el-icon-user"></i>是否激活</template>
{{ customer.versionCode }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
<i class="el-icon-user"></i>版本状态</template>
{{ customer.isActivate }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
<i class="el-icon-user"></i>版本测试状态</template>
{{ customer.status }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label">
<i class="el-icon-user"></i>规则内容</template>
{{ customer.testStatus }}
</el-descriptions-item><el-descriptions-item>
<template slot="label">
<i class="el-icon-user"></i>引擎维护编号</template>
{{ customer.ruleContent }}
</el-descriptions-item>
<el-descriptions-item> {{ maintenance.name }}<br>
<template slot="label"><i class="el-icon-user"></i>描述</template>
{{ customer.engineMaintenanceId }}
</el-descriptions-item>
</el-descriptions>
<el-divider content-position="left">规则引擎版本</el-divider>
</div>
</el-card>
</el-col>
</el-row>
</div> </div>
<div style="height: 50px">
规则名称:{{ maintenance.name }}<br>
规则类型:<span v-if="maintenance.type==1"></span>
<span v-if="maintenance.type==2"></span>
<span v-if="maintenance.type==3"></span>
<span v-if="maintenance.type==4"></span>
<span v-if="maintenance.type==5"></span><br>
作用域:<span v-if="maintenance.scope==1"></span>
<span v-if="maintenance.scope==2"></span>
<span v-if="maintenance.scope==3"></span>
<span v-if="maintenance.scope==4"></span>
<span v-if="maintenance.scope==5"></span><br>
引擎编码:{{ maintenance.engineCode }}<br>
是否激活:<span v-if="maintenance.isActivate==1"></span>
<span v-if="maintenance.isActivate==2"></span><br>
状态:<span v-if="maintenance.isActivate==1"></span>
<span v-if="maintenance.isActivate==2"></span>
<span v-if="maintenance.isActivate==3"></span>
<span v-if="maintenance.isActivate==4"></span>
<br>
<button @click="onEngine(maintenance.id)"></button>
</div>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<el-button type="text" @click="dialogFormVisible = true">新增</el-button>
<el-dialog title="收货地址" :visible.sync="dialogFormVisible">
<el-form :model="form">
<el-form-item label="名称" :label-width="formLabelWidth">
<el-input v-model="form.name" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="类型" :label-width="formLabelWidth">
<el-input v-model="form.type" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="作用域" :label-width="formLabelWidth">
<el-input v-model="form.scope" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="是否激活" :label-width="formLabelWidth">
<el-input v-model="form.isActivate" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="状态" :label-width="formLabelWidth">
<el-input v-model="form.status" autocomplete="off"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogFormVisible = false"> </el-button>
<el-button type="primary" @click=handleInsert()> </el-button>
</div>
</el-dialog>
<el-table :data="maintenance.engineMaintenanceList" style="width: 100%">
<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> </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" v-if="scope.row.type==1"></span>
<span style="margin-left: 10px" v-if="scope.row.type==2"></span>
<span style="margin-left: 10px" v-if="scope.row.type==3"></span>
<span style="margin-left: 10px" v-if="scope.row.type==4"></span>
<span style="margin-left: 10px" v-if="scope.row.type==5"></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" v-if="scope.row.scope==1"></span>
<span style="margin-left: 10px" v-if="scope.row.scope==2"></span>
<span style="margin-left: 10px" v-if="scope.row.scope==3"></span>
<span style="margin-left: 10px" v-if="scope.row.scope==4"></span>
<span style="margin-left: 10px" v-if="scope.row.scope==5"></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" v-if="scope.row.isActivate==1"></span>
<span style="margin-left: 10px" v-if="scope.row.isActivate==2"></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" 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==3"></span>
<span style="margin-left: 10px" v-if="scope.row.status==4"></span>
</template>
</el-table-column>
<el-table-column label="操作">
<template slot-scope="scope">
<el-button size="mini" type="danger" @click="del(scope.row.id)">
</el-button>
<el-button size="mini" type="danger" @click="onEngine(scope.row.id)">
</el-button>
<el-button size="mini" type="danger" @click="forbiddenEngine(scope.row.id)">
</el-button>
</template>
</el-table-column>
</el-table>
</div>
</template>
<script> <script>
import {findById, forbiddenEngine, onEngine} from "@/api/engine/engine"; import {dels, findById, onEngine} from "@/api/engine/engine";
import {insert} from "@/api/version/version";
export default { export default {
dicts: ['rule_engine_activate_status', 'rule_engine_type', 'sys_normal_disable', 'rule_engine_level'],
//import使" //import使"
components: {}, components: {},
props: {}, props: {},
data() { data() {
//" //"
return { return {
scopeList: [],
maintenance:{} direction: 'rtl',
}
maintenance: {
engineMaintenanceList: [],
}, },
title: "",
open: false,
handleClose: false,
form: {},
size: '',
dialogFormVisible: false,
formLabelWidth: '120px'
}
},
methods: { methods: {
List(){
findById(this.maintenance.id).then(res =>{ handleInsert() {
this.scopeList = res.data;
console.log(this.scopeList) this.maintenance = {}
this.dialogFormVisible = true
insert(this.maintenance).then(res => {
this.$modal.msgSuccess("新增成功")
}) })
}, this.dialogFormVisible = false
handleStatusChange(row){
if (row.status === "Y"){
onEngine(row.id).then((res)=>{
this.$modal.msgSuccess("启用成功")
this.getList()
})
}else {
forbiddenEngine(row.id).then((res)=>{
this.$modal.msgSuccess("禁用成功")
this.getList()
})
}
},
},
// - 访this",
created() {
this.maintenance.id = this.$route.query.id
this.List(); this.List();
},
onEngine(id) {
onEngine(id).then(res => {
this.$modal.msgSuccess("激活成功")
})
},
forbiddenEngine(id) {
onEngine(id).then(res => {
this.$modal.msgSuccess("禁用成功")
})
},
List() {
findById(this.maintenance.id).then(res => {
this.maintenance = res.data;
console.log(this.maintenance)
console.log(this.maintenance.engineMaintenanceList)
})
},
del(id) {
if (confirm("你确定删除吗?")) {
dels(id).then(res => {
this.$message.success(res.msg || "删除成功");
})
} }
}
},
// - 访this",
created() {
this.maintenance.id = this.$route.query.id
this.List();
}
} }
</script> </script>
<style scoped> <style scoped>
</style> </style>

View File

@ -0,0 +1,11 @@
<script setup>
</script>
<template>
</template>
<style scoped lang="scss">
</style>

View File

@ -2,9 +2,23 @@
<div style="padding: 20px;"> <div style="padding: 20px;">
<h1 style="text-align: center; margin-bottom: 30px;">充值明细</h1> <h1 style="text-align: center; margin-bottom: 30px;">充值明细</h1>
<el-divider></el-divider> <el-divider></el-divider>
<el-form ref="queryForm" :inline="true" :model="queryParams" size="small">
<el-form-item label="创建时间">
<el-date-picker
v-model="dateRange"
end-placeholder="结束日期"
range-separator="-"
start-placeholder="开始日期"
style="width: 240px"
type="daterange"
value-format="yyyy-MM-dd"
></el-date-picker>
</el-form-item>
<el-form-item>
<el-button icon="el-icon-search" size="mini" type="primary" @click="handleQuery"></el-button>
</el-form-item>
</el-form>
<el-row> <el-row>
<el-col :span="50"></el-col>
<el-col :span="5" :offset="15">
<el-button <el-button
v-hasPermi="['system:pay:export']" v-hasPermi="['system:pay:export']"
icon="el-icon-download" icon="el-icon-download"
@ -14,7 +28,6 @@
@click="handleExport" @click="handleExport"
>导出 >导出
</el-button> </el-button>
</el-col>
</el-row> </el-row>
<el-table <el-table
@ -79,6 +92,7 @@ export default {
components: {PanelGroup}, components: {PanelGroup},
data() { data() {
return { return {
dateRange: [],
listDate: [], listDate: [],
total: 0, total: 0,
queryParams: { queryParams: {
@ -91,6 +105,11 @@ export default {
this.getList(); this.getList();
}, },
methods: { methods: {
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 导出按钮操作 */ /** 导出按钮操作 */
handleExport() { handleExport() {
this.download('system/user/export', { this.download('system/user/export', {
@ -98,7 +117,7 @@ export default {
}, `pay_${new Date().getTime()}.xlsx`) }, `pay_${new Date().getTime()}.xlsx`)
}, },
getList() { getList() {
userPayinfo(this.addDateRange(this.queryParams)).then(response => { userPayinfo(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
this.listDate = response.data.rows; this.listDate = response.data.rows;
this.total = response.data.total; this.total = response.data.total;
} }

View File

@ -44,7 +44,7 @@ export default {
addSysUser: {}, addSysUser: {},
disabled: false, disabled: false,
// //
returnUrl:'http://localhost/money/money', returnUrl:'http://172.13.1.1//money/money',
// //
rechargeParams: { rechargeParams: {
"totalAmt": '', // "totalAmt": '', //

View File

@ -1,4 +1,5 @@
<template> <template>
<div> <div>
<!-- 添加或修改规则引擎对话框 --> <!-- 添加或修改规则引擎对话框 -->
@ -15,86 +16,140 @@
</el-form-item> </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 type="primary" @click="submitForm"> </el-button> <el-button type="primary" @click="submitForm"> </el-button>
</div> </div>
</el-dialog> </el-dialog>
<el-table :data="arr" style="width: 100%"> <el-table :data="arr" style="width: 100%">
<el-table-column label="类型编号" width="180"> <el-table-column label="类型编号" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<span style="margin-left: 10px">{{ scope.row.id }}</span> <span style="margin-left: 10px">{{ scope.row.id }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="类型名称" width="180"> <el-table-column label="类型名称" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<span style="margin-left: 10px">{{ scope.row.name }}</span> <span style="margin-left: 10px">{{ scope.row.name }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作"> <el-table-column label="操作">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button
size="mini" <el-button size="mini" type="danger" @click="handleDelete(scope.row.id)"></el-button>
type="danger"
@click="handleDelete(scope.row.id)">删除</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</div> </div>
</template> </template>
<script> <script>
import {del, insert, list} from "@/api/type/type"; import {del, insert, list} from "@/api/type/type";
export default { export default {
//import使" //import使"
components: {}, components: {},
props: {}, props: {},
data() { data() {
//" //"
return { return {
arr: [], arr: [],
type: {}, type: {},
rules: { rules: {
name: [{required: true, message: '请输入规则名称', trigger: 'blur'}] name: [{required: true, message: '请输入规则名称', trigger: 'blur'}]
}, },
dialogFormVisible: false, dialogFormVisible: false,
formLabelWidth: '120px' formLabelWidth: '120px'
}; };
}, },
methods: { methods: {
List() { List() {
list().then(res => { list().then(res => {
this.arr = res; this.arr = res;
}) })
}, },
handleDelete(id) { handleDelete(id) {
if (confirm("你确定删除吗?")) { if (confirm("你确定删除吗?")) {
del(id).then(res => { del(id).then(res => {
this.$message.success(res.msg || "删除成功") this.$message.success(res.msg || "删除成功")
}) })
} }
}, },
submitForm() { submitForm() {
this.dialogFormVisible = true this.dialogFormVisible = true
insert(this.type).then(res => { insert(this.type).then(res => {
this.$message.success(res.msg || "添加成功") this.$message.success(res.msg || "添加成功")
}) })
this.dialogFormVisible = false; this.dialogFormVisible = false;
} }
}, },
// - 访this", // - 访this",
created() { created() {
this.List(); this.List();
} }
} }
</script> </script>
<style scoped> <style scoped>

View File

@ -1,23 +1,35 @@
<template> <template>
<div> <div>
<!--条件查询--> <!--条件查询-->
<el-form :model="version"> <el-form :model="version">
<el-form-item label="版本编码" prop="pass"> <el-form-item label="版本编码" prop="pass">
<el-input type="text" v-model="version.versionCode" autocomplete="off"></el-input> <el-input type="text" v-model="version.versionCode" autocomplete="off"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="规则内容" prop="checkPass"> <el-form-item label="规则内容" prop="checkPass">
<el-input type="text" v-model="version.ruleContent" autocomplete="off"></el-input> <el-input type="text" v-model="version.ruleContent" autocomplete="off"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="引擎维护编号" prop="checkPass"> <el-form-item label="引擎维护编号" prop="checkPass">
<el-input type="text" v-model="version.engineMaintenanceId" autocomplete="off"></el-input> <el-input type="text" v-model="version.engineMaintenanceId" autocomplete="off"></el-input>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="submitForm"></el-button> <el-button type="primary" @click="submitForm"></el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
@ -29,183 +41,290 @@
<el-form :model="version"> <el-form :model="version">
<el-form-item label="版本类名" :label-width="formLabelWidth"> <el-form-item label="版本类名" :label-width="formLabelWidth">
<el-input v-model="version.versionClass" autocomplete="off"></el-input> <el-input v-model="version.versionClass" autocomplete="off"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="版本名称" :label-width="formLabelWidth"> <el-form-item label="版本名称" :label-width="formLabelWidth">
<el-input v-model="version.name" autocomplete="off"></el-input> <el-input v-model="version.name" autocomplete="off"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="版本编码" :label-width="formLabelWidth"> <el-form-item label="版本编码" :label-width="formLabelWidth">
<el-input v-model="version.versionCode" autocomplete="off"></el-input> <el-input v-model="version.versionCode" autocomplete="off"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="是否激活" :label-width="formLabelWidth"> <el-form-item label="是否激活" :label-width="formLabelWidth">
<el-input v-model="version.isActivate" autocomplete="off"></el-input> <el-input v-model="version.isActivate" autocomplete="off"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="版本状态" :label-width="formLabelWidth"> <el-form-item label="版本状态" :label-width="formLabelWidth">
<el-input v-model="version.status" autocomplete="off"></el-input> <el-input v-model="version.status" autocomplete="off"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="版本测试状态" :label-width="formLabelWidth"> <el-form-item label="版本测试状态" :label-width="formLabelWidth">
<el-input v-model="version.testStatus" autocomplete="off"></el-input> <el-input v-model="version.testStatus" autocomplete="off"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="规则内容" :label-width="formLabelWidth"> <el-form-item label="规则内容" :label-width="formLabelWidth">
<el-input v-model="version.ruleContent" autocomplete="off"></el-input> <el-input v-model="version.ruleContent" autocomplete="off"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="引擎维护编号" :label-width="formLabelWidth"> <el-form-item label="引擎维护编号" :label-width="formLabelWidth">
<el-input v-model="version.engineMaintenanceId" autocomplete="off"></el-input> <el-input v-model="version.engineMaintenanceId" autocomplete="off"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="描述" :label-width="formLabelWidth"> <el-form-item label="描述" :label-width="formLabelWidth">
<el-input v-model="version.description" autocomplete="off"></el-input> <el-input v-model="version.description" autocomplete="off"></el-input>
</el-form-item> </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 type="primary" @click="insert"> </el-button> <el-button type="primary" @click="insert"> </el-button>
</div> </div>
</el-dialog> </el-dialog>
<!-- 列表--> <!-- 列表-->
<el-table :data="arr" style="width: 100%"> <el-table :data="arr" style="width: 100%">
<el-table-column label="编号" width="180"> <el-table-column label="编号" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<span style="margin-left: 10px">{{ scope.row.id }}</span> <span style="margin-left: 10px">{{ scope.row.id }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="版本类名" width="180"> <el-table-column label="版本类名" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<span style="margin-left: 10px">{{ scope.row.versionClass }}</span> <span style="margin-left: 10px">{{ scope.row.versionClass }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="版本名称" width="180"> <el-table-column label="版本名称" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<span style="margin-left: 10px">{{ scope.row.name }}</span> <span style="margin-left: 10px">{{ scope.row.name }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="版本编码" width="180"> <el-table-column label="版本编码" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<span style="margin-left: 10px">{{ scope.row.versionCode }}</span> <span style="margin-left: 10px">{{ scope.row.versionCode }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="是否激活" width="180"> <el-table-column label="是否激活" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<span style="margin-left: 10px">{{ scope.row.isActivate }}</span> <span style="margin-left: 10px">{{ scope.row.isActivate }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="版本状态" width="180"> <el-table-column label="版本状态" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<span style="margin-left: 10px">{{ scope.row.status }}</span> <span style="margin-left: 10px">{{ scope.row.status }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="版本测试状态" width="180"> <el-table-column label="版本测试状态" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<span style="margin-left: 10px">{{ scope.row.testStatus }}</span> <span style="margin-left: 10px">{{ scope.row.testStatus }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="规则内容" width="180"> <el-table-column label="规则内容" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<span style="margin-left: 10px">{{ scope.row.ruleContent }}</span> <span style="margin-left: 10px">{{ scope.row.ruleContent }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="引擎维护编号" width="180"> <el-table-column label="引擎维护编号" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<span style="margin-left: 10px">{{ scope.row.engineMaintenanceId }}</span> <span style="margin-left: 10px">{{ scope.row.engineMaintenanceId }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="描述" width="180"> <el-table-column label="描述" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<span style="margin-left: 10px">{{ scope.row.description }}</span> <span style="margin-left: 10px">{{ scope.row.description }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作"> <el-table-column label="操作">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button
size="mini" <el-button size="mini" type="danger" @click="handleDelete(scope.row.id)">
type="danger"
@click="handleDelete(scope.row.id)">删除</el-button> </el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</div> </div>
</template> </template>
<script> <script>
import {list} from "@/api/version/version"; import {list} from "@/api/version/version";
import {del, insert} from "@/api/version/version"; import {del, insert} from "@/api/version/version";
export default { export default {
//import使" //import使"
components: {}, components: {},
props: {}, props: {},
data() { data() {
//" //"
return { return {
arr: [], arr: [],
version:{
version: {},
dialogFormVisible: false,
formLabelWidth: '120px'
};
}, },
dialogFormVisible:false,
formLabelWidth: '120px'
};
},
methods: { methods: {
List() { List() {
list(this.version).then(res => { list(this.version).then(res => {
this.arr = res.data; this.arr = res.data;
console.log(res) console.log(res)
console.log(this.arr) console.log(this.arr)
}) })
}, },
submitForm() { submitForm() {
this.List(); this.List();
}, },
insert() { insert() {
insert(this.version).then(res => { insert(this.version).then(res => {
this.$message.success("添加成功"); this.$message.success("添加成功");
}) })
this.dialogFormVisible = false; this.dialogFormVisible = false;
}, },
handleDelete(id) { handleDelete(id) {
if (confirm("你确定删除吗?")) { if (confirm("你确定删除吗?")) {
del(id).then(res => { del(id).then(res => {
this.$message.success(res.msg || "删除成功") this.$message.success(res.msg || "删除成功")
}) })
} }
} }
}, },
// - 访this", // - 访this",
created() { created() {
this.List(); this.List();
} }
} }
</script> </script>
<style scoped> <style scoped>

View File

@ -0,0 +1,97 @@
<template>
<div>
<div class="container">
<div class="card left-card">
<el-card style="margin-top: 50px;">
</el-card>
</div>
<div class="card right-card">
<el-card style="margin-top: 50px;">
<h3>账户余额</h3>
<h1>:{{ userBalanceData.userBalance || '加载中...' }}</h1>
</el-card>
</div>
</div>
<el-card style="margin-top: 50px;">
<h3>接口列表</h3>
<el-divider></el-divider>
<el-table :data="tableData">
<el-table-column label="">
<template slot-scope="scope">
<span style="margin-left: 10px">{{ scope.row.connectorName }}</span>
</template>
</el-table-column>
</el-table>
</el-card>
</div>
</template>
<script>
import {userBalance} from "@/api/system/user";
import {getInfo} from '@/api/login'
import {findConnectorList} from "@/api/port/port";
export default {
name: 'Cards',
data() {
return {
form:{},
tableData:[],
userBalanceData: {
userBalance: '加载中...',
},
}
},
created() {
this.fetchUserBalance();
this.findConnectorList();
},
methods: {
findConnectorList(){
findConnectorList(this.form).then((res)=>{
this.tableData=res.data;
})
},
async fetchUserBalance() {
try {
const userId = localStorage.getItem('userId');
console.log(userId)// userIdlocalStorage
if (!userId) {
this.userBalanceData = { userBalance: '未登录' };
return;
}
const response = await userBalance(userId);
if (response.data ) {
console.log(response.data)
this.userBalanceData.userBalance = response.data;
} else {
this.userBalanceData.userBalance = { userBalance: '获取失败' };
}
} catch (error) {
this.userBalanceData = { userBalance: '获取失败' };
console.error('Error fetching user balance:', error);
}
},
}
};
</script>
<style scoped>
.container {
display: flex;
}
.card {
width: 50%;
padding: 20px;
box-sizing: border-box;
}
.left-card {
background-color: #f1f1f1;
}
.right-card {
background-color: #e1e1e1;
}
</style>