From dc861690e468ed4c7123673dca6415581ce2cbb0 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期一, 16 十二月 2024 16:39:15 +0800
Subject: [PATCH] 日志管理模块页面按钮权限

---
 Source/plt-web/plt-web-ui/src/views/system/log/index.vue     |   38 ++++++++++++++++---
 Source/plt-web/plt-web-ui/src/views/system/log/basicConf.vue |   82 ++++++++++++++++++++++++----------------
 2 files changed, 81 insertions(+), 39 deletions(-)

diff --git a/Source/plt-web/plt-web-ui/src/views/system/log/basicConf.vue b/Source/plt-web/plt-web-ui/src/views/system/log/basicConf.vue
index c2c724d..7507f5f 100644
--- a/Source/plt-web/plt-web-ui/src/views/system/log/basicConf.vue
+++ b/Source/plt-web/plt-web-ui/src/views/system/log/basicConf.vue
@@ -4,8 +4,12 @@
     <el-main>
       <basic-container>
         <div style="margin: 0 0 10px 20px">
-          <el-button v-if="form.delType==0" icon="el-icon-check" size="small" type="primary" @click="saveHandler">淇濆瓨</el-button>
-          <el-button v-else icon="el-icon-delete" size="small" type="danger" @click="delHandler">鍒犻櫎</el-button>
+          <el-button v-if="form.delType == 0 && permissionList.saveBtn" icon="el-icon-check" size="small" type="primary"
+                     @click="saveHandler">淇濆瓨
+          </el-button>
+          <el-button v-if="form.delType != 0 && permissionList.delBtn" icon="el-icon-delete" size="small" type="danger"
+                     @click="delHandler">鍒犻櫎
+          </el-button>
         </div>
         <avue-form ref="form" v-model="form" :option="formOption"></avue-form>
         <div class="tip">
@@ -21,38 +25,40 @@
 </template>
 
 <script>
