41 lines
872 B
JavaScript
41 lines
872 B
JavaScript
import {directive as viewer} from '../cdn/v-viewer/1.7.4/v-viewer'
|
|
|
|
const map = {
|
|
throttle: {
|
|
bind: function (el, obj) {
|
|
let timerId = null
|
|
let flag = true
|
|
|
|
el.addEventListener('input', function () {
|
|
if (!flag) return
|
|
|
|
flag = false
|
|
timerId && clearTimeout(timerId)
|
|
timerId = setTimeout(function () {
|
|
flag = true
|
|
obj.value()
|
|
}, 800)
|
|
})
|
|
}
|
|
},
|
|
permit: {
|
|
bind(el, binding) {
|
|
const code = binding.value
|
|
const permits = JSON.parse(localStorage.getItem('vuex') || null)?.user?.info?.buttons || []
|
|
if (!permits.find(e => e.id == code || e.permission == code)) {
|
|
el.style.display = 'none'
|
|
}
|
|
}
|
|
},
|
|
viewer: viewer({debug: true})
|
|
}
|
|
|
|
|
|
export default {
|
|
install(Vue) {
|
|
for (const key in map) {
|
|
Vue.directive(key, map[key])
|
|
}
|
|
}
|
|
}
|