Explorar el Código

Merge branch 'master' into 'develop'

Master

See merge request dcuc-tjdsj/auth-web!58
林倩 hace 2 años
padre
commit
24c6807779

+ 2 - 1
.gitignore

@@ -2,4 +2,5 @@
 node_modules
 dist
 .idea
-package-lock.json
+package-lock.json
+dist.zip

+ 2 - 2
config/dev.env.js

@@ -33,9 +33,9 @@ module.exports = merge(prodEnv, {
   PROT: '8871',
   PROXY_TABLE: JSON.stringify({
     '/dcucauth': {
-      // target: "http://10.11.1.237:8861"
+      target: "http://10.11.1.237:8861"
       // target: "http://10.254.11.203:8861"
-       target: "http://192.168.10.2:8871"
+      //  target: "http://192.168.10.2:8871"
       //  target: "http://192.168.6.133:3471"
       // target: 'http://192.168.6.131:3561'
     }

+ 37 - 0
src/api/environment-manage.js

@@ -0,0 +1,37 @@
+/**
+ 环境要素管理
+ @author linqian
+ @Date:20221-08-25
+ */
+
+ import request from '@/utils/request';
+ const baseUrl = '/envElement';
+ 
+export const tableUrl = `${baseUrl}/search`
+ 
+ // 新增
+ export function saveEnvElement(data) {
+   return request({
+     url: `${baseUrl}/save`,
+     method: 'POST',
+     data
+   });
+ }
+
+ // 更新
+ export function updateEnvElement(data) {
+    return request({
+      url: `${baseUrl}/update`,
+      method: 'POST',
+      data
+    });
+  }
+  // 删除
+  export function deleteEnvElement(id) {
+    return request({
+      url: `${baseUrl}/deleteById/${id}`,
+      method: 'DELETE',
+    });
+  }
+
+

+ 9 - 0
src/api/permission-selfhelp-manage.js

@@ -135,3 +135,12 @@ export function checkAppFunRepeat(params) {
      params
   })
 }
+
+// 判断是否存在红白名单内容
+export function rediListCheck(data) {
+  return request({
+     url: `${baseUrl}/redListCheck `,
+     method: "POST",
+     data
+  })
+}

+ 163 - 0
src/pages/auth-subject-manage/environment-element/index.vue

@@ -0,0 +1,163 @@
+<!--
+主体环境要素管理
+@Author: linqian
+@Date: 2021-11-08 14:12
+-->
+<template>
+  <div>
+    <!-- 搜索项 -->
+    <search-bar ref="searchbar" :conditionForm="conditionForm" @submitSearch="receiveSearch"></search-bar>
+    <!-- 操作栏 -->
+    <operate-bar :pageOptList="pageOptList" @submitPageOpt="receviceOpt"></operate-bar>
+    <!-- 表格 -->
+    <new-table
+      ref="table"
+      :tableUrl="tableUrl"
+      :tableHeader="tableHeader"
+      :condition="condition"
+      :tableOptList="tableOptList"
+      @submitTableOpt="receviceOpt"
+    >
+    </new-table>
+  </div>
+</template>
+
+<script>
+import newTable from '@/components/new-table';
+import searchBar from '@/components/search-bar';
+import operateBar from '@/components/operate-bar';
+import { searchOpt, addEditOpt } from '@/mixins/page-opt';
+import * as Api from '@/api/environment-manage';
+const labelWidth = '120px';
+const area = ['500px', '400px'];
+export default {
+  components: {
+    newTable,
+    searchBar,
+    operateBar
+  },
+  mixins: [searchOpt, addEditOpt],
+  data() {
+    return {
+      tableUrl: Api.tableUrl,
+      tableHeader: [
+        {
+          prop: 'envElementType',
+          label: '环境要素类型',
+          code: "DM_ENV_ELE_TYPE"
+        },
+        {
+          prop: 'envElementName',
+          label: '环境要素名称'
+        },
+        {
+          prop: 'createTime',
+          label: '创建时间'
+        }
+      ],
+      pageOptList: ['新增'],
+      tableOptList: ['修改', '删除'],
+      conditionForm: [
+        {
+          label: '环境要素类型',
+          name: 'envElementType',
+          op: '=',
+          component: 'DgSelect',
+          attr: {
+            code: "DM_ENV_ELE_TYPE"
+          }
+        },
+        {
+          label: '环境要素名称',
+          name: 'envElementName',
+          op: 'like',
+          component: 'ElInput'
+        }
+      ],
+      editForm: [
+        {
+          label: '环境要素类型',
+          prop: 'envElementType',
+          component: 'DgSelect',
+          value: '',
+          rules: [{ required: true, message: '请选择环境要素类型', trigger: 'change' }],
+          attr: {
+            code: 'DM_ENV_ELE_TYPE'
+          },
+          code: 'DM_ENV_ELE_TYPE',
+          span: 24
+        },
+        {
+          label: '环境要素名称',
+          prop: 'envElementName',
+          component: 'ElInput',
+          value: '',
+          rules: [{ required: true, message: '请输入环境要素名称', trigger: 'change' }],
+          span: 24
+        }
+      ]
+    };
+  },
+  computed: {},
+  methods: {
+    receviceOpt(opt, row) {
+      const otherParams = {
+        config: this.editForm,
+        labelWidth,
+        area
+      };
+      if (opt == '新增') {
+        this.handleOpenEditForm('新增', 'add', otherParams);
+      } else if (opt == '修改') {
+        this.handleOpenEditForm('修改', 'update', { ...otherParams, detailInfo: row });
+      } else if (opt == '删除') {
+        this.handleDelete(row);
+      }
+    },
+    handleDelete(row) {
+      this.$dgConfirm(`是否确定删除这条数据!`, '提示', {}).then(() => {
+        Api.deleteEnvElement(row.id).then((res) => {
+          this.$message.success('删除成功!');
+          this.handleSearch();
+        });
+      });
+    },
+    /**
+     * @description: 保存表单
+     * @param { 表单数据 } form
+     * @param { 新增还是编辑 } type
+     * @param { 弹框 } layer
+     */
+    async saveForm(form, type, layer) {
+      const res = type == 'update' ? await this.update(form) : await this.add(form);
+      if (res.data.result == '200') {
+        this.$message.success('保存成功');
+        layer.close(layer.dialogIndex);
+        this.handleSearch();
+      } else {
+        this.$message.warning(res.data.msg);
+      }
+    },
+    add(form) {
+      return new Promise((resolve) => {
+        Api.saveEnvElement(form).then((res) => {
+          resolve(res);
+        });
+      });
+    },
+    update(form) {
+      return new Promise((resolve) => {
+        const { createTime, ...otherInfo } = form;
+        Api.updateEnvElement({ ...otherInfo }).then((res) => {
+          resolve(res);
+        });
+      });
+    }
+  },
+  created() {},
+  mounted() {}
+};
+</script>
+
+<style lang='scss'>
+</style>

+ 86 - 0
src/pages/log-manage/author-risk-log/index.vue

@@ -0,0 +1,86 @@
+<!--
+授权风险日志
+@Author: linqian
+@date: 2022-08-25 09:53
+-->
+<template>
+  <div>
+    <!-- 搜索项 -->
+    <search-bar ref="searchbar" :conditionForm="conditionForm" @submitSearch="receiveSearch"></search-bar>
+    <!-- 表格 -->
+    <new-table
+      ref="table"
+      :tableUrl="tableUrl"
+      :tableHeader="tableHeader"
+      :condition="condition"
+    >
+    </new-table>
+  </div>
+</template>
+
+<script>
+import newTable from '@/components/new-table';
+import searchBar from '@/components/search-bar';
+import { searchOpt } from '@/mixins/page-opt';
+export default {
+  components: {
+    newTable,
+    searchBar
+  },
+  mixins: [searchOpt],
+  data() {
+    return {
+      tableUrl: "/authsvr/v2/selfauth/redListApplyLog",
+      tableHeader: [
+        {
+          prop: 'logSender',
+          label: '日志发送方'
+        },
+        {
+          prop: 'logReceiver',
+          label: '日志接收方'
+        },
+        {
+          prop: 'userName',
+          label: '姓名'
+        },
+        {
+          prop: 'idcard',
+          label: '身份证号码'
+        },
+        {
+          prop: 'riskType',
+          label: '风险类型',
+          code: "DM_AUTHOR_RISK_TYPE "
+        },
+        {
+          prop: 'riskContent',
+          label: '风险内容'
+        },
+        {
+          prop: 'logSendTime',
+          label: '风险发送时间'
+        }
+      ],
+      conditionForm: [
+        {
+          label: '风险发送时间',
+          name: 'logSendTime',
+          op: 'between',
+          type: 'DATE',
+          value: '',
+          valueFormat: 'yyyyMMddHHmmss',
+          component: 'DgDatePicker'
+        }
+      ]
+    };
+  },
+  computed: {},
+  methods: {},
+  created() {},
+  mounted() {}
+};
+</script>
+
+<style lang='scss'>
+</style>

+ 27 - 4
src/pages/permission-selfhelp-manage/component/basic-form.vue

@@ -119,7 +119,13 @@
           <!-- <component :is="approveComponent"></component> -->
           <el-form-item label="审批内容:" class="self-form-item" prop="flowContent">
             <div style="display: flex" v-if="!isDetail">
-              <el-input type="textarea" :autosize="{ minRows: 5 }" :value="flowContentStr" :disabled="true" placeholder="请选择审批内容"></el-input>
+              <el-input
+                type="textarea"
+                :autosize="{ minRows: 5 }"
+                :value="flowContentStr"
+                :disabled="true"
+                placeholder="请选择审批内容"
+              ></el-input>
               <dg-button style="margin-left: 10px" @click="handleChoice" v-if="sizeForm.applyType && !this.repeatApply"
                 >选择</dg-button
               >
@@ -348,7 +354,7 @@ export default {
           code: '02'
         }
       ],
-      dateRange: "",
+      dateRange: '',
       pickerOptions: {
         disabledDate(currentDate) {
           return currentDate.getTime() < Date.now() - 8.64e7;
@@ -477,7 +483,24 @@ export default {
         this.$refs.ruleForm.validate((valid) => {
           if (valid) {
             this.sizeForm.operateType = '2';
-            this.save();
+            Api.rediListCheck(this.sizeForm.resourceInfos).then((res) => {
+              const { result, content, msg } = res.data;
+              if (result == '200') {
+                if (content === true) {
+                  // 说明存在风险
+                  this.$dgConfirm(`您申请的内容命中功能红名单风险,请确定是否继续申请?`, '风险提示', {}).then(
+                    () => {
+                      this.save();
+                    }
+                  );
+                } else {
+                  // 没有命中直接保存
+                  this.save();
+                }
+              } else {
+                this.$message.warning(msg);
+              }
+            });
           }
         });
       }
@@ -622,7 +645,7 @@ export default {
           ...otherInfo
         };
         if (this.sizeForm.permissionValidType == '01') {
-           this.dateRange = [this.sizeForm.startTime, this.sizeForm.endTime];
+          this.dateRange = [this.sizeForm.startTime, this.sizeForm.endTime];
         }
         const delResourceInfoIds = delResourceInfos.map((item) => item.funId);
         // 默认选中节点 = 新增节点 + ( 已有节点 - 欲撤销节点 )

+ 6 - 0
src/router/modules/auth-subject-manage.js

@@ -35,6 +35,12 @@ const componentsRouter =
           component: () => import('@/pages/auth-subject-manage/subject-prop-manage'),
           name: 'subject-prop-manage',
           meta: { title: '主体属性管理', noCache: true, permission: ['QXGL_SQGL_ZTGL_ZTSXLGL'],layout: 'page' }
+        },
+        {
+          path: 'environment-element',
+          component: () => import('@/pages/auth-subject-manage/environment-element'),
+          name: 'environment-element',
+          meta: { title: '主体环境要素管理', noCache: true, permission: ['QXGL_SQGL_ZTGL_ZTHJYSGL', 'QXGL_SQGL_ZTGL_ZTSXLGL'] }
         }
       ]
     }

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

@@ -97,6 +97,16 @@ const componentsRouter = [
           permission: ['QXGL_RZGL_QXRZGL_JQFXRZ']
         }
       },
+      {
+        path: 'author-risk-log',
+        component: () => import('@/pages/log-manage/author-risk-log'),
+        name: 'author-risk-log',
+        meta: {
+          title: '授权风险日志',
+          noCache: true,
+          permission: ['QXGL_RZGL_QXRZGL_SQFXRZ', 'QXGL_RZGL_QXRZGL_JQFXRZ']
+        }
+      },
       {
         path: 'auth-scope-log',
         component: () => import('@/pages/log-report/scope-author-audit'),