|
@@ -0,0 +1,219 @@
|
|
|
|
+<template>
|
|
|
|
+ <div id="classInfo">
|
|
|
|
+ <el-row>
|
|
|
|
+ <el-col :span="24" class="style">
|
|
|
|
+ <el-col :span="24" class="top">
|
|
|
|
+ <NavBar v-show="navShow" title="班级信息" :isleftarrow="isleftarrow"> </NavBar>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="24" class="main">
|
|
|
|
+ <el-col :span="24" class="clickBtn">
|
|
|
|
+ <el-col :span="24" class="messageInfo">
|
|
|
|
+ <el-col :span="24" class="mess">
|
|
|
|
+ <el-col :span="22" class="info">
|
|
|
|
+ <p class="title">班级名称</p>
|
|
|
|
+ <p class="name">{{ classinfo.name }}</p>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="2" class="icon">
|
|
|
|
+ <van-icon name="arrow" />
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="24" class="mess">
|
|
|
|
+ <el-col :span="22" class="info">
|
|
|
|
+ <p class="title">班级人数</p>
|
|
|
|
+ <p class="name">{{ classinfo.number }}</p>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="2" class="icon">
|
|
|
|
+ <van-icon name="arrow" />
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="24" class="mess">
|
|
|
|
+ <el-col :span="22" class="info">
|
|
|
|
+ <p class="title">批次</p>
|
|
|
|
+ <p class="name">{{ classinfo.batch }}</p>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="2" class="icon">
|
|
|
|
+ <van-icon name="arrow" />
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-col>
|
|
|
|
+
|
|
|
|
+ <el-col :span="24" class="mess">
|
|
|
|
+ <el-col :span="22" class="info">
|
|
|
|
+ <p class="title">期</p>
|
|
|
|
+ <p class="name">{{ classinfo.term }}</p>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="2" class="icon">
|
|
|
|
+ <van-icon name="arrow" />
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="24" class="mess">
|
|
|
|
+ <el-col :span="22" class="info">
|
|
|
|
+ <p class="title">班主任</p>
|
|
|
|
+ <p class="name">{{ dirInfo.name }}</p>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="2" class="icon">
|
|
|
|
+ <van-icon name="arrow" />
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="24" class="mess">
|
|
|
|
+ <el-col :span="22" class="info">
|
|
|
|
+ <p class="title">班主任电话</p>
|
|
|
|
+ <p class="name">
|
|
|
|
+ <a :href="`tel:${dirInfo.phone}`">{{ dirInfo.phone }}</a>
|
|
|
|
+ </p>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="2" class="icon">
|
|
|
|
+ <van-icon name="arrow" />
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="24" class="mess">
|
|
|
|
+ <el-col :span="22" class="info">
|
|
|
|
+ <p class="title">礼仪课老师</p>
|
|
|
|
+ <p class="name">{{ classinfo.lyteacher }}</p>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="2" class="icon">
|
|
|
|
+ <van-icon name="arrow" />
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="24" class="mess">
|
|
|
|
+ <el-col :span="22" class="info">
|
|
|
|
+ <p class="title">用餐地点</p>
|
|
|
|
+ <p class="name">{{ classinfo.yclocation }}</p>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="2" class="icon">
|
|
|
|
+ <van-icon name="arrow" />
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="24" class="mess">
|
|
|
|
+ <el-col :span="22" class="info">
|
|
|
|
+ <p class="title">拓展计划地点</p>
|
|
|
|
+ <p class="name">{{ classinfo.kzjhlocation }}</p>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="2" class="icon">
|
|
|
|
+ <van-icon name="arrow" />
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="24" class="mess">
|
|
|
|
+ <el-col :span="22" class="info">
|
|
|
|
+ <p class="title">开班仪式地点</p>
|
|
|
|
+ <p class="name">{{ classinfo.kbyslocation }}</p>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="2" class="icon">
|
|
|
|
+ <van-icon name="arrow" />
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="24" class="mess">
|
|
|
|
+ <el-col :span="22" class="info">
|
|
|
|
+ <p class="title">教室位置</p>
|
|
|
|
+ <p class="name">{{ classinfo.jslocation }}</p>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="2" class="icon">
|
|
|
|
+ <van-icon name="arrow" />
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="24" class="mess">
|
|
|
|
+ <el-col :span="22" class="info">
|
|
|
|
+ <p class="title">班级类型</p>
|
|
|
|
+ <p class="name">
|
|
|
|
+ <span>{{ getType(classinfo.type) }}</span>
|
|
|
|
+ </p>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="2" class="icon">
|
|
|
|
+ <van-icon name="arrow" />
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="24" class="foot">
|
|
|
|
+ <footInfo></footInfo>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row>
|
|
|
|
+ </div>
|
|
|
|
+</template>
|
|
|
|
+
|
|
|
|
+<script>
|
|
|
|
+import NavBar from '@/layout/common/topInfo.vue';
|
|
|
|
+import footInfo from '@/layout/common/footInfo.vue';
|
|
|
|
+import { mapState, createNamespacedHelpers, mapGetters } from 'vuex';
|
|
|
|
+const { mapActions: classes } = createNamespacedHelpers('classes');
|
|
|
|
+const { mapActions: director } = createNamespacedHelpers('director');
|
|
|
|
+const { mapActions: classtype } = createNamespacedHelpers('classtype');
|
|
|
|
+
|
|
|
|
+export default {
|
|
|
|
+ name: 'classInfo',
|
|
|
|
+ props: {},
|
|
|
|
+ components: { NavBar, footInfo },
|
|
|
|
+ data: () => ({
|
|
|
|
+ info: {},
|
|
|
|
+ teainfo: {},
|
|
|
|
+ jiaoshiinfo: {},
|
|
|
|
+ title: '',
|
|
|
|
+ isleftarrow: '',
|
|
|
|
+ navShow: true,
|
|
|
|
+ classinfo: {},
|
|
|
|
+ classTypeList: [],
|
|
|
|
+ dirInfo: {},
|
|
|
|
+ }),
|
|
|
|
+ async created() {
|
|
|
|
+ await this.getOtherList();
|
|
|
|
+ this.search();
|
|
|
|
+ },
|
|
|
|
+ computed: {
|
|
|
|
+ ...mapState(['user']),
|
|
|
|
+ },
|
|
|
|
+ methods: {
|
|
|
|
+ ...director({ getDir: 'fetch' }),
|
|
|
|
+ ...classes(['fetch']),
|
|
|
|
+ ...classtype({ getClassType: 'query' }),
|
|
|
|
+ async search() {
|
|
|
|
+ const classinfo = (await this.fetch(this.user.classid)).data;
|
|
|
|
+ this.$set(this, `classinfo`, classinfo);
|
|
|
|
+ if (_.get(classinfo, 'headteacherid')) {
|
|
|
|
+ const dirInfo = await this.getDir(_.get(classinfo, 'headteacherid'));
|
|
|
|
+ if (this.$checkRes(dirInfo)) this.$set(this, `dirInfo`, dirInfo.data);
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ async getOtherList() {
|
|
|
|
+ const res = await this.getClassType();
|
|
|
|
+ if (this.$checkRes(res)) this.$set(this, `classTypeList`, res.data);
|
|
|
|
+ },
|
|
|
|
+ getType(type) {
|
|
|
|
+ console.log(type);
|
|
|
|
+ const r = this.classTypeList.find(f => f.code == type);
|
|
|
|
+ if (r) return r.name;
|
|
|
|
+ },
|
|
|
|
+ },
|
|
|
|
+};
|
|
|
|
+</script>
|
|
|
|
+
|
|
|
|
+<style lang="less" scoped>
|
|
|
|
+p {
|
|
|
|
+ padding: 0;
|
|
|
|
+ margin: 0;
|
|
|
|
+}
|
|
|
|
+.messageInfo {
|
|
|
|
+ margin: 0 0 10px 0;
|
|
|
|
+}
|
|
|
|
+.mess {
|
|
|
|
+ min-height: 50px;
|
|
|
|
+ border-bottom: 1px solid #efeff4;
|
|
|
|
+}
|
|
|
|
+.info {
|
|
|
|
+ padding: 0 15px;
|
|
|
|
+}
|
|
|
|
+.info .title {
|
|
|
|
+ font-size: 14px;
|
|
|
|
+ color: #92a1b1;
|
|
|
|
+ padding: 4px 0;
|
|
|
|
+}
|
|
|
|
+.info .name {
|
|
|
|
+ font-size: 16px;
|
|
|
|
+ color: #000;
|
|
|
|
+}
|
|
|
|
+.icon {
|
|
|
|
+ padding: 11px 0;
|
|
|
|
+ font-size: 20px;
|
|
|
|
+ color: #ccc;
|
|
|
|
+}
|
|
|
|
+</style>
|