Sfoglia il codice sorgente

Merge remote-tracking branch 'origin/develop_2.4.0_LogManage' into feature/v2.4.0-linqian-logManage

林倩 4 anni fa
parent
commit
63647d08fc

+ 13 - 4
src/api/log-manage.js

@@ -16,18 +16,22 @@ export const warningProgrammeTableUrl = `${base}/warningProgramme/_search`;
 // 鉴权统计列表
 // 鉴权统计列表
 export const authenticationLogTableUrl = `${base}/authenticationLog/statistics`;
 export const authenticationLogTableUrl = `${base}/authenticationLog/statistics`;
 
 
+// 鉴权风险检测
+export const authRiskDetectionUrl = `${base}/riskProgramme/_search`;
+
+// 鉴权预警日志
+export const authEarlyWarningInfo = `${base}/warningLog/_search`;
+
 // 鉴权预警详情
 // 鉴权预警详情
 export function warningProgrammeInfo(id) {
 export function warningProgrammeInfo(id) {
-    return axios.get(`${base}/warningProgramme/${id}`);
+  return axios.get(`${base}/warningProgramme/${id}`);
 }
 }
 
 
 // 鉴权预警编辑
 // 鉴权预警编辑
 export function riskProgramme(data) {
 export function riskProgramme(data) {
-    return axios.put(`${base}/warningProgramme/${data.id}`, data);
+  return axios.put(`${base}/warningProgramme/${data.id}`, data);
 }
 }
 
 
