done.data.ts 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. import { reactive } from 'vue'
  2. import { useI18n } from '@/hooks/web/useI18n'
  3. import { CrudSchema, useCrudSchemas } from '@/hooks/web/useCrudSchemas'
  4. const { t } = useI18n() // 国际化
  5. // CrudSchema
  6. const crudSchemas = reactive<CrudSchema[]>([
  7. {
  8. label: t('common.index'),
  9. field: 'id',
  10. type: 'index'
  11. },
  12. {
  13. label: '任务名称',
  14. field: 'name',
  15. search: {
  16. show: true
  17. }
  18. },
  19. {
  20. label: '所属流程',
  21. field: 'processInstance.name'
  22. },
  23. {
  24. label: '流程发起人',
  25. field: 'processInstance.startUserNickname'
  26. },
  27. {
  28. label: t('common.createTime'),
  29. field: 'createTime',
  30. search: {
  31. show: true,
  32. component: 'DatePicker',
  33. componentProps: {
  34. type: 'datetimerange',
  35. valueFormat: 'YYYY-MM-DD HH:mm:ss',
  36. defaultTime: [new Date(2000, 1, 1, 0, 0, 0), new Date(2000, 2, 1, 23, 59, 59)],
  37. shortcuts: [
  38. {
  39. text: '近一周',
  40. value: () => {
  41. const end = new Date()
  42. const start = new Date()
  43. start.setTime(start.getTime() - 3600 * 1000 * 24 * 7)
  44. return [start, end]
  45. }
  46. },
  47. {
  48. text: '近一个月',
  49. value: () => {
  50. const end = new Date()
  51. const start = new Date()
  52. start.setTime(start.getTime() - 3600 * 1000 * 24 * 30)
  53. return [start, end]
  54. }
  55. },
  56. {
  57. text: '近三个月',
  58. value: () => {
  59. const end = new Date()
  60. const start = new Date()
  61. start.setTime(start.getTime() - 3600 * 1000 * 24 * 90)
  62. return [start, end]
  63. }
  64. }
  65. ]
  66. }
  67. }
  68. },
  69. {
  70. label: t('table.action'),
  71. field: 'action',
  72. width: '100px'
  73. }
  74. ])
  75. export const { allSchemas } = useCrudSchemas(crudSchemas)