zcy vor 4 Jahren
Ursprung
Commit
8e636ba0d1

+ 2 - 3
src/utils/permission.js → src/utils/JSPermission.js

@@ -5,17 +5,16 @@ import store from '@/store'
  * @returns {Boolean}
  * @example see @/views/permission/directive.vue
  */
-export default function checkPermission(value) {
+export default function JSPermission(value) {
   if (value && value instanceof Array && value.length > 0) {
     const btns = store.getters && store.getters.btns
     const permissionBtns = value
-
     const hasPermission = btns.some(btn => {
       return permissionBtns.includes(btn)
     })
     return hasPermission
   } else {
-    console.error(`need roles! Like v-permission="['admin','editor']"`)
+    console.error(`need Btns! Like v-permission="['admin','editor']"`)
     return false
   }
 }

+ 4 - 0
src/views/sys/dept/index.vue

@@ -57,11 +57,13 @@
       >
         <template slot="status" slot-scope="text, record">
           <a-switch
+            v-if="JSPermission(['pc:system:dept:edit'])"
             :checked="record.status==='1'?false:true"
             checked-children="启用"
             un-checked-children="停用"
             @change="changeStatus({$event,record})"
           />
+          <span v-else>{{ record.status==='1'?'停用':'启用' }}</span>
         </template>
         <span slot="action" slot-scope="text, record">
           <a-button v-permission="['pc:system:dept:edit']" size="small" type="primary" @click="handleEdit(record)">
@@ -90,6 +92,7 @@ import { listMixin } from '@/mixin/listMixin'
 import columns from './indexColumns'
 import CheckAndEditModel from './CheckAndEditModel'
 import { httpAction } from '@/api/request'
+import JSPermission from '@/utils/JSPermission'
 
 export default {
   components: {
@@ -113,6 +116,7 @@ export default {
   created() {
   },
   methods: {
+    JSPermission,
     changeStatus({ $event, record }) {
       console.log($event, record)
       record.status = $event ? '0' : '1'

+ 1 - 1
src/views/sys/dict/index.vue

@@ -60,7 +60,7 @@
             编辑
           </a-button>
           <a-divider type="vertical" />
-          <a-button size="small" type="primary" @click="editDictItem(record)">
+          <a-button v-permission="['pc:system:dict:edit']" size="small" type="primary" @click="editDictItem(record)">
             字典配置
           </a-button>
           <a-divider type="vertical" />

+ 5 - 1
src/views/sys/menu/index.vue

@@ -69,11 +69,13 @@
         </template>
         <template slot="status" slot-scope="text, record">
           <a-switch
+            v-if="JSPermission(['pc:system:menu:edit'])"
             :checked="record.status==='1'?false:true"
             checked-children="启用"
             un-checked-children="停用"
             @change="changeStatus({$event,record})"
           />
+          <span v-else>{{ record.status==='1'?'停用':'启用' }}</span>
         </template>
         <span slot="action" slot-scope="text, record">
           <a-button v-permission="['pc:system:menu:edit']" size="small" type="primary" @click="handleEdit(record)">
@@ -102,6 +104,7 @@ import { listMixin } from '@/mixin/listMixin'
 import columns from './indexColumns'
 import CheckAndEditModel from './CheckAndEditModel'
 import { httpAction } from '@/api/request'
+import JSPermission from '@/utils/JSPermission'
 
 export default {
   components: {
@@ -123,10 +126,11 @@ export default {
   created() {
   },
   methods: {
+    JSPermission,
     changeStatus({ $event, record }) {
       console.log($event, record)
       record.status = $event ? '0' : '1'
-      httpAction('/system/dept', record, 'put').then((res) => {
+      httpAction('/system/menu', record, 'put').then((res) => {
         if (res.code === 200) {
           this.$message.success(res.msg)
         } else {

+ 5 - 1
src/views/sys/role/index.vue

@@ -56,18 +56,20 @@
       >
         <template slot="status" slot-scope="text, record">
           <a-switch
+            v-if="JSPermission(['pc:system:role:edit'])"
             :checked="record.status==='1'?false:true"
             checked-children="启用"
             un-checked-children="停用"
             @change="changeStatus({$event,record})"
           />
+          <span v-else>{{ record.status==='1'?'停用':'启用' }}</span>
         </template>
         <span slot="action" slot-scope="text, record">
           <a-button v-permission="['pc:system:role:edit']" size="small" type="primary" @click="handleEdit(record)">
             编辑
           </a-button>
           <a-divider type="vertical" />
-          <a-button size="small" type="primary" @click="prem(record)">
+          <a-button  v-permission="['pc:system:role:permission']" size="small" type="primary" @click="prem(record)">
             操作权限
           </a-button>
           <a-divider type="vertical" />
@@ -95,6 +97,7 @@ import columns from './indexColumns'
 import CheckAndEditModel from './CheckAndEditModel'
 import rightModel from '@/components/RightModel'
 import { httpAction } from '@/api/request'
+import JSPermission from '@/utils/JSPermission'
 
 export default {
   components: {
@@ -121,6 +124,7 @@ export default {
   created() {
   },
   methods: {
+    JSPermission,
     changeStatus({ $event, record }) {
       console.log($event, record)
       record.status = $event ? '0' : '1'

+ 4 - 0
src/views/sys/user/index.vue

@@ -94,11 +94,13 @@
             </template>
             <template slot="status" slot-scope="text, record">
               <a-switch
+                v-if="JSPermission(['pc:system:user:edit'])"
                 :checked="record.status==='1'?false:true"
                 checked-children="启用"
                 un-checked-children="停用"
                 @change="changeStatus({$event,record})"
               />
+              <span v-else>{{ record.status==='1'?'停用':'启用' }}</span>
             </template>
             <span slot="action" slot-scope="text, record">
               <a-button v-permission="['pc:system:user:edit']" size="small" type="primary" @click="handleEdit(record)">
@@ -149,6 +151,7 @@ import columns from './indexColumns'
 import CheckAndEditModel from './CheckAndEditModel'
 import leftTree from '@/components/leftTree'
 import { httpAction } from '@/api/request'
+import JSPermission from '@/utils/JSPermission'
 
 export default {
   components: {
@@ -173,6 +176,7 @@ export default {
   created() {
   },
   methods: {
+    JSPermission,
     getTreeData(data) {
       this.queryParam.deptId = data.id
       this.loadData()