Переглянути джерело

Merge branch 'develop' of http://106.12.23.251:10080/TEAMMODEL/TEAMModelOS into develop

黄贺彬 5 роки тому
батько
коміт
633beedc17

+ 1 - 1
TEAMModelOS.Model/Evaluation/Models/CosmosModels/CouseExam.cs

@@ -17,9 +17,9 @@ namespace TEAMModelOS.Model.Evaluation.Models.CosmosModels
         public string ExTime { get; set; }
         public int AcademicYear { get; set; }
         public int SOrder { get; set; }
+        [PartitionKey]
         public string Subject { get; set; }
         public string ItemNO { get; set; }
-        [PartitionKey]
         public string SchoolName { get; set; }
 
     }

+ 3 - 17
TEAMModelOS/ClientApp/common/BaseExamList.vue

@@ -67,7 +67,9 @@
     },
     methods: {
       handleExamClick(index, item) {
+        console.log(item);
         this.examIndex = index;
+        this.$router.push('/total');
         this.$emit('chooseExam', item);
       },
 
@@ -120,30 +122,14 @@
       color: #fbd103;
       border-radius: 10px;
       border: 1px solid #fbd103;
-      zoom: 0.5;
     }
 
-    .ex-list-wrap .list-item .list-item-type .type2 {
-      padding: 2px 10px;
-      color: #baecff;
-      border-radius: 10px;
-      border: 1px solid #baecff;
-      zoom: 0.5;
-    }
-
-    .ex-list-wrap .list-item .list-item-type .type3 {
-      padding: 2px 10px;
-      color: #00ff8a;
-      border-radius: 10px;
-      border: 1px solid #00ff8a;
-      zoom: 0.5;
-    }
 
     .ex-list-wrap .list-item .list-item-name {
       font-size: 16px;
       font-weight: 300;
       color: #d0d0d0;
-      margin: 2px 0;
+      margin: 10px 0;
     }
 
     .ex-list-wrap .list-item .list-item-info {

+ 6 - 0
TEAMModelOS/ClientApp/components/student-analysis/total/BaseMyTable.vue

@@ -172,6 +172,12 @@
 
     mounted() {
 
+    },
+
+    watch: {
+      tableDatas: function (data) {
+        this.tableData = data;
+      }
     }
 
 

+ 1 - 0
TEAMModelOS/ClientApp/components/student-analysis/total/ExportTables.vue

@@ -69,6 +69,7 @@
       font-weight:bold;
   }
 
+
   .export-container .ivu-checkbox {
       margin-right:10px;
       margin-bottom:3px;

+ 27 - 0
TEAMModelOS/ClientApp/router/routes.js

@@ -87,6 +87,33 @@ export const routes = [
     ]
   },
 
