import { computed, onMounted, ref, toRefs } from 'vue';
import useSceneInfos from '@/hooks/useSceneInfos';

export const usePageConfig = () => {
  const sceneInfos = useSceneInfos();
  const { scenesInfos } = toRefs(sceneInfos);
  const { getScenesTree } = sceneInfos;

  const selectedCompany = ref<number | undefined>();
  const label = ref<number | undefined>();
  const layoutId = ref<number | undefined>();

  // const shopList = ref([
  //   {
  //     id: 1,
  //     companyId: 2,
  //     sceneLabelId: 1,
  //     name: 'ARJ21部装车间',
  //     code: 'C12',
  //     remark: '',
  //     status: 0,
  //     createdAt: '2023-10-13 09:48:58',
  //     updatedAt: '2024-01-16 15:00:46',
  //     isDeleted: 0,
  //     serial: 0,
  //     labelName: '生产安全',
  //     workshopModule: {
  //       id: 2,
  //       name: '厂房',
  //       code: '2',
  //       remark: '',
  //       status: 0,
  //       createdAt: '2023-12-22 11:44:06',
  //       updatedAt: '2023-12-22 11:44:06',
  //       isDeleted: 0,
  //     },
  //     children: [
  //       {
  //         id: 2,
  //         workshopId: 1,
  //         name: '西侧200室内气密试验区',
  //         code: 'C12-W200test',
  //         remark: '',
  //         principal: '',
  //         status: 0,
  //         createdAt: '2023-12-27 14:07:15',
  //         updatedAt: '2024-01-05 09:05:52',
  //         isDeleted: 0,
  //         serial: 0,
  //       },
  //       {
  //         id: 1,
  //         workshopId: 1,
  //         name: '东侧200室内气密试验区',
  //         code: 'C12-E200test',
  //         remark: '',
  //         principal: '',
  //         status: 0,
  //         createdAt: '2023-12-27 14:06:46',
  //         updatedAt: '2024-01-05 09:05:52',
  //         isDeleted: 0,
  //         serial: 1,
  //       },
  //     ],
  //   },
  //   {
  //     id: 3,
  //     companyId: 2,
  //     sceneLabelId: 1,
  //     name: 'C919部装车间',
  //     code: 'C02',
  //     remark: '',
  //     status: 0,
  //     createdAt: '2023-10-13 09:50:31',
  //     updatedAt: '2024-01-16 15:00:52',
  //     isDeleted: 0,
  //     serial: 0,
  //     labelName: '生产安全',
  //     workshopModule: {
  //       id: 2,
  //       name: '厂房',
  //       code: '2',
  //       remark: '',
  //       status: 0,
  //       createdAt: '2023-12-22 11:44:06',
  //       updatedAt: '2023-12-22 11:44:06',
  //       isDeleted: 0,
  //     },
  //     children: [],
  //   },
  //   {
  //     id: 6,
  //     companyId: 2,
  //     sceneLabelId: 1,
  //     name: '胶接车间',
  //     code: 'B16',
  //     remark: '',
  //     status: 0,
  //     createdAt: '2023-10-13 09:51:42',
  //     updatedAt: '2024-01-16 15:00:57',
  //     isDeleted: 0,
  //     serial: 0,
  //     labelName: '生产安全',
  //     workshopModule: {
  //       id: 2,
  //       name: '厂房',
  //       code: '2',
  //       remark: '',
  //       status: 0,
  //       createdAt: '2023-12-22 11:44:06',
  //       updatedAt: '2023-12-22 11:44:06',
  //       isDeleted: 0,
  //     },
  //     children: [],
  //   },
  //   {
  //     id: 7,
  //     companyId: 2,
  //     sceneLabelId: 1,
  //     name: '复材车间',
  //     code: 'B01',
  //     remark: '',
  //     status: 0,
  //     createdAt: '2023-10-13 09:52:02',
  //     updatedAt: '2024-01-16 15:00:59',
  //     isDeleted: 0,
  //     serial: 0,
  //     labelName: '生产安全',
  //     workshopModule: null,
  //     children: [],
  //   },
  // ]);

  const labelList = computed(
    () => scenesInfos.value.find((item) => item.id === selectedCompany.value)?.labelList,
  );
  const shopList = computed(
    () =>
      scenesInfos.value
        .find((item) => item.id === selectedCompany.value)
        ?.children.filter((shop) => shop.sceneLabelId === label.value) || [],
  );

  onMounted(() => {
    getScenesTree({ level: 2, valueKey: 'code', labelKey: 'name', disabled: true });
  });

  return { selectedCompany, scenesInfos, label, labelList, shopList, layoutId };
};

export default usePageConfig;
