Compare commits

...

22 Commits

Author SHA1 Message Date
张腾 a5180d05f3 更新流程 2024-08-29 15:31:54 +08:00
niuwu666 b059c1a1ba Merge pull request '更新流程' (#3) from dev into master
Reviewed-on: #3
2024-08-29 01:07:58 +08:00
Yueng 00576f6cff fine:()前台代码路径修改 2024-08-28 22:27:05 +08:00
Aaaaaaaa 42c2bad152 ok 2024-08-28 19:58:49 +08:00
Aaaaaaaa bf16d4b3bd ok 2024-08-28 19:55:28 +08:00
WeiRan fc430b37a9 Merge branch 'master' of https://gitea.qinmian.online/a_bazu/cloud-web 2024-08-28 08:21:24 +08:00
WeiRan cf1669ce85 初步实现企业模块 2024-08-28 01:04:30 +08:00
Yueng 072a31abf7 fine:()前台代码 2024-08-27 21:59:24 +08:00
Aaaaaaaa 2587a2cad9 ok 2024-08-27 20:04:10 +08:00
Aaaaaaaa a62d49e078 ok 2024-08-27 15:26:26 +08:00
niuwu666 0907d1c436 Merge pull request 'dev' (#2) from dev into master
Reviewed-on: #2
2024-08-27 11:10:24 +08:00
Aaaaaaaa 4d46564065 orders订单 2024-08-26 22:00:08 +08:00
Yueng 6144a9390a fine:()前台代码列表添加 2024-08-26 21:50:54 +08:00
yuan c98f8abb8f Merge branch 'yuan' 2024-08-26 15:00:22 +08:00
yuan 7e40c87ab1 feat():完成引擎维护页面,配置规则维护路由 2024-08-26 14:59:20 +08:00
WeiRan d1ff7bacc5 完成产品模块 2024-08-26 14:01:09 +08:00
yuan 485da0047f Merge remote-tracking branch 'origin/master' 2024-08-25 20:26:25 +08:00
yuan c4183106e5 feat():规则维护页面 2024-08-25 20:26:16 +08:00
WeiRan 772fbd7b6d 接口调用 2024-08-25 19:56:23 +08:00
yuan fb6dd79f27 feat():添加规则菜单 2024-08-25 14:13:07 +08:00
WeiRan e9c679800f 更新 2024-08-25 10:40:14 +08:00
niuwu666 11f2d2845a Merge pull request 'dev' (#1) from dev into master
Reviewed-on: #1
2024-08-24 20:56:12 +08:00
31 changed files with 2988 additions and 10 deletions

View File

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

View File

@ -0,0 +1,17 @@
import request from "@/utils/request";
export function selectcompanyList(data){
return request({
url:"/background/company/list",
method: "POST",
data: data
})
}
export function selectcompanystatus(data){
return request({
url:"/background/company/companystatus",
method: "POST",
data: data
})
}

View File

@ -0,0 +1,10 @@
import request from "@/utils/request";
export function selectmyapiList(data){
return request({
url:"/market/myapi/list",
method: "POST",
data: 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,19 @@
import request from "@/utils/request";
export function selectList(data){
return request({
url:"/market/product/list",
method: "POST",
data: data
})
}
export function selectTypeList(data){
return request({
url:"/market/product/typeList",
method: "POST",
data: data
})
}

View File

@ -0,0 +1,8 @@
import request from "@/utils/request";
export function gethostportList(){
return request({
url:"/market/product/hotspotlist",
method: "GET",
})
}

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/dataRunName/addDataTableName',
method: 'post',
data: data
})
}

View File

@ -0,0 +1,39 @@
import request from '@/utils/request'
export function getList(data) {
return request({
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",
})
}

View File

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

View File

@ -91,7 +91,31 @@ export const constantRoutes = [
meta: {title: '个人中心', icon: 'user'}
}
]
}
},
{
path: '/apitest',
component: Layout,
children: [
{
path: 'index',
name: 'apitest',
component: () => import('@/views/market/apitest/index.vue'),
meta: { title: 'API文档', icon: 'form' }
}
]
},
{
path: '/authentication',
component: Layout,
children: [
{
path: 'index',
name: 'authentication',
component: () => import('@/views/market/authentication/index.vue'),
meta: { title: '实名认证', icon: 'form' }
}
]
},
]
// 动态路由,基于用户权限动态去加载
@ -138,6 +162,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

@ -17,7 +17,7 @@ const service = axios.create({
// axios中请求配置有baseURL选项表示请求URL公共部分
baseURL: process.env.VUE_APP_BASE_API,
// 超时
timeout: 10000
timeout: 20000
})
// request拦截器

View File

