Browse Source

Merge branch 'develop5.0-tmd' of http://106.12.23.251:10000/TEAMMODEL/TEAMModelOS into develop5.0-tmd

CrazyIter_Bin 4 years ago
parent
commit
796578e8db

+ 62 - 0
TEAMModelOS/ClientApp/src/assets/student-web/component_styles/event-list-new.css

@@ -0,0 +1,62 @@
+.list-new {
+  display: flex;
+  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
+  padding: 15px 10px 15px 25px;
+}
+.list-new:hover {
+  background: linear-gradient(-270deg, #fafafa, #d4ede1);
+  color: #03966a;
+  cursor: pointer;
+}
+.list-new-icon {
+  width: 10%;
+  margin-right: 30px;
+}
+.list-new-icon .svg-icon {
+  width: 40px;
+  height: 40px;
+}
+.list-new-test {
+  width: 70%;
+  font-weight: bolder;
+  font-size: 14px;
+  line-height: 22px;
+  margin-right: 20px;
+  clear: both;
+}
+.list-new-test .list-item-typeMark {
+  text-align: center;
+  background-color: #dfdfdf;
+  border-radius: 10px;
+  padding: 1px 10px;
+  margin: 0 8px 0 -10px;
+}
+.list-new-test .list-item-time {
+  color: #8f8787;
+  font-size: 12px;
+}
+.list-new-test .isScore {
+  float: right;
+}
+.list-new-type {
+  width: 15%;
+  display: flex;
+  justify-content: center;
+  flex-direction: column;
+}
+.list-new-type .list-new-unDone {
+  font-size: 10px;
+  font-weight: bolder;
+  padding: 5px;
+  border-radius: 4px;
+  text-align: center;
+  border: 1px solid;
+}
+.list-new-type .isAllowRetry {
+  color: #fff;
+  background-color: #64ae16;
+  border: none;
+}
+.list-new-type .isWrongPra {
+  margin-top: 10px;
+}

+ 76 - 0
TEAMModelOS/ClientApp/src/assets/student-web/component_styles/event-list-new.less

@@ -0,0 +1,76 @@
+.list-new{
+    display: flex;
+    border-bottom: 1px solid rgba(0,0,0,.1);
+    padding: 15px 10px 15px 25px;
+
+    &:hover{
+        background: linear-gradient(-270deg, #fafafa, #d4ede1);
+        color: #03966a;
+        cursor: pointer;
+    }
+
+    &-icon{
+        width: 10%;
+        margin-right: 30px;
+
+        .svg-icon{
+            width: 40px;
+            height: 40px;
+        }
+    }
+
+    &-test{
+        width: 70%;
+        font-weight: bolder;
+        font-size: 14px;
+        line-height: 22px;
+        margin-right: 20px;
+        clear: both;
+
+        .list-item-typeMark{
+            text-align: center;
+            background-color: #dfdfdf;
+            border-radius: 10px;
+            padding: 1px 10px;
+            margin: 0 8px 0 -10px;
+        }
+
+        .list-item-time {
+            color: #8f8787;
+            font-size: 12px;
+        }
+
+        .isScore{
+            float: right;
+        }
+    }
+
+    &-type{
+        width: 15%;
+        display: flex;
+        justify-content: center;
+        flex-direction: column;
+
+        .list-new-unDone{
+            font-size: 10px;
+            font-weight: bolder;
+            // color: #fff;
+            padding: 5px;
+            border-radius: 4px;
+            text-align: center;
+            border: 1px solid;
+
+            
+        }
+        
+        .isAllowRetry{
+            color: #fff;
+            background-color: #64ae16;
+            border: none;
+        }
+
+        .isWrongPra{
+            margin-top: 10px;
+        }
+    }
+}

+ 97 - 55
TEAMModelOS/ClientApp/src/assets/student-web/component_styles/paper-test.css

@@ -1,13 +1,14 @@
 .lesson-test-pop {
   position: fixed;
   width: 100%;
-  height: 100%;
+  /* height: 100%; */
   overflow-y: scroll;
   overflow-x: hidden;
   background-color: #f9f9f9;
   z-index: 10;
   top: 0px;
   left: 0px;
+  font-size: 18px;
 }
 .que-box {
     margin-top:10px;
@@ -29,6 +30,15 @@
     padding-top: 3px;
     height: 30px;
 }
+.has-right-ans{
+    background-color: #4fd5a3;
+}
+.has-wrong-ans{
+    background-color: #ff5508;
+}
+.has-no-ans{
+    background-color: #b7b7b7;
+}
 .has-ans {
     border: 1px solid rgba(117, 117, 117, 0.726);
     margin-left: 5px;
@@ -44,7 +54,7 @@
 }
 .ans-box :hover {
     color: #24b880;
-    font-size: 16px;
+    /* font-size: 16px; */
     padding: 2px 5px;
 }
 .has-ans :hover {
@@ -74,18 +84,22 @@
 
 .lesson-test-pop .warmMessage {
     z-index: 999;
+    font-size: 14px;
+}
+.lesson-test-pop .warmMessage h3{
+  font-size: 16px;
+}
+.lesson-test-pop .testTitle .ques-filter {
+    position: absolute;
+    right: 10%;
+    top: 3px;
 }
-    .lesson-test-pop .testTitle .ques-filter {
-        position: absolute;
-        right: 10%;
-        top: 3px;
-    }
 
 .lesson-test-pop .testTitle .ques-filter .filter-text {
   padding: 2px 7px;
   border-radius: 4px;
   color: #515a6e;
-  font-size: 14px;
+  /* font-size: 14px; */
   font-weight: bolder;
   background-color: rgba(0, 0, 0, 0.1);
 }
@@ -161,10 +175,10 @@
   position: relative;
   display: block;
   overflow: auto;
-  height: 95.5vh;
+  height: 96vh;
   background-color: #ffffff;
   left: 0px;
-  font-size: 20px;
+  /* font-size: 20px; */
 }
 
 .lesson-test-pop .questionContent {
@@ -177,34 +191,34 @@
   text-align: center;
   max-width: 100px;
   margin-bottom: 5px;
-  /*margin-top:20px;*/
+  /*margin-top: 20px;*/
 }
 .lesson-test-pop .questioDes {
-    margin-top:20px;
+    margin-top: 20px;
     font-weight: 900;
-    font-size: 20px;
-    /* height:500px; */
-    overflow-y:scroll;
-    /*border:2px solid red;*/
+    /* font-size: 20px; */
+    /* height: 500px; */
+    overflow-y: scroll;
+    /* border: 2px solid red; */
 }
 .lesson-test-pop .que-item {
-    display:flex;
+    display: flex;
     width: 100%;
     /* max-height: 450px; */
     /* overflow-y: scroll; */
-    /*border:1px solid blue;*/
+    /* border: 1px solid blue; */
 }
 
 .lesson-test-pop .que-items {
     width: 100%;
-    /*border:1px solid lightblue;*/
+    /* border: 1px solid lightblue; */
     /* max-height: 200px; */
-    margin-left:10px;
+    margin-left: 10px;
     /*max-height: 200px;*/
-    overflow-y: scroll;
+    /* overflow-y: scroll; */
 }
 .lesson-test-pop .questionNo {
-    margin-bottom:5px;
+    margin-bottom: 5px;
     font-weight: 900;
 }
 .lesson-test-pop .answers{
@@ -247,7 +261,7 @@
 }
 
 .compose-content {
-    /*margin-top: 30px;*/
+    /* margin-top: 30px; */
     width: 100%;
     /* height: 200px; */
     z-index: 0;
@@ -324,11 +338,12 @@
   /* float: left;
   right: -10px; */
   margin-top: 20px;
-  margin-bottom: 100px;
+  /* margin-bottom: 100px; */
   right: 10px;
   font-weight: 900;
   display: flex;
-  flex-wrap:wrap;
+  flex-wrap: wrap;
+  font-size: 14px;
 }
 .lesson-test-pop .pageCtl2 button {
   text-align: center;
@@ -357,7 +372,7 @@
 .lesson-test-pop .analysis{
   margin-top: 20px;
   z-index: 2;
-  font-size: 20px;
+  /* font-size: 20px; */
   transition: opacity 0.2s ease-in;
   opacity: 0;
 }
@@ -458,13 +473,13 @@
   border-collapse: collapse;
   font-weight: 500;
   cursor: pointer;
-  font-size: 14px;
+  /* font-size: 14px; */
   padding: 2px 10px;
   height: 30px;
 }
 .lesson-test-pop .ansSheet .ansSheetQno:hover {
   color: #24b880;
-  font-size: 16px;
+  /* font-size: 16px; */
   padding: 2px 10px;
   background-color: #ececec;
 }
@@ -513,6 +528,9 @@
   }
 }
 @media screen and (max-width: 1366px) {
+    /* .lesson-test-pop{
+      font-size: 18px;
+    } */
     .lesson-test-pop .testTitle .ques-filter {
         right: 15%;
     }
@@ -543,8 +561,8 @@
         margin-top: 50px;
     }
     .compose-box {
-        background-color: #24b880;
-        color: white;
+        /* background-color: #24b880;
+        color: white; */
         width: 95%;
         border-radius: 6px;
     }
