import { useState } from "react";
// @mui
import {
Button,
ClickAwayListener,
IconButton,
Input,
InputAdornment,
Slide,
} from "@mui/material";
import { styled } from "@mui/material/styles";
// utils
import { bgBlur } from "@/utils/cssStyles";
// component
import Iconify from "@/components/iconify";
import { doFetch } from "@/utils/doFetch";
import { useModel } from "@umijs/max";
import { useRequest } from "ahooks";
import { Image, List, Skeleton, Tabs, Tag } from "antd";
import { Scrollbars } from "react-custom-scrollbars";
// ----------------------------------------------------------------------
const HEADER_MOBILE = 64;
const HEADER_DESKTOP = 64;
const StyledSearchbar = styled("div")(({ theme }) => ({
...bgBlur({ color: theme.palette.background.default }),
top: 0,
left: 0,
zIndex: 99,
width: "100%",
display: "flex",
position: "absolute",
alignItems: "center",
height: HEADER_MOBILE,
padding: theme.spacing(0, 2),
boxShadow: theme.customShadows.z8,
[theme.breakpoints.up("md")]: {
height: HEADER_DESKTOP,
padding: theme.spacing(0, 2),
},
}));
const StyledSearchcontent = styled("div")(({ theme }) => ({
background: "rgba(255,255,255,1)",
top: HEADER_MOBILE + 12,
left: 0,
right: 0,
zIndex: 99,
margin: "auto",
width: "calc(100% - 24px)",
display: "flex",
position: "absolute",
alignItems: "center",
height: "calc(100vh - 90px)",
padding: theme.spacing(0, 2),
boxShadow: theme.customShadows.z8,
borderRadius: 12,
[theme.breakpoints.up("md")]: {
height: "calc(100vh - 90px)",
padding: theme.spacing(0, 2),
},
}));
export default function Searchbar() {
const [open, setOpen] = useState(false);
const [search, setsearch] = useState({
name: "",
type: "0",
});
const {
initialState: { currentUser, curitem },
setInitialState,
} = useModel("@@initialState");
const userType = currentUser?.type ?? 1;
const handleOpen = () => {
setOpen(!open);
};
const handleClose = () => {
setOpen(false);
setsearch({
name: "",
type: "0",
});
};
let { data, loading } = useRequest(
async () => {
if(!open) return;
let res = await doFetch({
url: "/system/searchAll",
params: { ...search },
});
return res?.data?.dataList ?? [];
},
{
debounceWait: 400,
refreshDeps: [search],
}
);
const items =
userType === 1
? [
{
key: "0",
label: `全部`,
children: (
(
{item.typeName}
,
]}
>
}
title={{item.name} }
description={
{item?.type === 4 &&
`${item.sectionNum}课时/${item.experimentNum}实验`}{" "}
{item?.label}
}
/>
{item?.type === 4 &&
`${item?.startTime}-${item?.endTime}`}
)}
/>
),
},
{
key: "1",
label: `课程`,
children: (
(
{item.typeName}
,
]}
>
}
title={{item.name} }
description={
{item?.type === 4 &&
`${item.sectionNum}课时/${item.experimentNum}实验`}{" "}
{item?.label}
}
/>
{item?.type === 4 &&
`${item?.startTime}-${item?.endTime}`}
)}
/>
),
},
{
key: "2",
label: `教师`,
children: (
(
{item.typeName}
,
]}
>
}
title={{item.name} }
description={
{item?.type === 4 &&
`${item.sectionNum}课时/${item.experimentNum}实验`}{" "}
{item?.label}
}
/>
{item?.type === 4 &&
`${item?.startTime}-${item?.endTime}`}
)}
/>
),
},
{
key: "3",
label: `学生`,
children: (
(
{item.typeName}
,
]}
>
}
title={{item.name} }
description={
{item?.type === 4 &&
`${item.sectionNum}课时/${item.experimentNum}实验`}{" "}
{item?.label}
}
/>
{item?.type === 4 &&
`${item?.startTime}-${item?.endTime}`}
)}
/>
),
},
]
: [
{
key: "0",
label: `全部`,
children: (
(
{item.typeName}
,
]}
>
}
title={{item.name} }
description={
{item?.type === 4 &&
`${item.sectionNum}课时/${item.experimentNum}实验`}{" "}
{item?.label}
}
/>
{item?.type === 4 &&
`${item?.startTime??"未开始"}-${item?.endTime}`}
)}
/>
),
},
];
// [
// {
// key: "0",
// label: `全部`,
// children: (
//
//
(
//
// {item.typeName}
// ,
// ]}
// >
//
//
// }
// title={{item.name} }
// description={
//
// {item?.type === 4 &&
// `${item.sectionNum}课时/${item.experimentNum}实验`}{" "}
// {item?.label}
//
// }
// />
//
// {item?.type === 4 &&
// `${item?.startTime}-${item?.endTime}`}
//
//
//
// )}
// />
//
// ),
// },
// {
// key: "1",
// label: `课程`,
// children: (
//
//
(
//
// {item.typeName}
// ,
// ]}
// >
//
//
// }
// title={{item.name} }
// description={
//
// {item?.type === 4 &&
// `${item.sectionNum}课时/${item.experimentNum}实验`}{" "}
// {item?.label}
//
// }
// />
//
// {item?.type === 4 &&
// `${item?.startTime}-${item?.endTime}`}
//
//
//
// )}
// />
//
// ),
// },
// {
// key: "2",
// label: `教师`,
// children: (
//
//
(
//
// {item.typeName}
// ,
// ]}
// >
//
//
// }
// title={{item.name} }
// description={
//
// {item?.type === 4 &&
// `${item.sectionNum}课时/${item.experimentNum}实验`}{" "}
// {item?.label}
//
// }
// />
//
// {item?.type === 4 &&
// `${item?.startTime}-${item?.endTime}`}
//
//
//
// )}
// />
//
// ),
// },
// {
// key: "3",
// label: `学生`,
// children: (
//
//
(
//
// {item.typeName}
// ,
// ]}
// >
//
//
// }
// title={{item.name} }
// description={
//
// {item?.type === 4 &&
// `${item.sectionNum}课时/${item.experimentNum}实验`}{" "}
// {item?.label}
//
// }
// />
//
// {item?.type === 4 &&
// `${item?.startTime}-${item?.endTime}`}
//
//
//
// )}
// />
//
// ),
// },
// {
// key: "4",
// label: `实训`,
// children: (
//
//
(
//
// {item.typeName}
// ,
// ]}
// >
//
//
// }
// title={{item.name} }
// description={
//
// {item?.type === 4 &&
// `${item.sectionNum}课时/${item.experimentNum}实验`}{" "}
// {item?.label}
//
// }
// />
//
// {item?.type === 4 &&
// `${item?.startTime}-${item?.endTime}`}
//
//
//
// )}
// />
//
// ),
// },
// ];
return (
{!open && (
)}
{
setsearch((s) => ({
...s,
type: e,
}));
}}
/>
}
sx={{ mr: 1, fontWeight: "fontWeightBold" }}
value={search?.name}
onChange={(e) => {
setsearch((s) => ({
...s,
name: e.target.value,
}));
}}
/>
);
}