WeiRan 2024-08-28 08:21:24 +08:00
commit fc430b37a9
28 changed files with 1783 additions and 49 deletions

View File

@ -12,7 +12,6 @@
"preview": "node build/index.js --preview",
"lint": "eslint --ext .js,.vue src"
},
"husky": {
"hooks": {
"pre-commit": "lint-staged"
@ -38,6 +37,7 @@
"url": "https://gitee.com/y_project/MuYu-Cloud.git"
},
"dependencies": {
"@antv/x6": "^2.18.1",
"@riophae/vue-treeselect": "0.4.0",
"axios": "0.24.0",
"clipboard": "2.0.8",
@ -50,19 +50,19 @@
"js-beautify": "1.13.0",
"js-cookie": "3.0.1",
"jsencrypt": "3.0.0-rc.1",
"lodash": "4.17.15",
"nprogress": "0.2.0",
"quill": "1.3.7",
"screenfull": "5.0.2",
"sortablejs": "1.10.2",
"vue": "2.6.12",
"vue-codemirror": "^4.0.6",
"vue-count-to": "1.0.13",
"vue-cropper": "0.5.5",
"vue-meta": "2.4.0",
"vue-router": "3.4.9",
"vuedraggable": "2.24.3",
"vuex": "3.6.0",
"lodash": "4.17.15",
"vue-codemirror": "^4.0.6"
"vuex": "3.6.0"
},
"devDependencies": {
"@vue/cli-plugin-babel": "4.4.6",

View File

@ -1,17 +1,18 @@
import request from "@/utils/request";
export function showTask() {
export function showTask(params) {
return request({
url: '/integration/task/selectAll',
method: 'get',
params
})
}
export function addTask(params) {
export function addTask(data) {
return request({
url: '/integration/task/addTask',
method: 'post',
params
data
})
}

View File

@ -0,0 +1,9 @@
import request from "@/utils/request";
export function selectList(data){
return request({
url:"/market/orders/list",
method: "POST",
data: data
})
}

View File

@ -0,0 +1,9 @@
import request from '@/utils/request'
export function getConnectList(data) {
return request({
url: '/property/dataSource/dataName',
method: 'post',
data: data
})
}

View File

@ -0,0 +1,9 @@
import request from '@/utils/request'
export function getConnectList(data) {
return request({
url: '/property/connect/selectConnect',
method: 'post',
data: data
})
}

View File

@ -0,0 +1,9 @@
import request from '@/utils/request'
export function getSelectList(data) {
return request({
url: '/property/dataSource/dataName',
method: 'post',
data: data
})
}

View File

@ -0,0 +1,49 @@
import request from '@/utils/request'
export function getConnectList(data) {
return request({
url: '/property/connect/selectConnect',
method: 'post',
data: data
})
}
export function insertConnectList(data) {
return request({
url: '/property/connect/add',
method: 'post',
data: data
})
}
export function updConnectList(data) {
return request({
url: '/property/connect/upd',
method: 'put',
data: data
})
}
export function textHandleClick(data) {
return request({
url: '/property/connect/text',
method: 'post',
data: data
})
}
export function delHandleClick(data) {
return request({
url: '/property/connect/del/'+data,
method: 'Delete',
data: data
})
}
export function selectHandleClick(data) {
return request({
url: '/property/tableField/list',
method: 'post',
data: data
})
}

View File

@ -2,8 +2,38 @@ import request from '@/utils/request'
export function getList(data) {
return request({
url: '/rule/ruleData/list',
url: '/cloud-rule/ruleData/list',
method: 'post',
data: data
})
}
export function save(data) {
return request({
url: '/cloud-rule/ruleData/add',
method: 'post',
data: data
})
}
export function update(data) {
return request({
url: `/cloud-rule/ruleData/upd/${data.ruleId}`,
method: 'put',
data: data
})
}
//获取单条
export function get(id){
return request({
url: "/cloud-rule/ruleData/"+id,
method : "GET",
})
}
//客户信息删除
export function del(ruleId){
return request({
url: `/cloud-rule/ruleData/del/${ruleId}`,
method : "DELETE",
})
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 509 KiB

After

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 137 KiB

After

Width:  |  Height:  |  Size: 789 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

View File

@ -25,10 +25,6 @@ export default {
required: true,
type: Number
},
page: {
type: Number,
default: 1
},
limit: {
type: Number,
default: 20

View File

@ -45,11 +45,7 @@ export const constantRoutes = [
component: () => import('@/views/login'),
hidden: true
},
{
path: '/easyFlow',
component: () => import('@/components/ef/panel'),
hidden: true
},
{
path: '/register',
component: () => import('@/views/register'),
@ -162,6 +158,20 @@ export const dynamicRoutes = [
}
]
},
{
path: '/rule/versions',
component: Layout,
hidden: true,
permissions: ['rule:versions:list'],
children: [
{
path: 'index/:ruleId(\\d+)',
component: () => import('@/views/rule/versions/index'),
name: 'Rule',
meta: {title: '规则维护', activeMenu: '/rule/versions'}
}
]
},
{
path: '/tool/gen-edit',
component: Layout,

View File

@ -1,6 +1,28 @@
<template>
<div>
<h1 style="color: #00afff" align="center">发布任务</h1>
<el-form :inline="true" :model="formInline" class="demo-form-inline">
<el-form-item label="任务名称">
<el-input v-model="formInline.name" placeholder="请输入任务名称"></el-input>
</el-form-item>
<el-form-item label="任务权重">
<el-select v-model="formInline.weight" placeholder="任务权重">
<el-option label="紧急" value="1"></el-option>
<el-option label="正常" value="2"></el-option>
</el-select>
</el-form-item>
<el-form-item label="任务执行状态">
<el-select v-model="formInline.processStatus" placeholder="任务执行状态">
<el-option label="待执行" value="1"></el-option>
<el-option label="已就绪" value="2"></el-option>
<el-option label="执行中" value="3"></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="onSubmit"></el-button>
</el-form-item>
</el-form>
<el-table :data="tableData" style="width: 100%">
<el-table-column label="编号" width="180">
<template slot-scope="scope">
@ -14,7 +36,8 @@
</el-table-column>
<el-table-column label="任务权重级别" width="180">
<template slot-scope="scope">
<span style="margin-left: 10px">{{ scope.row.weight }}</span>
<span style="margin-left: 10px" v-if="scope.row.weight == 1"></span>
<span style="margin-left: 10px" v-if="scope.row.weight == 2"></span>
</template>
</el-table-column>
<el-table-column label="任务执行状态" width="180">
@ -58,7 +81,8 @@
<template slot-scope="scope">
<el-button
size="mini"
@click="handleEdit(scope.$index, scope.row)">编辑</el-button>
@click="handleEdit(scope.$index, scope.row)">编辑节点</el-button>
<br>
<el-button
size="mini"
type="danger"
@ -78,12 +102,12 @@
<el-radio-button label="top">顶部对齐</el-radio-button>
</el-radio-group>
<div style="margin: 20px;"></div>
<el-form :label-position="labelPosition" label-width="80px" :model="formLabelAlign">
<el-form :label-position="labelPosition" label-width="80px" :model="task">
<el-form-item label="任务名称">
<el-input v-model="formLabelAlign.name"></el-input>
<el-input v-model="task.name"></el-input>
</el-form-item>
<el-form-item label="任务权重">
<el-input v-model="formLabelAlign.weight"></el-input>
<el-input v-model="task.weight"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
@ -108,10 +132,14 @@ export default {
//"
return {
formLabelAlign:{},
formInline:{
name : "",
weight : "",
processStatus : ""
},
task:{},
labelPosition: 'right',
tableData:[],
task:{},
dialogVisible: false
};
},
@ -121,6 +149,9 @@ export default {
watch: {},
//",
methods: {
onSubmit(){
this.getData()
},
toAdd(){
this.dialogVisible = true
},
@ -136,12 +167,13 @@ export default {
})
},
getData(){
showTask().then(res => {
showTask(this.formInline).then(res => {
this.tableData = res.data
})
},
handleEdit(index, row) {
console.log(index, row);
let url = `http://21.12.0.10/easyFlow`
window.open(url,"_blank")
},
handleDelete(index, row) {
console.log(index, row);

View File

@ -0,0 +1,236 @@
<template>
<div class="dashboard-container">
<p>选择节点</p>
<div class="antvBox">
<div class="menu-list">
<div v-for="item in moduleList" :key="item.id"
draggable="true"
@dragend="handleDragEnd($event, item)">
<img :src="item.image" alt="" />
<p>{{ item.name }}</p>
</div>
</div>
<div class="canvas-card">
<div id="container" />
</div>
</div>
</div>
</template>
<script>
import { Graph } from "@antv/x6";
export default {
name: "antvX6",
data() {
return {
moduleList: [
{
id: 1,
name: "节点1",
image: require("@/assets/img/1.png"),
},
{
id: 8,
name: "节点2",
image: require("@/assets/img/2.png"),
},
{
id: 2,
name: "节点3",
image: require("@/assets/img/3.png"),
},
{
id: 3,
name: "节点4",
image: require("@/assets/img/4.png"),
},
],
graph: null
};
},
methods: {
//
handleDragEnd(e, item) {
console.log(e, item); //
this.addHandleNode(
e.pageX - 500,
e.pageY - 200,
new Date().getTime(),
item.image,
item.name
);
},
initGraph() {
const container = document.getElementById("container");
this.graph = new Graph({
container: container, //
width: container.offsetWidth, //
height: container.offsetHeight, //
background: false, //
snapline: true, // 线
// 线
connecting: {
snap: true, //
allowBlank: false, //
allowMulti: true, //
allowLoop: true, // 线
highlight: true, //
highlighting: {
magnetAdsorbed: {
name: "stroke",
args: {
attrs: {
fill: "#5F95FF",
stroke: "#5F95FF",
},
},
},
},
router: {
//
name: "orth",
},
connector: {
//
name: "rounded",
args: {
radius: 8,
},
},
},
panning: {
enabled: false,
},
mousewheel: {
enabled: true, //
zoomAtMousePosition: true,
modifiers: "ctrl",
minScale: 0.5,
maxScale: 3,
},
grid: {
type: "dot",
size: 20, // 10px
visible: true, //
args: {
color: "#a0a0a0", // 线/
thickness: 2, // 线/
},
},
});
},
//
addHandleNode(x, y, id, image, name) {
this.graph.addNode({
id: id,
shape: "image", // 使 'rect'
x: x,
y: y,
width: 60,
height: 60,
imageUrl: image,
attrs: {
body: {
stroke: "#ffa940",
fill: "#ffd591",
},
label: {
textWrap: {
width: 90,
text: name,
},
fill: "black",
fontSize: 12,
refX: 0.5,
refY: "100%",
refY2: 4,
textAnchor: "middle",
textVerticalAnchor: "top",
},
},
ports: {
groups: {
group1: {
position: [30, 30],
},
},
items: [
{
group: "group1",
id: "port1",
attrs: {
circle: {
r: 6,
magnet: true,
stroke: "#ffffff",
strokeWidth: 2,
fill: "#5F95FF",
},
},
},
],
},
zIndex: 10,
});
},
},
// - 访DOM",
mounted() {
this.initGraph()
},
};
</script>
<style lang="scss" scoped>
.dashboard-container {
.antvBox {
display: flex;
width: 100%;
height: 100%;
color: black;
padding-top: 20px;
.menu-list {
height: 100%;
width: 300px;
padding: 0 10px;
box-sizing: border-box;
display: flex;
justify-content: space-between;
align-content: flex-start;
flex-wrap: wrap;
> div {
margin-bottom: 10px;
border-radius: 5px;
padding: 0 10px;
box-sizing: border-box;
cursor: pointer;
color: black;
width: 105px;
display: flex;
flex-wrap: wrap;
justify-content: center;
img {
height: 50px;
width: 50px;
}
P {
width: 90px;
text-align: center;
}
}
}
.canvas-card {
width: 1700px;
height: 750px;
box-sizing: border-box;
> div {
width: 1400px;
height: 750px;
border: 2px dashed #2149ce;
}
}
}
}
</style>

View File

@ -1,6 +1,7 @@
<template>
<div class="app-container home">
<iframe width="680" height="260" frameborder="0" scrolling="no" hspace="0" src="https://i.tianqi.com/?c=code&a=getcode&id=13&icon=1&py=pudong"/>
<iframe width="550" height="300" frameborder="0" scrolling="no" hspace="0" src=" https://www.beijing-time.org/"/>
</div>
</template>

View File

@ -0,0 +1,256 @@
<template>
<div>
<el-card class="box-card" style="width: 94%;transform: translateX(3%);margin-top: 30px">
<div slot="header" class="clearfix">
<span>筛选搜索</span>
<el-button style="float: right; padding: 3px 30px" type="text" @click="findShop"></el-button>
<el-button style="float: right; padding: 3px 10px" type="text" @click="chong"></el-button>
</div>
<div class="text item">
<el-form ref="form" :model="orders" label-width="100px">
<el-form-item>
输入搜索<el-input v-model="orders.shopName" placeholder="商品名称" style="width: 180px;margin-right: 50px"></el-input>
订单编号<el-input v-model="orders.shopNum" placeholder="编号" style="width: 180px;margin-right: 50px"></el-input>
订单分类<el-cascader
placeholder="请选择"
v-model="typeId"
:options="type"
:props=Cascader
@change="shopTypeId(orders.typeId)" clearable
></el-cascader>
<el-select v-model="orders.brandId" placeholder="请选择商品" style="margin-right: 30px" clearable>
<el-option v-for="item in dict.type.pms_shop_brandid" :label="item.label" :value="item.value" :key="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item>
订单状态<el-select v-model="orders.publishStatus" placeholder="请选择上架状态" style="margin-right: 30px" clearable>
<el-option v-for="item in dict.type.pms_shop_publiststatus" :label="item.label" :value="item.value" :key="item.value"></el-option>
</el-select>
审核状态<el-select v-model="orders.verifyStatus" placeholder="请选择审核状态" style="margin-right: 30px" clearable>
<el-option v-for="item in dict.type.pms_shop_verifystatus" :label="item.label" :value="item.value" :key="item.value"></el-option>
</el-select>
</el-form-item>
</el-form>
</div>
</el-card>
<el-card class="box-card" style="width: 94%;transform: translateX(3%);margin-top: 10px">
<div slot="header" class="clearfix">
<span>数据列表</span>
<button @click="add" style="float: right; padding: 3px 10px" type="text">添加</button>
</div>
<el-table :data="arr" style="width: 100%" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column label="日期" width="120" align="center">
<template slot-scope="scope">
<span style="margin-left: 10px">{{ scope.row.ordersLaunchdate }}</span>
</template>
</el-table-column>
<el-table-column label="购买信息">
<el-table-column label="订单编号" width="150" align="center">
<template slot-scope="scope">
<span style="margin-left: 10px">订单编号: {{ scope.row.ordersNum }}</span>
</template>
</el-table-column>
<el-table-column label="订单所属人" width="120" align="center">
<template slot-scope="scope">
<span style="margin-left: 10px">{{ scope.row.userName }}</span>
</template>
</el-table-column>
<el-table-column label="购买详情">
<el-table-column prop="province" label="购买接口" width="120" align="center">
<template slot-scope="scope">
<span style="margin-left: 10px">{{ scope.row.productName }}</span>
</template>
</el-table-column>
<el-table-column label="订单金额" width="150" align="center">
<template slot-scope="scope">
<span style="margin-left: 10px">{{ scope.row.ordersPrice }}</span>
</template>
</el-table-column>
<el-table-column label="订单规格" width="300" align="center">
<template slot-scope="scope">
<span style="margin-left: 10px">{{ scope.row.ordersSpecification }}</span>
</template>
</el-table-column>
<el-table-column label="订单款项状态" width="150" align="center">
<template slot-scope="scope">
<span style="margin-left: 10px" v-if="scope.row.ordersState==0"></span>
<span style="margin-left: 10px" v-if="scope.row.ordersState==1"></span>
<span style="margin-left: 10px" v-if="scope.row.ordersState==2"></span>
<span style="margin-left: 10px" v-if="scope.row.ordersState==4">(退)</span>
<span style="margin-left: 10px" v-if="scope.row.ordersState==5">退</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center">
<template slot-scope="scope">
<el-button
size="mini"
@click="handleEdit(scope.row)">编辑</el-button>
<el-button
size="mini"
type="danger"
@click="handleDelete(scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table-column>
</el-table-column>
</el-table>
</el-card>
<el-pagination style="float: right"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="orders.pageNum"
:page-sizes="[2, 4, 6, 8]"
:page-size="orders.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="orders.total">
</el-pagination>
</div>
</template>
<script>
import {selectList, update } from '@/api/market/orders'
import {handleDelete} from "@/api/market/product";
import { diGui } from "@/api/market/orders";
//jsjsjson,
//import from ',
export default {
dicts:['pms_shop_typeid','pms_shop_publiststatus','pms_shop_brandid','pms_shop_verifystatus'],
//import使"
components: {},
props: {},
data() {
//"
return {
orders:{
pageNum:1,
pageSize:10,
total:1,
typeId:0
},
arr:[],
type:[],
Cascader:{ expandTrigger:'hover',value:'id',label:'typeName',children:'parentPOS' },
typeId:[]
};
},
// data",
computed: {},
//data",
watch: {},
//",
methods: {
//
shopTypeId(){
for (let i = 0; i < this.typeId.length; i++) {
this.orders.typeId=this.typeId[i]
}
},
/**递归*/
diGui(){
diGui(this.orders.typeId).then(
res => {
this.type=res.data
}
)
},
//
handleDelete(orders){
handleDelete(orders.id).then(
res => {
this.$message.success(res.msg)
this.selectList()
}
)
},
//
chong(){
this.orders={}
this.selectList()
},
//
handleSizeChange(val) {
this.orders.pageSize=val
this.selectList()
},
handleCurrentChange(val) {
this.orders.pageNum=val
this.selectList()
},
//
updateShop(orders){
update(orders).then(
res => {
this.$message.success(res.msg)
this.selectList()
}
)
},
//
handleEdit(orders){
if (this.orders.serviceIds && typeof this.orders.serviceIds === 'string') {
orders.serviceid = this.orders.serviceIds.split(',');
// ...
}
console.log(JSON.stringify(orders))
orders.serviceid=orders.serviceIds.split(',').map(id => parseInt(id, 10));
console.log(JSON.stringify(orders))
this.$router.push({path:'/product/info/update',query:{orders:orders}})
},
//
findShop(){
this.selectList()
},
//
add(){
this.$router.push('index')
},
//
handleSelectionChange(val) {
this.multipleSelection = val;
},
//
selectList(){
selectList(this.orders).then(
res => {
console.log(res)
this.arr=res.data.list
this.orders.total=res.data.total
}
)
}
},
// - 访this",
created() {
this.diGui()
this.selectList()
},
// - 访DOM",
mounted() {
},
beforeCreate() {
}, // - ",
beforeMount() {
}, // - ",
beforeUpdate() {
}, // - ",
updated() {
}, // - ",
beforeDestroy() {
}, // - ",
destroyed() {
}, // - ",
activated() {
} //keep-alive",
};
</script>
<style scoped>
</style>

View File

@ -0,0 +1,109 @@
<template>
<div>
<!-- 步骤条 -->
<el-steps :space="200" :active="active" finish-status="success" style=" width:80%;transform: translateX(30%);margin-top: 30px">
<el-step title="填写商品信息"></el-step>
<el-step title="填写商品促销"></el-step>
<el-step title="填写商品属性"></el-step>
<el-step title="选择商品关联"></el-step>
</el-steps>
<el-card class="box-card" style="width: 94%;transform: translateX(3%);margin-top: 30px">
<el-table :data="arr" style="width: 100%" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column label="编号" width="80" align="center">
<template slot-scope="scope">
<span style="margin-left: 10px">{{ scope.row.id }}</span>
</template>
</el-table-column>
<el-table-column label="商品图片" width="150" align="center">
<template slot-scope="scope">
<img :src="scope.row.picImg" alt="图片损坏">
</template>
</el-table-column>
<el-table-column label="商品名称" width="400" align="center">
<template slot-scope="scope">
<span style="margin-left: 10px">{{ scope.row.shopName }}</span>
<br>
品牌<span style="margin-left: 10px">{{ scope.row.brandName }}</span>
</template>
</el-table-column>
<el-table-column label="货号" width="150" align="center">
<template slot-scope="scope">
<span style="margin-left: 10px">货号{{ scope.row.shopNum }}</span>
</template>
</el-table-column>
<el-table-column label="标签" width="150" align="center">
<template slot-scope="scope">
上架
<el-switch
v-model="scope.row.publishStatus"
@change="updateShop(scope.row)"
active-color="#409EFF"
inactive-color="#C0CCDA"
:active-value="1"
:inactive-value="0">
</el-switch>
<br>
新品
<el-switch
v-model="scope.row.newStatus"
@change="updateShop(scope.row)"
active-color="#409EFF"
inactive-color="#C0CCDA"
:active-value="1"
:inactive-value="0">
</el-switch>
<br>
推荐
<el-switch
v-model="scope.row.recommandStatus"
@change="updateShop(scope.row)"
active-color="#409EFF"
inactive-color="#C0CCDA"
:active-value="1"
:inactive-value="0">
</el-switch>
<br>
</template>
</el-table-column>
<el-table-column label="排序" width="150" align="center">
<template slot-scope="scope">
<span style="margin-left: 10px">{{ scope.row.sort }}</span>
</template>
</el-table-column>
<el-table-column label="销量" width="150" align="center">
<template slot-scope="scope">
<span style="margin-left: 10px">{{ scope.row.sale }}</span>
</template>
</el-table-column>
<el-table-column label="审核状态" width="150" align="center">
<template slot-scope="scope">
<span style="margin-left: 10px" v-if="scope.row.verifyStatus==0"></span>
<span style="margin-left: 10px" v-if="scope.row.verifyStatus==1"></span>
</template>
</el-table-column>
<el-table-column label="操作" align="center">
<template slot-scope="scope">
<el-button
size="mini"
@click="handleEdit(scope.row)">编辑</el-button>
<el-button
size="mini"
type="danger"
@click="handleDelete(scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>
</el-card>
</div>
</template>
<script>
</script>

View File

@ -0,0 +1,82 @@
<template>
<div>
<el-container>
<el-aside width="200px">Aside</el-aside>
<el-container>
<el-header>Header</el-header>
<el-main>Main</el-main>
<el-footer>Footer</el-footer>
</el-container>
</el-container>
</div>
</template>
<style>
.el-header, .el-footer {
background-color: #a1a1a1;
color: #a1a1a1;
text-align: center;
line-height: 680px;
}
.el-aside {
background-color: #ffffff;
color: #606060;
text-align: center;
line-height: 500px;
}
.el-main {
background-color: #a1a1a1;
color: #a1a1a1;
text-align: center;
line-height: 680px;
}
</style>
<script>
//jsjsjson,
//import from ',
export default {
//import使"
components: {},
props: {},
data() {
//"
return {}
},
// data",
computed: {},
//data",
watch: {},
//",
methods: {},
// - 访this",
created() {
},
// - 访DOM",
mounted() {
},
beforeCreate() {
}, // - ",
beforeMount() {
}, // - ",
beforeUpdate() {
}, // - ",
updated() {
}, // - ",
beforeDestroy() {
}, // - ",
destroyed() {
}, // - ",
activated() {
} //keep-alive",
}
</script>
<style scoped>
</style>

View File

@ -0,0 +1,82 @@
<template>
<div>
<el-container>
<el-aside width="200px">Aside</el-aside>
<el-container>
<el-header>Header</el-header>
<el-main>Main</el-main>
<el-footer>Footer</el-footer>
</el-container>
</el-container>
</div>
</template>
<style>
.el-header, .el-footer {
background-color: #a1a1a1;
color: #a1a1a1;
text-align: center;
line-height: 680px;
}
.el-aside {
background-color: #ffffff;
color: #606060;
text-align: center;
line-height: 500px;
}
.el-main {
background-color: #a1a1a1;
color: #a1a1a1;
text-align: center;
line-height: 680px;
}
</style>
<script>
//jsjsjson,
//import from ',
export default {
//import使"
components: {},
props: {},
data() {
//"
return {}
},
// data",
computed: {},
//data",
watch: {},
//",
methods: {},
// - 访this",
created() {
},
// - 访DOM",
mounted() {
},
beforeCreate() {
}, // - ",
beforeMount() {
}, // - ",
beforeUpdate() {
}, // - ",
updated() {
}, // - ",
beforeDestroy() {
}, // - ",
destroyed() {
}, // - ",
activated() {
} //keep-alive",
}
</script>
<style scoped>
</style>

View File

@ -0,0 +1,109 @@
<template>
<div>
<el-container>
<el-aside width="300px">
<el-tree :data="dataName" :props="defaultProps" @node-click="handleNodeClick"></el-tree>
<el-select v-model="dataName" placeholder="请选择">
<el-option
v-for="item in dataName"
:value="item.value">
</el-option>
</el-select>
</el-aside>
<el-container>
<el-header>Header</el-header>
<el-main>Main</el-main>
<el-footer>Footer</el-footer>
</el-container>
</el-container>
</div>
</template>
<style>
.el-header, .el-footer {
background-color: #a1a1a1;
color: #a1a1a1;
text-align: center;
line-height: 680px;
}
.el-aside {
background-color: #ffffff;
color: #606060;
text-align: center;
line-height: 500px;
}
.el-main {
background-color: #a1a1a1;
color: #a1a1a1;
text-align: center;
line-height: 680px;
}
</style>
<script>
//jsjsjson,
//import from ',
import { getSelectList } from '@/api/property/astr'
export default {
//import使"
components: {},
props: {},
data() {
//"
return {
dataName:[],
defaultProps: {
children: 'children',
label: 'label'
}
}
},
// data",
computed: {},
//data",
watch: {
},
//",
methods: {
getSelectList(){
getSelectList().then(res=>{
console.log(res.data)
this.dataName=res.data
})
},
},
// - 访this",
created() {
this.getSelectList()
},
// - 访DOM",
mounted() {
},
beforeCreate() {
}, // - ",
beforeMount() {
}, // - ",
beforeUpdate() {
}, // - ",
updated() {
}, // - ",
beforeDestroy() {
}, // - ",
destroyed() {
}, // - ",
activated() {
} //keep-alive",
}
</script>
<style scoped>
</style>

View File

@ -0,0 +1,473 @@
<template>
<div>
<el-form ref="form" :model="connectDTO" label-width="130px" :inline="true">
<el-form-item label="接入源名称:">
<el-input v-model="connectDTO.accSourName" style="width: 300px;"></el-input>
</el-form-item>
<el-form-item label="数据来源系统名称:">
<el-input v-model="connectDTO.dataSourSystemName" style="width: 300px;"></el-input>
</el-form-item>
<el-form-item label="数据接入类型:">
<el-input v-model="connectDTO.dataAccType" style="width: 300px;"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="selectConnectList"></el-button>
<el-button>取消</el-button>
</el-form-item>
</el-form>
<el-button type="primary" @click="insertConnectList" plain>添加</el-button>
<el-button type="danger" plain>删除</el-button>
<el-button type="warning" plain>导出</el-button>
<template>
<el-table
ref="multipleTable"
:data="connect"
tooltip-effect="dark"
:style="{width: tableWidth}"
@selection-change="handleSelectionChange">
<el-table-column
type="selection"
>
</el-table-column>
<el-table-column
label="接入源名称">
<template slot-scope="scope">{{ scope.row.accSourName }}</template>
</el-table-column>
<el-table-column
label="数据来源系统名称">
<template slot-scope="scope">{{ scope.row.dataSourSystemName }}</template>
</el-table-column>
<el-table-column
label="ip地址">
<template slot-scope="scope">{{ scope.row.ipAddress }}</template>
</el-table-column>
<el-table-column
label="端口号地址">
<template slot-scope="scope">{{ scope.row.port }}</template>
</el-table-column>
<el-table-column
label="数据接入类型">
<template slot-scope="scope">{{ scope.row.dataAccType }}</template>
</el-table-column>
<el-table-column
label="数据库名称">
<template slot-scope="scope">{{ scope.row.databaseName }}</template>
</el-table-column>
<el-table-column
label="是否初始化">
<template slot-scope="scope">
<el-tag v-if="scope.row.initialization==='Y'" type="success"></el-tag>
<el-tag v-if="scope.row.initialization==='N'" type="danger"></el-tag>
</template>
</el-table-column>
<el-table-column
label="备注">
<template slot-scope="scope">{{ scope.row.notes }}</template>
</el-table-column>
<el-table-column
label="操作">
<template slot-scope="scope">
<el-button @click="selectHandleClick(scope.row)" type="text" size="small">同步资产结构</el-button>
<el-button @click="textHandleClick(scope.row)" type="text" size="small">测试</el-button>
<el-button @click="updHandleClick(scope.row)" type="text" size="small">修改</el-button>
<el-button @click="delHandleClick(scope.row)" type="text" size="small">删除</el-button>
</template>
</el-table-column>
</el-table>
<!-- 修改-->
<el-dialog title="修改配置参数" :visible.sync="updDialogFormVisible" width="1100px">
<el-form :model="connectDTO" :inline="true" :label-width="formLabelWidth">
<el-form-item label="ID" style="display: none;">
<el-input v-model="connectDTO.id" autocomplete="off" placeholder="Id"></el-input>
</el-form-item>
<el-card class="box-card">
<div slot="header" class="clearfix">
<span>基本配置信息</span>
</div>
<div class="text item" :label-width="formLabelWidth">
<el-form-item label="接入源名称">
<el-input v-model="connectDTO.accSourName" autocomplete="off" placeholder="请输入接入源名称"></el-input>
</el-form-item>
<el-form-item label="数据来源系统名称" label-width="125px">
<el-input v-model="connectDTO.dataSourSystemName" autocomplete="off" placeholder="请输入数据来源系统"></el-input>
</el-form-item>
<el-form-item label="ip地址">
<el-input v-model="connectDTO.ipAddress" autocomplete="off" placeholder="请输入IP地址"></el-input>
</el-form-item>
<el-form-item label="端口号地址">
<el-input v-model="connectDTO.port" autocomplete="off" placeholder="请输入端口号地址"></el-input>
</el-form-item>
<el-form-item label="数据接入类型" label-width="110px">
<template>
<el-select v-model="connectDTO.dataAccType" placeholder="请选择" label-width="100px">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</template>
<!-- <el-input v-model="connectDTO.name" autocomplete="off" placeholder="请输入数据接入类型"></el-input>-->
</el-form-item>
<el-form-item label="数据库名称">
<el-input v-model="connectDTO.databaseName" autocomplete="off" placeholder="请输入数据库名称"></el-input>
</el-form-item>
<el-form-item label="数据库用户">
<el-input v-model="connectDTO.userName" autocomplete="off" placeholder="数据库用户"></el-input>
</el-form-item>
<el-form-item label="数据库密码" label-width="125px">
<el-input v-model="connectDTO.password" autocomplete="off" placeholder="数据库密码"></el-input>
</el-form-item>
<el-card class="box-card">
<div slot="header" class="clearfix">
<span>数据连接参数</span>
</div>
<div class="text item" >
<el-form-item label="数据连接参数">
<el-input v-model="connectDTO.dataConnParam" autocomplete="off" placeholder="请输入数据连接参数" style="width: 990px;"></el-input>
</el-form-item>
</div>
</el-card>
</div>
</el-card>
<el-card class="box-card" style="margin-top: 20px;">
<div slot="header" class="clearfix">
<span>连接池配置</span>
</div>
<div class="text item" >
<el-form-item label="初始连接数量">
<el-input v-model="connectDTO.initSize" autocomplete="off" placeholder="请输入数据连接参数" style="width: 350px;"></el-input>
</el-form-item>
<el-form-item label="最大连接数量">
<el-input v-model="connectDTO.maxNumConn" autocomplete="off" placeholder="请输入数据连接参数" style="width: 350px;"></el-input>
</el-form-item>
<el-form-item label="最大等待时间">
<el-input v-model="connectDTO.maxWaitTime" autocomplete="off" placeholder="请输入数据连接参数" style="width: 350px;"></el-input>
</el-form-item>
<el-form-item label="最大等待次数">
<el-input v-model="connectDTO.maxWaitTimes" autocomplete="off" placeholder="请输入数据连接参数" style="width: 350px;"></el-input>
</el-form-item>
</div>
</el-card>
<el-card class="box-card" style="margin-top: 20px;">
<div slot="header" class="clearfix">
<span>其他信息</span>
</div>
<div class="text item" >
<el-form-item label="是否初始化" :label-width="formLabelWidth">
<el-radio v-model="connectDTO.initialization" label="Y"></el-radio>
<el-radio v-model="connectDTO.initialization" label="N"></el-radio>
</el-form-item>
<el-form-item label="备注" :label-width="formLabelWidth">
<el-input
type="textarea"
:rows="2"
:cole="1000"
placeholder="请输入内容"
v-model="connectDTO.notes" style="width: 850px;">
</el-input>
</el-form-item>
</div>
</el-card>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="updDialogFormVisible = false"> </el-button>
<el-button type="primary" @click="updsDialogFormVisible"> </el-button>
</div>
</el-dialog>
<!-- Form -->
<!--添加-->
<el-dialog title="添加配置参数" :visible.sync="addDialogFormVisible" width="1100px">
<el-form :model="connectDTO" :inline="true" :label-width="formLabelWidth">
<el-card class="box-card">
<div slot="header" class="clearfix">
<span>基本配置信息</span>
</div>
<div class="text item" :label-width="formLabelWidth">
<el-form-item label="接入源名称">
<el-input v-model="connectDTO.accSourName" autocomplete="off" placeholder="请输入接入源名称"></el-input>
</el-form-item>
<el-form-item label="数据来源系统名称" label-width="125px">
<el-input v-model="connectDTO.dataSourSystemName" autocomplete="off" placeholder="请输入数据来源系统"></el-input>
</el-form-item>
<el-form-item label="ip地址">
<el-input v-model="connectDTO.ipAddress" autocomplete="off" placeholder="请输入IP地址"></el-input>
</el-form-item>
<el-form-item label="端口号地址">
<el-input v-model="connectDTO.port" autocomplete="off" placeholder="请输入端口号地址"></el-input>
</el-form-item>
<el-form-item label="数据接入类型" label-width="110px">
<template>
<el-select v-model="connectDTO.dataAccType" placeholder="请选择" label-width="100px">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</template>
<!-- <el-input v-model="connectDTO.name" autocomplete="off" placeholder="请输入数据接入类型"></el-input>-->
</el-form-item>
<el-form-item label="数据库名称">
<el-input v-model="connectDTO.databaseName" autocomplete="off" placeholder="请输入数据库名称"></el-input>
</el-form-item>
<el-form-item label="数据库用户">
<el-input v-model="connectDTO.userName" autocomplete="off" placeholder="数据库用户"></el-input>
</el-form-item>
<el-form-item label="数据库密码" label-width="125px">
<el-input v-model="connectDTO.password" autocomplete="off" placeholder="数据库密码"></el-input>
</el-form-item>
<el-card class="box-card">
<div slot="header" class="clearfix">
<span>数据连接参数</span>
</div>
<div class="text item" >
<el-form-item label="数据连接参数">
<el-input v-model="connectDTO.dataConnParam" autocomplete="off" placeholder="请输入数据连接参数" style="width: 990px;"></el-input>
</el-form-item>
</div>
</el-card>
</div>
</el-card>
<el-card class="box-card" style="margin-top: 20px;">
<div slot="header" class="clearfix">
<span>连接池配置</span>
</div>
<div class="text item" >
<el-form-item label="初始连接数量">
<el-input v-model="connectDTO.initSize" autocomplete="off" placeholder="请输入数据连接参数" style="width: 350px;"></el-input>
</el-form-item>
<el-form-item label="最大连接数量">
<el-input v-model="connectDTO.maxNumConn" autocomplete="off" placeholder="请输入数据连接参数" style="width: 350px;"></el-input>
</el-form-item>
<el-form-item label="最大等待时间">
<el-input v-model="connectDTO.maxWaitTime" autocomplete="off" placeholder="请输入数据连接参数" style="width: 350px;"></el-input>
</el-form-item>
<el-form-item label="最大等待次数">
<el-input v-model="connectDTO.maxWaitTimes" autocomplete="off" placeholder="请输入数据连接参数" style="width: 350px;"></el-input>
</el-form-item>
</div>
</el-card>
<el-card class="box-card" style="margin-top: 20px;">
<div slot="header" class="clearfix">
<span>其他信息</span>
</div>
<div class="text item" >
<el-form-item label="是否初始化" :label-width="formLabelWidth">
<el-radio v-model="connectDTO.initialization" label="Y"></el-radio>
<el-radio v-model="connectDTO.initialization" label="N"></el-radio>
</el-form-item>
<el-form-item label="备注" :label-width="formLabelWidth">
<el-input
type="textarea"
:rows="2"
:cole="1000"
placeholder="请输入内容"
v-model="connectDTO.notes" style="width: 850px;">
</el-input>
</el-form-item>
</div>
</el-card>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="addDialogFormVisible = false"> </el-button>
<el-button type="primary" @click="addsDialogFormVisible"> </el-button>
</div>
</el-dialog>
</template>
</div>
</template>
<script>
//jsjsjson,
//import from ',
import {
delHandleClick,
getConnectList,
insertConnectList, selectHandleClick,
textHandleClick,
updConnectList
} from '@/api/property/property'
export default {
//import使"
components: {},
props: {},
data() {
//"
return {
connectDTO:{
maxWaitTimes: 3,
maxWaitTime: 3000,
maxNumConn: 20,
initSize: 5,
dataConnParam:'useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior'
},
connect:[],
tableWidth: '100%',
multipleSelection: [],
addDialogFormVisible: false,
updDialogFormVisible: false,
formLabelWidth:'100px',
options: [{
value: 'Mysql',
label: 'Mysql'
}, {
value: 'Oracle',
label: 'Oracle'
}],
}
},
// data",
computed: {},
//data",
watch: {},
//",
methods: {
selectHandleClick(row){
selectHandleClick(row).then(res=>{
console.log(res.data)
this.$message.success(res.msg)
})
},
delHandleClick(row){
delHandleClick(row.id).then(res=>{
this.$message.success(res.msg)
this.getConnectList()
})
},
textHandleClick(row){
textHandleClick(row).then(res=>{
this.$message.success(res.msg)
})
},
updHandleClick(row){
console.log(row)
this.connectDTO=row
this.updDialogFormVisible=true
},
updsDialogFormVisible(){
updConnectList(this.connectDTO).then(res=>{
this.updDialogFormVisible=false
this.$message.success(res.msg)
this.getConnectList()
})
},
insertConnectList(){
this.addDialogFormVisible=true
},
addsDialogFormVisible(){
insertConnectList(this.connectDTO).then(res=>{
this.addDialogFormVisible=false
this.$message.success(res.msg)
this.getConnectList()
})
},
handleSelectionChange(val) {
this.multipleSelection = val;
},
getConnectList(){
getConnectList(this.connectDTO).then(res=>{
this.connect=res.data
})
},
selectConnectList(){
this.getConnectList();
},
mounted() {
window.addEventListener('resize', this.handleResize);
},
beforeDestroy() {
window.removeEventListener('resize', this.handleResize);
},
handleResize() {
//
this.tableWidth = window.innerWidth < 768 ? '100%' : '80%';
}
},
// - 访this",
created() {
this.getConnectList();
},
// - 访DOM",
mounted() {
},
beforeCreate() {
}, // - ",
beforeMount() {
}, // - ",
beforeUpdate() {
}, // - ",
updated() {
}, // - ",
beforeDestroy() {
}, // - ",
destroyed() {
}, // - ",
activated() {
} //keep-alive",
}
</script>
<style scoped>
</style>

View File

@ -40,15 +40,15 @@
/>
</el-select>
</el-form-item>
<el-form-item label="规则状态" prop="status">
<el-form-item label="规则状态" prop="ruleStatus">
<el-select
v-model="queryParams.status"
v-model="queryParams.ruleStatus"
clearable
placeholder="规则状态"
style="width: 240px"
>
<el-option
v-for="dict in dict.type.sys_rule_type"
v-for="dict in dict.type.sys_rule_status"
:key="dict.value"
:label="dict.label"
:value="dict.value"
@ -61,49 +61,167 @@
</el-form-item>
</el-form>
<el-table v-loading="loading" :data="ruleList" @selection-change="handleSelectionChange">
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
v-hasPermi="['system:role:add']"
icon="el-icon-plus"
plain
size="mini"
type="primary"
@click="handleAdd"
>新增
</el-button>
</el-col>
<!-- <el-col :span="1.5">-->
<!-- <el-button-->
<!-- v-hasPermi="['system:role:export']"-->
<!-- icon="el-icon-download"-->
<!-- plain-->
<!-- size="mini"-->
<!-- type="warning"-->
<!-- @click="handleExport"-->
<!-- >导出-->
<!-- </el-button>-->
<!-- </el-col>-->
<right-toolbar :showSearch.sync="showSearch" @queryTable="showList"></right-toolbar>
</el-row>
<el-table :data="ruleList" @selection-change="handleSelectionChange">
<el-table-column align="center" type="selection" width="55"/>
<el-table-column label="规则编号" prop="roleId" width="120"/>
<el-table-column :show-overflow-tooltip="true" label="规则名称" prop="roleName" width="150"/>
<el-table-column :show-overflow-tooltip="true" label="规则类型" prop="ruleType" width="150"/>
<el-table-column :show-overflow-tooltip="true" label="规则作用域" prop="ruleRegion" width="150"/>
<el-table-column label="规则编号" prop="id" width="120"/>
<el-table-column :show-overflow-tooltip="true" label="规则名称" prop="ruleName" width="150"/>
<el-table-column :show-overflow-tooltip="true" label="规则类型" prop="ruleType" width="150">
<template slot-scope="scope">
<el-tag v-if="scope.row.ruleType==='Z'" type="success"></el-tag>
<el-tag v-if="scope.row.ruleType==='M'" type="primary"></el-tag>
</template>
</el-table-column>
<el-table-column :show-overflow-tooltip="true" label="规则作用域" prop="ruleRegion" width="150">
<template slot-scope="scope">
<el-tag v-if="scope.row.ruleRegion==='F'"></el-tag>
<el-tag v-if="scope.row.ruleRegion==='R'" type="info"></el-tag>
<el-tag v-if="scope.row.ruleRegion==='C'" type="warning"> </el-tag>
</template>
</el-table-column>
<el-table-column :show-overflow-tooltip="true" label="引擎编码" prop="ruleCoding" width="150"/>
<el-table-column :show-overflow-tooltip="true" label="激活状态" prop="ruleActivate" width="150"/>
<el-table-column :show-overflow-tooltip="true" label="规则状态" prop="ruleStatus" width="150"/>
<el-table-column :show-overflow-tooltip="true" label="激活状态" prop="ruleActivate" width="150">
<template slot-scope="scope">
<el-tag v-if="scope.row.ruleActivate==='S'" type="success"></el-tag>
<el-tag v-if="scope.row.ruleActivate==='U'" type="danger"></el-tag>
</template>
</el-table-column>
<el-table-column :show-overflow-tooltip="true" label="规则状态" prop="ruleStatus" width="150">
<template slot-scope="scope">
<el-tag v-if="scope.row.ruleStatus==='Y'" type="success"></el-tag>
<el-tag v-if="scope.row.ruleStatus==='N'" type="info"></el-tag>
</template>
</el-table-column>
<el-table-column align="center" class-name="small-padding fixed-width" label="操作">
<template v-if="scope.row.roleId !== 1" slot-scope="scope">
<template slot-scope="scope">
<el-button
v-hasPermi="['system:role:edit']"
v-hasPermi="['system:rule:versions']"
icon="el-icon-s-platform"
size="mini"
type="text">
<router-link :to="'/rule/versions/index/' + scope.row.id" class="link-type">
<span>规则维护</span>
</router-link>
</el-button>
<el-button
v-hasPermi="['system:rule:edit']"
icon="el-icon-edit"
size="mini"
type="text"
@click="handleUpdate(scope.row)"
@click="handleUpdate(scope.row.id)"
>修改
</el-button>
<el-button
v-hasPermi="['system:role:remove']"
v-hasPermi="['system:rule:remove']"
icon="el-icon-delete"
size="mini"
type="text"
@click="handleDelete(scope.row)"
@click="handleDelete(scope.row.id)"
>删除
</el-button>
</template>
</el-table-column>
</el-table>
<!-- 添加或修改角色配置对话框 -->
<el-dialog :title="title" :visible.sync="open" append-to-body width="1000px">
<el-form ref="form" :model="form" :rules="rules" label-width="100px" :inline="true">
<el-form-item label="规则名称" prop="ruleName" >
<el-input v-model="form.ruleName" placeholder="请输入规则名称"/>
</el-form-item>
<el-form-item label="引擎编码" prop="ruleCoding">
<el-input v-model="form.ruleCoding" placeholder="请输入引擎编码"/>
</el-form-item>
<el-form-item label="规则类型" prop="ruleType">
<el-select
v-model="form.ruleType"
clearable
placeholder="规则类型"
style="width: 193px"
>
<el-option
v-for="dict in dict.type.sys_rule_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="规则作用域" prop="ruleRegion">
<el-select
v-model="form.ruleRegion"
clearable
placeholder="规则作用域"
style="width: 193px"
>
<el-option
v-for="dict in dict.type.sys_rule_region"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="激活状态" prop="ruleActivate">
<el-radio-group v-model="form.ruleActivate" v-for="dict in dict.type.sys_rule_activate" >
<el-radio-button :label='(dict.value)' style="width: 96px">{{ dict.label }}</el-radio-button>
</el-radio-group>
</el-form-item>
<el-form-item label="规则状态" prop="ruleStatus">
<el-radio-group v-model="form.ruleStatus" v-for="dict in dict.type.sys_rule_status">
<el-radio-button :label='(dict.value)'style="width: 86px">{{ dict.label }}</el-radio-button>
</el-radio-group>
</el-form-item>
<el-form-item label="内容">
<editor v-model="form.ruleDescribe" :min-height="192"/>
</el-form-item>
<el-form-item label="备注">
<el-input v-model="form.remark" placeholder="请输入内容" type="textarea" style="width: 840px"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
//jsjsjson,
//import from ',
import { getList } from '@/api/rule/maintain'
import { getList, save, update, get, del} from '@/api/rule/maintain'
export default {
//import使"
name:"Maintain",
dicts:['sys_rule_type','sys_rule_region','sys_rule_activate'],
dicts:['sys_rule_type','sys_rule_status','sys_rule_activate','sys_rule_region'],
components: {},
props: {},
data() {
@ -121,7 +239,7 @@ export default {
ruleStatus:undefined,
},
//
loading: true,
// loading: true,
//
ids: [],
//
@ -130,6 +248,21 @@ export default {
multiple: true,
//
ruleList: [],
//
open: false,
//
title: "",
//
form: {},
//
rules: {
ruleName: [
{required: true, message: "规则名称不能为空", trigger: "blur"}
],
ruleCoding: [
{required: true, message: "引擎编码不能为空", trigger: "blur"}
],
}
};
},
// data",
@ -145,21 +278,72 @@ export default {
this.multiple = !selection.length
},
showList(){
getList().then(response => {
getList(this.queryParams).then(response => {
this.ruleList = response.data
})
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
this.showList();
},
/** 重置按钮操作 */
resetQuery() {
this.dateRange = [];
this.resetForm("queryForm");
this.handleQuery();
},
//
reset() {
this.resetForm("form");
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加规则";
},
/** 修改按钮操作 */
handleUpdate(id) {
this.reset();
get(id).then(response => {
// TODO
this.form = response.data;
this.open = true;
this.title = "修改支付单客户信息";
})
},
/** 提交按钮 */
submitForm: function () {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.ruleId !== undefined) {
update(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.showList();
});
} else {
save(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.showList();
});
}
}
});
},
//
cancel() {
this.open = false;
this.reset();
},
/** 删除按钮操作 */
handleDelete(id){
del(id).then(response => {
this.$modal.msgSuccess("删除成功");
this.showList();
})
},
},
// - 访this",
created() {

View File

@ -0,0 +1,48 @@
<template>
<div>
<h1></h1>
</div>
</template>
<script>
//jsjsjson,
//import from ',
export default {
//import使"
components: {},
props: {},
data() {
//"
return {};
},
// data",
computed: {},
//data",
watch: {},
//",
methods: {},
// - 访this",
created() {
},
// - 访DOM",
mounted() {
},
beforeCreate() {
}, // - ",
beforeMount() {
}, // - ",
beforeUpdate() {
}, // - ",
updated() {
}, // - ",
beforeDestroy() {
}, // - ",
destroyed() {
}, // - ",
activated() {
} //keep-alive",
};
</script>
<style scoped>
</style>

View File

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