@ -0,0 +1,241 @@
<template>
<div>
<span>企业管理/待审核企业</span>
<el-container style="height: 500px; border: 1px solid #eee">
<el-aside width="200px" style="background-color: rgb(238, 241, 246)">
<span @click="choseall()"></span>
<div v-for="(companyStatus,index1) in companystatusList" :key="index1">
<span @click="chosetype(index1)" v-if="companyStatus==0"></span>
<span @click="chosetype(index1)" v-if="companyStatus==1"></span>
<span @click="chosetype(index1)" v-if="companyStatus==2"></span>
</div>
</el-aside>
<el-container>
<el-main>
<!--企业审核列表-->
<el-table
:data="tableData"
style="width: 100%">
<el-table-column
label="序号"
width="180">
<template slot-scope="scope">
<el-popover trigger="hover" placement="top">
<div slot="reference" class="name-wrapper">
<el-tag size="medium">{{ scope.row.companyId }}</el-tag>
</div>
</el-popover>
</template>
</el-table-column>
<el-table-column
label="注册人姓名"
width="180">
<template slot-scope="scope">
<el-popover trigger="hover" placement="top">
<div slot="reference" class="name-wrapper">
<el-tag size="medium">{{ scope.row.registrantName }}</el-tag>
</div>
</el-popover>
</template>
</el-table-column>
<el-table-column
label="注册人手机号码"
width="180">
<template slot-scope="scope">
<el-popover trigger="hover" placement="top">
<div slot="reference" class="name-wrapper">
<el-tag size="medium">{{ scope.row.registrantPhone }}</el-tag>
</div>
</el-popover>
</template>
</el-table-column>
<el-table-column
label="职位"
width="180">
<template slot-scope="scope">
<el-popover trigger="hover" placement="top">
<div slot="reference" class="name-wrapper">
<el-tag size="medium">{{ scope.row.registrantPosition }}</el-tag>
</div>
</el-popover>
</template>
</el-table-column>
<el-table-column
label="公司名称"
width="180">
<template slot-scope="scope">
<el-popover trigger="hover" placement="top">
<div slot="reference" class="name-wrapper">
<el-tag size="medium">{{ scope.row.companyName }}</el-tag>
</div>
</el-popover>
</template>
</el-table-column>
<el-table-column
label="地址"
width="180">
<template slot-scope="scope">
<el-popover trigger="hover" placement="top">
<div slot="reference" class="name-wrapper">
<el-tag size="medium">{{ scope.row.companyAddress }}</el-tag>
</div>
</el-popover>
</template>
</el-table-column>
<el-table-column
label="注册日期"
width="180">
<template slot-scope="scope">
<el-popover trigger="hover" placement="top">
<div slot="reference" class="name-wrapper">
<el-tag size="medium">{{ scope.row.registrantDate }}</el-tag>
</div>
</el-popover>
</template>
</el-table-column>
<el-table-column
label="社会统一信用代码"
width="180">
<template slot-scope="scope">
<el-popover trigger="hover" placement="top">
<div slot="reference" class="name-wrapper">
<el-tag size="medium">{{ scope.row.name }}</el-tag>
</div>
</el-popover>
</template>
</el-table-column>
<el-table-column
label="公司营业执照"
width="180">
<template slot-scope="scope">
<el-popover trigger="hover" placement="top">
<div slot="reference" class="name-wrapper">
<el-tag size="medium">{{ scope.row.businessLicense }}</el-tag>
</div>
</el-popover>
</template>
</el-table-column>
<el-table-column label="操作">
<template slot-scope="scope">
<el-button
size="mini"
@click="handleEdit(scope.$index, scope.row)">编辑</el-button>
<el-button
size="mini"
type="danger"
@click="handleDelete(scope.$index, scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>
<!--分页-->
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="ruleForm.pageNum"
:page-sizes="[5, 7, 9, 11]"
:page-size="ruleForm.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="total">
</el-pagination>
</el-main>
</el-container>
</el-container>
</div>
</template>
<script>
//jsjsjson,
//import from ',
import {selectcompanyList, selectcompanystatus} from "@/api/background/company";
export default {
name: "Company",
//import使"
components: {},
props: {},
data() {
//"
return {
tableData:[],
ruleForm:{
pageNum:1,
pageSize:8,
reviewStatus:''
},
total:0,
companyStatus:{},
companystatusList:[]
};
},
// data",
computed: {},
//data",
watch: {},
//",
methods: {
//
getList(){
selectcompanyList(this.ruleForm).then(response=>{
console.log(response)
this.tableData=response.data.companytotalList
this.total=response.data.total
})
},
//
handleSizeChange(val) {
console.log(`每页 ${val}`);
this.ruleForm.pageSize=val
this.getList()
},
handleCurrentChange(val) {
console.log(`当前页: ${val}`);
this.ruleForm.pageNum=val
this.getList()
},
//
getcompanystatusList(){
selectcompanystatus().then(response=>{
this.companystatusList=response.data
})
},
//
chosetype(index){
this.ruleForm.reviewStatus=this.companystatusList[index]
this.getList()
},
//
choseall(){
this.ruleForm.reviewStatus=''
this.getList()
},
},
// - 访this",
created() {
this.getList()
this.getcompanystatusList()
},
// - 访DOM",
mounted() {
},
beforeCreate() {
}, // - ",
beforeMount() {
}, // - ",
beforeUpdate() {
}, // - ",
updated() {
}, // - ",
beforeDestroy() {
}, // - ",
destroyed() {
}, // - ",
activated() {
} //keep-alive",
};
</script>
<style scoped>
</style>

