|
@@ -1,6 +1,6 @@
|
|
|
import OHeader from '@/components/o-header'
|
|
|
import OSticky from '@/components/o-sticky'
|
|
|
-import { Tabs, Tab, showToast, Icon } from 'vant'
|
|
|
+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'
|
|
@@ -10,6 +10,9 @@ 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({
|
|
@@ -20,7 +23,9 @@ export default defineComponent({
|
|
|
list: [],
|
|
|
info: {} as any,
|
|
|
heightV: 0 as number,
|
|
|
- scrollTop: 0 as number
|
|
|
+ scrollTop: 0 as number,
|
|
|
+ showMessage: false,
|
|
|
+ selectItem: {} as any
|
|
|
})
|
|
|
const getSchoolDetail = async () => {
|
|
|
const schoolId = (globalState.user.data.schoolInfos || [])
|
|
@@ -138,7 +143,13 @@ export default defineComponent({
|
|
|
{state.list.length > 0 ? (
|
|
|
<div>
|
|
|
{state.list.map((item) => (
|
|
|
- <TeacherItem item={item}></TeacherItem>
|
|
|
+ <TeacherItem
|
|
|
+ item={item}
|
|
|
+ onToMsg={(item: any) => {
|
|
|
+ state.selectItem = item
|
|
|
+ state.showMessage = true
|
|
|
+ }}
|
|
|
+ ></TeacherItem>
|
|
|
))}
|
|
|
</div>
|
|
|
) : (
|
|
@@ -146,6 +157,63 @@ export default defineComponent({
|
|
|
)}
|
|
|
</div>
|
|
|
</div>
|
|
|
+
|
|
|
+ <Popup
|
|
|
+ v-model:show={state.showMessage}
|
|
|
+ position="bottom"
|
|
|
+ style={{ background: 'transparent' }}
|
|
|
+ >
|
|
|
+ <div class={styles.codeContainer}>
|
|
|
+ <div class={styles.codeBottom}>
|
|
|
+ <Icon
|
|
|
+ name="cross"
|
|
|
+ size={22}
|
|
|
+ class={styles.close}
|
|
|
+ color="#666"
|
|
|
+ onClick={() => (state.showMessage = false)}
|
|
|
+ />
|
|
|
+
|
|
|
+ <h3 class={styles.title}>
|
|
|
+ <i></i>联系方式
|
|
|
+ </h3>
|
|
|
+ <Grid columnNum={2} border={false}>
|
|
|
+ <GridItem
|
|
|
+ onClick={() => {
|
|
|
+ postMessage({
|
|
|
+ api: 'joinChatGroup',
|
|
|
+ content: {
|
|
|
+ type: 'single', // single 单人 multi 多人
|
|
|
+ id: state.selectItem.imUserId
|
|
|
+ }
|
|
|
+ })
|
|
|
+ state.showMessage = false
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ {{
|
|
|
+ icon: () => <Image class={styles.shareImg} src={iconCallMessage} />,
|
|
|
+ text: () => <div class={styles.shareText}>发送消息</div>
|
|
|
+ }}
|
|
|
+ </GridItem>
|
|
|
+ <GridItem
|
|
|
+ onClick={() => {
|
|
|
+ postMessage({
|
|
|
+ api: 'callPhone',
|
|
|
+ content: {
|
|
|
+ phone: state.selectItem.phone
|
|
|
+ }
|
|
|
+ })
|
|
|
+ state.showMessage = false
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ {{
|
|
|
+ icon: () => <Image class={styles.shareImg} src={iconCallPhone} />,
|
|
|
+ text: () => <div class={styles.shareText}>拨打电话</div>
|
|
|
+ }}
|
|
|
+ </GridItem>
|
|
|
+ </Grid>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </Popup>
|
|
|
</>
|
|
|
)
|
|
|
}
|