+
+
+  //学校区校班管理
+  {
+    name: 'school',
+    path: '/school',
+    component: resolve => require(['@/view/school-mgmt/Index.vue'], resolve),
+    children: [
+      {
+        name: 'school',
+        path: '/school',
+        component: resolve => require(['@/view/school-mgmt/SystemSetting/SystemSetting.vue'], resolve)
+      },
+      {
+        name: 'system',
+        path: '/school/system',
+        component: resolve => require(['@/view/school-mgmt/SystemSetting/SystemSetting.vue'], resolve)
+      },
+      {
+        name: 'classroom',
+        path: '/school/classroom',
+        component: resolve => require(['@/view/school-mgmt/SystemSetting/SystemSetting.vue'], resolve)
+      }
+    ]
+  },
+
+
   //课纲管理
   {
     path: '/syllabus',

+ 74 - 0
TEAMModelOS/ClientApp/static/newKnowledgeList.json

@@ -0,0 +1,74 @@
+[
+  {
+    "id": "1",
+    "name": "算法平均值2",
+    "classId": "140015511001",
+    "average": "580",
+    "totalNum": "100",
+    "entryNum": "95",
+    "gradeRank": "1",
+    "entryRate": "95",
+    "standardDeviation": "55",
+    "rankStatus": "1"
+  },
+  {
+    "id": "2",
+    "name": "一元二次方程2",
+    "classId": "140015511001",
+    "average": "580",
+    "totalNum": "90",
+    "entryNum": "85",
+    "gradeRank": "2",
+    "entryRate": "75",
+    "standardDeviation": "55",
+    "rankStatus": "1"
+  },
+  {
+    "id": "3",
+    "name": "全等三角形性质2",
+    "classId": "140015511003",
+    "average": "580",
+    "totalNum": "103",
+    "entryNum": "93",
+    "gradeRank": "3",
+    "entryRate": "93",
+    "standardDeviation": "55",
+    "rankStatus": "0"
+  },
+  {
+    "id": "4",
+    "name": "等腰三角形的周长计算2",
+    "classId": "140015511004",
+    "average": "580",
+    "totalNum": "140",
+    "entryNum": "125",
+    "gradeRank": "4",
+    "entryRate": "90",
+    "standardDeviation": "45",
+    "rankStatus": "2"
+  },
+  {
+    "id": "5",
+    "name": "二元二次方程2",
+    "classId": "140015511005",
+    "average": "550",
+    "totalNum": "90",
+    "entryNum": "85",
+    "gradeRank": "5",
+    "entryRate": "75",
+    "standardDeviation": "55",
+    "rankStatus": "0"
+  },
+  {
+    "id": "6",
+    "name": "等边三角形的面积2",
+    "classId": "140015511006",
+    "average": "580",
+    "totalNum": "160",
+    "entryNum": "155",
+    "gradeRank": "6",
+    "entryRate": "95",
+    "standardDeviation": "55",
+    "rankStatus": "1"
+  }
+]

+ 31 - 0
TEAMModelOS/ClientApp/view/school-mgmt/ClassroomSetting/ClassroomSetting.less

@@ -0,0 +1,31 @@
+.login{
+    &-body{
+        height: 88%;
+        display: -webkit-flex;
+        display:         flex;
+        -webkit-align-items: center;
+                align-items: center;
+        -webkit-justify-content: center;
+                justify-content: center;
+        .center-box{
+            width: 64%;
+            height: 53%;
+        } 
+    }
+    &-footer{
+        height: 12%;
+        text-align: center;
+        position: relative;
+        .footer-title{
+            color: #fefefe;
+        }
+        .link{
+            color: rgb(220, 220, 220);
+            font-size: 1.2em;
+            text-decoration: underline;
+        }
+        .demarcation{
+            color: rgb(220, 220, 220);
+        }
+    }
+}

+ 84 - 0
TEAMModelOS/ClientApp/view/school-mgmt/ClassroomSetting/ClassroomSetting.vue

@@ -0,0 +1,84 @@
+<style lang="less" scoped>
+  @import './Index.less';
+</style>
+
+<template>
+  <div id="login" class="login backdrop-light">
+    <div class="login-body">      
+      <div class="center-box">
+        <img style="width:33%;" src="@/assets/mark.svg"/>
+        <h2 style="color:#c5b381e0;">歡迎來到醍摩豆雲平台 ! 請選擇您的身分進行登入 !</h2>
+        <Row style="margin-top: 50px;">
+          <Col :span="12" style="border-right: 1px solid #fff;">
+            <div style="width: 450px;margin: auto;">         
+              <div style="padding: 5px 0;" >                
+                <h1 style="color: #fefefe;font-weight: 100;display: inline-block;vertical-align: middle;">教師身分登入 | </h1>
+                <div style="display: inline-block;vertical-align: middle;">
+                  <a style="margin: 0 10px;"><img style="width: 30px;" src="@/assets/image/touxiang.png"></a>
+                  <a style="margin: 0 10px;"><img style="width: 30px;" src="@/assets/image/touxiang.png"></a>
+                  <a style="margin: 0 10px;"><img style="width: 30px;" src="@/assets/image/touxiang.png"></a>
+                </div>
+              </div>
+              <div style="padding: 5px 0;" >
+                <Input v-model="value" placeholder="醍摩豆帳號" />
+              </div>
+              <div style="padding: 5px 0;" >
+                <Input v-model="value" placeholder="密碼"/>
+              </div>
+              <div style="padding: 1px 0;" >
+                <Checkbox v-model="single" style="color: #fefefe;">記住我的登入資訊</Checkbox><a>  | 忘記帳號/密碼?</a>
+              </div>
+              <div style="padding: 5px 0;text-align: right;" >
+                <Button style="width: 150px;background-color: #082835;color:#fefefe;">登入</Button>
+              </div>
+            </div>
+          </Col>
+          <Col :span="12">
+            <div style="width: 450px;margin: auto;">         
+              <div style="padding: 5px 0;" >                
+                <h1 style="color: #fefefe;font-weight: 100;display: inline-block;vertical-align: middle;">學生身分登入 | </h1>
+                <div style="display: inline-block;vertical-align: middle;">
+                  <a style="margin: 0 10px;"><img style="width: 30px;" src="@/assets/image/touxiang.png"></a>
+                  <a style="margin: 0 10px;"><img style="width: 30px;" src="@/assets/image/touxiang.png"></a>
+                  <a style="margin: 0 10px;"><img style="width: 30px;" src="@/assets/image/touxiang.png"></a>
+                </div>
+              </div>
+              <div style="padding: 5px 0;" >
+                <Input v-model="value" placeholder="醍摩豆帳號" />
+              </div>
+              <div style="padding: 5px 0;" >
+                <Input v-model="value" placeholder="密碼"/>
+              </div>
+              <div style="padding: 1px 0;" >
+                <Checkbox v-model="single" style="color: #fefefe;">記住我的登入資訊</Checkbox><a>  | 忘記帳號/密碼?</a>
+              </div>
+              <div style="padding: 5px 0;text-align: right;" >
+                <Button style="width: 150px;background-color: #082835;color:#fefefe;">登入</Button>
+              </div>
+            </div>
+          </Col>
+        </Row>
+      </div>
+    </div>
+    <div class="login-footer">
+      <h2 class="footer-title">
+        相關連結
+      </h2>
+      <a class="link">AClassONE智慧學伴網頁版</a><span class="demarcation">&nbsp;&nbsp;|&nbsp;&nbsp;</span><a class="link">AClassONE智慧學伴網頁版</a><span class="demarcation">&nbsp;&nbsp;|&nbsp;&nbsp;</span><a class="link">AClassONE智慧學伴網頁版</a>
+      <h5 style="position: absolute;bottom:0;width: 100%;padding: 7px;color: #515a6e;">&copy; HABOOL Group 2019</h5>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  data () {
+    return {
+
+    }
+  },
+  methods:{
+    
+  }
+}
+</script>