@@ -557,7 +575,7 @@
     .compose-content {
         margin-top: 30px;
         width: 95%;
-        height: 200px;
+        /* height: 200px; */
         margin-bottom:30px;
         z-index: 0;
     }
@@ -578,10 +596,13 @@
         position: relative;
         display: block;
         overflow: auto;
-        height: 95vh;
+        height: 97vh;
         background-color: #ffffff;
         left: 0px;
     }
+    .lesson-test-pop .que-box{
+        max-height: 760px;
+    }
     .lesson-test-pop .pageCtl2 {
         position: relative;
         /* float: right;
@@ -595,6 +616,20 @@
         margin: 0 10px 10px 10px;
     }
 }
+@media screen and (max-width: 1024px) {
+    .lesson-test-pop{
+        font-size: 14px;
+    }
+    .lesson-test-pop .ans-box{
+        font-size: 13px;
+    }
+    .lesson-test-pop .pageCtl2{
+      font-size: 12px;
+    }
+    .lesson-test-pop .que-box{
+      max-height: 450px;
+    }
+}
 @media screen and (max-width: 991px) {
     .lesson-test-pop .testTitle .ques-filter {
         right: 25%;
@@ -616,35 +651,48 @@
         left: 65%;
     }
 
-    .lesson-test-pop .questionArea {
+    /* .lesson-test-pop .questionArea {
         height: auto;
-    }
+    } */
 
-    .lesson-test-pop .ansArea {
+    /* .lesson-test-pop .ansArea {
         position: relative;
-    }
+    } */
 }
-@media screen and (max-width: 767px) {
+@media screen and (max-width: 768px) {
+    .lesson-test-pop{
+      font-size: 14px;
+    }
     .lesson-test-pop .testTitle .ques-filter {
         left: 38%;
     }
-}
-@media screen and (max-width: 767px) {
     .lesson-test-pop .ansSheet {
-        font-size: 10px;
-        width: 80%;
+      /* font-size: 10px; */
+      width: 80%;
     }
-}
-@media screen and (max-width: 767px) {
     .lesson-test-pop .questionDesImg {
-        width: 40%;
-        margin-top: 20px;
+      width: 40%;
+      margin-top: 20px;
     }
-}
-@media screen and (max-width: 767px) {
     .lesson-test-pop .myProgressBar {
-        right: 30%;
+      right: 30%;
+    }
+    .lesson-test-pop .questionArea {
+      /* font-size: 18px; */
     }
+    .lesson-test-pop .questioDes {
+        /* overflow-y: scroll; */
+        /* font-size: 18px; */
+    }
+}
+@media screen and (max-width: 767px) {
+    
+}
+@media screen and (max-width: 767px) {
+    
+}
+@media screen and (max-width: 767px) {
+    
 }
 @media screen and (max-width: 680px) {
     .lesson-test-pop .myProgressBar {
@@ -652,11 +700,5 @@
     }
 }
 @media screen and (max-width: 767px) {
-    .lesson-test-pop .questionArea {
-        font-size: 18px;
-    }
-    .lesson-test-pop .questioDes {
-        /* overflow-y: scroll; */
-        font-size: 18px;
-    }
+    
 }

+ 2 - 4
TEAMModelOS/ClientApp/src/components/student-web/EventView/EventContentTypeTemplate/LessonTestReportCharts/StudentScore.vue

@@ -94,7 +94,7 @@
                         <span>{{$t("studentWeb.exam.studentScore.comIndex")}}</span>
                     </li>
                 </ul>
-                <ul v-for="(item,index) in scoreInfo.averageMap">
+                <ul v-for="(item, index) in scoreInfo.averageMap" :key="index">
                     <li class="sub-item">
                         <div class="sub-show"><span>{{item.name}}</span></div>
                     </li>
@@ -214,7 +214,6 @@
     </div>
 </template>
 <script>
-
     export default {
         props: {
             stuData: {
@@ -389,7 +388,6 @@
         },
         mounted() {
             this.getPaperData()
-
         },
         watch: {
             stuData() {
@@ -397,7 +395,7 @@
                     this.stuScore = []
                     this.getPaperData()
                 }
-                deep:true
+                deep: true
             }
         }
     }

File diff suppressed because it is too large
+ 152 - 52
TEAMModelOS/ClientApp/src/components/student-web/EventView/EventContentTypeTemplate/PaperTest.vue


+ 1 - 1
TEAMModelOS/ClientApp/src/components/student-web/EventView/EventContentTypeTemplate/PaperView.vue

@@ -43,7 +43,7 @@
                     </div>
                 </TabPane>
                 <!-- 成绩分析 -->
-                <TabPane :label="$t('studentWeb.exam.gradeReport')" v-if="isTestOver" name="analyse">
+                <TabPane :label="$t('studentWeb.exam.gradeReport')" v-if="isTestOver && $store.getters.getItemTitle.owner == 'school'" name="analyse">
                     <div class="title-rect-group">
                         <!-- <div class="title-rect" /> -->
                         <h2 class="title-rect-name">{{$t("studentWeb.exam.gradeAnalyse")}}</h2>

+ 70 - 7
TEAMModelOS/ClientApp/src/components/student-web/EventView/EventList.vue

@@ -81,7 +81,70 @@
                     <br />
                     {{ $t("studentWeb.empty") }}
                 </div>
-                <div :id="`event${item.id}`"
+                <div v-if="isListNoItem == false">
+                    <div :id="`event${item.id}`"
+                         class="list-new"
+                         @click="sentSelectedEventTitle(item)"
+                         :class="{ 'list-item-selected': selectedCondition(item) }"
+                         v-for="(item, index) in eventShow"
+                         :key="index"
+                    >
+                        <div class="list-new-icon">
+                            <svg-icon v-if="item.eventType == 'HomeWork'" icon-class="doc" />
+                            <svg-icon v-if="item.eventType == 'Preview'"  icon-class="selflearninginTime" />
+                            <svg-icon v-if="item.eventType == 'Exam'" icon-class="multiTest" />
+                            <svg-icon v-if="item.eventType == 'Vote'" icon-class="vote" />
+                            <svg-icon v-if="item.eventType == 'Survey'" icon-class="quesnaire" />
+                        </div>
+                        <div v-if="item.eventType == 'Exam'" class="list-new-test">
+                            <p class="list-item-title">
+                                <span class="list-item-typeMark">{{item.owner == 'school' ? $t('studentWeb.public.schoolExam'):$t('studentWeb.public.privateExam')}}</span>
+                                <span>{{ item.name }}</span>
+                            </p>
+                            <!-- 暂时不改 -->
+                            <!-- <p class="list-item-time isScore" v-show="timeStatus(item) == 'finish'">
+                                得分率:20%
+                            </p> -->
+                            <p class="list-item-time">
+                                {{ dateFormat(item.startTime) }} ~ {{ dateFormat(item.endTime) }}
+                            </p>
+                        </div>
+                        <div v-if="item.eventType == 'Vote'" class="list-new-test">
+                            <p class="list-item-title">
+                                <span class="list-item-typeMark">{{item.owner == 'school' ? $t('studentWeb.public.schoolVote'):$t('studentWeb.public.privateVote')}}</span>
+                                <span>{{ item.name }}</span>
+                            </p>
+                            <p class="list-item-time">
+                                {{ dateFormat(item.startTime) }} ~ {{ dateFormat(item.endTime) }}
+                            </p>
+                        </div>
+                        <div v-if="item.eventType == 'Survey'" class="list-new-test">
+                            <p class="list-item-title">
+                                <span class="list-item-typeMark">{{item.owner == 'school' ? $t('studentWeb.public.schoolSurvey'):$t('studentWeb.public.privateSurvey')}}</span>
+                                <span>{{ item.name }}</span>
+                            </p>
+                            <p class="list-item-time">
+                                {{ dateFormat(item.startTime) }} ~ {{ dateFormat(item.endTime) }}
+                            </p>
+                        </div>
+                        <div class="list-new-type">
+                            <div class="list-new-unDone isAllowRetry" v-show="timeStatus(item) == 'going'">
+                                <span>{{$t("studentWeb.public.going")}}</span>
+                            </div>
+                            <div class="list-new-unDone" v-show="timeStatus(item) == 'finish'">
+                                <span class="isOvertime">{{$t("studentWeb.public.finish")}}</span>
+                            </div>
+                            <!-- 暂时不改 -->
+                            <!-- <div class="list-new-unDone isWrongPra" v-show="timeStatus(item) == 'finish' && item.eventType == 'Exam'">
+                                <span class="">{{$t("studentWeb.exam.report.wrongPractice")}}</span>
+                            </div> -->
+                        </div>
+                            
+                    </div>
+                </div>
+
+
+                <!-- <div :id="`event${item.id}`"
                      class="list-item"
                      @click="sentSelectedEventTitle(item)"
                      :class="{ 'list-item-selected': selectedCondition(item) }"
@@ -106,9 +169,9 @@
                             <p class="list-item-time">
                                 {{ dateFormat(item.startTime) }} ~ {{ dateFormat(item.endTime) }}
                             </p>
-                            <!-- <p class="list-item-time" v-show="timeStatus(item) == 'finish'">
+                            <p class="list-item-time" v-show="timeStatus(item) == 'finish'">
                                 得分率:20%
-                            </p> -->
+                            </p>
                         </li>
                         <li class="list-item-info"
                             v-if="item.eventType == 'Vote'">
@@ -136,11 +199,11 @@
                         <li class="list-item-unDone" v-show="timeStatus(item) == 'finish'">
                             <div class="isOvertime">{{$t("studentWeb.public.finish")}}</div>
                         </li>
-                        <!-- <li class="list-item-unDone" v-show="timeStatus(item) == 'finish' && item.eventType == 'Exam'">
+                        <li class="list-item-unDone" v-show="timeStatus(item) == 'finish' && item.eventType == 'Exam'">
                             <div class="">{{$t("studentWeb.exam.report.wrongPractice")}}</div>
-                        </li> -->
+                        </li>
                     </ul>
-                </div>
+                </div> -->
                 <div class="list-end"></div>
             </div>
         </div>
@@ -299,7 +362,6 @@
                 //選中第一個
                 let currentfilterArray = [];
                 this.eventShow.length = 0
-                console.log(this.eventTypeCheckers);
                 for (let i = 0; i < this.eventList.length; i++) {
                     if (this.eventPageType.includes(this.eventList[i].eventType)) {
                         // 沒有篩選類型+沒有篩選狀態的情況
@@ -555,4 +617,5 @@
 
 <style scoped>
     @import "~@/assets/student-web/component_styles/event-list.css";
+    @import "~@/assets/student-web/component_styles/event-list-new.css";
 </style>

+ 6 - 5
TEAMModelOS/ClientApp/src/components/student-web/HomeView/CourseList.vue

@@ -295,13 +295,13 @@ export default {
   name: "CourseList",
   data() {
     return {
-      currentView:'table',
+      currentView: 'table',
       messageOpen: false,
       timetitle:
         localStorage.getItem("lang") == "tw"
           ? ["時間", "一", "二", "三", "四", "五"]
           : ["time", "Mon", "Tue", "Wed", "Thu", "Fri"],
-        courseList: this.$api.studentWeb.courseList
+      courseList: this.$api.studentWeb.courseList //moke数据
     };
   },
   created() {
@@ -310,12 +310,12 @@ export default {
     }
   },
   methods: {
-    changeView(type){
+    changeView(type) {
       this.currentView=type
     },
     sentFirstItemActive() {
-        let tempArr = [];
-        console.log(this.$api.studentWeb.courseList)
+      let tempArr = [];
+      console.log(this.$api.studentWeb.courseList)
       for (let i = 0; i < this.courseList.length; i++) {
         if (this.courseList[i].courseType != "臨時") {
           tempArr.push(this.courseList[i]);
@@ -323,6 +323,7 @@ export default {
       }
       this.sentSelectedEventTitle(tempArr[0]);
     },
+    // 跳转到当前课程
     sentSelectedEventTitle: function (item) {
       this.$router.push("/courseList#" + item.courseID);
       //改變ItemName的狀態 vuex mutations

+ 3 - 1
TEAMModelOS/ClientApp/src/locale/lang/zh-CN/studentWeb.js

@@ -311,7 +311,9 @@ export default {
             exitWrongDe: "系统检测您尚未「结束练习」,如您选择「确定」,",
             exitWrongDes: "则目前作答将不保存,下次需重新练习",
             endPractice: "结束练习提示",
-            endPracticeDe: "您将离开错题练习页面",
+            endPracticeDe: "是否继续练习?",
+            endPracticeBtn1: "继续练习",
+            endPracticeBtn2: "结束练习",
             qNo: '题号:',
             correction: '正解',
             queNo: '题目:',

+ 1 - 1
TEAMModelOS/ClientApp/src/store/module/studentWeb.js

@@ -17,7 +17,7 @@ export default {
     //定義狀態
     state: {
         lang: "zh-TW", //存放
-        sideBarIsOpen: true, //存放側邊欄是否開合
+        sideBarIsOpen: true, //存放側邊欄
         userInfo: {
             name: '',
             studentId: '',

+ 11 - 1
TEAMModelOS/ClientApp/src/view/settings/Index.less

@@ -4,10 +4,15 @@
 	height: 100%;
 	display: flex;
 	flex-direction: column;
+	/* background-color: #ffffff;
+	margin: 15px 20px;
+	border-radius: 5px;
+	box-shadow: 0px 0px 10px 2px #ccc; */
 	
 	.settings-header{
 		height: 70px;
 		border-bottom: 1px solid @border-color;
+		// border-bottom: 1px solid #909090;
 		
 		&-item{
 			display: inline-block;
@@ -15,7 +20,9 @@
 			line-height: 40px;
 			margin-top: 15px;
 			margin-left: 50px;
-			color:@label-textColor;
+			color: @label-textColor;
+			// color: #1E1F21;
+			// color: #909090;
 			cursor: pointer;
 			
 			&:first-child{
@@ -26,7 +33,10 @@
 		.active-item{
 			font-size: 14px;
 			color:#fff;
+			// color:#1CC0F3;
+			// color:#393b3c;
 			border-bottom: 2px solid @primary-color;
+			// border-bottom: 2px solid #393b3c;
 		}
 	}
 	

+ 12 - 10
TEAMModelOS/ClientApp/src/view/settings/OpenMgmt2.css

@@ -59,7 +59,11 @@
 .open-mgmt .open-mgmt-right .open-right-info .open-info {
   width: 30%;
   font-size: 16px;
-  /* .ivu-radio-wrapper{
+  /* .ivu-input{
+                    font-size: 16px;
+                    color: #525B6F;
+                }
+                .ivu-radio-wrapper{
                     color: #525B6F;
                 } */
 }
@@ -83,9 +87,6 @@
   top: -33px;
   right: 0;
 }
-.open-mgmt .open-mgmt-right .open-right-info .open-info .ivu-input {
-  font-size: 16px;
-}
 .open-mgmt .open-mgmt-right .open-right-info .open-info .open-info-disabled .ivu-input {
   background: transparent;
   border: none;
@@ -116,12 +117,13 @@
 .open-mgmt .open-mgmt-right .open-right-info .open-api .ivu-page {
   float: right;
   margin-top: 15px;
-}
-.open-mgmt .open-mgmt-right .open-right-info .open-api .ivu-page .ivu-page-item-active {
-  background-color: #BFBFB9 !important;
-}
-.open-mgmt .open-mgmt-right .open-right-info .open-api .ivu-page .ivu-page-item-active a {
-  color: #595959;
+  /* .ivu-page-item-active{
+                        background-color: #BFBFB9 !important;
+                    }
+
+                    .ivu-page-item-active a{
+                        color: #595959;
+                    } */
 }
 .open-list,
 .open-header,

+ 5 - 6
TEAMModelOS/ClientApp/src/view/settings/OpenMgmt2.less

@@ -21,7 +21,6 @@
     .open-mgmt-left{
         width: 20%;
 
-        
         .open-left-list{
             margin-left: 10px;
 
@@ -102,11 +101,11 @@
                     }
                 }
 
-                .ivu-input{
+                /* .ivu-input{
                     font-size: 16px;
-                    // color: #525B6F;
+                    color: #525B6F;
                 }
-                /* .ivu-radio-wrapper{
+                .ivu-radio-wrapper{
                     color: #525B6F;
                 } */
 
@@ -152,13 +151,13 @@
                     float: right;
                     margin-top: 15px;
                     
-                    .ivu-page-item-active{
+                    /* .ivu-page-item-active{
                         background-color: #BFBFB9 !important;
                     }
 
                     .ivu-page-item-active a{
                         color: #595959;
-                    }
+                    } */
                 }
 
                 

+ 6 - 23
TEAMModelOS/ClientApp/src/view/settings/OpenMgmt2.vue

@@ -48,16 +48,9 @@
             <div class="open-right-info">
                 <div class="open-info">
                     <vuescroll>
-                        <!-- 基本信息 -->
-                        <!-- <div class="open-info-header">
-                            <span>基本信息</span>
-                        </div> -->
-                        <div class="dark-iview-form disabled-iview-input">
-                            <div class="open-mgmt-info">
+                        <div class="open-mgmt-info dark-iview-form disabled-iview-input">
+                            <!-- <div class="open-mgmt-info"> -->
                                 <Form :model="openMgInfo" label-position="top">
-                                    <!-- <FormItem label="授权学校">
-                                        <Input v-model="openMgInfo.school" class="open-info-disabled" readonly></Input>
-                                    </FormItem> -->
                                     <FormItem :label="$t('settings.openName')">
                                         <Input v-model="openMgInfo.name"
                                             :class="isEdit ? '' : 'open-info-disabled'"
@@ -66,12 +59,11 @@
                                     <FormItem :label="$t('settings.token')" class="api-token" v-show="!isEdit">
                                         <div class="api-icon">
                                             <!-- 隐藏 -->
-                                            <Icon :type="isTokenShow ? 'md-eye' : 'md-eye-off'" size="18" style="margin-right: 10px" color="#0094FF" @click="isTokenShow = !isTokenShow" />
-                                            <!-- <Icon type="md-eye" size="18" style="margin-right: 10px" color="#0094FF" /> -->
+                                            <Icon :type="isTokenShow ? 'md-eye' : 'md-eye-off'" size="18" style="margin-right: 10px" color="rgb(115 115 115)" @click="isTokenShow = !isTokenShow" />
                                             <!-- 刷新 -->
-                                            <Icon type="md-refresh" size="18" style="margin-right: 10px" color="#0094FF" @click="refresh" />
+                                            <Icon type="md-refresh" size="18" style="margin-right: 10px" color="rgb(115 115 115)" @click="refresh" />
                                             <!-- 复制 -->
-                                            <Icon type="ios-copy" size="18" color="#0094FF" @click="copyToken" />
+                                            <Icon type="ios-copy" size="18" color="rgb(115 115 115)" @click="copyToken" />
                                         </div>
                                         <Input
                                             v-model="openMgInfo.token"
@@ -97,15 +89,11 @@
                                     </FormItem>
                                 </Form>
                             </div>
-                        </div>
+                        <!-- </div> -->
                     </vuescroll>
                 </div>
                 <div class="open-api dark-iview-table dark-iview-page">
                 <!-- <div class="open-api"> -->
-                    <!-- Api列表 -->
-                    <!-- <div class="open-api-header">
-                        <span>Api列表</span>
-                    </div> -->
                     <vuescroll>
                         <div class="open-api-table">
                             <Table ref="selection"
@@ -416,11 +404,6 @@ export default {
             }
         },
         selectionChange(selection) {
-            /* selection.map(item => {
-                if(!item._checked) {
-                    item._checked = true
-                }
-            }) */
             this.apiListNow = selection
             console.log(selection);
         }

+ 123 - 0
TEAMModelOS/ClientApp/src/view/settings/SchoolMgmt.css

@@ -0,0 +1,123 @@
+.school-container {
+  display: flex;
+  height: 100%;
+  font-family: 'NotoSerif', '微软正黑体', 'Microsoft JhengHei UI', 'Microsoft JhengHei', Sans-serif;
+}
+.school-container .school-container-header {
+  display: flex;
+  justify-content: space-between;
+  padding-right: 20px;
+  color: #949494;
+}
+.school-container-left {
+  width: 28%;
+  height: 100%;
+  border-right: 1px solid #424242;
+}
+.school-container-left .school-list-wrap {
+  height: 100%;
+  overflow: hidden;
+}
+.school-container-left .school-list-wrap .list-wrap {
+  width: 100%;
+  display: flex;
+  flex-direction: column;
+  padding-left: 10px;
+  padding-bottom: 50px;
+  overflow: hidden;
+}
+.school-container-left .school-list-wrap .list-wrap .school-item {
+  position: relative;
+  width: 100%;
+  padding: 10px;
+  border-bottom: 1px solid #424242;
+  display: flex;
+  font-size: 12px;
+}
+.school-container-left .school-list-wrap .list-wrap .school-item-name {
+  font-size: 14px;
+  font-weight: 300;
+  color: #fff;
+}
+.school-container-left .school-list-wrap .list-wrap .school-item-status {
+  font-size: 12px;
+  background: #1CC0F3;
+  padding: 2px 8px;
+  margin-left: 10px;
+  border-radius: 2px;
+  font-weight: 200;
+  color: white;
+}
+.school-container-left .school-list-wrap .list-wrap .school-item-code {
+  margin: 5px 0;
+  color: #a5a5a5;
+  letter-spacing: 0.6px;
+}
+.school-container-left .school-list-wrap .list-wrap .school-item-nums {
+  color: #1CC0F3;
+  margin-top: 5px;
+  font-size: 12px;
+  margin-left: 20px;
+}
+.school-container-left .school-list-wrap .list-wrap .school-item-nums .ivu-icon {
+  font-size: 18px;
+  margin-right: 5px;
+}
+.school-container-left .school-list-wrap .list-wrap .school-item-role {
+  position: absolute;
+  right: 20px;
+  top: 20px;
+  color: #a5a5a5;
+}
+.school-container-left .school-list-wrap .list-wrap .school-item-btn {
+  position: absolute;
+  right: 20px;
+  bottom: 20px;
+  height: 30px;
+  line-height: 30px;
+  border-radius: 5px;
+  color: #fff;
+  text-align: center;
+  cursor: pointer;
+}
+.school-container-left .school-list-wrap .list-wrap .school-item-btn .ivu-icon {
+  font-size: 16px;
+  margin-right: 2px;
+  color: #DDDDDD;
+}
+.school-container-left .school-list-wrap .list-wrap .school-item:hover {
+  background-image: -webkit-linear-gradient(90deg, rgba(30, 30, 30, 0) 0%, rgba(110, 110, 110, 0.2) 50%, rgba(110, 110, 110, 0.4) 100%);
+  background-image: -o-linear-gradient(90deg, rgba(30, 30, 30, 0) 0%, rgba(110, 110, 110, 0.2) 50%, rgba(110, 110, 110, 0.4) 100%);
+  background-image: -moz-linear-gradient(90deg, rgba(30, 30, 30, 0) 0%, rgba(110, 110, 110, 0.2) 50%, rgba(110, 110, 110, 0.4) 100%);
+  background-image: linear-gradient(90deg, rgba(30, 30, 30, 0) 0%, rgba(110, 110, 110, 0.2) 50%, rgba(110, 110, 110, 0.4) 100%);
+}
+.school-container-left .school-list-wrap .list-wrap .school-item:hover .school-item-btn {
+  visibility: visible;
+}
+.school-container .schoolmgmt-container-right {
+  flex: 1;
+  height: 100%;
+}
+.school-container .schoolmgmt-container-right .school-container-header {
+  width: 100%;
+  height: 40px;
+  border-bottom: 1px solid #424242;
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  padding: 0 20px;
+}
+.school-container-header {
+  width: 100%;
+  height: 40px;
+  line-height: 40px;
+  padding-left: 20px;
+  color: #a5a5a5;
+  border-bottom: 1px solid #424242;
+}
+.school-container .item-active {
+  background-image: -webkit-linear-gradient(90deg, rgba(30, 30, 30, 0) 0%, rgba(110, 110, 110, 0.2) 50%, rgba(110, 110, 110, 0.4) 100%);
+  background-image: -o-linear-gradient(90deg, rgba(30, 30, 30, 0) 0%, rgba(110, 110, 110, 0.2) 50%, rgba(110, 110, 110, 0.4) 100%);
+  background-image: -moz-linear-gradient(90deg, rgba(30, 30, 30, 0) 0%, rgba(110, 110, 110, 0.2) 50%, rgba(110, 110, 110, 0.4) 100%);
+  background-image: linear-gradient(90deg, rgba(30, 30, 30, 0) 0%, rgba(110, 110, 110, 0.2) 50%, rgba(110, 110, 110, 0.4) 100%);
+}

+ 6 - 0
TEAMModelOS/ClientApp/src/view/settings/SchoolMgmt.less

@@ -18,6 +18,7 @@
 		width: 28%;
 		height: 100%;
 		border-right: 1px solid @borderColor;
+		// border-right: 1px solid #909090;
 		
 		.school-list-wrap{
 			height: 100%;
@@ -36,6 +37,7 @@
 					width: 100%;
 					padding: 10px;
 					border-bottom: 1px solid @borderColor;
+					// border-bottom: 1px solid #e1e1e1;
 					display: flex;
 					font-size: 12px;
 					
@@ -47,6 +49,8 @@
 						font-size: 14px;
 						font-weight: 300;
 						color:#fff;
+
+						// color:#525B6F;
 					}
 					
 					&-status{
@@ -56,6 +60,7 @@
 						margin-left: 10px;
 						border-radius: 2px;
 						font-weight: 200;
+						color: white;
 					}
 					
 					&-code{
@@ -125,6 +130,7 @@
 			width: 100%;
 			height: 40px;
 			border-bottom: 1px solid @borderColor;
+			// border-bottom: 1px solid #909090;
 			display: flex;
 			align-items: center;
 			justify-content: space-between;

+ 1 - 0
TEAMModelOS/ClientApp/src/view/settings/SchoolMgmt.vue

@@ -442,6 +442,7 @@
 			&-tip {
 				span {
 					color: #fff;
+					// color: #010101;
 					font-weight: bold;
 					margin: 0 10px;
 				}

+ 5 - 5
TEAMModelOS/ClientApp/src/view/student-web/App.vue

@@ -45,22 +45,22 @@
                 <!-- <span class="dropdown"> -->
                 <MenuItem name="6" @click.native="noData" title="通知">
                     <span class="info-badge" v-if="MyNo != 6"></span>
-                    <svg-icon icon-class="bell" class="tabIcon1" />
+                    <svg-icon icon-class="bell" class="tabIcon1" title="通知" />
                 </MenuItem>
                 <!-- </span> -->
                 <!-- hiteach课堂记录 -->
                 <MenuItem name="5" @click.native="noData" title="hiteach">
-                    <svg-icon icon-class="hiteach" class="tabIcon4" />
+                    <svg-icon icon-class="hiteach" class="tabIcon4" title="hiteach" />
                 </MenuItem>
                 <!-- 自主学习 -->
                 <MenuItem name="3" @click.native="noData" title="自主学习">
-                    <svg-icon icon-class="note" class="tabIcon1" />
+                    <svg-icon icon-class="note" class="tabIcon1" title="自主学习" />
                 </MenuItem>
                 <MenuItem name="4" to="/studentWeb/eventView" title="活动">
-                    <svg-icon icon-class="selflearning" class="tabIcon2" />
+                    <svg-icon icon-class="selflearning" class="tabIcon2" title="活动" />
                 </MenuItem>
                 <MenuItem name="1" to="/studentWeb/homeView" title="首页">
-                    <svg-icon icon-class="home" class="tabIcon3" />
+                    <svg-icon icon-class="home" class="tabIcon3" title="首页" />
                 </MenuItem>
                 <!-- 加入课程 -->
                 <button class="addcoursebtn"