View File

@ -57,6 +57,7 @@
<script>
import { Graph } from "@antv/x6";
import {extractDataName} from "../../../api/etl/etl";
import {selectHandleClick} from "../../../api/property/property";
export default {
name: "antvX6",
data() {
@ -97,9 +98,9 @@ export default {
},
getDatabaseMessage(){
this.dialogVisible = true
extractDataName().then(response => {
this.tables = response.data
})
selectHandleClick().then(res =>{
this.tables = res.data
})
},
//todo
nodeAddEvent() {

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,131 @@
<template>
<div>
<el-row>
<el-col :span="24"><div class="grid-content bg-purple-dark">
<el-form ref="form" :model="myapi" label-width="120px" :rules="rules">
<el-form-item label="产品名称:" >
{{myapi.productName}}
</el-form-item>
<el-form-item label="产品价格:">
{{myapi.productPrice}}/
</el-form-item>
<el-form-item label="产品介绍:">
{{myapi.productContent}}
</el-form-item>
<el-row>
<el-col :span="24"><div class="grid-content bg-purple-dark">
<el-button type="info" @click="test()"></el-button>
<el-button type="primary">立即申请</el-button>
</div></el-col>
</el-row>
</el-form>
</div></el-col>
</el-row>
<el-divider></el-divider>
<el-row class="first-row" >
<el-col :span="24"><div class="grid-content bg-purple-dark" >
<el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="API文档" name="first">
<el-form ref="form" :model="myapi" label-width="120px" :rules="rules">
<el-form-item label="接口地址:" >
{{myapi.productName}}
</el-form-item>
<el-form-item label="返回格式:">
{{myapi.productPrice}}/
</el-form-item>
<el-form-item label="请求方式:">
{{myapi.productContent}}
</el-form-item>
<el-form-item label="简介:">
{{myapi.productContent}}
</el-form-item>
<el-form-item label="请求参数说明:">
{{myapi.productContent}}
</el-form-item>
<el-form-item label="返回参数说明:">
{{myapi.productContent}}
</el-form-item>
<el-form-item label="JSON返回示例:">
{{myapi.productContent}}
</el-form-item>
<el-form-item label="XML返回示例:">
{{myapi.productContent}}
</el-form-item>
</el-form>
</el-tab-pane>
<el-tab-pane label="错误码参照" name="second">错误码参照</el-tab-pane>
<el-tab-pane label="数据统计" name="third">数据统计</el-tab-pane>
</el-tabs>
</div></el-col>
</el-row>
</div>
</template>
<script>
//jsjsjson,
//import from ',
export default {
name: "Apitest",
//import使"
components: {},
props: {},
data() {
//"
return {
myapi: {
productName: '',
productPrice: '',
productContent: ''
},
activeName: 'first'
};
},
// data",
computed: {},
//data",
watch: {},
//",
methods: {
//
handleClick(tab, event) {
console.log(tab, event);
}
},
// - 访this",
created() {
},
// -` 访DOM",
mounted() {
this.myapi = this.$route.query.myapi
if (typeof this.myapi === 'string' && this.myapi.trim() !== '') {
try {
this.myapi = JSON.parse(this.myapi);
} catch (error) {
console.error('Failed to parse JSON:', error);
// myapi
this.myapi = {};
}
}
},
beforeCreate() {
}, // - ",
beforeMount() {
}, // - ",
beforeUpdate() {
}, // - ",
updated() {
}, // - ",
beforeDestroy() {
}, // - ",
destroyed() {
}, // - ",
activated() {
} //keep-alive",
};
</script>
<style scoped>
.first-row {
margin-bottom: 20px; /* 创建一个空间,以便可以清晰地看到边框 */
}
</style>

View File

@ -0,0 +1,201 @@
<template>
<div>
<h2>实名认证</h2>
<el-divider></el-divider>
<span style="color: #1482f0">实名认证决定了账号属性实名认证一经通过后续付款方的银行开户名必须与聚合实名信息一致否则不给予入账且个人和企业认证不能互转</span><br><br>
<h4>选择认证类型</h4>
<center>
<!--个人认证-->
<div style="width: 70%;">
<el-row style="border: 2px solid #e0e0e0;">
<el-col :span="4"><div class="grid-content bg-purple"><center><h2>个人认证</h2></center></div></el-col>
<el-col :span="12"><div class="grid-content bg-purple-light">
<el-row>
<el-col :span="24"><div class="grid-content bg-purple-dark">
<span style="color: #1482f0">认证方式</span> 支持个人身份证认证人脸识别实时认证
</div></el-col>
</el-row>
<el-row>
<el-col :span="24"><div class="grid-content bg-purple-dark">
<span style="color: #1482f0">使用限制</span> 个人基础认证不支持部分企业专用类接口
</div></el-col>
</el-row>
</div></el-col>
<el-col :span="4" style="margin-top: 20px;"><div class="grid-content bg-purple">
<center> <el-button type="primary" @click="tocompanyauthentication(1)"></el-button></center>
</div></el-col>
</el-row>
</div><br><br><br>
<!--企业认证-->
<div style="width: 70%;">
<el-row style="border: 2px solid #e0e0e0;">
<el-col :span="4"><div class="grid-content bg-purple"><center><h2>企业认证</h2></center></div></el-col>
<el-col :span="12"><div class="grid-content bg-purple-light">
<el-row>
<el-col :span="24"><div class="grid-content bg-purple-dark">
<span style="color: #1482f0">适用群体</span> 企业党政及国家机关事业单位民办非企业单位社会团体个体工商户等
</div></el-col>
</el-row>
<el-row>
<el-col :span="24"><div class="grid-content bg-purple-dark">
<span style="color: #1482f0">基础认证</span> 上传企业营业执照快速认证支持程序代码方式api调用接口
</div></el-col>
</el-row>
<el-row>
<el-col :span="24"><div class="grid-content bg-purple-dark">
<span style="color: #1482f0">高级认证</span> 通过对公打款法人手机验证等方式进行认证支持API购买余额支付支付宝支付微信支付
</div></el-col>
</el-row>
</div></el-col>
<el-col :span="4" style="margin-top: 20px;"><div class="grid-content bg-purple">
<center> <el-button type="primary" @click="tocompanyauthentication(2)"></el-button></center>
</div></el-col>
</el-row>
</div>
</center>
<!--企业认证页面对话框-->
<el-dialog
:title="dialogtitle"
:visible.sync="dialogVisible"
width="30%"
:before-close="handleClose">
<!--个人认证-->
<div v-if="this.index==1">
</div>
<!--企业认证-->
<div v-if="this.index==2">
<h2>基本信息填写</h2><br>
<el-form :model="companyForm" status-icon :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
<el-form-item label="企业营业执照副本:" prop="pass">
<el-upload
action="/dev-api/market/company/upload"
list-type="picture-card"
:on-preview="handlePictureCardPreview"
:on-remove="handleRemove"
:on-success="handleSuccess">
<i class="el-icon-plus"></i>
</el-upload>
<el-dialog :visible.sync="dialogVisiblepicture">
<img width="100%" :src="dialogImageUrl" alt="">
</el-dialog>
<span>请上传清晰完整的营业执照副本照片</span>
</el-form-item>
<el-form-item label="公司名称:" prop="companyName">
<el-input type="text" v-model="companyForm.companyName" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="社会统一编码:" prop="USCI">
<el-input type="text" v-model="companyForm.USCI" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="企业法人姓名:" prop="companyLeader">
<el-input type="text" v-model="companyForm.companyLeader" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="联系人姓名:" prop="registrantName">
<el-input type="text" v-model="companyForm.registrantName" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="联系人电话:" prop="registrantPhone">
<el-input type="text" v-model="companyForm.registrantPhone" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="联系人职位:" prop="registrantPosition">
<el-input type="text" v-model="companyForm.registrantPosition" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="公司地址:" prop="companyAddress">
<el-input type="text" v-model="companyForm.companyAddress" autocomplete="off"></el-input>
</el-form-item>
</el-form>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false"> </el-button>
<el-button type="primary" @click="yes()"></el-button>
</span>
</el-dialog>
</div>
</template>
<script>
//jsjsjson,
//import from ',
export default {
name: "Authentication",
//import使"
components: {},
props: {},
data() {
//"
return {
dialogVisible:false,
index:'',
dialogtitle:'',
companyForm:{},
dialogImageUrl: '',
dialogVisiblepicture: false
};
},
// data",
computed: {},
//data",
watch: {},
//",
methods: {
//
tocompanyauthentication(index){
this.index=index
if (this.index === 1) {
this.dialogtitle= '个人认证';
} else if (this.index === 2) {
this.dialogtitle= '企业认证';
}
this.dialogVisible=true
},
handleClose(done) {
this.$confirm('确认关闭?')
.then(_ => {
done();
})
.catch(_ => {});
},
yes(){
this.index=''
this.dialogVisible=false
},
//
handleRemove(file, fileList) {
console.log(file, fileList);
},
handlePictureCardPreview(file) {
this.dialogImageUrl = file.url;
this.dialogVisible = true;
},
handleSuccess(response,file,fileList){
this.companyForm.businessLicense=response.data
}
},
// - 访this",
created() {
},
// - 访DOM",
mounted() {
},
beforeCreate() {
}, // - ",
beforeMount() {
}, // - ",
beforeUpdate() {
}, // - ",
updated() {
}, // - ",
beforeDestroy() {
}, // - ",
destroyed() {
}, // - ",
activated() {
} //keep-alive",
};
</script>
<style scoped>
</style>

View File

@ -0,0 +1,121 @@
<template>
<div>
<el-row :gutter="20">
<el-col :span="8"><div class="grid-content bg-purple">
</div></el-col>
<el-col :span="16"><div class="grid-content bg-purple">
<el-form :model="ruleForm" status-icon :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
<el-form-item label="用户名" prop="userName">
{{ruleForm.userName}}
</el-form-item>
<el-form-item label="用户类型" prop="">
<span>个人</span>
</el-form-item>
<el-form-item label="手机号" prop="phonenumber">
{{ruleForm.phonenumber}}
</el-form-item>
<el-form-item label="绑定邮箱" prop="email">
{{ruleForm.email}} <span style="color: #1482f0" @click="toemail">>></span>
</el-form-item>
<el-form-item label="认证信息" prop="userName">
<span style="color: #1482f0" @click="toauthentication">>>>></span>
</el-form-item>
</el-form>
</div></el-col>
</el-row>
<!--绑定邮箱-->
<el-dialog
title="邮箱绑定"
:visible.sync="dialogVisible"
width="30%"
:before-close="handleClose">
<el-form :model="EmailForm" status-icon :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
<el-form-item label="邮箱" prop="email">
<el-input type="text" v-model="EmailForm.email" autocomplete="off" placeholder="请输入绑定的邮箱"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false"> </el-button>
<el-button type="primary" @click="yes(EmailForm)"> </el-button>
</span>
</el-dialog>
</div>
</template>
<script>
//jsjsjson,
//import from ',
import {linkemail} from "@/api/authentication/message";
export default {
name: "Easymessage",
//import使"
components: {},
props: {},
data() {
//"
return {
ruleForm:{},
EmailForm:{},
dialogVisible: false
};
},
// data",
computed: {},
//data",
watch: {},
//",
methods: {
//
toemail(){
this.dialogVisible=true
},
//
handleClose(done) {
this.$confirm('确认关闭?')
.then(_ => {
done();
})
.catch(_ => {});
},
//
yes(EmailForm){
linkemail(EmailForm).then(response=>{
if (response.code===200){
this.dialogVisible=false
}
})
},
//
toauthentication(){
this.$router.push("/authentication/index")
}
},
// - 访this",
created() {
},
// - 访DOM",
mounted() {
},
beforeCreate() {
}, // - ",
beforeMount() {
}, // - ",
beforeUpdate() {
}, // - ",
updated() {
}, // - ",
beforeDestroy() {
}, // - ",
destroyed() {
}, // - ",
activated() {
} //keep-alive",
};
</script>
<style scoped>
</style>

View File

@ -0,0 +1,148 @@
<template>
<div>
<el-row>
<el-col :span="24" style="border: 5px solid #ebeef5;">
<div class="grid-content bg-purple-dark">
<span>我的API</span>
<el-divider></el-divider>
<el-row>
<el-col :span="20"><div class="grid-content bg-purple">
<el-form :model="ruleForm" status-icon :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
<el-select v-model="ruleForm.productState" placeholder="请选择状态">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
<el-input type="text" v-model="ruleForm.productName" style="width: 200px" autocomplete="off" placeholder="名称搜索"></el-input>
<el-button type="primary" @click="submitForm('ruleForm')"></el-button>
</el-form>
</div></el-col>
<el-col :span="4"><div class="grid-content bg-purple-light"><el-button type="primary">新增数据</el-button></div></el-col>
</el-row>
<el-row :gutter="12">
<el-col :span="8" v-for="myapi in myapiList" :key="index" >
<el-card class="box-card" >
<div slot="header" class="clearfix">
<el-form ref="form" :model="myapi" label-width="120px" :rules="rules">
<el-form-item label="产品名称">
<el-input v-model="myapi.productName">{{myapi.productName}}}</el-input>
</el-form-item>
<el-form-item label="产品价格">
<el-input v-model="myapi.productPrice">{{myapi.productPrice}}}</el-input>
</el-form-item>
<el-form-item label="产品介绍">
<el-input v-model="myapi.productContent">{{myapi.productContent}}}</el-input>
</el-form-item>
<el-row>
<el-col :span="6"><div class="grid-content bg-purple">
<el-button type="info" @click="test(myapi)"></el-button>
</div></el-col>
</el-row>
</el-form>
</div>
</el-card>
</el-col>
</el-row>
</div>
</el-col>
</el-row>
</div>
</template>
<script>
//jsjsjson,
//import from ',
import myapi from "@/views/market/myapi/index.vue";
import {selectmyapiList} from "@/api/market/myapi";
export default {
name: 'Myapi',
//import使"
components: {},
props: {},
data() {
//"
return {
myapiList:[],
myapi:{},
ruleForm:{},
options: [{
value: '选项1',
label: '全部'
}, {
value: '选项2',
label: '申请中'
}, {
value: '选项3',
label: '申请通过'
}, {
value: '选项4',
label: '审核失败'
}],
value: ''
};
},
// data",
computed: {
myapi() {
return myapi
}
},
//data",
watch: {},
//",
methods: {
//api
getList(){
selectmyapiList(this.ruleForm).then(response=>{
this.myapiList=response.data
})
},
//
submitForm(){
this.getList()
},
//
test(myapi) {
if (myapi && myapi.productAddress) {
let url = myapi.productAddress; // 使 product.address
window.open(url, '_blank'); // URL
} else {
console.error('无效的 address 或 product 未定义');
//
}
}
},
// - 访this",
created() {
this.getList()
},
// - 访DOM",
mounted() {
},
beforeCreate() {
}, // - ",
beforeMount() {
}, // - ",
beforeUpdate() {
}, // - ",
updated() {
}, // - ",
beforeDestroy() {
}, // - ",
destroyed() {
}, // - ",
activated() {
} //keep-alive",
};
</script>
<style scoped>
</style>