+ 98 - 0
TEAMModelOS/ClientApp/view/school-mgmt/Index.less

@@ -0,0 +1,98 @@
+@main-bgColor:rgb(40,40,40); //主背景颜色
+@borderColor: #424242;
+@primary-textColor:#fff; //文本主颜色
+@second-textColor:#a5a5a5; //文本副级颜色
+@primary-fontSize:14px;
+@second-fontSize:16px;
+
+.sm {
+
+    &-container {
+        height: 100%;
+        background: @main-bgColor;
+    }
+
+    &-header {
+        height: 80px;
+        border-top: 1px solid @borderColor;
+        border-bottom: 1px solid @borderColor;
+        .fl-row-center;
+
+        span {
+            margin-left: 30px;
+            color: @second-textColor;
+            border-bottom: 2px solid transparent;
+            font-size: @primary-fontSize;
+            font-weight: bold;
+            padding: 5px 0;
+            cursor: pointer;
+        }
+
+        .tab-active {
+            border-color: @primary-textColor;
+            color: @primary-textColor;
+        }
+    }
+
+    &-school-name {
+        height: 60px;
+        border-bottom: 1px solid @borderColor;
+        justify-content: space-between;
+        .fl-row-center;
+
+        .setting-title {
+            color: @second-textColor;
+            font-size: @primary-fontSize;
+            font-weight: bold;
+            margin: 0 30px;
+        }
+
+        .school-name {
+            font-size: @primary-fontSize;
+            color: @primary-textColor;
+        }
+
+        .school-tools {
+            color:@primary-textColor;
+            font-size:@primary-fontSize;
+            margin-right:30px;
+            cursor:pointer;
+        }
+
+        .school-tools .ivu-icon{
+            color: @primary-textColor;
+            font-size: @second-fontSize;
+            margin-right: 5px;
+            vertical-align:text-top;
+        }
+    }
+}
+
+.fl-row-center{
+    display:flex;
+    align-items:center;
+}
+
+.fl-col-center {
+    display: flex;
+    flex-direction:column;
+    align-items: center;
+}
+
+.sm-container::-webkit-scrollbar { /*滚动条整体样式*/
+    width: 10px; /*高宽分别对应横竖滚动条的尺寸*/
+    height: 1px;
+}
+
+.sm-container::-webkit-scrollbar-thumb { /*滚动条里面小方块*/
+    border-radius: 10px;
+    -webkit-box-shadow: inset 0 0 5px rgba(0,0,0,0.2);
+    background: #535353;
+}
+
+.sm-container::-webkit-scrollbar-track { /*滚动条里面轨道*/
+    -webkit-box-shadow: inset 0 0 5px rgba(0,0,0,0.2);
+    border-radius: 10px;
+    background: #EDEDED;
+}
+