-// 鉴权风险检测
-export const authRiskDetectionUrl = '/auditsvr/v2/riskProgramme/_search';
 
 
 // 鉴权风险方案详情
 // 鉴权风险方案详情
 export function getAuthRiskDetail(id) {
 export function getAuthRiskDetail(id) {
@@ -38,3 +42,8 @@ export function getAuthRiskDetail(id) {
 export function saveAuthRisk(id, data) {
 export function saveAuthRisk(id, data) {
   return axios.put(`/auditsvr/v2/riskProgramme/${id}`, data);
   return axios.put(`/auditsvr/v2/riskProgramme/${id}`, data);
 }
 }
+
+// 鉴权预警日志详情
+export function getAuthEarlyWarningDetail(id) {
+  return axios.get(`/auditsvr/v2/warningLog/${id}`);
+}

+ 97 - 38
src/pages/log-manage/DataConfig.js

@@ -6,40 +6,69 @@
  * @FilePath: \auth-web\src\pages\log-manage\DataConfig.js
  * @FilePath: \auth-web\src\pages\log-manage\DataConfig.js
  * @Description:
  * @Description:
  */
  */
-const earlyWarningPlanTable = [
-    {
-        label: "鉴权预警方案名称",
-        prop: "name"
-    },
-    {
-        label: "创建时间",
-        prop: "createTime",
-        timestamp: "YYYY-MM-DD"
-    },
-    {
-        label: "修改时间",
-        prop: "updateTime",
-        timestamp: "YYYY-MM-DD"
-    },
-    {
-        label: "预警数量",
-        prop: "number"
-    },
-    {
-        label: "方案状态",
-        // custom: true, // 如果需要自定义请加上这个属性,插槽名称为prop
-        prop: "state",
-        enum: "ProgrammeStateEnum"
-    }
+const earlyWarningPlanTable = [{
+    label: "鉴权预警方案名称",
+    prop: "name"
+  },
+  {
+    label: "创建时间",
+    prop: "createTime",
+    timestamp: "YYYY-MM-DD"
+  },
+  {
+    label: "修改时间",
+    prop: "updateTime",
+    timestamp: "YYYY-MM-DD"
+  },
+  {
+    label: "预警数量",
+    prop: "number"
+  },
+  {
+    label: "方案状态",
+    // custom: true, // 如果需要自定义请加上这个属性,插槽名称为prop
+    prop: "state",
+    enum: "ProgrammeStateEnum"
+  }
 ];
 ];
-const earlyWarningPlanTableInfo = [
-    { label: "方案名称", value: "name", span: 24 },
-    { label: "方案状态", value: "state", span: 24, enum: "ProgrammeStateEnum" },
-    { label: "创建时间", value: "createTime", span: 12, isTime: true },
-    { label: "修改时间", value: "updateTime", span: 12, isTime: true },
-    { label: "预警规则", value: "ruleContent", span: 24 },
-    { label: "规则说明", value: "ruleExplain", span: 24 },
-    { label: "预警信息", value: "contentFormat", span: 24 }
+const earlyWarningPlanTableInfo = [{
+    label: "方案名称",
+    value: "name",
+    span: 24
+  },
+  {
+    label: "方案状态",
+    value: "state",
+    span: 24,
+    enum: "ProgrammeStateEnum"
+  },
+  {
+    label: "创建时间",
+    value: "createTime",
+    span: 12,
+    isTime: true
+  },
+  {
+    label: "修改时间",
+    value: "updateTime",
+    span: 12,
+    isTime: true
+  },
+  {
+    label: "预警规则",
+    value: "ruleContent",
+    span: 24
+  },
+  {
+    label: "规则说明",
+    value: "ruleExplain",
+    span: 24
+  },
+  {
+    label: "预警信息",
+    value: "warningMsg",
+    span: 24
+  }
 ];
 ];
 // 风险检测方案
 // 风险检测方案
 const RiskDetectionPlan = [{
 const RiskDetectionPlan = [{
@@ -48,11 +77,15 @@ const RiskDetectionPlan = [{
   },
   },
   {
   {
     label: "创建时间",
     label: "创建时间",
-    prop: "createTime"
+    prop: "createTime",
+    timestamp: true,
+    format: "YYYY-MM-DD HH:mm:ss"
   },
   },
   {
   {
     label: "修改时间",
     label: "修改时间",
-    prop: "updateTime"
+    prop: "updateTime",
+    timestamp: true,
+    format: "YYYY-MM-DD HH:mm:ss"
   },
   },
   {
   {
     label: "风险数量",
     label: "风险数量",
@@ -62,11 +95,37 @@ const RiskDetectionPlan = [{
     label: "方案状态",
     label: "方案状态",
     // custom: true, // 如果需要自定义请加上这个属性,插槽名称为prop
     // custom: true, // 如果需要自定义请加上这个属性,插槽名称为prop
     prop: "state",
     prop: "state",
-    enum: "UserTypeEnum"
+    code: "DM_APPLY_STATUS"
+  }
+];
+// 鉴权预警信息
+const EarlyWarningInfo = [{
+    label: "预警对象",
+    prop: "creater"
+  },
+  {
+    label: "预警对象唯一标识",
+    prop: "createrId"
+  },
+  {
+    label: "预警类型",
+    prop: "programmeType",
+    enum: "WarningProgrammeTypeEnum"
+  },
+  {
+    label: "预警时间",
+    prop: "createTime",
+    timestamp: true,
+    format: "YYYY-MM-DD HH:mm:ss"
+  },
+  {
+    label: "预警信息",
+    prop: "warningMsg"
   }
   }
 ];
 ];
 export {
 export {
   earlyWarningPlanTable,
   earlyWarningPlanTable,
   earlyWarningPlanTableInfo,
   earlyWarningPlanTableInfo,
-  RiskDetectionPlan
-};
+  RiskDetectionPlan,
+  EarlyWarningInfo
+};

+ 52 - 32
src/pages/log-manage/auth-risk-detection/detail.vue

@@ -1,6 +1,6 @@
 <template>
 <template>
     <div class="u-detail">
     <div class="u-detail">
-        <el-form ref="ruleForm" label-width="120px" label-suffix=":">
+        <el-form ref="ruleForm" label-width="90px" label-suffix=":">
             <dg-row :gutter="20">
             <dg-row :gutter="20">
                 <dg-col :span="12">
                 <dg-col :span="12">
                     <el-form-item label="方案名称">
                     <el-form-item label="方案名称">
@@ -18,12 +18,14 @@
             <dg-row :gutter="20">
             <dg-row :gutter="20">
                 <dg-col :span="12">
                 <dg-col :span="12">
                     <el-form-item label="创建时间">
                     <el-form-item label="创建时间">
-                        <div class="u-detail__text">{{ sizeForm.createTime }}</div>
+                        <div class="u-detail__text">
+                            {{ sizeForm.createTime | dateFormatter("YYYY-MM-DD HH:mm:ss") }}
+                        </div>
                     </el-form-item>
                     </el-form-item>
                 </dg-col>
                 </dg-col>
             </dg-row>
             </dg-row>
             <dg-row :gutter="20">
             <dg-row :gutter="20">
-                <dg-col :span="12">
+                <dg-col :span="24">
                     <el-form-item label="检测规则">
                     <el-form-item label="检测规则">
                         <div v-if="sizeForm.type === 'JQBYTJBWZFX'">
                         <div v-if="sizeForm.type === 'JQBYTJBWZFX'">
                             <p>
                             <p>
@@ -32,7 +34,7 @@
                             <div>
                             <div>
                                 鉴权类型:
                                 鉴权类型:
                                 <dg-radio-group
                                 <dg-radio-group
-                                    v-model="sizeForm.authType"
+                                    v-model="form.authType"
                                     enum="AuthenticationNecessaryParamEnum"
                                     enum="AuthenticationNecessaryParamEnum"
                                     @change="setNecessaryParams"
                                     @change="setNecessaryParams"
                                     call-off
                                     call-off
@@ -41,26 +43,29 @@
                             <div class="form-inline">
                             <div class="form-inline">
                                 <label>必要参数:</label>
                                 <label>必要参数:</label>
                                 <dg-checkbox-group
                                 <dg-checkbox-group
-                                    v-model="sizeForm.necessaryParams"
+                                    v-model="form.necessaryParams"
                                     enum="AuthenticationTypeEnum"
                                     enum="AuthenticationTypeEnum"
                                     disabled
                                     disabled
                                 ></dg-checkbox-group>
                                 ></dg-checkbox-group>
                             </div>
                             </div>
                         </div>
                         </div>
+                        <div v-else>
+                            {{ ruleContent }}
+                        </div>
                     </el-form-item>
                     </el-form-item>
                 </dg-col>
                 </dg-col>
             </dg-row>
             </dg-row>
             <dg-row :gutter="20">
             <dg-row :gutter="20">
                 <dg-col :span="24">
                 <dg-col :span="24">
-                    <el-form-item label="风险内容">
-                        <div class="u-detail__text">{{ sizeForm.contentFormat }}</div>
+                    <el-form-item label="规则说明">
+                        <div class="u-detail__text">{{ sizeForm.ruleExplain }}</div>
                     </el-form-item>
                     </el-form-item>
                 </dg-col>
                 </dg-col>
             </dg-row>
             </dg-row>
             <dg-row :gutter="20">
             <dg-row :gutter="20">
                 <dg-col :span="24">
                 <dg-col :span="24">
-                    <el-form-item label="规则说明">
-                        <div class="u-detail__text">{{ sizeForm.ruleExplain }}</div>
+                    <el-form-item label="风险内容">
+                        <div class="u-detail__text">{{ sizeForm.contentFormat }}</div>
                     </el-form-item>
                     </el-form-item>
                 </dg-col>
                 </dg-col>
             </dg-row>
             </dg-row>
@@ -88,36 +93,45 @@ export default {
         }
         }
     },
     },
     data() {
     data() {
-        return {};
+        return {
+            form: {
+                necessaryParams: "",
+                authType: ""
+            },
+            ruleContent: "",
+            necessaryParams: []
+        };
     },
     },
     methods: {
     methods: {
+        init() {
+            if (this.sizeForm.type === "JQBYTJBWZFX") {
+                this.necessaryParams = JSON.parse(this.sizeForm.ruleContent);
+                if (Array.isArray(this.necessaryParams) && this.necessaryParams.length) {
+                    this.form.authType = this.necessaryParams[0].type;
+                    this.setNecessaryParams(this.form.authType);
+                }
+                return;
+            }
+            const { interval, frequency } = JSON.parse(this.sizeForm.ruleContent);
+            const text = this.sizeForm.type === "DSJPFJQFX" ? "分钟内,鉴权次数超过" : "分钟内,命中红/白名单超过";
+            this.ruleContent = interval + text + frequency + "次";
+        },
         handleClose() {
         handleClose() {
             this.$emit("close");
             this.$emit("close");
+        },
+        setNecessaryParams(key) {
+            const seleted = this.necessaryParams.find(item => item.type === key);
+            if (seleted) {
+                this.form.necessaryParams = seleted.params
+                    .map(item => {
+                        return item.name;
+                    })
+                    .join(",");
+            }
         }
         }
     },
     },
     created() {
     created() {
-        const that = this;
-        const { sizeForm } = that;
-        // let str = "";
-        // policeMsgApi
-        //     .businessDetail({
-        //         codeDicId: "DM_POLICE_BUSINESS",
-        //         columnName: "police_type_id",
-        //         columnValue: sizeForm.policeCategory ? sizeForm.policeCategory : "01"
-        //     })
-        //     .then(res => {
-        //         if (sizeForm.policeBusiness) {
-        //             if (res && res.length > 0) {
-        //                 res.forEach(item => {
-        //                     if (sizeForm.policeBusiness.indexOf(item.value) !== -1) {
-        //                         str += item.label + ",";
-        //                     }
-        //                 });
-        //                 str = str.slice(0, str.length - 1);
-        //             }
-        //             that.policeBusinessLabel = str;
-        //         }
-        //     });
+        this.init();
     }
     }
 };
 };
 </script>
 </script>
@@ -128,4 +142,10 @@ export default {
         margin-bottom: 10px;
         margin-bottom: 10px;
     }
     }
 }
 }