View File

@ -0,0 +1,235 @@
<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.productName" placeholder="商品名称" style="width: 180px;margin-right: 50px"></el-input>
订单编号<el-input v-model="orders.ordersNum" placeholder="编号" style="width: 180px;margin-right: 50px"></el-input>
<el-col :span="8">
<el-date-picker v-model="orders.startDate" type="date" placeholder="选择开始时间"></el-date-picker>
<el-col :span="8">
<el-date-picker v-model="orders.endDate" type="date" placeholder="选择结束时间"></el-date-picker>
</el-col>
订单款项状态<el-select v-model="orders.ordersState" placeholder="请选择状态" style="margin-right: 30px" clearable>
<el-option v-for="item in orders.ordersState" :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="150" 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="120" align="center">
<template slot-scope="scope">
<span style="margin-left: 10px"> {{ scope.row.ordersNum }}</span>
</template>
</el-table-column>
<el-table-column label="订单所属人" width="100" 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="150" align="center">
<template slot-scope="scope">
<span style="margin-left: 10px">{{ scope.row.productName }}</span>
</template>
</el-table-column>
<el-table-column label="订单金额" width="100" 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="110" 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:[],
startDate: null,
endDate: null,
};
},
// data",
computed: {},
//data",
watch: {},
//",
methods: {
},
//
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,197 @@
<template>
<div>
<span>产品名称</span>
<el-container style="height: 1200px; border: 1px solid #eee">
<el-aside width="150px" style="background-color: rgb(238, 241, 246)">
<span @click="choseall()"></span>
<div v-for="(type,index1) in typeList" :key="index1">
<span @click="chosetype(index1)">{{type}}</span>
</div>
</el-aside>
<el-container>
<el-header style="text-align: right; font-size: 12px">
<el-form :model="ruleForm" status-icon :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
<el-form-item prop="productName">
<el-input type="text" v-model="ruleForm.productName" style="width: 200px;" autocomplete="off" placeholder="关键词搜索"></el-input>
<el-button type="primary" @click="submitForm('ruleForm')"></el-button>
</el-form-item>
</el-form>
</el-header>
<el-main>
<el-row :gutter="18" class="mb8">
<el-col :span="8" v-for="(product,index) in productList" :key="index" >
<el-card class="box-card" style="height: 300px">
<div slot="header" class="clearfix">
<el-form ref="form" :model="product" label-width="120px" :rules="rules">
<el-form-item label="产品名称:">
<el-textarea v-model="product.productName">{{product.productName}}</el-textarea>
</el-form-item>
<el-form-item label="产品价格:">
<el-textarea v-model="product.productPrice">{{product.productPrice}}</el-textarea>
</el-form-item>
<el-form-item label="产品介绍:">
<el-textarea v-model="product.productContent">{{product.productContent}}</el-textarea>
</el-form-item>
<el-row>
<el-col :span="9"><div class="grid-content bg-purple">
<el-button type="primary" @click="test(product)"></el-button>
</div></el-col>
</el-row>
</el-form>
</div>
</el-card>
</el-col>
</el-row>
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="ruleForm.pageNum"
:page-sizes="[5, 7, 9, 11]"
:page-size="ruleForm.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="total">
</el-pagination>
</el-main>
</el-container>
</el-container>
</div>
</template>
<script>
//jsjsjson,
//import from ',
import {selectList, selectTypeList} from "@/api/market/product";
export default {
name: 'Product',
//import使"
components: {},
props: {},
data() {
//"
return {
//
productList:[],
product:{},
ruleForm:{
pageNum:1,
pageSize:9,
productType:''
},
total:0,
typeList:[]
};
},
// data",
computed: {},
//data",
watch: {},
//",
methods: {
//
getList(){
selectList(this.ruleForm).then(response=>{
console.log(response)
this.productList=response.data.productListResps
this.total=response.data.total
})
},
//
submitForm(){
this.getList()
},
//
gettypeList(){
selectTypeList().then(response=>{
this.typeList=response.data
})
},
//
chosetype(index1){
this.ruleForm.productType=this.typeList[index1]
this.getList()
},
//
choseall(){
this.ruleForm.productType=''
this.getList()
},
//
// test(product){
// // let url = `http://21.12.0.10/prod-api/doc.html#/cloud-market//findListByuserPhone?userId=${this.userId}`;
// let url = `product`;
// window.open(url, '_blank'); // URL
//
// // this.$router.push({path:"/apitest/index",query:{myapi:JSON.stringify(product)}})
// },
test(product) {
if (product && product.productAddress) {
let url = product.productAddress; // 使 product.address
window.open(url, '_blank'); // URL
} else {
console.error('无效的 address 或 product 未定义');
//
}
},
handleSizeChange(val) {
console.log(`每页 ${val}`);
this.ruleForm.pageSize=val
this.getList()
},
handleCurrentChange(val) {
console.log(`当前页: ${val}`);
this.ruleForm.pageNum=val
this.getList()
},
},
// - 访this",
created() {
this.getList()
this.gettypeList()
},
// - 访DOM",
mounted() {
},
beforeCreate() {
}, // - ",
beforeMount() {
}, // - ",
beforeUpdate() {
}, // - ",
updated() {
}, // - ",
beforeDestroy() {
}, // - ",
destroyed() {
}, // - ",
activated() {
} //keep-alive",
};
</script>
<style scoped>
.box-card{
margin: 10px 0;
}
.el-header {
background-color: #B3C0D1;
color: #333;
line-height: 60px;
}
.el-aside {
color: #333;
}
</style>

