Browse Source

Merge branch 'develop3.0' of http://106.12.23.251:10080/TEAMMODEL/TEAMModelOS into develop3.0

CrazyIter 4 years ago
parent
commit
8410f02c25

+ 6 - 0
TEAMModelOS/ClientApp/src/router/routes.js

@@ -341,6 +341,12 @@ export const routes = [
                 path: 'feedback',
                 name: 'feedback',
                 component: resolve => require(['@/view/feedback/Feedback.vue'], resolve)
+            },
+            //设置
+            {
+                path: 'settings',
+                name: 'settings',
+                component: resolve => require(['@/view/settings/Index.vue'], resolve)
             }
         ]
     }

+ 4 - 1
TEAMModelOS/ClientApp/src/view/Home.vue

@@ -5,7 +5,7 @@
             <div class="header-right-box fl-around" slot="header-content">
                 <Icon custom="iconfont icon-home" @click="toHome"/>
                 <Icon type="md-help-circle" @click="toFeedback"/>
-                <Icon type="ios-settings" />
+                <Icon type="ios-settings" @click="toSettings"/>
                 <Icon type="ios-bug" @click="isShowMock = true" />
                 <Dropdown @on-click="basicMenu">
                     <a href="javascript:void(0)">
@@ -161,6 +161,9 @@
             toHome() {
                 this.$router.push({ path: '/home/homePage' })
             },
+			toSettings(){
+				this.$router.push({ path: '/home/settings' })
+			},
             toFeedback() {
                 this.$router.push({ path: '/home/feedback' })
             },

+ 1 - 1
TEAMModelOS/ClientApp/src/view/evaluation/components/BaseImport.vue