+ 35 - 0
TEAMModelOS/ClientApp/view/school-mgmt/Index.vue

@@ -0,0 +1,35 @@
+<style lang="less" scoped>
+  @import './Index.less';
+</style>
+
+<template>
+  <div class="sm-container">
+    <div class="sm-header">
+      <span :class="tabIndex == 0 ? 'tab-active' : ''" @click="handleTabClick(0)">建立学级制度</span>
+      <span :class="tabIndex == 1 ? 'tab-active' : ''" @click="handleTabClick(1)">教室设定</span>
+    </div>
+
+    <div class="data-container">
+      <transition name="fade">
+        <router-view />
+      </transition>
+    </div>
+
+  </div>
+</template>
+
+<script>
+export default {
+  data () {
+    return {
+      tabIndex:0
+    }
+  },
+  methods:{
+    handleTabClick(index) {
+      this.tabIndex = index;
+      this.$router.push(index == 0 ? '/school/system' : '/school/classroom');
+    }
+  }
+}
+</script>

+ 205 - 0
TEAMModelOS/ClientApp/view/school-mgmt/SystemSetting/SystemSetting.less

@@ -0,0 +1,205 @@
+@main-bgColor: rgb(40,40,40); //主背景颜色
+@borderColor: #424242; //边框颜色
+@primary-textColor: #fff; //文本主颜色
+@second-textColor: #a5a5a5; //文本副级颜色
+@primary-fontSize: 14px;
+@second-fontSize: 16px;
+@large-fontSize: 20px;
+
+.sm {
+    &-school-name {
+        height: 60px;
+        border-bottom: 1px solid @borderColor;
+        justify-content: space-between;
+        .fl-row-center;
+
+        .setting-title {
+            color: @second-textColor;
+            font-size: @primary-fontSize;
+            font-weight: bold;
+            margin: 0 30px;
+        }
+
+        .school-name {
+            font-size: @primary-fontSize;
+            color: @primary-textColor;
+        }
+
+        .school-tools {
+            color: @primary-textColor;
+            font-size: @primary-fontSize;
+            margin-right: 30px;
+            cursor: pointer;
+        }
+
+        .school-tools .ivu-icon {
+            color: @primary-textColor;
+            font-size: @second-fontSize;
+            margin-right: 5px;
+            vertical-align: text-top;
+        }
+    }
+}
+
+.sm-system {
+    &-body {
+        .fl-row-center;
+        position: absolute;
+        top: 140px;
+        bottom: 0;
+        width: 100%;
+    }
+
+    &-left {
+        .rowSpan(20%);
+        margin-left: -1px;
+
+        .col-order {
+            width: 100%;
+            height: 50px;
+            min-height: 50px;
+            padding-left: 30px;
+            color: @second-textColor;
+            font-size: @primary-fontSize;
+            border-bottom: 1px solid @borderColor;
+            cursor: pointer;
+            .fl-row-center;
+
+            span {
+                margin-left: 5px;
+            }
+        }
+
+        .period-list {
+            width: 100%;
+            overflow: auto;
+
+            &::-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);
+            }
+        }
+
+
+
+
+        .period-item {
+            position:relative;
+            padding: 10px 10px 10px 30px;
+            border-bottom: 1px solid @borderColor;
+            cursor: pointer;
+
+            &:hover {
+                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%);
+                .period-btn-edit{
+                    display:inline-block;
+                }
+
+                &-tool{
+                    display:unset;
+                }
+            }
+
+            &-name {
+                font-size: @large-fontSize;
+                color: @primary-textColor;
+                font-weight: bold;
+                margin: 2px 3px;
+
+                .period-btn-edit {
+                    font-size: @primary-fontSize;
+                    margin-left: 10px;
+                    margin-bottom: 5px;
+                    display: none;
+                }
+            }
+
+            &-tool{
+                position:absolute;
+                right:30px;
+                top:40px;
+                font-size:24px;
+                color:@primary-textColor;
+                display:none;
+
+                .ivu-icon{
+                    margin-left:5px;
+                }
+            }
+
+            &-num {
+                padding-left: 5px;
+                color: @second-textColor;
+                font-size: @primary-fontSize;
+
+                span {
+                    display: inline-block;
+                    width: 3px;
+                    height: 10px;
+                    margin-right: 5px;
+                    background: @second-textColor;
+                }
+            }
+        }
+    }
+
+    &-center {
+        .rowSpan(28%);
+    }
+
+    &-right {
+        .rowSpan(52%);
+    }
+
+    .rowSpan(@width) {
+        .fl-col-center;
+        width: @width;
+        height: 100%;
+        border-left: 1px solid @borderColor;
+    }
+
+    .col-title {
+        .fl-row-center;
+        height: 60px;
+        min-height: 60px;
+        width: 100%;
+        justify-content: space-between;
+        padding: 0 30px;
+        font-weight: bold;
+        font-size: @primary-fontSize;
+        color: @second-textColor;
+        border-bottom: 1px solid @borderColor;
+
+        .ivu-icon {
+            font-size: @large-fontSize;
+            color: @primary-textColor;
+            cursor: pointer;
+        }
+    }
+}
+
+
+
+.fl-row-center {
+    display: flex;
+    align-items: center;
+}
+
+.fl-col-center {
+    display: flex;
+    flex-direction: column;
+    align-items: center;
+}