-import {getPeroid,savePeriod,deleteLog} from "@/api/system/log/logBasic";
+import {getPeroid, savePeriod, deleteLog} from "@/api/system/log/logBasic";
+import {mapGetters} from "vuex";
+
 export default {
   name: "basicConf",
   data: function () {
     return {
-      form:{
-        period:'',
+      form: {
+        period: '',
       },
-      periodData:[],
-      formOption:{
+      periodData: [],
+      formOption: {
         submitBtn: false,
         emptyBtn: false,
         column: [{
           label: '鏃ュ織鍒犻櫎',
           prop: 'delType',
           span: 24,
-          labelWidth:120,
+          labelWidth: 120,
           type: 'radio',
           value: 0,
           dicData: [
-            { label: '鑷姩鍒犻櫎', value: 0 },
-            { label: '鎵嬪姩鍒犻櫎', value: 1 },
+            {label: '鑷姩鍒犻櫎', value: 0},
+            {label: '鎵嬪姩鍒犻櫎', value: 1},
           ]
         }, {
           label: '淇濆瓨鏃ユ湡',
           prop: 'period',
           type: 'select',
-          labelWidth:120,
+          labelWidth: 120,
           dicData: this.periodData,
-          props:{
-            label:'value',
-            value:'code'
+          props: {
+            label: 'value',
+            value: 'code'
           },
           rules: [{
             required: true,
@@ -63,8 +69,8 @@
           label: '璇烽�夋嫨鏃ユ湡',
           prop: 'deleteDate',
           type: 'date',
-          valueFormat:'yyyy-MM-dd',
-          labelWidth:120,
+          valueFormat: 'yyyy-MM-dd',
+          labelWidth: 120,
           display: false,
           rules: [{
             required: true,
@@ -75,44 +81,53 @@
       },
     }
   },
+  computed: {
+    ...mapGetters(["permission"]),
+    permissionList() {
+      return {
+        saveBtn: this.vaildData(this.permission[this.$route.query.id].save, false),
+        delBtn: this.vaildData(this.permission[this.$route.query.id].DELETE, false),
+      };
+    },
+  },
   created() {
     this.getPeroid();
   },
   watch: {
     'form.delType': {
       handler(newval) {
-        if (newval ==0) {
-          this.formOption.column[1].display=true;
-          this.formOption.column[2].display=false;
-        }else {
-          this.formOption.column[1].display=false;
-          this.formOption.column[2].display=true;
+        if (newval == 0) {
+          this.formOption.column[1].display = true;
+          this.formOption.column[2].display = false;
+        } else {
+          this.formOption.column[1].display = false;
+          this.formOption.column[2].display = true;
         }
       }
     },
   },
-  methods:{
-    getPeroid:function (){
+  methods: {
+    getPeroid: function () {
       getPeroid().then(res => {
         this.$refs.form.updateDic('period', res.data.data);
-        this.periodData=res.data.data;
-        this.form.period=res.data.data.filter(item=>{
+        this.periodData = res.data.data;
+        this.form.period = res.data.data.filter(item => {
           return item.choose
         })[0].code
       }).catch(error => {
       })
     },
-    saveHandler:function (){
-      savePeriod({'period':this.form.period}).then(res => {
+    saveHandler: function () {
+      savePeriod({'period': this.form.period}).then(res => {
         if (res.data.success) {
           this.$message.success('淇濆瓨鎴愬姛')
         }
       });
     },
     delHandler() {
-      this.$refs.form.validate((valid,done) => {
-        if(valid){
-          deleteLog({'deleteDate':this.form.deleteDate}).then(res => {
+      this.$refs.form.validate((valid, done) => {
+        if (valid) {
+          deleteLog({'deleteDate': this.form.deleteDate}).then(res => {
             if (res.data.success) {
               this.$message.success('鍒犻櫎鎴愬姛')
             }
@@ -126,13 +141,14 @@
 </script>
 
 <style scoped>
-.tip{
+.tip {
   font-size: 12px;
   line-height: 24px;
   color: #909399;
   margin: 0 0 10px 20px;
 }
-.tip div{
+
+.tip div {
   margin-left: 30px;
 }
 </style>
diff --git a/Source/plt-web/plt-web-ui/src/views/system/log/index.vue b/Source/plt-web/plt-web-ui/src/views/system/log/index.vue
index cf0cfe1..6172a24 100644
--- a/Source/plt-web/plt-web-ui/src/views/system/log/index.vue
+++ b/Source/plt-web/plt-web-ui/src/views/system/log/index.vue
@@ -15,7 +15,9 @@
       @current-change="currentChange"
     >
       <template slot="menuLeft" slot-scope="scope">
-        <el-button icon="el-icon-download" plain size="small" type="primary" @click="exportClickHandler">瀵煎嚭</el-button>
+        <el-button v-if="permissionList.exportBtn" icon="el-icon-download" plain size="small" type="primary"
+                   @click="exportClickHandler">瀵煎嚭
+        </el-button>
       </template>
     </avue-crud>
   </basic-container>
@@ -23,8 +25,9 @@
 
 <script>
 import basicOption from "@/util/basic-option";
-import {getLogListByContion,getOperatingUsers,exportLog} from "@/api/system/log/logBasic";
+import {getLogListByContion, getOperatingUsers, exportLog} from "@/api/system/log/logBasic";
 import func from "@/util/func";
+import {mapGetters} from "vuex";
 
 export default {
   name: "index",
@@ -111,11 +114,25 @@
       this.getTableList();
     }
   },
+  computed: {
+    ...mapGetters(["permission"]),
+    permissionList() {
+      return {
+        exportBtn: this.vaildData(this.permission[this.$route.query.id].EXPORT, false),
+      };
+    },
+  },
+  created() {
+    console.log(this.$route.query.id)
+  },
   methods: {
     // 琛ㄦ牸璇锋眰
     getTableList() {
       this.tableLoading = true;
-      getLogListByContion(this.page.currentPage, this.page.pageSize, {'logType': this.$route.query.logType,'roleType':this.$route.query.roleType, ...this.searchParams}).then(res => {
+      getLogListByContion(this.page.currentPage, this.page.pageSize, {
+        'logType': this.$route.query.logType,
+        'roleType': this.$route.query.roleType, ...this.searchParams
+      }).then(res => {
         this.tableData = res.data.data;
         this.page.total = res.data.total;
         this.tableLoading = false;
@@ -157,7 +174,12 @@
     // 瀵煎嚭
     exportClickHandler() {
       const loading = this.$loading({});
-      exportLog({'pageNo':1,'pageSize':-1,'logType': this.$route.query.logType,'roleType':this.$route.query.roleType, ...this.searchParams}).then(res => {
+      exportLog({
+        'pageNo': 1,
+        'pageSize': -1,
+        'logType': this.$route.query.logType,
+        'roleType': this.$route.query.roleType, ...this.searchParams
+      }).then(res => {
         func.downloadFileByBlobHandler(res);
         this.createdLoading = false
         this.$message.success('瀵煎嚭鎴愬姛');
@@ -170,8 +192,12 @@
         row,
         this.$refs.logCrud,
         this.lastIndex,
-        (newIndex) => { this.lastIndex = newIndex; },
-        () => { this.selectList = []; }
+        (newIndex) => {
+          this.lastIndex = newIndex;
+        },
+        () => {
+          this.selectList = [];
+        }
       );
     },
   }

--
Gitblit v1.9.3