+.form-inline {
+    display: flex;
+    label {
+        min-width: 5.4em;
+    }
+}
 </style>
 </style>

+ 25 - 43
src/pages/log-manage/auth-risk-detection/edit.vue

@@ -6,7 +6,7 @@
             :model="sizeForm"
             :model="sizeForm"
             label-suffix=":"
             label-suffix=":"
             label-position="right"
             label-position="right"
-            label-width="140px"
+            label-width="90px"
         >
         >
             <dg-row>
             <dg-row>
                 <dg-col :span="12">
                 <dg-col :span="12">
@@ -39,37 +39,6 @@
                 <dg-col :span="24">
                 <dg-col :span="24">
                     <el-form-item label="检测规则" prop="ruleContent">
                     <el-form-item label="检测规则" prop="ruleContent">
                         <!-- DSJPFJQFX    DSJPFHBMDMZFX JQBYTJBWZFX -->
                         <!-- DSJPFJQFX    DSJPFHBMDMZFX JQBYTJBWZFX -->
-                        <div v-if="sizeForm.type === 'DSJPFJQFX'">
-                            <div class="form-inline">
-                                <el-form-item label="" prop="interval">
-                                    <el-input style="width: 80px;" v-model.trim="sizeForm.interval"></el-input>
-                                </el-form-item>
-                                &nbsp;分钟内,鉴权次数超过&nbsp;
-                                <el-form-item label="" prop="frequency"
-                                    ><el-input style="width: 80px;" v-model.trim="sizeForm.frequency"></el-input>
-                                </el-form-item>
-                                &nbsp;次
-                            </div>
-                            <!-- <p>
-                                规则说明:用户在短时间内,频繁发起请求,鉴定是否有应用或服务的访问权限。鉴权次数说明:a用户访问A应用(或者服务),A应用到鉴权服务鉴定a用户,是否可以访问A应用(或者服务),为一次鉴权。
-                            </p> -->
-                        </div>
-                        <div v-if="sizeForm.type === 'DSJPFHBMDMZFX'">
-                            <div class="form-inline">
-                                <el-form-item label="" prop="interval">
-                                    <el-input style="width: 80px;" v-model.trim="sizeForm.interval"></el-input>
-                                </el-form-item>
-                                &nbsp; 分钟内,命中红/白名单超过&nbsp;
-                                <el-form-item label="" prop="frequency"
-                                    ><el-input style="width: 80px;" v-model.trim="sizeForm.frequency"></el-input>
-                                </el-form-item>
-                                &nbsp;次
-                            </div>
-                            <!-- <p>
-                                规则说明:在短时间内,鉴权的内容在红/白名单的次数超量。
-                                命中红/白名单说明:a用户访问A应用(或者服务),A应用到鉴权服务鉴定a用户是否可以访问A应用(或者服务),若A应用在红/白名单中,为命中一次红白名单。
-                            </p> -->
-                        </div>
                         <div v-if="sizeForm.type === 'JQBYTJBWZFX'">
                         <div v-if="sizeForm.type === 'JQBYTJBWZFX'">
                             <p>
                             <p>
                                 鉴权时,必要条件不完整。
                                 鉴权时,必要条件不完整。
