import OHeader from '@/components/o-header' import OSticky from '@/components/o-sticky' import { Tabs, Tab, showToast, Icon, Popup, Grid, GridItem, Image } from 'vant' import { defineComponent, reactive, ref, onMounted, onDeactivated } from 'vue' import eidtIcon from './images/eidt-icon.png' import styles from './index.module.less' import schoolBg from './images/school-bg.png' import logoIcon from './images/logo.png' import { useRouter } from 'vue-router' import { state as globalState } from '@/state' import TeacherItem from './modals/teacher-item' import { schoolSystem } from '@/constant/index' import iconCallPhone from '@common/images/icon-call-phone.png' import iconCallMessage from '@common/images/icon-call-message.png' import { postMessage } from '@/helpers/native-message' import request from '@/helpers/request' import OEmpty from '@/components/o-empty' export default defineComponent({ name: 'school-detail', setup() { const router = useRouter() const state = reactive({ list: [], info: {} as any, heightV: 0 as number, scrollTop: 0 as number, showMessage: false, selectItem: {} as any }) const getSchoolDetail = async () => { const schoolId = (globalState.user.data.schoolInfos || []) .map((item) => { return item.id }) .join(',') try { const { data } = await request.get(`/api-school/school/detail/${schoolId}`, {}) state.info = data } catch (e: any) { showToast(e.message) } } const gotoEidt = () => { // /school-eidt router.push({ path: '/school-eidt', query: { page: 'type' } }) } const getTeacherList = async () => { // const schoolId = (globalState.user.data.schoolInfos || []) // .map((item) => { // return item.id // }) // .join(',') try { const { data } = await request.post(`/api-school/teacher/page`, { data: { page: 1, rows: 9999, delFlag: false } }) state.list = data.rows } catch (e: any) { showToast(e.message) } } onMounted(() => { window.addEventListener('scroll', handleScroll) getSchoolDetail() getTeacherList() }) onDeactivated(() => { window.removeEventListener('scroll', handleScroll) }) const getHeight = (dataHeight: number) => { state.heightV = dataHeight } const handleScroll = () => { const scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0 state.scrollTop = scrollTop } return () => ( <>
state.scrollTop ? 'transparent' : '#fff'} > {{ right: () => ( ) }} {/* */}

{state.info.name}

{state.info.provinceName} {state.info.cityName}

主管领导 {state.info.emergencyContact}

管理老师 {state.info.educationalAdministrationUsername}

学年制 {schoolSystem[state.info.schoolSystem]}{' '}

邮箱账号 {state.info.email}

学校地址

{state.info.address}

伴学老师

{state.list.length > 0 ? (
{state.list.map((item) => ( { state.selectItem = item state.showMessage = true }} > ))}
) : ( )}
(state.showMessage = false)} />

联系方式

{ postMessage({ api: 'joinChatGroup', content: { type: 'single', // single 单人 multi 多人 id: state.selectItem.imUserId } }) state.showMessage = false }} > {{ icon: () => , text: () =>
发送消息
}}
{ postMessage({ api: 'callPhone', content: { phone: state.selectItem.phone } }) state.showMessage = false }} > {{ icon: () => , text: () =>
拨打电话
}}
) } })