mixins.js 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. import { timeOptions } from '@/utils/data.js'
  2. export default {
  3. data() {
  4. return {
  5. loading: false,
  6. filterObj: null,
  7. filterData: {
  8. dateFilter: 'month',
  9. dataType: 2
  10. },
  11. filterDefaultTab: 'userOrDept',
  12. filterDataTypeOptions: [
  13. { label: '仅本人', value: 1 },
  14. { label: '本人及下属', value: 2 },
  15. { label: '仅本部门', value: 3 },
  16. { label: '本部门及下属部门', value: 4 },
  17. { label: '自定义', value: 0 }
  18. ],
  19. cWidth: '',
  20. cHeight: '',
  21. pixelRatio: 1,
  22. serverData: '',
  23. filterPopupMaskFlag: true
  24. }
  25. },
  26. computed: {
  27. // 筛选范围label
  28. filterDataTypeLabel() {
  29. const dataType = this.filterData.dataType || null
  30. if (!dataType || dataType === -1) {
  31. // const data = this.filterObj.userOrDeptData
  32. // const flag = data.type === 1
  33. // return flag ? data.data[0].name : data.data[0].realname
  34. return '自定义'
  35. } else {
  36. const findRes = this.filterDataTypeOptions.find(o => o.value === dataType)
  37. if (findRes) {
  38. return findRes.label
  39. }
  40. }
  41. return ''
  42. },
  43. // 筛选时间label
  44. filterTimeLabel() {
  45. const type = this.filterData.dateFilter
  46. if (!type || type === -1 || type === 'custom') {
  47. // const startTime = this.filterObj.startTime.replace(/-/g, '.')
  48. // const endTime = this.filterObj.endTime.replace(/-/g, '.')
  49. const startTime = this.filterObj.startDate
  50. const endTime = this.filterObj.endDate
  51. return `${startTime}~${endTime}`
  52. } else {
  53. const findRes = timeOptions.find(o => o.value === type)
  54. if (findRes) {
  55. return findRes.label
  56. }
  57. }
  58. return ''
  59. }
  60. },
  61. methods: {
  62. handleOpenFilter(tab) {
  63. this.filterDefaultTab = tab
  64. this.$refs.filterPopup.open()
  65. },
  66. handleCloseFilter() {
  67. this.$refs.filterPopup.close()
  68. },
  69. handleChangeFilter(filterObj, data) {
  70. console.info('handleChangeFilter: ', filterObj, data)
  71. this.filterObj = filterObj
  72. this.filterData = filterObj
  73. this.getData()
  74. },
  75. filterMaskClick() {
  76. if (!this.filterPopupMaskFlag) {
  77. this.$refs.workbenchFilter.closeChildPopup()
  78. }
  79. },
  80. childPopupChange(flag) {
  81. this.filterPopupMaskFlag = !flag
  82. console.log('childPopupChange flag', flag)
  83. }
  84. }
  85. }