init
This commit is contained in:
@@ -17,6 +17,15 @@ export function unForbid(id) {
|
||||
})
|
||||
}
|
||||
|
||||
// 封IP
|
||||
export function forbidIp(data) {
|
||||
return request({
|
||||
url: '/cai/userForbid/forbid/ip',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 查询封号列表详细
|
||||
export function getUserForbid(id) {
|
||||
return request({
|
||||
@@ -34,15 +43,6 @@ export function addUserForbid(data) {
|
||||
})
|
||||
}
|
||||
|
||||
// 修改封号列表
|
||||
export function updateUserForbid(data) {
|
||||
return request({
|
||||
url: '/cai/userForbid',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除封号列表
|
||||
export function delUserForbid(id) {
|
||||
return request({
|
||||
|
||||
@@ -25,6 +25,20 @@
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
icon="el-icon-plus"
|
||||
size="mini"
|
||||
@click="handleForbidIp"
|
||||
v-hasPermi="['cai:userForbid:forbidIp']"
|
||||
>自定义封禁IP</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="userForbidList" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" align="center"/>
|
||||
<el-table-column label="类型" align="center" prop="type">
|
||||
@@ -81,6 +95,7 @@
|
||||
/>
|
||||
|
||||
<user-forbid-log-list v-if="userForbidLogListVisible" ref="userForbidLogList"/>
|
||||
<user-forbid-ip-dialog v-if="userForbidIpDialogVisible" ref="userForbidIpDialog" @refreshDataList="getList" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -88,16 +103,18 @@
|
||||
import {listUserForbid, unForbid} from '@/api/cai/userForbid'
|
||||
import {forbidStatusList, forbidTimeList, forbidTypeList} from '@/constant/statusMap'
|
||||
import UserForbidLogList from "@/views/cai/userForbid/user-forbid-log-list";
|
||||
import UserForbidIpDialog from "@/views/cai/userForbid/user-forbid-ip-dialog";
|
||||
|
||||
export default {
|
||||
name: "UserForbid",
|
||||
components: {
|
||||
UserForbidLogList
|
||||
UserForbidLogList,UserForbidIpDialog
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
forbidTimeList, forbidTypeList, forbidStatusList,
|
||||
userForbidLogListVisible: false,
|
||||
userForbidIpDialogVisible: false,
|
||||
// 遮罩层
|
||||
loading: true,
|
||||
// 选中数组
|
||||
@@ -170,6 +187,12 @@ export default {
|
||||
this.$nextTick(() => {
|
||||
this.$refs.userForbidLogList.init(row.member)
|
||||
})
|
||||
},
|
||||
handleForbidIp(){
|
||||
this.userForbidIpDialogVisible = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs.userForbidIpDialog.init()
|
||||
})
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
99
src/views/cai/userForbid/user-forbid-ip-dialog.vue
Normal file
99
src/views/cai/userForbid/user-forbid-ip-dialog.vue
Normal file
@@ -0,0 +1,99 @@
|
||||
<template>
|
||||
<el-dialog title="封禁IP" :close-on-click-modal="false" :visible.sync="open" width="700px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
|
||||
<el-form-item label="封禁IP" prop="ip">
|
||||
<el-input v-model="form.ip" />
|
||||
</el-form-item>
|
||||
<el-form-item label="封禁时长" prop="forbidTime">
|
||||
<el-radio-group v-model="form.forbidTime">
|
||||
<el-radio
|
||||
v-for="dict in forbidTimeList"
|
||||
:key="dict.value"
|
||||
:label="dict.value"
|
||||
>{{dict.label}}</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="理由" prop="remark">
|
||||
<el-input v-model="form.remark" placeholder="请输入理由" type="textarea" :rows="2"/>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button :loading="buttonLoading" type="primary" @click="submitForm">确 定</el-button>
|
||||
<el-button @click="open = false">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import ImageUpload from '@/components/ImageUpload/index'
|
||||
import {forbidStatusList, forbidTimeList, forbidTypeList} from "@/constant/statusMap";
|
||||
import {forbidIp} from "@/api/cai/userForbid";
|
||||
|
||||
export default {
|
||||
components: {
|
||||
ImageUpload,
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
forbidTimeList,
|
||||
forbidTypeList,forbidStatusList,
|
||||
open: false,
|
||||
title: '',
|
||||
form:{
|
||||
ip: undefined,
|
||||
forbidTime: undefined,
|
||||
remark: undefined,
|
||||
},
|
||||
info:{
|
||||
|
||||
},
|
||||
// 表单校验
|
||||
rules: {
|
||||
ip: [
|
||||
{ required: true, message: "数据不能为空", trigger: "blur" }
|
||||
],
|
||||
forbidTime: [
|
||||
{ required: true, message: "数据不能为空", trigger: "blur" }
|
||||
],
|
||||
remark: [
|
||||
{ required: true, message: "数据不能为空", trigger: "blur" }
|
||||
]
|
||||
},
|
||||
buttonLoading: false,
|
||||
}
|
||||
},
|
||||
created() {
|
||||
},
|
||||
methods: {
|
||||
init () {
|
||||
this.form.forbidTime = undefined
|
||||
this.form.ip = undefined
|
||||
this.form.remark = undefined
|
||||
this.open = true;
|
||||
},
|
||||
// 表单提交
|
||||
submitForm () {
|
||||
this.$refs['form'].validate((valid) => {
|
||||
if (valid) {
|
||||
this.buttonLoading = true;
|
||||
forbidIp(this.form).then(data => {
|
||||
this.$modal.msgSuccess("操作成功");
|
||||
this.buttonLoading = false;
|
||||
this.open = false
|
||||
this.$emit('refreshDataList')
|
||||
}).finally(() => {
|
||||
this.buttonLoading = false;
|
||||
});
|
||||
}
|
||||
})
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.context-avatar-center {
|
||||
display: flex;
|
||||
align-items: center; /* 垂直居中 */
|
||||
//justify-content: center; /* 水平居中 */
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user