Browse Source

调整区班校UI结构、优化菜单层级

liqk 5 years ago
parent
commit
0dcb2617eb

+ 6 - 4
TEAMModelOS/ClientApp/src/common/CollapseMenuLayout.less

@@ -78,7 +78,7 @@
         display: inline-block;
         margin-left: 15px;
         font-family: cursive;
-        font-size: 22px;
+        font-size: 24px;
         font-weight: 800;
     }
 }
@@ -96,6 +96,8 @@
     color:white;
     font-size:24px;
 }
-.poptop-content-radius .ivu-menu:first-child {
-    /*border-top*/
-}
+.collapse-icon-size {
+    font-size: 26px !important;
+    margin-left: -4px;
+    margin-top:15px;
+}

+ 45 - 11
TEAMModelOS/ClientApp/src/common/CollapseMenuLayout.vue

@@ -12,7 +12,7 @@
                ref="side1"
                hide-trigger
                collapsible
-               width="240"
+               width="248"
                :collapsed-width="78"
                v-model="isCollapsed">
             <Menu width="auto" accordion :class="menuitemClasses">
@@ -29,10 +29,11 @@
                     <template slot="title">
                         <Poptip trigger="hover"
                                 placement="right-start"
+                                width="160"
                                 transfer
                                 popper-class="poptip-style"
                                 padding="0px 0px">
-                            <Icon :type="item.icon" size="18" />
+                            <Icon :type="item.icon" :class="isCollapsed ? 'collapse-icon-size':''" size="20" />
                             <span>{{item.name}}</span>
                             <div slot="content" v-if="isCollapsed" class="poptop-content-radius">
                                 <Menu theme="dark" width="120" v-for="(menuItem,i) in item.child">
@@ -41,7 +42,15 @@
                             </div>
                         </Poptip>
                     </template>
-                    <MenuItem :name="menuItem.router" :to="menuItem.router" v-for="(menuItem,i) in item.child">{{menuItem.name}}</MenuItem>
+                    <MenuItem :name="menuItem.router" :to="menuItem.router" v-for="(menuItem,i) in item.child" @click.native="closeCollapse">
+                        <span>
+                            {{menuItem.name}}
+                            <label style="color:aqua;margin-left:2px;">
+                                {{menuItem.tag}}
+                            </label>
+                        </span>
+                        
+                    </MenuItem>
                 </Submenu>
             </Menu>
         </Sider>
@@ -67,6 +76,7 @@
                                 icon: '',
                                 name: '学情分析仪表盘',
                                 router: '/home',
+                                tag:'T/M'
                             }
                         ]
                     },
@@ -79,26 +89,31 @@
                                 icon: '',
                                 name: '校园基础数据',
                                 router: '/home/system',
+                                tag:'M'
                             },
                             {
                                 icon: '',
                                 name: '班级教室管理',
                                 router: '/home/classroom',
+                                tag:'M'
                             },
                             {
                                 icon: '',
                                 name: '学生账号管理',
                                 router: '/home/studentAccount',
+                                tag:'M'
                             },
                             {
                                 icon: '',
                                 name: '教师账号管理',
                                 router: '/home/404',
+                                tag:'×'
                             },
                             {
                                 icon: '',
                                 name: '软件授权管理',
                                 router: '/home/404',
+                                tag:'×'
                             }
                         ]
                     },
@@ -111,6 +126,7 @@
                                 icon: '',
                                 name: '课程管理',
                                 router: '/home/courseManage',
+                                tag:'T'
                             }
                         ]
                     },
@@ -123,21 +139,25 @@
                                 icon: '',
                                 name: '课纲管理',
                                 router: '/home/syllabus',
+                                tag:'T'
                             },
                             {
                                 icon: '',
                                 name: '内容管理',
                                 router: '/home/teachcontent',
+                                tag:'T'
                             },
                             {
                                 icon: '',
                                 name: '题目/库管理',
                                 router: '/home/testPaperList',
+                                tag:'T'
                             },
                             {
                                 icon: '',
                                 name: '知识点管理',
                                 router: '/home/knowledge',
+                                tag:'T'
                             }
                         ]
                     },
@@ -149,12 +169,14 @@
                             {
                                 icon: '',
                                 name: '评测活动',
-                                router: '/home/manageEvaluation'
+                                router: '/home/manageEvaluation',
+                                tag:'T'
                             },
                             {
                                 icon: '',
                                 name: '自主学习活动',
                                 router: '/home/manageOrderLearn',
+                                tag:'T'
                             }
                         ]
                     }
@@ -162,16 +184,19 @@
             }
         },
         methods: {
+            closeCollapse() {
+                this.isCollapsed = !this.isCollapsed
+            },
             changeMenuStatus() {
-                this.$refs.side1.toggleCollapse();
+                this.$refs.side1.toggleCollapse()
             }
         },
         computed: {
             rotateIcon() {
-                return ["menu-icon", this.isCollapsed ? "rotate-icon" : ""];
+                return ["menu-icon", this.isCollapsed ? "rotate-icon" : ""]
             },
             menuitemClasses() {
-                return ["menu-item", this.isCollapsed ? "collapsed-menu" : ""];
+                return ["menu-item", this.isCollapsed ? "collapsed-menu" : ""]
             }
         }
     };
@@ -187,7 +212,7 @@
 
     .biz-menu .ivu-menu-light {
         background: #000;
-        color: white;
+        color: #CCCCCC;
     }
 
     .biz-menu .ivu-menu-vertical.ivu-menu-light:after {
@@ -201,14 +226,20 @@
         z-index: 2;
     }
 
+    .menu-item {
+        color:red;
+    }
     .menu-item span {
         display: inline-block;
         overflow: hidden;
         margin-left: 11px;
         text-overflow: ellipsis;
         white-space: nowrap;
-        vertical-align: bottom;
+        font-size:16px;
+        
+        vertical-align: middle;
         transition: width 0.2s ease 0.2s;
+        font-family: Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft JhengHei !important;
     }
 
     .menu-item i {
@@ -217,8 +248,8 @@
         vertical-align: middle;
         font-size: 16px;
     }