+ 71 - 0
TEAMModelOS/ClientApp/view/school-mgmt/SystemSetting/SystemSetting.vue

@@ -0,0 +1,71 @@
+<style lang="less" scoped>
+  @import './SystemSetting.less';
+</style>
+
+<template>
+  <div class="sm-system">
+    <div class="sm-school-name">
+      <div>
+        <span class="setting-title">学校名称设定:</span>
+        <span class="school-name">醍摩豆智慧云</span>
+      </div>
+      <span class="school-tools"><Icon type="md-create" />编辑</span>
+    </div>
+
+    <div class="sm-system-body">
+      <div class="sm-system-left">
+        <div class="col-title">
+          <span>学制建立与设定</span>
+          <Icon type="md-add" />
+        </div>
+        <div class="col-order">
+          <Icon type="md-cube" />
+          <span>依建立时间排序</span>
+        </div>
+          <div class="period-list">
+            <div class="period-item" v-for="(item,index) in periodList" :key="index">
+              <p class="period-item-name"><span>高中<Icon type="md-create" class="period-btn-edit" title="编辑" /></span></p>
+              <p class="period-item-num"><span></span>学级(年级)数:3</p>
+              <p class="period-item-num"><span></span>学期(季)数:2</p>
+              <p class="period-item-num"><span></span>学科(科目)数:1</p>
+              <div class="period-item-tool">
+                <Icon type="ios-copy" title="不知道"/>
+                <Icon type="md-trash" title="删除"/>
+              </div>
+
+            </div>
+          </div>
+      </div>
+      <div class="sm-system-center">
+        <div class="col-title">
+          <span>学期(季)设定</span>
+          <Icon type="md-add" />
+        </div>
+      </div>
+      <div class="sm-system-right">
+        <div class="col-title">
+          <span>学级(年级)项目建置</span>
+          <Icon type="md-add" />
+        </div>
+      </div>
+    </div>
+  </div>
+
+</template>
+
+<script>
+  export default {
+    data() {
+      return {
+        tabIndex: 0,
+        periodList: [],
+      }
+    },
+    methods: {
+
+    },
+    mounted() {
+      this.periodList = [...Array(10).keys()];
+    }
+  }
+</script>