@@ -91,17 +60,17 @@
                                     disabled
                                     disabled
                                 ></dg-checkbox-group>
                                 ></dg-checkbox-group>
                             </div>
                             </div>
-                            <!-- <p>
-                                规则说明:用户在短时间内,频繁发起请求,鉴定是否有应用或服务的访问权限。鉴权次数说明:a用户访问A应用(或者服务),A应用到鉴权服务鉴定a用户,是否可以访问A应用(或者服务),为一次鉴权。
-                            </p> -->
                         </div>
                         </div>
-                    </el-form-item>
-                </dg-col>
-            </dg-row>
-            <dg-row>
-                <dg-col :span="24">
-                    <el-form-item label="风险内容" prop="contentFormat">
-                        {{ sizeForm.contentFormat }}
+                        <div v-else class="form-inline">
+                            <el-form-item label="" prop="interval">
+                                <el-input style="width: 80px;" v-model.trim="sizeForm.interval"></el-input>
+                            </el-form-item>
+                            &nbsp;{{ ruleText }}&nbsp;
+                            <el-form-item label="" prop="frequency"
+                                ><el-input style="width: 80px;" v-model.trim="sizeForm.frequency"></el-input>
+                            </el-form-item>
+                            &nbsp;次
+                        </div>
                     </el-form-item>
                     </el-form-item>
                 </dg-col>
                 </dg-col>
             </dg-row>
             </dg-row>
