Browse Source

异常鉴权预警管理修改

ljr-395181403 1 year ago
parent
commit
442a33cb5a

+ 73 - 68
src/pages/log-manage/err-auth-earlywarning-manage/auth-earlywarning-plan-edit.vue

@@ -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 {