+ 7 - 2
TEAMModelOS/ClientApp/view/student-analysis/total-analysis/KnowledgeAnalysis/KnowledgeAnalysis.vue

@@ -24,6 +24,7 @@
 </template>
 
 <script>
+  import newKnowledgeList from '@/static/newKnowledgeList.json'
   import BasePie from '@/components/student-analysis/total/BasePie.vue'
   import BaseKnowledgeBar from '@/components/student-analysis/total/BaseKnowledgeBar.vue'
   import BaseRadar from '@/components/student-analysis/total/BaseRadar.vue'
@@ -114,9 +115,13 @@
 
       },
 
-      //点击落点图某个点事件
+      //点击玫瑰图某个知识点事件
       handleItemClick(item) {
-        console.log(item);
+        //console.log(item);
+        console.log(this.$store.state.totalAnalysis.knowledgeList);
+        this.$store.state.totalAnalysis.knowledgeList = newKnowledgeList;
+        this.knowledgeData = this.$store.state.totalAnalysis.knowledgeList
+        console.log(this.$store.state.totalAnalysis.knowledgeList);
       }
 
     },

+ 1 - 0
TEAMModelOS/ClientApp/view/student-analysis/total-analysis/index.css

@@ -177,6 +177,7 @@ body, html, .total-container {
 }
 
 
+
 .total-content::-webkit-scrollbar-track {
     margin: 6px;
     background: transparent;

+ 6 - 1
TEAMModelOS/ClientApp/view/student-analysis/total-analysis/index.vue

@@ -176,7 +176,7 @@
       //指定容器滚动到指定位置
       scrollToTop(element, to, duration) {
         if (duration <= 0) return;
-        const diff = to - element.scrollTop;
+        const diff = to - element.scrollTop; 
         const perTick = diff / duration * 10;
         this.timer = setTimeout(() => {
           element.scrollTop += perTick;
@@ -298,4 +298,9 @@
       font-size: 16px;
   }
 
+  .export-modal .ivu-modal-content {
+    background:#757575;
+    color:#fff;
+  }
+
 </style>

Різницю між файлами не показано, бо вона завелика
+ 3 - 121
TEAMModelOS/JsonFile/IES/answerinfo.json


+ 1 - 1
TEAMModelOS/Views/Shared/_Layout.cshtml

@@ -16,7 +16,7 @@
 <body>
     @RenderBody()
     <script src="~/dist/vendor.js" asp-append-version="true"></script>
-    @*<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML" asp-append-version="true"></script>*@
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML" asp-append-version="true"></script>
 
     @RenderSection("scripts", required: false)
 </body>