@@ -187,7 +187,7 @@
              */
             uploadSuccess(response) {
                 if (response.error === null) {
-                    let requestData = { htmlString: response.result.data.HtmlString }
+                    let requestData = { lang:localStorage.getItem('local'), htmlString: response.result.data.HtmlString }
                     this.$api.SaveAnalyzeHtml(requestData).then(res => {
                         if (res.error === null) {
                                 this.$Message.success('试题数据读取完成!')

+ 1 - 1
TEAMModelOS/ClientApp/src/view/learnactivity/CreateEvaluation.vue

@@ -2,7 +2,7 @@
     <div class="create-evaluation-container">
         <div class="create-header">
             <p class="create-header-title">创建评测活动</p>
-            <Button class="btn-save" type="text" :loading="isLoading" ghost icon="ios-albums-outline" @click="saveEvaluation">保存评测</Button>
+            <Button class="btn-save" type="text" :loading="isLoading" ghost icon="ios-albums-outline" @click="saveEvaluation">发布评测</Button>
         </div>
         <div class="create-body">
             <div class="evaluation-attr-wrap">

+ 34 - 27
TEAMModelOS/ClientApp/src/view/learnactivity/ExamPaperAnalysis.less

@@ -5,18 +5,21 @@
 @primary-fontSize: 14px;
 @second-fontSize: 16px;
 
+.exam-analysis-wrap{
+    background:#FFFFFF;
+}
 .exam-analysis-title-wrap {
-  width: 100%;
-  height: 28px;
-  border-bottom: 1px solid #606060;
+    width: 100%;
+    height: 28px;
+    border-bottom: 1px solid #CCCCCC;
 
-  .exam-analysis-title {
-    font-weight: 600;
-    line-height: 25px;
-    color: deepskyblue;
-    display: inline-block;
-    border-bottom: 2px solid deepskyblue;
-  }
+    .exam-analysis-title {
+        font-weight: 600;
+        line-height: 25px;
+        color: deepskyblue;
+        display: inline-block;
+        border-bottom: 2px solid deepskyblue;
+    }
 }
 .whole-analysis-table {
   width: 100%;
@@ -27,9 +30,11 @@
     height: 35px;
     line-height: 35px;
     text-align: center;
-    background: #303030;
-    color: aqua;
-    border: 1px solid #606060;
+    background: #ffffff;
+    color: #000000;
+    font-size:16px;
+    font-weight:800;
+    border: 1px solid #CCCCCC;
   }
 
   .whole-table-body {
@@ -40,30 +45,31 @@
     .whole-table-col {
       height: 140px;
       width: 38%;
-      border-right: 1px solid #606060;
-      border-bottom: 1px solid #606060;
-      background: #353535;
-      color: white;
+      border-right: 1px solid #CCCCCC;
+      border-bottom: 1px solid #CCCCCC;
+      background: #ffffff;
+      color: #333333;
 
       &:first-child {
         width: 24%;
-        border-left: 1px solid #606060;
+        border-left: 1px solid #CCCCCC;
       }
 
       .whole-table-col-header {
         height: 70px;
         line-height: 70px;
         text-align: center;
-
+        color:#000000;
+        font-weight:900;
         &:first-child {
-          border-bottom: 1px solid #606060;
+          border-bottom: 1px solid #CCCCCC;
         }
       }
 
       .while-table-question-type{
         height:35px;
         line-height:35px;
-        border-bottom:1px solid #606060;
+        border-bottom:1px solid #CCCCCC;
         text-align:center;
         &:last-child{
           border:none;
@@ -101,10 +107,10 @@
   text-align: center;
   display: flex;
   flex-direction: row;
-  border-top: 1px solid #606060;
-  background:#353535;
+  border-top: 1px solid #CCCCCC;
+  background:#FFFFFF;
   &:last-child {
-    border-bottom: 1px solid #606060;
+    border-bottom: 1px solid #CCCCCC;
   }
 
   &:nth-child(2) {
@@ -114,11 +120,12 @@
   .question-type-table-td {
     width: 38%;
     text-align: center;
-    border-right: 1px solid #606060;
-    color:white;
+    border-right: 1px solid #CCCCCC;
+    color:#333333;
+    background:#ffffff;
     &:first-child {
       width: 24%;
-      border-left: 1px solid #606060;
+      border-left: 1px solid #CCCCCC;
     }
   }
 }

+ 5 - 5
TEAMModelOS/ClientApp/src/view/learnactivity/ExamPaperAnalysis.vue

@@ -1,5 +1,5 @@
 <template>
-    <div class="dark-iview-table exam-analysis-wrap">
+    <div class="exam-analysis-wrap">
         <div class="exam-analysis-title-wrap">
             <span class="exam-analysis-title">试卷整体分析</span>
         </div>
@@ -29,7 +29,7 @@
                 <div class="exam-analysis-title-wrap">
                     <span class="exam-analysis-title">试卷题量分布</span>
                 </div>
-                <div class="question-type-table-row" style="margin-top:15px;">
+                <div class="question-type-table-row" style="margin-top:15px;font-weight:800;">
                     <div class="question-type-table-td">
                         题型
                     </div>
@@ -142,7 +142,7 @@
                         y: '0', // 'center' | 'bottom' | {number}
                         padding: [10, 0, 10, 5], // [5, 10, 15, 20]
                         itemGap: 20,
-                        textStyle: { color: '#c3cad9' }
+                        textStyle: { color: '#000000' }
                     },
                     tooltip: {
                         trigger: 'item',
@@ -380,13 +380,13 @@
     @import './ExamPaperAnalysis.less';
 </style>
 <style lang="less">
-      .exam-analysis-wrap .ivu-table-header thead tr th {
+      /*.exam-analysis-wrap .ivu-table-header thead tr th {
           background: #303030;
       }
 
       .exam-analysis-wrap .ivu-table td {
           background: #353535;
-      }
+      }*/
 
       /*#exam-diff-chart {
       width:400px;

+ 3 - 10
TEAMModelOS/ClientApp/src/view/learnactivity/ManageEvaluation.vue

@@ -27,7 +27,7 @@
             <div class="evaluation-detail-bar">
                 <span :class="currentBraIndex == 0 ? 'evalustion-bar-item line-bottom-active line-bottom':'evalustion-bar-item line-bottom'" @click="selectBar(0)">评测信息</span>
                 <span :class="currentBraIndex == 1 ? 'evalustion-bar-item line-bottom-active line-bottom':'evalustion-bar-item line-bottom'" @click="selectBar(1)">评测数据</span>
-                <span :class="evaluationList.length == 0 ? 'edit-evaluation custom-label-disabeld':'edit-evaluation'" @click="publishEvaluation"><Icon type="ios-send" size="20" />发布评测</span>
+                <!--<span :class="evaluationList.length == 0 ? 'edit-evaluation custom-label-disabeld':'edit-evaluation'" @click="publishEvaluation"><Icon type="ios-send" size="20" />发布评测</span>-->
             </div>
             <!--评测基础信息-->
             <div :class="currentBraIndex == 0 ? 'animated fadeIn evaluation-base-info':'evaluation-base-info animated fadeOutRight'" v-show="currentBraIndex == 0">
@@ -69,7 +69,6 @@
                             <span style="margin:0px 2px;">·</span>
                             {{jsFn.getSubjectName(jsFn.getPeriod($store.state.schoolBaseInfo.schoolBaseInfo, item.periodCode), item.subjectCode)}}
                         </span>
-                        <span class="test-paper-analysis" @click="showAnalysis"><Icon :type="examAnalysisStatus ? 'md-list-box':'md-stats'" style="margin-right:5px;" />{{examAnalysisStatus ? '试卷预览':'试卷分析'}}</span>
                     </div>
                     <div class="test-paper-detail">
                         <vuescroll ref="test-paper-detail" @handle-scroll="checkBackTop">
@@ -79,8 +78,7 @@
                             </div>
                             <!--试卷题目信息-->
                             <div v-if="examPaperList.length > 0">
-                                <TestPaper v-if="!examAnalysisStatus" :class="examAnalysisStatus ? '':'animated fadeIn'" :paper="examPaperList[currentSubjectIndex]" style="color:#515a6e;" :isShowTools="isShowTools"></TestPaper>
-                                <ExamPaperAnalysis v-show="examAnalysisStatus" style="margin-top:15px;margin-right:10px;" :class="examAnalysisStatus ? 'animated fadeIn':''" ref="examPaperAnalysis" :testPaper="examPaperList[currentSubjectIndex]"></ExamPaperAnalysis>
+                                <TestPaper :paper="examPaperList[currentSubjectIndex]" style="color:#515a6e;margin-top:-10px;" :isShowTools="isShowTools"></TestPaper>
                             </div>
                             <EmptyData v-else style="margin-top:60px;"></EmptyData>
                         </vuescroll>
@@ -172,7 +170,6 @@
                     point: []
                 },
                 jsFn,
-                examAnalysisStatus: false,
                 myDate: [],
                 groupQuestion: {},
                 currentSubjectIndex: 0,
@@ -326,11 +323,8 @@
                 }
             },
             showAnalysis() {
-                this.examAnalysisStatus = !this.examAnalysisStatus
                 this.handleAnalysisData()
-                if (this.examAnalysisStatus) {
-                    this.$refs.examPaperAnalysis.drawDiffChart()
-                }
+                
             },
             /**
              * 处理试卷分析数据
@@ -486,7 +480,6 @@
                 for (let i = 0; i < groupResult.length; i++) {
                     this.groupQuestion[groupResult[i][0].type] = groupResult[i]
                 }
-                this.examAnalysisStatus = false
                 this.handleBackToTop()
 
             },

+ 124 - 0
TEAMModelOS/ClientApp/src/view/settings/Index.less

@@ -0,0 +1,124 @@
+@primaryColor: #1CC0F3;
+@borderColor: #424242;
+@second-textColor: #a5a5a5; //文本副级颜色
+
+.settings-container{
+	min-height: 100%;
+	font-family: '微軟正黑體', 'Heiti TC' !important;
+	
+	.settings-header{
+		height: 70px;
+		border-bottom: 1px solid @borderColor;
+		
+		&-item{
+			display: inline-block;
+			height: 40px;
+			line-height: 40px;
+			margin-top: 15px;
+			margin-left: 50px;
+			color:@second-textColor;
+			cursor: pointer;
+		}
+		
+		.active-item{
+			font-size: 14px;
+			color:#fff;
+			border-bottom: 2px solid @primaryColor;
+		}
+	}
+	
+	.settings-body{
+		height: 100%;
+		
+		.normal-settings{
+			// width: 80%;
+			height: 100%;
+			display: flex;
+			flex-direction: column;
+			justify-content: center;
+			
+			&-item{
+				padding: 50px 0;
+				display: flex;
+				align-items: center;
+				
+				.item-title{
+					font-size: 18px;
+					font-weight: bold;
+					color:#fff;
+					margin-left: 10%;
+					min-width: 10%;
+				}
+				
+				.item-description{
+					color:#a7a7a7;
+					min-width: 30%;
+					margin-left: 10%;
+				}
+				
+				.item-content{
+					margin-left: 5%;
+					display: flex;
+					min-width: 30%;
+					
+					.color-item{
+						position: relative;
+						display: flex;
+						width: 35px;
+						height: 35px;
+						background: #000;
+						border: 3px solid #191919;
+						cursor: pointer;
+						
+						&:last-child{
+							margin-left: 20px;
+							background: #fff;
+						}
+						
+						&-active{
+							border: 3px solid @primaryColor;
+							
+							&::after{
+								position:absolute;
+								content:'';
+								display:block;
+								width:0;
+								height:0;
+								right: -10px;
+								top:-10px;
+								transform:rotate(135deg);
+								border-width:10px;
+								border-style:solid;
+								border-color: transparent @primaryColor transparent  transparent;
+							}
+							
+							&::before{
+								content:'';
+									display:block;
+									width:5px;
+									height:8px;
+									border-right:#ffffff solid 2px;
+									border-bottom:#ffffff solid 2px;
+									transform:rotate(35deg);
+									position:absolute;
+									top:0;
+									right:0;
+									z-index:2;
+							}
+						}
+					}
+				}
+				
+				.ivu-btn{
+					width: 300px;
+					height: 45px;
+					background: @primaryColor;
+					color:#fff;
+					border: none;
+					margin: 0 auto;
+					border-radius: 0;
+				}
+			}
+		}
+	}
+}

+ 167 - 0
TEAMModelOS/ClientApp/src/view/settings/Index.vue

@@ -0,0 +1,167 @@
+<template>
+	<div class="settings-container">
+		<div class="settings-header">
+			<span :class="['settings-header-item',activeTab === '0' ?  'active-item' : '']" @click="onTabChange('0')">一般设置</span>
+			<span :class="['settings-header-item',activeTab === '1' ?  'active-item' : '']" @click="onTabChange('1')">学校管理</span>
+		</div>
+		
+		<div class="settings-body">
+			<div class="normal-settings" v-if="activeTab === '0'">
+				<div class="normal-settings-item">
+					<span class="item-title">网站语言设定</span>
+					<span class="item-description">请选择网站要用来显示选单、互动页面以及通知信息的语言</span>
+					<span class="item-content">
+						<Select v-model="curLang" style="width:200px">
+							<Option value="zh-CN">中文(简体)</Option>
+							<Option value="zh-TW">中文(繁体)</Option>
+							<Option value="en-US">英语</Option>
+						</Select>
+						<Checkbox v-model="isHomeworkLang">使用您作业系统的语系来展示</Checkbox>
+					</span>
+				</div>
+				<div class="normal-settings-item">
+					<span class="item-title">网站色彩模式</span>
+					<span class="item-description">请选择网站显示的色彩模式,以便提供最佳的用户体验</span>
+					<span class="item-content">
+						<span :class="['color-item',activeTheme === '0' ?  'color-item-active' : '']" @click="onThemeChange('0')"></span>
+						<span :class="['color-item',activeTheme === '1' ?  'color-item-active' : '']" @click="onThemeChange('1')"></span>
+					</span>
+				</div>
+				<div class="normal-settings-item">
+					<span class="item-title">菜单显示设置</span>
+					<span class="item-description">选择左侧Menu在网站载入时的预设显示模式</span>
+					<span class="item-content">
+						<RadioGroup v-model="menuStatus">
+							<Radio label="open">预设展开显示</Radio>
+							<Radio label="close">预设关闭显示</Radio>
+						</RadioGroup>
+					</span>
+				</div>
+				<div class="normal-settings-item">
+					<Button>保存变更</Button>
+				</div>
+			</div>
+		
+			<SchoolMgmt v-else></SchoolMgmt>
+		</div>
+	</div>
+</template>
+
+<script>
+	import SchoolMgmt from './SchoolMgmt.vue'
+	export default {
+		components:{ SchoolMgmt },
+		data(){
+			return {
+				activeTab:'0',
+				activeTheme:'0',
+				menuStatus:'open',
+				curLang:'zh-CN',
+				isHomeworkLang:true,
+			}
+		},
+		methods:{
+			onTabChange(index){
+				this.activeTab = index
+			},
+			onThemeChange(index){
+				this.activeTheme = index
+			}
+		}
+	}
+</script>
+
+<style lang="less" scoped>
+	@import "./Index.less";
+</style>
+
+<style lang="less">
+	.settings-container{
+		
+		.ivu-select-selection{
+			background: transparent;
+			border-color: #363738;
+			color:#a6a6a6;
+		}
+		
+		.ivu-checkbox-wrapper{
+			margin-left: 40px;
+			margin-top: 5px;
+			color:#a6a6a6;
+		}
+		
+		.ivu-checkbox{
+			margin-right: 5px;
+		}
+		
+		.ivu-radio-wrapper{
+			margin-right: 20px;
+			color:#a5a5a5;
+		}
+		
+		.ivu-radio-inner{
+			width: 18px;
+			height: 18px;
+			border-radius: 4px;
+			background-color: #0f0f0f;
+			border-color: #4d4d4d;
+			border-width: 1px;
+			margin-right: 5px;
+			
+			&::after{
+				content:'';
+				display:block;
+				width:10px;
+				height:16px;
+				border-right:#ffffff solid 3px;
+				border-bottom:#ffffff solid 3px;
+				transform:rotate(35deg);
+				position:absolute;
+				top:-4px;
+				left:4px;
+				border-radius: 0;
+				background-color: transparent;
+				border-color:#0094FF;
+			}
+		}
+		
+		.ivu-checkbox-inner{
+			width: 18px;
+			height: 18px;
+			border-radius: 4px;
+			background-color: #0f0f0f;
+			border-color: #4d4d4d;
+			border-width: 1px;
+			margin-right: 5px;
+		}
+		
+		.ivu-checkbox-checked .ivu-checkbox-inner{
+			width: 18px;
+			height: 18px;
+			border-radius: 4px;
+			background-color: #0f0f0f;
+			border-color: #4d4d4d;
+			border-width: 1px;
+			margin-right: 5px;
+			
+			&::after{
+				content:'';
+				display:block;
+				width:10px;
+				height:16px;
+				border-right:#ffffff solid 3px;
+				border-bottom:#ffffff solid 3px;
+				transform:rotate(35deg);
+				position:absolute;
+				top:-4px;
+				left:4px;
+				border-radius: 0;
+				background-color: transparent;
+				border-color:#0094FF;
+			}
+		}
+		
+		
+	
+	}
+</style>

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

@@ -0,0 +1,18 @@
+@primaryColor: #1CC0F3;
+@borderColor: #424242;
+@second-textColor: #a5a5a5; //文本副级颜色
+
+.school-container{
+	display: flex;
+	
+	&-left{
+		width: 28%;
+		height: 100%;
+		border-right: 1px solid @borderColor;
+	}
+	
+	&-right{
+		width: 72%;
+		height: 100%;
+	}
+}

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

@@ -0,0 +1,15 @@
+<template>
+	<div class="school-container">
+		<div class="school-container-left">
+			111111111
+		</div>
+		<div class="school-container-right"></div>
+	</div>
+</template>
+
+<script>
+</script>
+
+<style lang="less" scoped>
+	@import "./SchoolMgmt.less";
+</style>