View File

@ -0,0 +1,204 @@
<template>
<div>
<el-row :gutter="20">
<el-col :span="16">
<div class="grid-content bg-purple" style="border: 2px solid #ebeef5;">
<span>HI上海八维宏烨集团<br>
<el-row :gutter="20">
<el-col :span="6"><div class="grid-content bg-purple">地区上海市 上海市</div></el-col>
<el-col :span="6"><div class="grid-content bg-purple">IP114.85.72.211</div></el-col>
<el-col :span="6"><div class="grid-content bg-purple">时间2021-1-12</div></el-col>
<el-col :span="6"><div class="grid-content bg-purple">
<el-row>
<el-col :span="12"><div class="grid-content bg-purple"><el-button type="primary">登录日志</el-button></div></el-col>
<el-col :span="12"><div class="grid-content bg-purple-light"><el-button type="primary">操作日志</el-button></div></el-col>
</el-row>
</div></el-col>
</el-row>
</span>
</div></el-col>
<el-col :span="8">
<div class="grid-content bg-purple" style="border: 1px solid #ebeef5;">
<span>账户余额<br>
<el-row>
<el-col :span="12"><div class="grid-content bg-purple">8544344.00</div></el-col>
<el-col :span="12"><div class="grid-content bg-purple-light"><el-button type="primary">充值</el-button></div></el-col>
</el-row>
</span>
</div>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="grid-content bg-purple-dark" style="border: 2px solid #ebeef5;">
<el-row>
<el-col :span="20"><div class="grid-content bg-purple"><span>热点接口</span></div></el-col>
<el-col :span="4"><div class="grid-content bg-purple-light"><el-button type="primary">申请新的接口</el-button></div></el-col>
</el-row><br>
<el-row>
<el-col :span="24"><div class="grid-content bg-purple-dark flex-container">
<div v-for="(form,index) in hostportList" :key="index" class="flex-item">
<el-form ref="form" :model="form" label-width="80px">
<el-form-item >
<span>{{form.productName}}</span>
<el-button @click="tovalidation()"></el-button>
</el-form-item>
</el-form>
</div>
</div></el-col>
</el-row>
</div>
</el-col>
</el-row>
<!--提示需要验证--->
<el-dialog
title="提示"
:visible.sync="dialogVisible"
width="30%"
:before-close="handleClose"
:close-on-click-modal="false">
<span>需要认证才能使用哦</span>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false"> </el-button>
<el-button type="primary" @click="validationYes()"></el-button>
</span>
</el-dialog>
<!---企业验证页面-->
<el-dialog
title="提示"
:visible.sync="dialogVisible1"
width="30%"
:before-close="handleClose1"
:close-on-click-modal="false">
<span>企业信息</span>
<el-divider></el-divider>
<el-form :model="ruleForm" status-icon :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
<el-form-item label="企业名称" prop="pass">
<el-input type="text" v-model="ruleForm.pass" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="用户姓名" prop="pass">
<el-input type="text" v-model="ruleForm.pass" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="用户职位" prop="pass">
<el-input type="text" v-model="ruleForm.pass" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="公司所在省市区" prop="pass">
<el-input type="text" v-model="ruleForm.pass" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="公司详细地址" prop="pass">
<el-input type="text" v-model="ruleForm.pass" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="统一社会信用代码" prop="pass">
<el-input type="text" v-model="ruleForm.pass" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="营业执照" prop="pass">
<el-input type="text" v-model="ruleForm.pass" autocomplete="off"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="push()"></el-button>
</span>
</el-dialog>
</div>
</template>
<script>
//jsjsjson,
//import from ',
import {gethostportList} from "@/api/market/workbench";
export default {
name: 'Workbench',
//import使"
components: {},
props: {},
data() {
//"
return {
form:{},
//
hostportList:[],
dialogVisible: false,
dialogVisible1:false,
//
ruleForm:{}
};
},
// data",
computed: {},
//data",
watch: {},
//",
methods: {
//
gethostportList(){
gethostportList().then(response=>{
this.hostportList=response.data
})
},
handleClose(done) {
this.$confirm('确认关闭?')
.then(_ => {
done();
})
.catch(_ => {});
},
handleClose1(done) {
this.$confirm('确认关闭?')
.then(_ => {
done();
})
.catch(_ => {});
},
tovalidation(){
this.dialogVisible=true
},
validationYes(){
this.dialogVisible1=true
},
push(){
this.dialogVisible=false
this.dialogVisible1=false
}
},
// - 访this",
created() {
this.gethostportList()
},
// - 访DOM",
mounted() {
},
beforeCreate() {
}, // - ",
beforeMount() {
}, // - ",
beforeUpdate() {
}, // - ",
updated() {
}, // - ",
beforeDestroy() {
}, // - ",
destroyed() {
}, // - ",
activated() {
} //keep-alive",
};
</script>
<style scoped>
.flex-container {
display: flex;
flex-wrap: wrap; /* 如果需要的话,允许换行 */
justify-content: space-between; /* 或者您想要的任何对齐方式 */
}
.flex-item {
/* 您可以根据需要添加一些内边距、外边距或宽度设置 */
padding: 10px;
}
</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,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,474 @@
<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

