Browse Source

完善时间轴切换

liqk 5 years ago
parent
commit
88fbdf1c1a

+ 2 - 1
TEAMModelOS.Model/BaseInfo/Models/ClassRoom.cs

@@ -16,6 +16,7 @@ namespace TEAMModelOS.Model.BaseInfo.Models
         public string Grade { get; set; }
         [PartitionKey]
         public string HiTeach { get; set; }
-
+        public int StuNum { get; set; }
+        public string ClassroomType { get; set; }
     }
 }

+ 3 - 0
TEAMModelOS/ClientApp/api/schoolSetting.js

@@ -3,4 +3,7 @@ export default {
   schoolSettingSaveOrUpdate: function (data) {
     return post('/api/SchoolSystem/SaveOrUpdateAll',data);
   },
+  classroomSettingSaveOrUpdate: function (data) {
+    return post('/api/Classroom/SaveOrUpdateAll', data);
+  }
 }

+ 5 - 1
TEAMModelOS/ClientApp/view/school-mgmt/ClassroomSetting/ClassroomSetting.less

@@ -188,7 +188,10 @@
 .class-hiteach-code {
 }
 .class-type {
-    margin-top:8px;
+    margin-top:6px;
+    margin-bottom:4px;
+    color:#6BDFC3;
+    margin-left:-4px;
 }
 .primary-text-color{
     color:@primary-textColor;
@@ -261,6 +264,7 @@
             li{
                 &:hover{
                     background:@borderColor;
+                    color:white;
                 }
                 height:40px;
                 line-height:40px;

+ 25 - 17
TEAMModelOS/ClientApp/view/school-mgmt/ClassroomSetting/ClassroomSetting.vue

@@ -88,8 +88,8 @@
             <div class="class-list-item" v-for="(item,index) in classroomList" @click="chooseClassroom(index)" :class="currentClassroomIndex == index ? 'active-item-bg':''">
               <div class="class-list-item-left">
                 <p class="class-name">{{item.name}}</p>
-                <p class="class-hiteach-code second-text-color">{{item.hiteachCode}}</p>
-                <p class="class-type third-text-color">
+                <p class="class-hiteach-code second-text-color">{{item.hiTeach}}</p>
+                <p class="class-type">
                   <Icon type="md-arrow-dropright" size="18" />{{item.classroomType}}
                 </p>
                 <p class="second-text-color">
@@ -97,7 +97,7 @@
                   <span class="primary-text-color">{{item.stuNum}}</span>
                   <span>|</span>
                   <span>班主任:</span>
-                  <span class="primary-text-color">{{item.headmaster}}</span>
+                  <span class="primary-text-color">{{item.headMaster}}</span>
                 </p>
               </div>
               <div class="class-list-item-tool">
@@ -116,7 +116,7 @@
             <span class="class-attr-wrap-label">教室名称</span>
             <Input v-model="classroomList[currentClassroomIndex].name" placeholder="请输入教室名称..." />
             <span class="class-attr-wrap-label">班主任设定</span>
-            <Input v-model="classroomList[currentClassroomIndex].headmaster" placeholder="请输入指定教师名称..." />
+            <Input v-model="classroomList[currentClassroomIndex].headMaster" placeholder="请输入指定教师名称..." />
             <span class="class-attr-wrap-label">选择教室学段</span>
             <Select v-model="classroomList[currentClassroomIndex].period">
               <Option v-for="(item,index) in periodList" :value="item.value" :key="index">{{ item.value }}</Option>
@@ -126,7 +126,7 @@
               <Option v-for="(item,index) in gradeList" :value="item.value" :key="index">{{ item.value }}</Option>
             </Select>
             <span class="class-attr-wrap-label">HiTeach软件序号</span>
-            <Input v-model="classroomList[currentClassroomIndex].hiteachCode" placeholder="请输入序号或在右侧列表选择可用序号..." />
+            <Input v-model="classroomList[currentClassroomIndex].hiTeach" placeholder="请输入序号或在右侧列表选择可用序号..." />
             <Divider style="margin-top:60px;color:#424242;" />
           </div>
           <div class="hiteach-code-wrap">
@@ -137,9 +137,9 @@
               </Input>
             </div>
             <div class="hiteach-code-wrap-list">
-              <h1 v-if="!hiteachCodes.length">没有序号登录</h1>
+              <h1 v-if="!hiTeachs.length">没有序号登录</h1>
               <ul v-else>
-                <li v-for="(item,index) in hiteachCodes" :key="index" @click="chooseHiteachCode(index)">{{item.code}} <Icon v-if="item.single == 1" type="ios-star" color="white"/></li>
+                <li v-for="(item,index) in hiTeachs" :key="index" @click="chooseHiTeach(index)">{{item.code}} <Icon v-if="item.single == 1" type="ios-star" color="white"/></li>
               </ul>
             </div>
           </div>
@@ -167,9 +167,9 @@
     data() {
       return {
         model1:'',
-        headmaster: '',
+        headMaster: '',
         className: '',
-        hiteachCodes: [
+        hiTeachs: [
           {
             code: "C7A3804A-4DF7-436B-8D29-B5B88A644937",
             single:0
@@ -232,6 +232,11 @@
     methods: {
       saveClassroom() {
         console.log(this.classroomList);
+        this.$api.schoolSetting.classroomSettingSaveOrUpdate(this.classroomList[this.currentClassroomIndex]).then(res => {
+          if (res.error == null) {
+            this.$Message.success('保存成功!');
+          }
+        });
       },
       delClassroom(index) {
         if (this.currentClassroomIndex >= index && index > 0) {
@@ -252,18 +257,18 @@
       chooseClassroom(index) {
         this.currentClassroomIndex = index;
       },
-      chooseHiteachCode(index) {
-        this.classroomList[this.currentClassroomIndex].hiteachCode = this.hiteachCodes[index].code;
+      chooseHiTeach(index) {
+        this.classroomList[this.currentClassroomIndex].hiTeach = this.hiTeachs[index].code;
       },
       initData() {
         this.classroomList.push({
           name: '预设教室',
-          hiteachCode: '未输入HiTeach软件序号',
-          headmaster: '未指定班主任',
+          hiTeach: '未输入HiTeach软件序号',
+          headMaster: '未指定班主任',
           period: '',
           grade: '',
           stuNum: 0,
-          classroomType:'一般教室'
+          classroomType:'TEAM MODEL智慧教室'
         });
         this.periodList = [
           {
@@ -306,8 +311,8 @@
       addClassroom() {
         this.classroomList.push({
           name: '预设教室',
-          hiteachCode: '未输入HiTeach软件序号',
-          headmaster: '未指定班主任',
+          hiTeach: '未输入HiTeach软件序号',
+          headMaster: '未指定班主任',
           period: '小学',
           grade: '一年级',
           stuNum: 0,
@@ -316,7 +321,10 @@
       }
     },
     mounted() {
-      this.initData();
+    
+    },
+    created() {
+        this.initData();
     }
   }
 </script>

+ 37 - 9
TEAMModelOS/ClientApp/view/school-mgmt/SystemSetting/SystemSetting.vue

@@ -95,12 +95,19 @@
               <li v-for="(item,index) in monthEnList" :key="index">
                 <span class="time-label">{{item}}.</span>
                 <span class="time-dot"> 
-                  <span class="time-inner-dot" :class="index + 1 >= schoolSetting.systems[currentSchoolSysIndex].semester[currentSemesterIndex].month && index < 12 ? 'bg-color-check':'bg-color-uncheck'"></span>
+                  <span v-if="auto" class="time-inner-dot" :class="index + 1 >= schoolSetting.systems[currentSchoolSysIndex].semester[currentSemesterIndex].month && index < endMonth ? 'bg-color-check':'bg-color-uncheck'"></span>
+                  <span v-else class="time-inner-dot" :class="index + 1 >= schoolSetting.systems[currentSchoolSysIndex].semester[currentSemesterIndex].month || index < endMonth ? 'bg-color-check':'bg-color-uncheck'"></span>
                   <span class="time-line-tail"></span>
                 </span>
                 <div>
-                  <Icon class="first-arrow" size="22" type="ios-arrow-back" v-if="index + 1 == schoolSetting.systems[currentSchoolSysIndex].semester[currentSemesterIndex].month || index == 12" />
-                  <Icon class="second-arrow" size="22" :class="index + 1 < 11 ? 'color-check':'color-uncheck'" type="ios-arrow-back" v-if="index + 1 == schoolSetting.systems[currentSchoolSysIndex].semester[currentSemesterIndex].month || index == 12" />
+                  <Icon class="first-arrow" size="22" type="ios-arrow-back" v-if="index + 1 == schoolSetting.systems[currentSchoolSysIndex].semester[currentSemesterIndex].month || index + 1 == endMonth" />
+                  <!--<Icon class="second-arrow" size="22" :class="index  < endMonth ? 'color-check':'color-uncheck'" type="ios-arrow-back" v-if="index + 1 == schoolSetting.systems[currentSchoolSysIndex].semester[currentSemesterIndex].month || index + 1 == endMonth" />-->
+                  <span v-if="auto">
+                    <Icon class="second-arrow" size="22" :class="index  < endMonth ? 'color-check':'color-uncheck'" type="ios-arrow-back" v-if="index + 1 == schoolSetting.systems[currentSchoolSysIndex].semester[currentSemesterIndex].month || index + 1 == endMonth" />
+                  </span>
+                  <span v-else>
+                    <Icon class="second-arrow" size="22" :class="index + 1 >= endMonth ? 'color-check':'color-uncheck'" type="ios-arrow-back" v-if="index + 1 == schoolSetting.systems[currentSchoolSysIndex].semester[currentSemesterIndex].month || index + 1 == endMonth" />
+                  </span>
                 </div>
               </li>
             </ul>
@@ -162,6 +169,7 @@
     },
     data() {
       return {
+        auto:true,
         currentSchoolSysIndex:0,
         currentSemesterIndex:0,
         schoolSetting: {
@@ -221,6 +229,8 @@
           this.currentSchoolSysIndex = 0;
         }
         if (this.schoolSetting.systems.length > 1) {
+          this.currentSchoolSysIndex = 0;
+          this.currentSemesterIndex = 0;
           this.schoolSetting.systems.splice(index, 1);
         } else {
           this.$Message.warning('至少需要保留一项!');
@@ -228,6 +238,8 @@
       },
       delSemester(index) {
         if (this.schoolSetting.systems[this.currentSchoolSysIndex].semester.length > 1) {
+          this.currentSchoolSysIndex = 0;
+          this.currentSemesterIndex = 0;
           this.schoolSetting.systems[this.currentSchoolSysIndex].semester.splice(index, 1);
         } else {
           this.$Message.warning('至少需要保留一项!');
@@ -351,7 +363,7 @@
                 {
                   name: "预设学期",
                   studentCount: "学生人数",
-                  month: 2,
+                  month: this.schoolSetting.systems[this.currentSchoolSysIndex].semester[this.currentSemesterIndex].month + 1,
                   day:26
                 }
               ],
@@ -381,7 +393,7 @@
           this.schoolSetting.systems[this.currentSchoolSysIndex].semester.push({
             name: "预设学期",
             studentCount: "学生人数",
-            month: 2,
+            month: this.schoolSetting.systems[this.currentSchoolSysIndex].semester[this.currentSemesterIndex].month + 1,
             day: 26
           });
         } else {
@@ -422,14 +434,30 @@
     },
     mounted() {
       this.initData();
-      this.monthList = [...Array(11).keys()];
+      this.monthList = [...Array(12).keys()];
       this.gradeList = ['一年级','二年级','三年级','四年级','五年级'];
       this.subjectList = ['语文','数学','外语','化学','物理','语文','数学','外语','化学','物理'];
       this.dayList = [...Array(30).keys()];
-      this.monthEnList = ['JAN', 'FEB', 'MAR', 'APR', 'MAY', 'JUN', 'JUL', 'AUG', 'SEP', 'OCT', 'NOV', 'DEC', 'JAN'];
+      this.monthEnList = ['JAN', 'FEB', 'MAR', 'APR', 'MAY', 'JUN', 'JUL', 'AUG', 'SEP', 'OCT', 'NOV', 'DEC'];
       this.colorList = ['#F16C6A', '#68CDF1', '#00796B', '#7C4DFF', '#0288D1', '#D32F2F', '#00796B', '#7C4DFF','#0288D1', '#D32F2F', '#00796B', '#7C4DFF'];
-
+    },
+    computed: {
+      endMonth() {
+        let end = 1;
+        if(this.schoolSetting.systems[this.currentSchoolSysIndex].semester.length == 1){
+          end = 12;
+          this.auto = true;
+        } else if (this.currentSemesterIndex + 1 < this.schoolSetting.systems[this.currentSchoolSysIndex].semester.length) {
+          end = this.schoolSetting.systems[this.currentSchoolSysIndex].semester[this.currentSemesterIndex + 1].month;
+          this.auto = true;
+        } else if (this.currentSemesterIndex + 1 == this.schoolSetting.systems[this.currentSchoolSysIndex].semester.length){
+          end = this.schoolSetting.systems[this.currentSchoolSysIndex].semester[0].month;
+          this.auto = false;
+        }
+        return end;
+      }
     }
+
   }
 </script>
 
@@ -452,6 +480,6 @@
   }
 
   .term-item-start .ivu-select-arrow {
-   top:72%;
+   /*top:72%;*/
   }
 </style>