import {FC, useCallback, useEffect, useState} from "react"; import {Image, Input, Radio, Text, View} from "@tarojs/components"; import styles from "../courseAdmin.module.scss"; import Icon from "@/components/icon"; import {CourseAllParam, curriculum} from "@/api"; import CustomPageContainer from "@/components/custom-page-container/custom-page-container"; import Empty from "@/components/empty/empty"; import MyButton from "@/components/button/MyButton"; import screen from '@/static/img/screen.png' interface Props { param: CourseAllParam setParam: (data: CourseAllParam) => void } export const Search: FC = ({param, setParam}) => { const [show, setShow] = useState(false) const [deps, setDeps] = useState([]) const [depId, setDepId] = useState(param.dep_id) const [title, setTitle] = useState(param.title) async function getDepList() { try { const res = await curriculum.department() setDeps(res.data) } catch (e) { } } const changeDepId = useCallback((id: number) => { if (id === depId) { setDepId(0) } else { setDepId(id) } }, [depId]) const putParam = useCallback(() => { setShow(false) if (param.dep_id !== depId) { setParam({ ...param, dep_id: depId, page: 1 }) } }, [depId]) useEffect(() => { getDepList() }, []) return ( <> setTitle(e.detail.value)} onConfirm={(e) => setParam({ ...param, title: e.detail.value, page: 1 })} /> setShow(true)}> 筛选 {param.dep_id > 0 && {deps.find(d => d.id === param.dep_id)?.name}:} setShow(false)}> {deps.length ? <> { deps?.map(dep => changeDepId(dep.id)}> {dep.name} ) } setShow(false)}> 取消 确定 : } ) }