@ -0,0 +1,373 @@
<template>
<div class="app-container">
<el-form v-show="showSearch" ref="queryForm" :inline="true" :model="queryParams" label-width="68px" size="small">
<el-form-item label="规则名称" prop="dictName">
<el-input
v-model="queryParams.dictName"
clearable
placeholder="请输入规则名称"
style="width: 240px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="规则类型" prop="ruleType">
<el-select
v-model="queryParams.ruleType"
clearable
placeholder="规则类型"
style="width: 240px"
>
<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="ruleActivate">
<el-select
v-model="queryParams.ruleActivate"
clearable
placeholder="激活状态"
style="width: 240px"
>
<el-option
v-for="dict in dict.type.sys_rule_activate"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="规则状态" prop="ruleStatus">
<el-select
v-model="queryParams.ruleStatus"
clearable
placeholder="规则状态"
style="width: 240px"
>
<el-option
v-for="dict in dict.type.sys_rule_status"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item>
<el-button icon="el-icon-search" size="mini" type="primary" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
<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="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">
<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 slot-scope="scope">
<el-button
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.id)"
>修改
</el-button>
<el-button
v-hasPermi="['system:rule:remove']"
icon="el-icon-delete"
size="mini"
type="text"
@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, save, update, get, del} from '@/api/rule/maintain'
export default {
//import使"
name:"Maintain",
dicts:['sys_rule_type','sys_rule_status','sys_rule_activate','sys_rule_region'],
components: {},
props: {},
data() {
//"
return {
//
showSearch: true,
//
queryParams: {
pageNum: 1,
pageSize: 10,
ruleName:undefined,
ruleType:undefined,
ruleActivate:undefined,
ruleStatus:undefined,
},
//
// loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
ruleList: [],
//
open: false,
//
title: "",
//
form: {},
//
rules: {
ruleName: [
{required: true, message: "规则名称不能为空", trigger: "blur"}
],
ruleCoding: [
{required: true, message: "引擎编码不能为空", trigger: "blur"}
],
}
};
},
// data",
computed: {},
//data",
watch: {},
//",
methods: {
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.roleId)
this.single = selection.length != 1
this.multiple = !selection.length
},
showList(){
getList(this.queryParams).then(response => {
this.ruleList = response.data
})
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.showList();
},
/** 重置按钮操作 */
resetQuery() {
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() {
this.showList()
},
// - 访DOM",
mounted() {
},
beforeCreate() {
}, // - ",
beforeMount() {
}, // - ",
beforeUpdate() {
}, // - ",
updated() {
}, // - ",
beforeDestroy() {
}, // - ",
destroyed() {
}, // - ",
activated() {
} //keep-alive",
};
</script>
<style scoped>
</style>

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>