@@ -122,6 +91,13 @@
                     </el-form-item>
                     </el-form-item>
                 </dg-col>
                 </dg-col>
             </dg-row>
             </dg-row>
+            <dg-row>
+                <dg-col :span="24">
+                    <el-form-item label="风险内容" prop="contentFormat">
+                        {{ sizeForm.contentFormat }}
+                    </el-form-item>
+                </dg-col>
+            </dg-row>
             <dg-row>
             <dg-row>
                 <dg-col :span="24">
                 <dg-col :span="24">
                     <el-form-item label="处理意见" prop="handleOpinion">
                     <el-form-item label="处理意见" prop="handleOpinion">
@@ -153,6 +129,12 @@ export default {
     props: {
     props: {
         formData: Object
         formData: Object
     },
     },
+    computed: {
+        ruleText() {
+            if (this.sizeForm.type === "DSJPFJQFX") return "分钟内,鉴权次数超过";
+            return "分钟内,命中红/白名单超过";
+        }
+    },
     data() {
     data() {
         return {
         return {
             necessaryParams: [],
             necessaryParams: [],
@@ -227,7 +209,7 @@ export default {
 .form-inline {
 .form-inline {
     display: flex;
     display: flex;
     label {
     label {
-        min-width: 75px;
+        min-width: 5.4em;
     }
     }
 }
 }
 </style>
 </style>

+ 12 - 22
src/pages/log-manage/auth-risk-detection/index.vue

@@ -12,7 +12,7 @@
             <!-- <el-form-item label="鉴权风险检测名称">
             <!-- <el-form-item label="鉴权风险检测名称">
                 <el-input v-model="form.name.value" placeholder="请输入鉴权风险检测名称" clearable></el-input>
                 <el-input v-model="form.name.value" placeholder="请输入鉴权风险检测名称" clearable></el-input>
             </el-form-item> -->
             </el-form-item> -->
-            <el-form-item label="方案状态">
+            <el-form-item label="方案状态" prop="state.value">
                 <dg-select
                 <dg-select
                     v-model="form.state.value"
                     v-model="form.state.value"
                     placeholder="请选择方案状态"
                     placeholder="请选择方案状态"
@@ -55,15 +55,11 @@ import Detail from "@/pages/log-manage/auth-risk-detection/detail";
 import Editor from "@/pages/log-manage/auth-risk-detection/edit";
 import Editor from "@/pages/log-manage/auth-risk-detection/edit";
 
 
 export default {
 export default {
-    name: "auth-risk-detection", // 组件名称
-    props: {
-        // 接收父组件的数据
-    },
+    name: "auth-risk-detection",
+    props: {},
     data() {
     data() {
         const that = this;
         const that = this;
-        // 组件内部参数
         return {
         return {
-            // 参数名称及默认值
             RiskDetectionPlan,
             RiskDetectionPlan,
             form: {
             form: {
                 // name: {
                 // name: {
@@ -83,8 +79,6 @@ export default {
             ]
             ]
         };
         };
     },
     },
-    computed: {}, // 计算属性
-    watch: {}, // 侦听器(扩展的计算属性)
     components: { Table, Detail, Editor }, // 注册局部组件
     components: { Table, Detail, Editor }, // 注册局部组件
     methods: {
     methods: {
         reloadTable() {
         reloadTable() {
@@ -97,7 +91,7 @@ export default {
                 .then(res => {
                 .then(res => {
                     const formData = res;
                     const formData = res;
                     const layer = that.$dgLayer({
                     const layer = that.$dgLayer({
-                        title: "修改",
+                        title: "修改风险检测方案",
                         shade: [0.4, "#FFF"],
                         shade: [0.4, "#FFF"],
                         area: ["830px", "660px"],
                         area: ["830px", "660px"],
                         content: Editor,
                         content: Editor,
@@ -123,7 +117,7 @@ export default {
             getAuthRiskDetail(id)
             getAuthRiskDetail(id)
                 .then(res => {
                 .then(res => {
                     const layer = that.$dgLayer({
                     const layer = that.$dgLayer({
-                        title: "详情",
+                        title: "风险检测方案详情",
                         shade: [0.4, "#FFF"],
                         shade: [0.4, "#FFF"],
                         content: Detail,
                         content: Detail,
                         area: ["830px", "660px"],
                         area: ["830px", "660px"],
@@ -142,20 +136,16 @@ export default {
         /**
         /**
          * @description:表单查询
          * @description:表单查询
          */
          */
-        handleSearch() {},
+        handleSearch() {
+            this.$refs.myTable.handleSearchClick();
+        },
         /**
         /**
          * @description:表单重置
          * @description:表单重置
          */
          */
-        handleReset() {}
-    }, // 内部方法
-    beforeCreate() {}, // 组件创建前
-    created() {}, // 组件创建完成后
-    beforeMount() {}, // 组件挂载前
-    mounted() {}, // 组件挂载完成后
-    beforeUpdate() {}, // 组件更新前
-    updated() {}, // 组件挂载完成后
-    beforeDestroy() {}, // 组件销毁前
-    destroyed() {} // 组件销毁完成后
+        handleReset() {
+            this.$refs.ruleForm.resetFields();
+        }
+    }
 };
 };
 </script>
 </script>
 <style lang="scss" scoped></style>
 <style lang="scss" scoped></style>

+ 89 - 0
src/pages/log-manage/err-auth-earlywarning-manage/auth-earlywarning-info-detail.vue

@@ -0,0 +1,89 @@
+<template>
+    <div class="u-detail">
+        <el-form ref="ruleForm" label-width="130px" label-suffix=":">
+            <dg-row :gutter="20">
+                <dg-col :span="12">
+                    <el-form-item label="预警对象">
+                        <div class="u-detail__text">{{ sizeForm.creater }}</div>
+                    </el-form-item>
+                </dg-col>
+                <dg-col :span="12">
+                    <el-form-item label="预警对象唯一标识">
+                        <div class="u-detail__text">{{ sizeForm.createrId }}</div>
+                    </el-form-item>
+                </dg-col>
+            </dg-row>
+            <dg-row :gutter="20">
+                <!-- <dg-col :span="12">
+                    <el-form-item label="所属单位">
+                        <div class="u-detail__text" v-translate="{ code: 'DM_APPLY_STATUS' }">{{ sizeForm.state }}</div>
+                    </el-form-item>
+                </dg-col> -->
+                <dg-col :span="12">
+                    <el-form-item label="预警类型">
+                        <div class="u-detail__text" v-translate="{ enum: 'WarningProgrammeTypeEnum' }">
+                            {{ sizeForm.programmeType }}
+                        </div>
+                    </el-form-item>
+                </dg-col>
+                <dg-col :span="12">
+                    <el-form-item label="预警时间">
+                        <div class="u-detail__text">
+                            {{ sizeForm.createTime | dateFormatter("YYYY-MM-DD HH:mm:ss") }}
+                        </div>
+                    </el-form-item>
+                </dg-col>
+            </dg-row>
+            <dg-row :gutter="20">
+                <dg-col :span="12">
+                    <el-form-item label="预警来源">
+                        <div class="u-detail__text">
+                            <span class="u-detail__text" v-translate="{ enum: 'WarningProgrammeTypeEnum' }">
+                                {{ sizeForm.programmeType }}
+                            </span>方案
+                        </div>
+                    </el-form-item>
+                </dg-col>
+            </dg-row>
+            <dg-row :gutter="20">
+                <dg-col :span="24">
+                    <el-form-item label="预警信息">
+                        <div class="u-detail__text">{{ sizeForm.warningMsg }}</div>
+                    </el-form-item>
+                </dg-col>
+            </dg-row>
+            <div class="dg-layer-demo" v-footer>
+                <dg-button @click="handleClose">取消</dg-button>
+            </div>
+        </el-form>
+    </div>
+</template>
+
+<script>
+export default {
+    name: "auth-earlywarning-info-detail",
+    props: {
+        sizeForm: {
+            type: Object,
+            required: true
+        }
+    },
+    data() {
+        return {};
+    },
+    methods: {
+        handleClose() {
+            this.$emit("close");
+        }
+    },
+    created() {}
+};
+</script>
+
+<style lang="scss">
+.u-detail {
+    .el-form-item {
+        margin-bottom: 10px;
+    }
+}
+</style>

+ 131 - 0
src/pages/log-manage/err-auth-earlywarning-manage/auth-earlywarning-info.vue

@@ -0,0 +1,131 @@
+<template>
+    <main class="auth-earlywarning-plan">
+        <el-form ref="ruleForm" inline :rules="rules" :model="form">
+            <el-form-item label="预警对象" prop="creater.value">
+                <el-input v-model="form.creater.value" placeholder="请输入预警对象" clearable></el-input>
+            </el-form-item>
+            <el-form-item label="预警对象唯一标识" prop="createrId.value">
+                <el-input v-model="form.createrId.value" placeholder="请输入预警对象唯一标识" clearable></el-input>
+            </el-form-item>
+            <el-form-item label="预警类型" prop="programmeType.value">
+                <dg-select
+                    v-model="form.programmeType.value"
+                    placeholder="请选择预警类型"
+                    enum="WarningProgrammeTypeEnum"
+                    style="width: 13rem"
+                    clearable
+                >
+                </dg-select>
+            </el-form-item>
+            <el-form-item label="预警时间" prop="createTime.value">
+                <dg-date-picker
+                    v-model="form.createTime.value"
+                    type="daterange"
+                    range-separator="至"
+                    start-placeholder="开始日期"
+                    end-placeholder="结束日期"
+                    clearable
+                    value-format="yyyyMMddHHmmss"
+                    :unlink-panels="true"
+                >
+                </dg-date-picker>
+            </el-form-item>
+            <el-form-item>
+                <dg-button type="primary" @click="handleSearch" icon="el-icon-search">查询</dg-button>
+                <dg-button type="primary" @click="handleReset" icon="el-icon-refresh-right">重置</dg-button>
+            </el-form-item>
+        </el-form>
+        <Table ref="myTable" :url="tableUrl" :headerData="EarlyWarningInfo" :condition="form">
+            <dg-table-column label="操作" align="center">
+                <template slot-scope="scope">
+                    <div class="u-table__operation">
+                        <el-tooltip content="详情" effect="dark" placement="top-end">
+                            <i class="el-icon-document" @click="handleViewDetail(scope.row)"></i>
+                        </el-tooltip>
+                    </div>
+                </template>
+            </dg-table-column>
+        </Table>
+    </main>
+</template>
+
+<script>
+import Table from "@/pages/common/table";
+import { EarlyWarningInfo } from "../DataConfig";
+import { getAuthEarlyWarningDetail, authEarlyWarningInfo } from "@/api/log-manage";
+import Detail from "./auth-earlywarning-info-detail";
+
+export default {
+    name: "auth-earlywarning-info",
+    data() {
+        return {
+            EarlyWarningInfo,
+            form: {
+                creater: {
+                    value: "",
+                    op: "like"
+                },
+                createrId: {
+                    value: "",
+                    op: "like"
+                },
+                programmeType: {
+                    value: "",
+                    op: "="
+                },
+                createTime: {
+                    value: "",
+                    op: "between",
+                    type: "DATE",
+                    format: "yyyyMMddHHmmss"
+                }
+            },
+            rules: {},
+            tableUrl: authEarlyWarningInfo
+        };
+    },
+    components: { Table },
+    methods: {
+        /**
+         * @description:表单查询
+         */
+        handleSearch() {
+            this.$refs.myTable.handleSearchClick();
+        },
+        /**
+         * @description:表单重置
+         */
+        handleReset() {
+            this.$refs.ruleForm.resetFields();
+        },
+        /**
+         * @description:详情
+         */
+        handleViewDetail({ id }) {
+            const that = this;
+            getAuthEarlyWarningDetail(id)
+                .then(res => {
+                    const sizeForm = res;
+                    const layer = this.$dgLayer({
+                        title: `详情`,
+                        shade: [0.4, "#FFF"],
+                        content: Detail,
+                        props: {
+                            sizeForm
+                        },
+                        on: {
+                            success() {
+                                layer.close(layer.dialogIndex);
+                            }
+                        },
+                        area: ["900px", "500px"]
+                    });
+                })
+                .catch(error => {
+                    that.$message.error("详情获取失败");
+                });
+        }
+    }
+};
+</script>
+<style lang="scss" scoped></style>

+ 11 - 0
src/router/modules/log-manage.js

@@ -35,6 +35,17 @@ const componentsRouter = {
                         permission: ["QXGL_RZGL_YCJQYJGL_JQYJFA"]
                         permission: ["QXGL_RZGL_YCJQYJGL_JQYJFA"]
                         // layout: "page"
                         // layout: "page"
                     }
                     }
+                },
+                {
+                    path: "auth-earlywarning-info",
+                    component: () => import("@/pages/log-manage/err-auth-earlywarning-manage/auth-earlywarning-info"),
+                    name: "auth-earlywarning-info",
+                    meta: {
+                        title: "鉴权预警信息",
+                        noCache: false,
+                        permission: ["YHGLPT_RZSJGL"]
+                        // layout: "page"
+                    }
                 }
                 }
             ]
             ]
         },
         },