-    .menu-item a .ivu-menu-item {
-        color:#AAAAAA;
+    .menu-item a.ivu-menu-item {
+        color:#CCCCCC;
     }
 
     .collapsed-menu span {
@@ -250,6 +281,9 @@
         background: #515a6e;
     }
 
+        .poptip-style .ivu-iocn {
+            color:#CCCCCC;
+        }
         .poptip-style .ivu-poptip-arrow,
         .poptip-style .ivu-poptip-arrow:after {
             display: none;

+ 1 - 1
TEAMModelOS/ClientApp/src/components/learnactivity/QuestionList.less

@@ -10,7 +10,7 @@
     margin-bottom: 3px;
     padding: 10px 30px 10px 10px;
     position: relative;
-
+    border-radius:4px;
     .toggle-detail-icon {
         position: absolute;
         right: 20px;

+ 8 - 0
TEAMModelOS/ClientApp/src/view/learnactivity/ManageEvaluation.less

@@ -175,3 +175,11 @@
     margin-top: 15px;
     margin-bottom: 5px;
 }
+.to-create-icon {
+    float: right;
+    margin-right: 20px;
+    margin-top: 12px;
+    cursor: pointer;
+    color: white;
+    font-size: 18px;
+}

+ 7 - 1
TEAMModelOS/ClientApp/src/view/learnactivity/ManageEvaluation.vue

@@ -2,7 +2,8 @@
     <div class="manage-evaluation-container">
         <div class="evaluation-list-wrap">
             <div class="evaluation-list-title">
-                评测列表
+                <span>评测列表</span>
+                <Icon type="md-add" class="to-create-icon" @click="goToCreate"/>
             </div>
             <div class="evaluation-list-main">
                 <vuescroll>
@@ -221,6 +222,11 @@
             }
         },
         methods: {
+            goToCreate() {
+                this.$router.push({
+                    name: 'createEvaluation'
+                })
+            },
             drawPie(flag) {
                 if (flag) {
                     this.$refs.examPaperAnalysis.drawDiffChart()

+ 32 - 81
TEAMModelOS/ClientApp/src/view/school-mgmt/ClassroomSetting/ClassroomSetting.less

@@ -9,6 +9,9 @@
 @large-fontSize: 20px;
 .container-box{
     height:100%;
+    width:100%;
+    display:flex;
+    flex-direction:row;
 }
 .position-full-height(@top:0px) {
     position: absolute;
@@ -29,14 +32,12 @@
 }
 .container-left {
     width: 59%;
+    height:100%;
     .border(right);
-    .position-full-height;
 
     &-title {
-        -moz-width: ~"calc(100%-30px)";
-        -webkit-width: ~"calc(100%-30px)";
-        width: ~"calc(100%-30px)";
-        margin-left: 30px;
+        width: 100%;
+        padding-left: 15px;
         height: 50px;
         .border(bottom);
         line-height: 50px;
@@ -45,14 +46,10 @@
 }
 .container-right {
     width: 41%;
-    .position-full-height;
-    left: 59%;
+    height:100%;
 
     &-title {
-        -moz-width: ~"calc(100%-30px)";
-        -webkit-width: ~"calc(100%-30px)";
-        width: ~"calc(100%-30px)";
-        margin-left: 30px;
+        width: 100%;
         height: 50px;
         line-height: 50px;
         .border(bottom);
@@ -75,9 +72,7 @@
 }
 
 .school-plan-wrap {
-    position: absolute;
-    top: 50px;
-    bottom: 0px;
+    height: ~"calc(100% - 50px)";
     width: 100%;
     display: flex;
     flex-flow: row;
@@ -99,79 +94,57 @@
 }
 .container-left-wrap{
     width:100%;
+    height:~"calc(100% - 50px)";
+    display:flex;
+    flex-direction:row;
 }
 .container-left-box {
     width: 38%;
+    height: 100%;
     .border(right);
-    .position-full-height(50px);
-
+    
     .list-order {
-        padding: 5px 0px 5px 40px;
+        padding: 5px 0px 5px 15px;
         color: white;
-        .label-icon{
-            margin-right:10px;
+
+        .label-icon {
+            margin-right: 10px;
         }
     }
 }
 .container-right-box {
     width: 62%;
-    position: absolute;
-    left: 38%;
-    top: 50px;
-    height: ~"calc(100% - 50px)";
-    -moz-height: ~"calc(100% - 50px)";
-    -webkit-height: ~"calc(100% - 50px)";
+    height: 100%;
+    padding-left:15px;
 }
 .class-search-input{
-    width:~"calc(100% - 40px)";
-    -moz-width:~"calc(100% - 40px)";
-    -webkit-width:~"calc(100% - 40px)";
-    height:30px;
-    margin-left:40px;
+    width:~"calc(100% - 15px)";
+    margin-left:15px;
     .border(bottom);
 }
 .class-list {
     width: 100%;
+    height:~"calc(100% - 62px)";
     .border(top);
-    padding-left: 40px;
-    overflow: auto;
-    position:absolute;
-    top:68px;
-    bottom:0px;
-    &::-webkit-scrollbar { /*滚动条整体样式*/
-        width: 5px; /*高宽分别对应横竖滚动条的尺寸*/
-        height: 1px;
-    }
-
-    &::-webkit-scrollbar-thumb { /*滚动条里面小方块*/
-        -webkit-box-shadow: inset 0 0 5px rgba(0,0,0,0.2);
-        background: rgb(124,124,124);
-    }
-
-    &::-webkit-scrollbar-track { /*滚动条里面轨道*/
-        -webkit-box-shadow: inset 0 0 5px rgba(0,0,0,0.2);
-        background: rgba(68,68,68,.5);
-    }
+    padding-left: 15px;
+    
 }
 .active-item-bg {
-    background-image: -webkit-linear-gradient(90deg, rgba(30,30,30,0) 0%, rgba(110,110,110,.2) 50%, rgba(110,110,110,.4) 100%);
-    background-image: -o-linear-gradient(90deg, rgba(30,30,30,0) 0%, rgba(110,110,110,.2) 50%, rgba(110,110,110,.4) 100%);
-    background-image: -moz-linear-gradient(90deg, rgba(30,30,30,0) 0%, rgba(110,110,110,.2) 50%, rgba(110,110,110,.4) 100%);
     background-image: linear-gradient(90deg, rgba(30,30,30,0) 0%, rgba(110,110,110,.2) 50%, rgba(110,110,110,.4) 100%);
 }
 .class-list-item {
     padding: 8px 0px;
-    position: relative;
     .border(bottom);
     cursor:pointer;
+    position:relative;
     &:hover {
-        .active-item-bg;
+        .active-item-bg,
         .period-btn-edit {
             display: inline-block;
         }
 
         .class-list-item-tool {
-            display: unset;
+            display: inline-block;
         }
     }
 }
@@ -217,12 +190,8 @@
 }
 .class-attr-wrap{
     width:47%;
-    position:absolute;
-    top:50px;
-    bottom:0px;
-    left:0px;
+    height:100%;
     .border(right);
-    padding-left:30px;
     &-label{
         display:block;
         color:@second-textColor;
@@ -233,15 +202,9 @@
 }
 .hiteach-code-wrap {
     width: 53%;
-    position: absolute;
-    top: 50px;
-    bottom: 0px;
-    left: 47%;
-
+    height: 100%;
     &-header {
         width: ~"calc(100% - 30px)";
-        -moz-width: ~"calc(100% - 30px)";
-        -webkit-width: ~"calc(100% - 30px)";
         margin-left: 20px;
 
         p {
@@ -253,14 +216,9 @@
 
     &-list {
         .border(top);
-        position: absolute;
-        left: 0px;
-        top: 70px;
-        bottom: 0px;
         width: 100%;
-        /*display:flex;
-        justify-content:center;
-        align-items:center;*/
+        height: ~"calc(100% - 72px)";
+
         h1 {
             margin-top: -120px;
         }
@@ -276,8 +234,6 @@
                     overflow: hidden;
                     white-space: nowrap;
                     display: inline-block;
-                    width: -moz-calc(100% - 50px);
-                    width: -webkit-calc(100% - 50px);
                     width: calc(100% - 50px);
                 }
 
@@ -308,8 +264,6 @@
 }
 #school-plan {
     background: none;
-    /*max-width: 100%;*/
-    /*border: 1px solid white;*/
 }
 .school-plan-zoom {
     position: absolute;
@@ -334,9 +288,6 @@
     }
 }
 .school-plan-box {
-    /*position: absolute;
-    top: 50px;
-    left: 30px;*/
     width: -moz-calc(100% - 60px);
     width: -webkit-calc(100% - 60px);
     width: calc(100% - 60px);

File diff suppressed because it is too large
+ 796 - 795
TEAMModelOS/ClientApp/src/view/school-mgmt/ClassroomSetting/ClassroomSetting.vue


+ 5 - 3
TEAMModelOS/ClientApp/src/view/school-mgmt/SystemSetting/SystemSetting.less

@@ -7,6 +7,10 @@
 @second-fontSize: 16px;
 @large-fontSize: 20px;
 
+.sm-system{
+    width:100%;
+    height:100%;
+}
 .sm {
     &-school-name {
         height: 60px;
@@ -45,9 +49,7 @@
 .sm-system {
     &-body {
         .fl-row-center;
-        position: absolute;
-        top: 60px;
-        bottom: 0;
+        height:~"calc(100% - 60px)";
         width: 100%;
         user-select: none !important;
     }

+ 8 - 0
TEAMModelOS/ClientApp/src/view/selflearning/ManageOrderLearn.less

@@ -184,4 +184,12 @@
             }
         }
     }
+}
+.to-create-icon {
+    float: right;
+    margin-right: 20px;
+    margin-top: 12px;
+    cursor: pointer;
+    color: white;
+    font-size: 18px;
 }

+ 9 - 1
TEAMModelOS/ClientApp/src/view/selflearning/ManageOrderLearn.vue

@@ -3,7 +3,10 @@
         <div class="order-learn-list-box">
             <vuescroll>
                 <div class="order-learn-list-label">
-                    学习活动列表
+                    <span>
+                        学习活动列表
+                    </span>
+                    <Icon type="md-add" class="to-create-icon" @click="goToCreate"/>
                 </div>
                 <div :class="currentLearnIndex == index ? 'order-learn-item order-learn-item-active':'order-learn-item' " v-for="(item,index) in orderLearnList" @click="selectOrderLearn(index)">
                     <p class="order-learn-name">{{item.name}}</p>
@@ -191,6 +194,11 @@
             }
         },
         methods: {
+            goToCreate() {
+                this.$router.push({
+                    name: 'createOrderLearn'
+                })
+            },
             downloadFile(item) {
                 window.location.href = item.blobUrl + this.sasString
             },

+ 424 - 423
TEAMModelOS/ClientApp/src/view/student-account/Index.vue

@@ -1,441 +1,442 @@
 <style lang="less" scoped>
-  @import './Index.less';
+    @import './Index.less';
 </style>
 <style lang="less">
-  @import './IndexIview.less';
+    @import './IndexIview.less';
 </style>
 
 <template>
-  <div class="sc-container">
-    <div class="sc-menu">
-      <div class="sc-menu-left dark-iview-select">
-        <Input v-model="searchText" clearable :placeholder="$t('stuAccount.searchHolder')" style="width: 28%;margin-left:20px;" :search="true" @on-enter="searchData" @on-change="searchData" @on-clear="searchData">
-        </Input>
-        <Select v-model="searchPeriod" style="width:20%;margin-left:5%;" :placeholder="$t('stuAccount.periodHolder')" clearable @on-change="filterStudentInfo">
-          <Option v-for="(item,index) in schoolData.period" :value="item.periodCode" :key="index" @click.native="getGradeList(index)">{{ item.periodName }}</Option>
-        </Select>
-        <Select v-model="searchGrade" style="width:20%;margin-left:1%;" :placeholder="$t('stuAccount.gradeHolder')" clearable @on-change="filterStudentInfo">
-          <!--<Option v-for="(item,index) in gradeList" :value="item.gradeCode" :key="index" @click.native="getClassroomList(index)">{{ item.gradeName }}</Option>-->
-          <Option v-for="(item,index) in fn.getPeriod($store.state.schoolBaseInfo.schoolBaseInfo,searchPeriod).grades" :value="item.gradeCode" :key="index">{{ item.gradeName }}</Option>
-        </Select>
-        <Select v-model="searchClassroom" ref="classroom" style="width:20%;margin-left:1%;" :placeholder="$t('stuAccount.classroomHolder')" clearable @on-change="filterStudentInfo">
-          <Option v-for="(item,index) in classroomShowList" :value="item.classroomCode" :key="index">{{ item.classroomName }}</Option>
-        </Select>
-      </div>
-      <div class="sc-menu-right sc-text-no-select">
-        <ul>
-          <li @click="delStudent(-1)" :class=" selections.length > 0 ? '':'sc-disable-cursor' ">
-            <Icon type="md-trash" :color="selections.length > 0 ? 'white':'#606060'" size="18" />
-            <span>{{ $t('stuAccount.delStu') }}</span>
-          </li>
-          <li @click="editStudent()" :class=" selections.length > 0 ? '':'sc-disable-cursor' ">
-            <Icon type="md-create" :color="selections.length > 0 ? 'white':'#606060'" size="18" />
-            <span>{{ $t('stuAccount.editInfo') }}</span>
-          </li>
-          <li @click="addStudent()">
-            <Icon type="md-person-add" color="white" size="18" />
-            <span>{{ $t('stuAccount.addStu') }}</span>
-          </li>
-          <li @click="importStudent()">
-            <Icon type="md-arrow-round-up" color="white" size="18" />
-            <span>{{ $t('stuAccount.importStu') }}</span>
-          </li>
-          <li @click="showAuthorization()">
-            <Icon type="ios-cog-outline" color="white" size="18" />
-            <span>{{$t('stuAccount.menuAuth') }}</span>
-          </li>
-        </ul>
-      </div>
-    </div>
-    <div class="sc-content" style="position:relative">
-        <Table ref="selection" :columns="tableColumns" :data="tablePageData" height="730" :loading="tableLoading" @on-select="getSelectInfo" @on-select-cancel="getSelectInfo" @on-select-all="getSelectInfo" @on-select-all-cancel="cancelAll">
-            <template slot-scope="{ row,index }" slot="status">
-                <Icon v-if="index%3 == 1" type="md-checkmark-circle-outline" size="18" color="#1CD0A1" />
-                <span v-else>—</span>
-            </template>
-            <template slot-scope="{ row,index }" slot="classroomName">
-                <span>{{row.classroom.classroomName}}</span>
-            </template>
-            <template slot-scope="{ row,index }" slot="classroomCode">
-                <span>{{row.classroom.classroomCode}}</span>
-            </template>
-            <template slot-scope="{ row,index }" slot="periodName">
-                <span>{{row.classroom.periodName}}</span>
-            </template>
-            <template slot-scope="{ row,index }" slot="gradeName">
-                <span>{{row.classroom.gradeName}}</span>
-            </template>
-            <template slot-scope="{ row,index }" slot="action">
-                <div class="item-tools">
-                    <Icon type="md-create" size="18" color="white" @click="editStudent(index)" />
-                    <Icon type="md-trash" size="18" color="white" @click="delStudent(index)" />
-                </div>
-            </template>
-        </Table>
-      <Page :total="tableShowData.length" size="small" :page-size="pageSize" show-total style="margin-top:15px;float:right;color:white;margin-right:20px;" :current.sync="currentPage" @on-change="getPageData" />
-      <authorization :isShow="authorizationStatus" @closeAuth="closeAuth"></authorization>
-    </div>
+    <div class="sc-container">
+        <div class="sc-menu">
+            <div class="sc-menu-left dark-iview-select">
+                <Input v-model="searchText" clearable :placeholder="$t('stuAccount.searchHolder')" style="width: 28%;margin-left:20px;" :search="true" @on-enter="searchData" @on-change="searchData" @on-clear="searchData">
+                </Input>
+                <Select v-model="searchPeriod" style="width:20%;margin-left:5%;" :placeholder="$t('stuAccount.periodHolder')" clearable @on-change="filterStudentInfo">
+                    <Option v-for="(item,index) in schoolData.period" :value="item.periodCode" :key="index" @click.native="getGradeList(index)">{{ item.periodName }}</Option>
+                </Select>
+                <Select v-model="searchGrade" style="width:20%;margin-left:1%;" :placeholder="$t('stuAccount.gradeHolder')" clearable @on-change="filterStudentInfo">
+                    <!--<Option v-for="(item,index) in gradeList" :value="item.gradeCode" :key="index" @click.native="getClassroomList(index)">{{ item.gradeName }}</Option>-->
+                    <Option v-for="(item,index) in fn.getPeriod($store.state.schoolBaseInfo.schoolBaseInfo,searchPeriod).grades" :value="item.gradeCode" :key="index">{{ item.gradeName }}</Option>
+                </Select>
+                <Select v-model="searchClassroom" ref="classroom" style="width:20%;margin-left:1%;" :placeholder="$t('stuAccount.classroomHolder')" clearable @on-change="filterStudentInfo">
+                    <Option v-for="(item,index) in classroomShowList" :value="item.classroomCode" :key="index">{{ item.classroomName }}</Option>
+                </Select>
+            </div>
+            <div class="sc-menu-right sc-text-no-select">
+                <ul>
+                    <li @click="delStudent(-1)" :class=" selections.length > 0 ? '':'sc-disable-cursor' ">
+                        <Icon type="md-trash" :color="selections.length > 0 ? 'white':'#606060'" size="18" />
+                        <span>{{ $t('stuAccount.delStu') }}</span>
+                    </li>
+                    <li @click="editStudent()" :class=" selections.length > 0 ? '':'sc-disable-cursor' ">
+                        <Icon type="md-create" :color="selections.length > 0 ? 'white':'#606060'" size="18" />
+                        <span>{{ $t('stuAccount.editInfo') }}</span>
+                    </li>
+                    <li @click="addStudent()">
+                        <Icon type="md-person-add" color="white" size="18" />
+                        <span>{{ $t('stuAccount.addStu') }}</span>
+                    </li>
+                    <li @click="importStudent()">
+                        <Icon type="md-arrow-round-up" color="white" size="18" />
+                        <span>{{ $t('stuAccount.importStu') }}</span>
+                    </li>
+                    <li @click="showAuthorization()">
+                        <Icon type="ios-cog-outline" color="white" size="18" />
+                        <span>{{$t('stuAccount.menuAuth') }}</span>
+                    </li>
+                </ul>
+            </div>
+        </div>
+        <div class="sc-content" style="position:relative">
+            <Table ref="selection" :columns="tableColumns" :data="tablePageData" height="730" :loading="tableLoading" @on-select="getSelectInfo" @on-select-cancel="getSelectInfo" @on-select-all="getSelectInfo" @on-select-all-cancel="cancelAll">
+                <template slot-scope="{ row,index }" slot="status">
+                    <Icon v-if="index%3 == 1" type="md-checkmark-circle-outline" size="18" color="#1CD0A1" />
+                    <span v-else>—</span>
+                </template>
+                <template slot-scope="{ row,index }" slot="classroomName">
+                    <span>{{row.classroomName}}</span>
+                </template>
+                <template slot-scope="{ row,index }" slot="classroomCode">
+                    <span>{{row.classroomCode}}</span>
+                </template>
+                <template slot-scope="{ row,index }" slot="periodName">
+                    <span>{{row.periodName}}</span>
+                </template>
+                <template slot-scope="{ row,index }" slot="gradeName">
+                    <span>{{row.gradeName}}</span>
+                </template>
+                <template slot-scope="{ row,index }" slot="action">
+                    <div class="item-tools">
+                        <Icon type="md-create" size="18" color="white" @click="editStudent(index)" />
+                        <Icon type="md-trash" size="18" color="white" @click="delStudent(index)" />
+                    </div>
+                </template>
+            </Table>
+            <Page :total="tableShowData.length" size="small" :page-size="pageSize" show-total style="margin-top:15px;float:right;color:white;margin-right:20px;" :current.sync="currentPage" @on-change="getPageData" />
+            <authorization :isShow="authorizationStatus" @closeAuth="closeAuth"></authorization>
+        </div>
 
-    <Modal v-model="addStudentStatus" width="520" class="add-student" :mask-closable="false" @on-cancel="cancel">
-      <div slot="header"></div>
-      <add-student v-if="addStudentStatus" :schoolCode="demoLoginInfo.schoolCode" :isShow="addStudentStatus" :editStudentInfo="editStudentInfo" @saveStudentInfo="closeAddStudent" :bizType="bizType"></add-student>
-      <div slot="footer">
-      </div>
-    </Modal>
-    <Modal v-model="importStudentStatus" width="70%" class="import-student" :mask-closable="false" @on-cancel="cancel">
-      <div slot="header">
-        <span class="import-model-title">{{$t('stuAccount.importTitle')}}</span>
-      </div>
-      <import-student v-if="importStudentStatus" :schoolCode="demoLoginInfo.schoolCode" :isShow="importStudentStatus" @importStudentInfo="closeImportStudent"></import-student>
-      <div slot="footer"></div>
-    </Modal>
-  </div>
+        <Modal v-model="addStudentStatus" width="520" class="add-student" :mask-closable="false" @on-cancel="cancel">
+            <div slot="header"></div>
+            <add-student v-if="addStudentStatus" :schoolCode="demoLoginInfo.schoolCode" :isShow="addStudentStatus" :editStudentInfo="editStudentInfo" @saveStudentInfo="closeAddStudent" :bizType="bizType"></add-student>
+            <div slot="footer">
+            </div>
+        </Modal>
+        <Modal v-model="importStudentStatus" width="70%" class="import-student" :mask-closable="false" @on-cancel="cancel">
+            <div slot="header">
+                <span class="import-model-title">{{$t('stuAccount.importTitle')}}</span>
+            </div>
+            <import-student v-if="importStudentStatus" :schoolCode="demoLoginInfo.schoolCode" :isShow="importStudentStatus" @importStudentInfo="closeImportStudent"></import-student>
+            <div slot="footer"></div>
+        </Modal>
+    </div>
 </template>
 
 <script>
-  import fn from '@/utils/js-fn.js'
-  import AddStudent from './add-student/AddStudent'
-  import ImportStudent from './add-student/ImportStudent'
-  import Authorization from './add-student/Authorization'
-  export default {
-    components: {
-      AddStudent,
-      ImportStudent,
-      Authorization
-    },
-    data() {
-      return {
-        fn,
-        classroomList: [],
-        classroomShowList: [],
-        gradeList: [],
-        searchPeriod: '',
-        searchGrade: '',
-        searchClassroom: '',
-        schoolData: {},
-        tableLoading: false,
-        searchText: '',
-        currentPage: 1,
-        pageSize: 30,
-        bizType: 0, // 0:新增 1:修改
-        editStudentInfo: [],
-        selections: [],
-        selectRow: {},
-        addStudentStatus: false,
-        importStudentStatus: false,
-        authorizationStatus: false,
-        demoLoginInfo: {
-          user: 'admin',
-          TEAMModelId: 'habook#0001',
-          school: '醍摩豆书院',
-          schoolCode: 'HBCN'
+    import fn from '@/utils/js-fn.js'
+    import AddStudent from './add-student/AddStudent'
+    import ImportStudent from './add-student/ImportStudent'
+    import Authorization from './add-student/Authorization'
+    export default {
+        components: {
+            AddStudent,
+            ImportStudent,
+            Authorization
         },
-        tableData: [],
-        tableShowData: [],
-        tablePageData: [],
-        tableColumns: []
-      }
-    },
-    methods: {
-      cancel() {
-        console.log(this)
-      },
-      getGradeList(index) {
-        this.gradeList = this.schoolData.period[index].grade
-        this.classroomShowList = this.classroomList.filter((item) => { return item.period == this.schoolData.period[index].code })
-        if (this.classroomShowList.length == 0) {
-          this.$refs.classroom.clearSingleSelect()
-        }
-      },
-      getClassroomList(index) {
-        this.classroomShowList = this.classroomList.filter((item) => { return item.grade == this.gradeList[index].code })
-        if (this.classroomShowList.length == 0) {
-          this.$refs.classroom.clearSingleSelect()
-        }
-      },
-      getPageData() {
-        let start = ((this.currentPage - 1) * this.pageSize)
-        let end = 0
-        if (this.tableShowData.length < this.currentPage * this.pageSize) {
-          end = this.tableShowData.length
-        } else {
-          end = this.currentPage * this.pageSize
-        }
-        this.tablePageData = this.tableShowData.slice(start, end)
-      },
-      searchData() {
-        this.tableLoading = true
-        this.tableShowData = this.tableData.filter(item => JSON.stringify(item).indexOf(this.searchText) != -1)
-        this.currentPage = 1
-        this.getPageData()
-        this.tableLoading = false
-      },
-      filterStudentInfo() {
-        let grade = ''
-        if (this.searchPeriod == undefined) {
-          this.searchPeriod = ''
-        }
-        if (this.searchGrade == undefined || this.searchGrade == '') {
-          this.grade = ''
-        } else {
-          grade = '"gradeCode":' + '"' + this.searchGrade + '"'
-        }
-        console.log(JSON.stringify(this.tableData[0]))
-        if (this.searchClassroom == undefined) {
-          this.searchClassroom = ''
-        }
-        this.tableLoading = true
-        this.tableShowData = this.tableData.filter(
-          item => {
-            return JSON.stringify(item).indexOf(this.searchPeriod) !== -1 && JSON.stringify(item).indexOf(grade) !== -1 && JSON.stringify(item).indexOf(this.searchClassroom) !== -1
-          }
-        )
-        this.currentPage = 1
-        this.getPageData()
-        this.tableLoading = false
-      },
-      cancelAll() {
-        this.selections = []
-      },
-      getIndex(_arr, _obj) {
-        var len = _arr.length
-        for (let i = 0; i < len; i++) {
-          if (this.isObjEqual(_arr[i], _obj)) {
-            return parseInt(i)
-          }
-        }
-        return -1
-      },
-      isObjEqual(o1, o2) {
-        var props1 = Object.keys(o1)
-        var props2 = Object.keys(o2)
-        if (props1.length != props2.length) {
-          return false
-        }
-        for (var i = 0, max = props1.length; i < max; i++) {
-          var propName = props1[i]
-          if (o1[propName] !== o2[propName]) {
-            return false
-          }
-        }
-        return true
-      },
-      getSelectInfo(selction, row) {
-        this.selections = selction
-        this.selectRow = row
-      },
-      closeAddStudent(data) {
-        if (data.action == 1) {
-          let infoString = JSON.stringify(data.studentInfo)
-          let info = JSON.parse(infoString)
-          this.tableData.unshift(info);
-          [...this.tableShowData] = this.tableData
-          this.getPageData()
-        } else {
-          this.findStudentInfo()
-        }
-        this.addStudentStatus = false
-      },
-      closeImportStudent(data) {
-        this.findStudentInfo()
-        this.importStudentStatus = false
-      },
-      closeAuth() {
-        this.authorizationStatus = false
-      },
-      addStudent() {
-        this.bizType = 1
-        this.$refs.selection.clearCurrentRow()
-        this.addStudentStatus = true
-      },
-      importStudent() {
-        this.importStudentStatus = true
-      },
-      showAuthorization() {
-        this.authorizationStatus = true
-      },
-      editStudent(index) {
-        this.bizType = 2
-        if (index != undefined) {
-          this.editStudentInfo = []
-          let objStr = JSON.stringify(this.tableData[index])
-          this.editStudentInfo.push(JSON.parse(objStr))
-          this.tableShowData[index]._checked = true
-          this.tablePageData[index]._checked = true
-          this.$forceUpdate()
-          this.addStudentStatus = true
-        } else {
-          if (this.selections.length > 0) {
-            this.editStudentInfo = [];
-            [...this.editStudentInfo] = this.selections
-            this.addStudentStatus = true
-          } else {
-            this.$Message.error(this.$t('stuAccount.tips1'))
-          }
-        }
-      },
-      delStudent(index, row) {
-        if (index >= 0) {
-          let showIndex = index + (this.currentPage - 1) * this.pageSize
-          let originIndex = this.getIndex(this.tableData, this.tablePageData[index])
-          this.$Modal.confirm({
-            title: this.$t('stuAccount.tips2Title'),
-            content: '<p>' + this.$t('stuAccount.tips2Content1') + " <strong style='color:red;'>" + this.tableShowData[showIndex].name + '</strong></p>',
-            onOk: () => {
-              this.$api.stuAccount.deleteStudentInfo(this.tablePageData[index]).then(
-                (res) => {
-                  if (res.error == null) {
-                    this.tableData.splice(originIndex, 1)
-                    this.tablePageData.splice(index, 1)
-                    this.tableShowData.splice(showIndex, 1)
-                  }
+        data() {
+            return {
+                fn,
+                classroomList: [],
+                classroomShowList: [],
+                gradeList: [],
+                searchPeriod: '',
+                searchGrade: '',
+                searchClassroom: '',
+                schoolData: {},
+                tableLoading: false,
+                searchText: '',
+                currentPage: 1,
+                pageSize: 30,
+                bizType: 0, // 0:新增 1:修改
+                editStudentInfo: [],
+                selections: [],
+                selectRow: {},
+                addStudentStatus: false,
+                importStudentStatus: false,
+                authorizationStatus: false,
+                demoLoginInfo: {
+                    user: 'admin',
+                    TEAMModelId: 'habook#0001',
+                    school: '醍摩豆书院',
+                    schoolCode: 'HBCN'
                 },
-                (err) => {
-                  alert('API error!')
+                tableData: [],
+                tableShowData: [],
+                tablePageData: [],
+                tableColumns: []
+            }
+        },
+        methods: {
+            cancel() {
+                console.log(this)
+            },
+            getGradeList(index) {
+                this.gradeList = this.schoolData.period[index].grade
+                this.classroomShowList = this.classroomList.filter((item) => { return item.period == this.schoolData.period[index].code })
+                if (this.classroomShowList.length == 0) {
+                    this.$refs.classroom.clearSingleSelect()
                 }
-              )
             },
-            onCancel: () => {
-            }
-          })
-        } else {
-          let i = this.getIndex(this.tableData, row)
-          if (i >= 0) {
-            this.tableData.splice(i, 1)
-          } else {
-             this.$Message.error(this.$t('stuAccount.tips3'))
-          }
-        }
-      },
-      getSchoolData() {
-        this.$api.schoolSetting.findSchoolSystem({
-          schoolCode: this.demoLoginInfo.schoolCode
-        }).then(res => {
-          if (res.error == null) {
-            if (res.result.data.length > 0) {
-              this.schoolData = res.result.data[0]
-              this.$store.commit('schoolBaseInfo/setSchoolInfo', this.schoolData)
-              this.getClassroom()
-            }
-          }
-        }
-        )
-      },
-      getClassroom() {
-        this.$api.schoolSetting.findClassInfo({
-          // schoolCode: this.demoLoginInfo.schoolCode,
-          // scope:'school'
-          scopeCode: this.demoLoginInfo.schoolCode
-        }).then(res => {
-          if (res.error == null) {
-            if (res.result.data.length > 0) {
-              this.classroomList = res.result.data;
-              [...this.classroomShowList] = this.classroomList
-              this.$store.commit('schoolBaseInfo/setClassroomList', this.classroomList)
-              this.findStudentInfo()
-            }
-          }
-        })
-      },
-      initData() {
-        this.tableColumns = [
-          {
-            type: 'selection',
-            width: 80,
-            align: 'center'
-          },
-          {
-            key: 'seatNo',
-            title: this.$t('stuAccount.seatNo'),
-            align: 'center',
-            width: 80
-          },
-          {
-            key: 'studentId',
-            title: this.$t('stuAccount.account'),
-            align: 'center'
-          },
-          {
-            key: 'name',
-            title: this.$t('stuAccount.stuName'),
-            align: 'center'
-          },
-          {
-            slot: 'classroomName',
-            title: this.$t('stuAccount.classroomName'),
-            align: 'center'
-          },
-          {
-            slot: 'classroomCode',
-            title: this.$t('stuAccount.classroomCode'),
-            align: 'center'
-          },
-          {
-            slot: 'periodName',
-            title: this.$t('stuAccount.period'),
-            align: 'center'
-          },
-          {
-            slot: 'gradeName',
-            title: this.$t('stuAccount.grade'),
-            align: 'center'
-          },
-          {
-            slot: 'status',
-            title: this.$t('stuAccount.authStatus'),
-            align: 'center'
-          },
-          {
-            slot: 'action',
-            title: ' ',
-            width: 100,
-            align: 'center'
-          }
-        ]
-      },
-      findStudentInfo() {
-        this.tableLoading = true
-        let params = {
-          schoolCode: this.demoLoginInfo.schoolCode
-        }
-        this.$api.stuAccount.findStudent(params).then(
-          (res) => {
-            if (res.error == null) {
-              this.tableData = res.result.data
-              for (let item of this.tableData) {
-                let currentSchoolInfo = this.$JSONPath.query(this.$store.state.schoolBaseInfo.schoolBaseInfo, "$..period[?(@.periodCode=='" + item.classroom.periodCode + "')]")
-                let currentClassroomlInfo = this.$JSONPath.query(this.$store.state.schoolBaseInfo.classroomList, "$..[?(@.classroomCode=='" + item.classroom.classroomCode + "')]")
-
-                if (currentSchoolInfo.length > 0) {
-                  item.classroom.periodName = currentSchoolInfo[0].periodName
-                  item.classroom.gradeName = this.$JSONPath.query(currentSchoolInfo, "$..grades[?(@.gradeCode=='" + item.classroom.gradeCode + "')]")[0].gradeName
-                  item.classroom.classroomName = currentClassroomlInfo[0].classroomName
+            getClassroomList(index) {
+                this.classroomShowList = this.classroomList.filter((item) => { return item.grade == this.gradeList[index].code })
+                if (this.classroomShowList.length == 0) {
+                    this.$refs.classroom.clearSingleSelect()
+                }
+            },
+            getPageData() {
+                let start = ((this.currentPage - 1) * this.pageSize)
+                let end = 0
+                if (this.tableShowData.length < this.currentPage * this.pageSize) {
+                    end = this.tableShowData.length
+                } else {
+                    end = this.currentPage * this.pageSize
+                }
+                this.tablePageData = this.tableShowData.slice(start, end)
+            },
+            searchData() {
+                this.tableLoading = true
+                this.tableShowData = this.tableData.filter(item => JSON.stringify(item).indexOf(this.searchText) != -1)
+                this.currentPage = 1
+                this.getPageData()
+                this.tableLoading = false
+            },
+            filterStudentInfo() {
+                let grade = ''
+                if (this.searchPeriod == undefined) {
+                    this.searchPeriod = ''
+                }
+                if (this.searchGrade == undefined || this.searchGrade == '') {
+                    this.grade = ''
+                } else {
+                    grade = '"gradeCode":' + '"' + this.searchGrade + '"'
                 }
-              }
-              [...this.tableShowData] = this.tableData
-              this.getPageData()
-              this.$forceUpdate()
-              this.tableLoading = false
-            } else {
-              alert('API error!')
-              this.tableLoading = false
+                if (this.searchClassroom == undefined) {
+                    this.searchClassroom = ''
+                }
+                this.tableLoading = true
+                this.tableShowData = this.tableData.filter(
+                    item => {
+                        return JSON.stringify(item).indexOf(this.searchPeriod) !== -1 && JSON.stringify(item).indexOf(grade) !== -1 && JSON.stringify(item).indexOf(this.searchClassroom) !== -1
+                    }
+                )
+                this.currentPage = 1
+                this.getPageData()
+                this.tableLoading = false
+            },
+            cancelAll() {
+                this.selections = []
+            },
+            getIndex(_arr, _obj) {
+                var len = _arr.length
+                for (let i = 0; i < len; i++) {
+                    if (this.isObjEqual(_arr[i], _obj)) {
+                        return parseInt(i)
+                    }
+                }
+                return -1
+            },
+            isObjEqual(o1, o2) {
+                var props1 = Object.keys(o1)
+                var props2 = Object.keys(o2)
+                if (props1.length != props2.length) {
+                    return false
+                }
+                for (var i = 0, max = props1.length; i < max; i++) {
+                    var propName = props1[i]
+                    if (o1[propName] !== o2[propName]) {
+                        return false
+                    }
+                }
+                return true
+            },
+            getSelectInfo(selction, row) {
+                this.selections = selction
+                this.selectRow = row
+            },
+            closeAddStudent(data) {
+                if (data.action == 1) {
+                    let infoString = JSON.stringify(data.studentInfo)
+                    let info = JSON.parse(infoString)
+                    this.tableData.unshift(info);
+                    [...this.tableShowData] = this.tableData
+                    this.getPageData()
+                } else {
+                    this.findStudentInfo()
+                }
+                this.addStudentStatus = false
+            },
+            closeImportStudent(data) {
+                this.findStudentInfo()
+                this.importStudentStatus = false
+            },
+            closeAuth() {
+                this.authorizationStatus = false
+            },
+            addStudent() {
+                this.bizType = 1
+                this.$refs.selection.clearCurrentRow()
+                this.addStudentStatus = true
+            },
+            importStudent() {
+                this.importStudentStatus = true
+            },
+            showAuthorization() {
+                this.authorizationStatus = true
+            },
+            editStudent(index) {
+                this.bizType = 2
+                if (index != undefined) {
+                    this.editStudentInfo = []
+                    let objStr = JSON.stringify(this.tableData[index])
+                    this.editStudentInfo.push(JSON.parse(objStr))
+                    this.tableShowData[index]._checked = true
+                    this.tablePageData[index]._checked = true
+                    this.$forceUpdate()
+                    this.addStudentStatus = true
+                } else {
+                    if (this.selections.length > 0) {
+                        this.editStudentInfo = [];
+                        [...this.editStudentInfo] = this.selections
+                        this.addStudentStatus = true
+                    } else {
+                        this.$Message.error(this.$t('stuAccount.tips1'))
+                    }
+                }
+            },
+            delStudent(index, row) {
+                if (index >= 0) {
+                    let showIndex = index + (this.currentPage - 1) * this.pageSize
+                    let originIndex = this.getIndex(this.tableData, this.tablePageData[index])
+                    this.$Modal.confirm({
+                        title: this.$t('stuAccount.tips2Title'),
+                        content: '<p>' + this.$t('stuAccount.tips2Content1') + " <strong style='color:red;'>" + this.tableShowData[showIndex].name + '</strong></p>',
+                        onOk: () => {
+                            this.$api.stuAccount.deleteStudentInfo(this.tablePageData[index]).then(
+                                (res) => {
+                                    if (res.error == null) {
+                                        this.tableData.splice(originIndex, 1)
+                                        this.tablePageData.splice(index, 1)
+                                        this.tableShowData.splice(showIndex, 1)
+                                    }
+                                },
+                                (err) => {
+                                    alert('API error!')
+                                }
+                            )
+                        },
+                        onCancel: () => {
+                        }
+                    })
+                } else {
+                    let i = this.getIndex(this.tableData, row)
+                    if (i >= 0) {
+                        this.tableData.splice(i, 1)
+                    } else {
+                        this.$Message.error(this.$t('stuAccount.tips3'))
+                    }
+                }
+            },
+            getSchoolData() {
+                this.$api.schoolSetting.findSchoolSystem({
+                    schoolCode: this.demoLoginInfo.schoolCode
+                }).then(res => {
+                    if (res.error == null) {
+                        if (res.result.data.length > 0) {
+                            this.schoolData = res.result.data[0]
+                            this.$store.commit('schoolBaseInfo/setSchoolInfo', this.schoolData)
+                            this.getClassroom()
+                        }
+                    }
+                }
+                )
+            },
+            getClassroom() {
+                this.$api.schoolSetting.findClassInfo({
+                    // schoolCode: this.demoLoginInfo.schoolCode,
+                    // scope:'school'
+                    scopeCode: this.demoLoginInfo.schoolCode
+                }).then(res => {
+                    if (res.error == null) {
+                        if (res.result.data.length > 0) {
+                            this.classroomList = res.result.data;
+                            [...this.classroomShowList] = this.classroomList
+                            this.$store.commit('schoolBaseInfo/setClassroomList', this.classroomList)
+                            this.findStudentInfo()
+                        }
+                    }
+                })
+            },
+            initData() {
+                this.tableColumns = [
+                    {
+                        type: 'selection',
+                        width: 80,
+                        align: 'center'
+                    },
+                    {
+                        key: 'seatNo',
+                        title: this.$t('stuAccount.seatNo'),
+                        align: 'center',
+                        width: 80
+                    },
+                    {
+                        key: 'studentId',
+                        title: this.$t('stuAccount.account'),
+                        align: 'center'
+                    },
+                    {
+                        key: 'name',
+                        title: this.$t('stuAccount.stuName'),
+                        align: 'center'
+                    },
+                    {
+                        slot: 'classroomName',
+                        title: this.$t('stuAccount.classroomName'),
+                        align: 'center'
+                    },
+                    {
+                        slot: 'classroomCode',
+                        title: this.$t('stuAccount.classroomCode'),
+                        align: 'center'
+                    },
+                    {
+                        slot: 'periodName',
+                        title: this.$t('stuAccount.period'),
+                        align: 'center'
+                    },
+                    {
+                        slot: 'gradeName',
+                        title: this.$t('stuAccount.grade'),
+                        align: 'center'
+                    },
+                    {
+                        slot: 'status',
+                        title: this.$t('stuAccount.authStatus'),
+                        align: 'center'
+                    },
+                    {
+                        slot: 'action',
+                        title: ' ',
+                        width: 100,
+                        align: 'center'
+                    }
+                ]
+            },
+            findStudentInfo() {
+                this.tableLoading = true
+                let params = {
+                    schoolCode: this.demoLoginInfo.schoolCode
+                }
+                this.$api.stuAccount.findStudent(params).then(
+                    (res) => {
+                        if (res.error == null) {
+                            this.tableData = res.result.data
+                            for (let item of this.tableData) {
+                                let currentClassroomlInfo = this.$JSONPath.query(this.$store.state.schoolBaseInfo.classroomList, "$..[?(@.classroomCode=='" + item.classroomCode + "')]")
+                                
+                                if (currentClassroomlInfo.length > 0) {
+                                    let currentSchoolInfo = this.$JSONPath.query(this.$store.state.schoolBaseInfo.schoolBaseInfo, "$..period[?(@.periodCode=='" + currentClassroomlInfo[0].periodCode + "')]")
+                                    item.periodName = currentSchoolInfo[0].periodName
+                                    item.periodCode = currentSchoolInfo[0].periodCode
+                                    item.gradeName = this.$JSONPath.query(currentSchoolInfo, "$..grades[?(@.gradeCode=='" + currentClassroomlInfo[0].gradeCode + "')]")[0].gradeName
+                                    item.gradeCode = this.$JSONPath.query(currentSchoolInfo, "$..grades[?(@.gradeCode=='" + currentClassroomlInfo[0].gradeCode + "')]")[0].gradeCode
+                                    item.classroomName = currentClassroomlInfo[0].classroomName
+                                }
+                            }
+                            [...this.tableShowData] = this.tableData
+                            this.getPageData()
+                            this.$forceUpdate()
+                            this.tableLoading = false
+                        } else {
+                            alert('API error!')
+                            this.tableLoading = false
+                        }
+                    },
+                    (err) => {
+                        this.tableLoading = false
+                    }
+                )
             }
-          },
-          (err) => {
-            this.tableLoading = false
-          }
-        )
-      }
-    },
-    created() {
-      this.initData()
-      this.getSchoolData()
-      // this.getClassroom();
-      // this.findStudentInfo();
-    },
-    computed: {
-    },
-    mounted() {
+        },
+        created() {
+            this.initData()
+            this.getSchoolData()
+            // this.getClassroom();
+            // this.findStudentInfo();
+        },
+        computed: {
+        },
+        mounted() {
+        }
     }
-  }
 </script>

File diff suppressed because it is too large
+ 584 - 580
TEAMModelOS/ClientApp/src/view/teachcontent/index.vue