import {FC, useEffect, useState} from "react"; import {AddDepProps, ManageApi} from "@/api/manage"; import {Button, View, PageContainer, Input, Form} from "@tarojs/components"; import Taro from "@tarojs/taro"; import {Profile} from '@/store' import './depAdmin.scss' import PopPut from "@/components/popPut/popPut"; import folder from '@/static/img/folder.png' interface ChangeDataProps { putCompany: Manage | null getDeps: () => Promise } const ChangeData: FC = ({putCompany, getDeps}: ChangeDataProps) => { const {company} = Profile.useContainer() const [name, setName] = useState('') const [sort, setSort] = useState(putCompany?.sort || 0) const [disable, setDisable] = useState(false) const company_id = putCompany?.company_id || company?.id || 0 useEffect(() => { if (putCompany) { setName(putCompany.name) } }, []) async function submit() { if (!name) { Taro.showToast({title: "请认真填写", icon: "error"}) return } setDisable(true) Taro.showLoading() try { const data: AddDepProps = { id: putCompany?.id || null, name, parent_id: putCompany?.parent_id || 0, company_id: company_id, sort: sort } if (putCompany) { await ManageApi.putDep(data) } else { await ManageApi.addDep(data) } setTimeout(() => Taro.showToast({title: '操作成功'})) await getDeps() } catch (e) { } Taro.hideLoading() setDisable(false) } return ( 添加部门
名称: setName(event.detail.value)}/> 排序: setSort(Number(event.detail.value))}/>
) } const DepAdmin: FC = () => { const [manages, setManages] = useState([]) const [show, setShow] = useState(false) const [putCompany, setPutCompany] = useState(null) async function getData() { show && setShow(false) const res = await ManageApi.depList() if (res) { const formatData: Manage[] = [] Object.values(res)?.forEach(d => { formatData.push(...d) }) setManages(formatData) } } function showPop(company: Manage | null) { setPutCompany(company) setShow(true) } function del(name: string, id: number) { Taro.showModal({ title: name + '删除后将不可恢复', async success({confirm}) { if (confirm) { try { Taro.showLoading() await ManageApi.delDep(id) Taro.hideLoading() Taro.showToast({title: "删除成功"}) await getData() } catch (e) { } } } }) } function managesSheet(item: Manage) { Taro.showActionSheet({ itemList: ['查看部门课程', '修改', '删除'], success({tapIndex}) { switch (tapIndex) { case 0: Taro.navigateTo({url: `/pages/manage/depCur/depCur?id=${item.id}`}) break case 1: showPop(item) break case 2: del(item.name, item.id) break } } }) } function jumpAddStudent() { Taro.navigateTo({url: '/pages/manage/addStudent/addStudent'}) } Taro.useDidShow(getData) return ( { manages.map(d => managesSheet(d)} leftImage={folder} />) } 添加学员 showPop(null)}>添加部门 setShow(false)}> {show && } ) } export default DepAdmin