import Vue from 'vue'
import Store from '@/store'
/**
* 權限控制按鈕顯示指令
* @params {Array[String,Boolean]} [權限code碼,其他控制條件]
*/
function changeHaspms(el, binding){
if (!permissionJudge(binding.value)) {
el.style.display="none"
}else{
el.style.display=""
}
function permissionJudge(value) {
const [code,otherFlag=true] = value
const list = Store.getters.permissions
const hasPms = list.includes(code)
return hasPms && otherFlag
}
}
Vue.directive('haspms', {
bind: function(el, binding,vnode) {
changeHaspms(el, binding)
},
update(el, binding,vnode){
changeHaspms(el, binding)
}
})
使用
<li @click="updateOrganizeStatus($event,organizeItem)"
v-haspms="['PZZX.ZZGL.QY',organizeItem.status === 0]">啟用
</li>
