usePageConfig.ts 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. import { computed, onMounted, ref, toRefs } from 'vue';
  2. import useSceneInfos from '@/hooks/useSceneInfos';
  3. export const usePageConfig = () => {
  4. const sceneInfos = useSceneInfos();
  5. const { scenesInfos } = toRefs(sceneInfos);
  6. const { getScenesTree } = sceneInfos;
  7. const selectedCompany = ref<number | undefined>();
  8. const label = ref<number | undefined>();
  9. const layoutId = ref<number | undefined>();
  10. // const shopList = ref([
  11. // {
  12. // id: 1,
  13. // companyId: 2,
  14. // sceneLabelId: 1,
  15. // name: 'ARJ21部装车间',
  16. // code: 'C12',
  17. // remark: '',
  18. // status: 0,
  19. // createdAt: '2023-10-13 09:48:58',
  20. // updatedAt: '2024-01-16 15:00:46',
  21. // isDeleted: 0,
  22. // serial: 0,
  23. // labelName: '生产安全',
  24. // workshopModule: {
  25. // id: 2,
  26. // name: '厂房',
  27. // code: '2',
  28. // remark: '',
  29. // status: 0,
  30. // createdAt: '2023-12-22 11:44:06',
  31. // updatedAt: '2023-12-22 11:44:06',
  32. // isDeleted: 0,
  33. // },
  34. // children: [
  35. // {
  36. // id: 2,
  37. // workshopId: 1,
  38. // name: '西侧200室内气密试验区',
  39. // code: 'C12-W200test',
  40. // remark: '',
  41. // principal: '',
  42. // status: 0,
  43. // createdAt: '2023-12-27 14:07:15',
  44. // updatedAt: '2024-01-05 09:05:52',
  45. // isDeleted: 0,
  46. // serial: 0,
  47. // },
  48. // {
  49. // id: 1,
  50. // workshopId: 1,
  51. // name: '东侧200室内气密试验区',
  52. // code: 'C12-E200test',
  53. // remark: '',
  54. // principal: '',
  55. // status: 0,
  56. // createdAt: '2023-12-27 14:06:46',
  57. // updatedAt: '2024-01-05 09:05:52',
  58. // isDeleted: 0,
  59. // serial: 1,
  60. // },
  61. // ],
  62. // },
  63. // {
  64. // id: 3,
  65. // companyId: 2,
  66. // sceneLabelId: 1,
  67. // name: 'C919部装车间',
  68. // code: 'C02',
  69. // remark: '',
  70. // status: 0,
  71. // createdAt: '2023-10-13 09:50:31',
  72. // updatedAt: '2024-01-16 15:00:52',
  73. // isDeleted: 0,
  74. // serial: 0,
  75. // labelName: '生产安全',
  76. // workshopModule: {
  77. // id: 2,
  78. // name: '厂房',
  79. // code: '2',
  80. // remark: '',
  81. // status: 0,
  82. // createdAt: '2023-12-22 11:44:06',
  83. // updatedAt: '2023-12-22 11:44:06',
  84. // isDeleted: 0,
  85. // },
  86. // children: [],
  87. // },
  88. // {
  89. // id: 6,
  90. // companyId: 2,
  91. // sceneLabelId: 1,
  92. // name: '胶接车间',
  93. // code: 'B16',
  94. // remark: '',
  95. // status: 0,
  96. // createdAt: '2023-10-13 09:51:42',
  97. // updatedAt: '2024-01-16 15:00:57',
  98. // isDeleted: 0,
  99. // serial: 0,
  100. // labelName: '生产安全',
  101. // workshopModule: {
  102. // id: 2,
  103. // name: '厂房',
  104. // code: '2',
  105. // remark: '',
  106. // status: 0,
  107. // createdAt: '2023-12-22 11:44:06',
  108. // updatedAt: '2023-12-22 11:44:06',
  109. // isDeleted: 0,
  110. // },
  111. // children: [],
  112. // },
  113. // {
  114. // id: 7,
  115. // companyId: 2,
  116. // sceneLabelId: 1,
  117. // name: '复材车间',
  118. // code: 'B01',
  119. // remark: '',
  120. // status: 0,
  121. // createdAt: '2023-10-13 09:52:02',
  122. // updatedAt: '2024-01-16 15:00:59',
  123. // isDeleted: 0,
  124. // serial: 0,
  125. // labelName: '生产安全',
  126. // workshopModule: null,
  127. // children: [],
  128. // },
  129. // ]);
  130. const labelList = computed(
  131. () => scenesInfos.value.find((item) => item.id === selectedCompany.value)?.labelList,
  132. );
  133. const shopList = computed(
  134. () =>
  135. scenesInfos.value
  136. .find((item) => item.id === selectedCompany.value)
  137. ?.children.filter((shop) => shop.sceneLabelId === label.value) || [],
  138. );
  139. onMounted(() => {
  140. getScenesTree({ level: 2, valueKey: 'code', labelKey: 'name', disabled: true });
  141. });
  142. return { selectedCompany, scenesInfos, label, labelList, shopList, layoutId };
  143. };
  144. export default usePageConfig;