|
@@ -1,11 +1,3 @@
|
|
|
-<!--
|
|
|
- * @Author: Liugh
|
|
|
- * @Date: 2021-05-26 15:09:38
|
|
|
- * @LastEditTime: 2021-05-28 16:36:56
|
|
|
- * @LastEditors: Do not edit
|
|
|
- * @FilePath: \auth-web\src\pages\log-manage\err-auth-earlywarning-manage\edit.vue
|
|
|
- * @Description:
|
|
|
--->
|
|
|
<template>
|
|
|
<main class="auth-earlywarning-plan-edit">
|
|
|
<el-form ref="ruleForm" :model="form" label-width="140px" label-suffix=":">
|
|
@@ -20,7 +12,7 @@
|
|
|
<dg-select
|
|
|
v-model="form.state"
|
|
|
placeholder="请选择方案状态"
|
|
|
- enum="ProgrammeStateEnum"
|
|
|
+ code="DM_ACTIVE_STATUS"
|
|
|
style="width: 100%"
|
|
|
clearable
|
|
|
>
|
|
@@ -31,32 +23,39 @@
|
|
|
<el-form-item label="预警规则">
|
|
|
<!--TODO 内嵌form -->
|
|
|
<!-- <el-input type="textarea" :rows="2" placeholder="请输入预警规则" v-model="form.textarea"></el-input> -->
|
|
|
- <template v-if="form.type == 'YHYCIPJQYJ'">
|
|
|
- 用户使用非常用的IP进行鉴权。
|
|
|
- </template>
|
|
|
+ <template v-if="form.type == 'YHYCIPJQYJ'">
|
|
|
+ <div style="display: flex">
|
|
|
+ 超出正常访问IP网段:<el-input
|
|
|
+ v-model="form.ruleContent.limitIp"
|
|
|
+ placeholder="10.11.*.*"
|
|
|
+ style="width:400px"
|
|
|
+ ></el-input
|
|
|
+ >为异常ip
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
<template v-else>
|
|
|
- <el-form-item v-for="(domain, index) in form.ruleContent" :key="index">
|
|
|
- <div class="time-picker-layer">
|
|
|
- 用户在
|
|
|
- <dg-time-picker
|
|
|
- v-model="domain.time"
|
|
|
- type="timerange2"
|
|
|
- :picker-options="pickerOptions"
|
|
|
- begin-placeholder="开始时间"
|
|
|
- end-placeholder="结束时间"
|
|
|
- >
|
|
|
- </dg-time-picker>
|
|
|
- 进行鉴权
|
|
|
- <div class="time-picker-layer_button">
|
|
|
- <dg-button circle @click.prevent="addDomain" size="mini">
|
|
|
- <i class="el-icon-plus"></i>
|
|
|
- </dg-button>
|
|
|
- <dg-button circle @click.prevent="removeDomain(domain)" size="mini">
|
|
|
- <i class="el-icon-minus"></i>
|
|
|
- </dg-button>
|
|
|
+ <el-form-item v-for="(domain, index) in form.ruleContent" :key="index">
|
|
|
+ <div class="time-picker-layer">
|
|
|
+ 用户在
|
|
|
+ <dg-time-picker
|
|
|
+ v-model="domain.time"
|
|
|
+ type="timerange2"
|
|
|
+ :picker-options="pickerOptions"
|
|
|
+ begin-placeholder="开始时间"
|
|
|
+ end-placeholder="结束时间"
|
|
|
+ >
|
|
|
+ </dg-time-picker>
|
|
|
+ 进行鉴权
|
|
|
+ <div class="time-picker-layer_button">
|
|
|
+ <dg-button circle @click.prevent="addDomain" size="mini">
|
|
|
+ <i class="el-icon-plus"></i>
|
|
|
+ </dg-button>
|
|
|
+ <dg-button circle @click.prevent="removeDomain(domain)" size="mini">
|
|
|
+ <i class="el-icon-minus"></i>
|
|
|
+ </dg-button>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
- </el-form-item>
|
|
|
+ </el-form-item>
|
|
|
</template>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
@@ -83,8 +82,8 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import { earlyWarningPlanTableInfo } from "../DataConfig";
|
|
|
-import { riskProgramme, warningProgrammeInfo } from "@/api/log-manage";
|
|
|
+import { earlyWarningPlanTableInfo } from "../DataConfig"
|
|
|
+import { riskProgramme, warningProgrammeInfo } from "@/api/log-manage"
|
|
|
|
|
|
export default {
|
|
|
name: "auth-earlywarning-plan-edit", // 组件名称
|
|
@@ -108,7 +107,7 @@ export default {
|
|
|
}
|
|
|
]
|
|
|
}
|
|
|
- };
|
|
|
+ }
|
|
|
},
|
|
|
components: {}, // 注册局部组件
|
|
|
computed: {},
|
|
@@ -117,23 +116,23 @@ export default {
|
|
|
* @description: 关闭
|
|
|
*/
|
|
|
close() {
|
|
|
- this.$emit("close");
|
|
|
+ this.$emit("close")
|
|
|
},
|
|
|
/**
|
|
|
* @description: 提交
|
|
|
*/
|
|
|
onSubmit() {
|
|
|
- let obj = JSON.parse(JSON.stringify(this.form));
|
|
|
- obj.ruleContent.forEach((item) => {
|
|
|
- item.start = parseInt(item.time[0]);
|
|
|
- item.end = parseInt(item.time[1]);
|
|
|
- delete item.time;
|
|
|
- });
|
|
|
- obj.ruleContent = JSON.stringify(obj.ruleContent);
|
|
|
- riskProgramme(obj).then((res) => {
|
|
|
- this.$message.success("操作成功");
|
|
|
- this.$emit("success");
|
|
|
- });
|
|
|
+ let obj = JSON.parse(JSON.stringify(this.form))
|
|
|
+ obj.ruleContent.forEach(item => {
|
|
|
+ item.start = parseInt(item.time[0])
|
|
|
+ item.end = parseInt(item.time[1])
|
|
|
+ delete item.time
|
|
|
+ })
|
|
|
+ obj.ruleContent = JSON.stringify(obj.ruleContent)
|
|
|
+ riskProgramme(obj).then(res => {
|
|
|
+ this.$message.success("操作成功")
|
|
|
+ this.$emit("success")
|
|
|
+ })
|
|
|
},
|
|
|
/**
|
|
|
* @description:添加规则
|
|
@@ -143,7 +142,7 @@ export default {
|
|
|
addDomain() {
|
|
|
this.form.ruleContent.push({
|
|
|
time: ""
|
|
|
- });
|
|
|
+ })
|
|
|
},
|
|
|
/**
|
|
|
* @description:移除规则
|
|
@@ -151,38 +150,44 @@ export default {
|
|
|
* @return {*}
|
|
|
*/
|
|
|
removeDomain(item) {
|
|
|
- if (this.form.ruleContent.length <= 1) return;
|
|
|
- var index = this.form.ruleContent.indexOf(item);
|
|
|
+ if (this.form.ruleContent.length <= 1) return
|
|
|
+ var index = this.form.ruleContent.indexOf(item)
|
|
|
if (index !== -1) {
|
|
|
- this.form.ruleContent.splice(index, 1);
|
|
|
+ this.form.ruleContent.splice(index, 1)
|
|
|
}
|
|
|
},
|
|
|
countTime(val) {
|
|
|
- return val >= 10 ? val + ":00" : "0" + val + ":00";
|
|
|
+ return val >= 10 ? val + ":00" : "0" + val + ":00"
|
|
|
},
|
|
|
/**
|
|
|
* @description: 获取详情
|
|
|
*/
|
|
|
getDetail() {
|
|
|
- return new Promise((resolve) => {
|
|
|
- warningProgrammeInfo(this.info.id).then((res) => {
|
|
|
- res.ruleContent = res.ruleContent ? JSON.parse(res.ruleContent) : [];
|
|
|
- res.ruleContent.forEach((item) => {
|
|
|
- item.time = [this.countTime(item.start), this.countTime(item.end)];
|
|
|
- delete item.start;
|
|
|
- delete item.end;
|
|
|
- });
|
|
|
- this.form = res;
|
|
|
- console.log(this.form);
|
|
|
- resolve(res);
|
|
|
- });
|
|
|
- });
|
|
|
+ return new Promise(resolve => {
|
|
|
+ warningProgrammeInfo(this.info.id).then(res => {
|
|
|
+ if (res.type === "YHYCIPJQYJ") {
|
|
|
+ res.ruleContent = res.ruleContent ? JSON.parse(res.ruleContent) || {} : {}
|
|
|
+ }
|
|
|
+ if (res.type !== "YHYCIPJQYJ") {
|
|
|
+ res.ruleContent = res.ruleContent ? JSON.parse(res.ruleContent) : []
|
|
|
+ res.ruleContent.forEach(item => {
|
|
|
+ item.time = [this.countTime(item.start), this.countTime(item.end)]
|
|
|
+ delete item.start
|
|
|
+ delete item.end
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ this.form = res
|
|
|
+ console.log(this.form)
|
|
|
+ resolve(res)
|
|
|
+ })
|
|
|
+ })
|
|
|
}
|
|
|
}, // 内部方法
|
|
|
async created() {
|
|
|
- await this.getDetail();
|
|
|
+ await this.getDetail()
|
|
|
}
|
|
|
-};
|
|
|
+}
|
|
|
</script>
|
|
|
<style lang="scss">
|
|
|
.auth-earlywarning-plan-edit-layer {
|