components.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import store from '@/store'
  2. import BasePagination from '@/framework/components/BasePagination'
  3. import TableTemplate from '@/framework/template/TablePageTemplate'
  4. //tools
  5. import basicutils from '@/framework/utils/basicutils'
  6. export default {
  7. install: function(Vue) {
  8. Vue.prototype.hasPermission = function(permission) {
  9. return store.getters['layout/permissions'][permission]
  10. }
  11. Vue.prototype.initPagination = function() {
  12. return {
  13. pageSize: 50,
  14. pageSizes: [10, 30, 50, 100, 150, 200],
  15. layout: 'total, sizes, prev, pager, next, jumper',
  16. total: 0,
  17. currentPage: 1,
  18. data: [],
  19. params: {}
  20. }
  21. }
  22. Vue.component('base-pagination', BasePagination)
  23. Vue.component('table-page-template', TableTemplate)
  24. Vue.prototype.indexInArray = basicutils.indexInArray
  25. Vue.prototype.itemInArray = basicutils.itemInArray
  26. Vue.prototype.deleteInArray = basicutils.deleteInArray
  27. Vue.prototype.formatDate = function(date) {
  28. return basicutils.formatDateByPattern(date, 'yyyy-MM-dd HH:mm:ss')
  29. }
  30. Vue.filter('formatDateForMillisecond', function(value) {
  31. if (!value) return ''
  32. return basicutils.formatDateByPattern(new Date(value), 'yyyy-MM-dd')
  33. })
  34. Vue.filter('formatDateTimeForMillisecond', function(value) {
  35. if (!value) return ''
  36. return basicutils.formatDateByPattern(new Date(value), 'yyyy-MM-dd HH:mm:ss')
  37. })
  38. }
  39. }