Просмотр исходного кода

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

zhouj1203@hotmail.com 3 лет назад
Родитель
Сommit
ba9cdd6d3a
52 измененных файлов с 454 добавлено и 329 удалено
  1. 3 3
      TEAMModelFunction/ActivityHttpTrigger.cs
  2. 1 1
      TEAMModelFunction/TriggerExam.cs
  3. 28 2
      TEAMModelFunction/TriggerSurvey.cs
  4. 28 2
      TEAMModelFunction/TriggerVote.cs
  5. 8 1
      TEAMModelOS.SDK/Models/Service/TriggerStuActivity.cs
  6. 1 1
      TEAMModelOS/ClientApp/src/common/BaseLayout.vue
  7. 19 0
      TEAMModelOS/ClientApp/src/css/common-style.less
  8. 3 1
      TEAMModelOS/ClientApp/src/css/custom-animate.less
  9. 18 0
      TEAMModelOS/ClientApp/src/css/custom-iview.less
  10. 52 0
      TEAMModelOS/ClientApp/src/css/light-iview-form.less
  11. 1 1
      TEAMModelOS/ClientApp/src/locale/lang/en-US/learnActivity.js
  12. 1 1
      TEAMModelOS/ClientApp/src/locale/lang/zh-CN/learnActivity.js
  13. 1 1
      TEAMModelOS/ClientApp/src/locale/lang/zh-TW/learnActivity.js
  14. 2 0
      TEAMModelOS/ClientApp/src/view/Home.vue
  15. 2 2
      TEAMModelOS/ClientApp/src/view/classmgt/ManageClass.less
  16. 3 3
      TEAMModelOS/ClientApp/src/view/classmgt/ManageClass.vue
  17. 1 1
      TEAMModelOS/ClientApp/src/view/evaluation/components/BaseFilter.vue
  18. 1 1
      TEAMModelOS/ClientApp/src/view/evaluation/index/CreatePaper.vue
  19. 1 1
      TEAMModelOS/ClientApp/src/view/knowledge-point/index/Index.vue
  20. 1 1
      TEAMModelOS/ClientApp/src/view/learnactivity/AutoCreateNew.vue
  21. 18 13
      TEAMModelOS/ClientApp/src/view/learnactivity/CreateSchoolEva.less
  22. 12 9
      TEAMModelOS/ClientApp/src/view/learnactivity/CreateSchoolEva.vue
  23. 1 1
      TEAMModelOS/ClientApp/src/view/learnactivity/ManualCreate.vue
  24. 12 10
      TEAMModelOS/ClientApp/src/view/learnactivity/ManualPaper.less
  25. 30 29
      TEAMModelOS/ClientApp/src/view/learnactivity/MgtSchoolEva.less
  26. 4 5
      TEAMModelOS/ClientApp/src/view/learnactivity/MgtSchoolEva.vue
  27. 1 4
      TEAMModelOS/ClientApp/src/view/learnactivity/Scoring.less
  28. 55 51
      TEAMModelOS/ClientApp/src/view/learnactivity/Scoring.vue
  29. 3 3
      TEAMModelOS/ClientApp/src/view/learnactivity/echarts/AvgCompare.vue
  30. 1 1
      TEAMModelOS/ClientApp/src/view/learnactivity/echarts/ScoreMatrix.vue
  31. 11 9
      TEAMModelOS/ClientApp/src/view/learnactivity/markpaper/MarkData.vue
  32. 16 16
      TEAMModelOS/ClientApp/src/view/learnactivity/markpaper/MarkSetting.vue
  33. 2 2
      TEAMModelOS/ClientApp/src/view/newcourse/CoursePlan.vue
  34. 11 15
      TEAMModelOS/ClientApp/src/view/newcourse/MyCourse.less
  35. 3 3
      TEAMModelOS/ClientApp/src/view/newcourse/MyCourse.vue
  36. 2 2
      TEAMModelOS/ClientApp/src/view/newcourse/NewCusMgt.vue
  37. 2 11
      TEAMModelOS/ClientApp/src/view/notify/NotifyMgt.vue
  38. 2 2
      TEAMModelOS/ClientApp/src/view/schoolmgmt/RoomMgt/RoomMgt.vue
  39. 1 19
      TEAMModelOS/ClientApp/src/view/schoolmgmt/SystemSetting/SystemSetting.less
  40. 2 2
      TEAMModelOS/ClientApp/src/view/schoolmgmt/SystemSetting/SystemSetting.vue
  41. 0 19
      TEAMModelOS/ClientApp/src/view/student-account/Index.less
  42. 4 4
      TEAMModelOS/ClientApp/src/view/student-account/IndexIview.less
  43. 9 9
      TEAMModelOS/ClientApp/src/view/student-account/class/ClassMgt.vue
  44. 2 2
      TEAMModelOS/ClientApp/src/view/student-account/stuMgt/StuMgt.vue
  45. 1 1
      TEAMModelOS/ClientApp/src/view/syllabus/Syllabus.vue
  46. 2 43
      TEAMModelOS/ClientApp/src/view/teachcontent/index.less
  47. 2 2
      TEAMModelOS/ClientApp/src/view/teachcontent/index.vue
  48. 1 1
      TEAMModelOS/ClientApp/src/view/teachermgmt/Index.vue
  49. 17 5
      TEAMModelOS/ClientApp/src/view/teachermgmt/components/group/Group.less
  50. 45 6
      TEAMModelOS/ClientApp/src/view/teachermgmt/components/group/Group.vue
  51. 4 4
      TEAMModelOS/ClientApp/src/view/teachermgmt/components/userList/Index.vue
  52. 3 3
      TEAMModelOS/TEAMModelOS.csproj

+ 3 - 3
TEAMModelFunction/ActivityHttpTrigger.cs

@@ -207,7 +207,7 @@ namespace TEAMModelFunction
                             });
                         });
                     }
-                    await TriggerStuActivity.SaveStuActivity(client, _dingDing, stuActivities, tmdActivities);
+                    await TriggerStuActivity.SaveStuActivity(client, _dingDing, stuActivities, tmdActivities,null);
                 }
             }
             return new OkObjectResult(new { });
@@ -308,7 +308,7 @@ namespace TEAMModelFunction
                             });
                         });
                     }
-                    await TriggerStuActivity.SaveStuActivity(client, _dingDing, stuActivities, tmdActivities);
+                    await TriggerStuActivity.SaveStuActivity(client, _dingDing, stuActivities, tmdActivities, null);
                 }
             }
             return new OkObjectResult(new { });
@@ -408,7 +408,7 @@ namespace TEAMModelFunction
                             });
                         });
                     }
-                    await TriggerStuActivity.SaveStuActivity(client, _dingDing, stuActivities, tmdActivities);
+                    await TriggerStuActivity.SaveStuActivity(client, _dingDing, stuActivities, tmdActivities, null);
                 }
             }
             return new OkObjectResult(new { });

+ 1 - 1
TEAMModelFunction/TriggerExam.cs

@@ -153,7 +153,7 @@ namespace TEAMModelFunction
                                     });
                                 });
                             }
-                            await TriggerStuActivity.SaveStuActivity(client, _dingDing, stuActivities, tmdActivities);
+                            await TriggerStuActivity.SaveStuActivity(client, _dingDing, stuActivities, tmdActivities,null);
                             //向学生或醍摩豆账号发起通知
                             #region
                             //Notice notice = new Notice()

+ 28 - 2
TEAMModelFunction/TriggerSurvey.cs

@@ -82,6 +82,7 @@ namespace TEAMModelFunction
 #endif
                             List<StuActivity> stuActivities = new List<StuActivity>();
                             List<StuActivity> tmdActivities = new List<StuActivity>();
+                            List<StuActivity> tchActivities = new List<StuActivity>();
                             if (tmdids.IsNotEmpty())
                             {
                                 tmdids.ForEach(x => {
@@ -132,8 +133,33 @@ namespace TEAMModelFunction
                                     });
                                 });
                             }
-                           
-                            await TriggerStuActivity.SaveStuActivity(client, _dingDing, stuActivities, tmdActivities);
+
+                            if (survey.tchLists.IsNotEmpty())
+                            {
+                                survey.tchLists.ForEach(x => {
+                                    tchActivities.Add(new StuActivity
+                                    {
+                                        pk = "Activity",
+                                        id = survey.id,
+                                        code = $"Activity-{x}",
+                                        type = "Survey",
+                                        name = survey.name,
+                                        startTime = survey.startTime,
+                                        endTime = survey.endTime,
+                                        scode = survey.code,
+                                        scope = survey.scope,
+                                        school = survey.school,
+                                        creatorId = survey.creatorId,
+                                        subjects = new List<string> { "" },
+                                        blob = survey.blob,
+                                        owner = survey.owner,
+                                        createTime = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(),
+                                        taskStatus = -1,
+                                        classIds = classes
+                                    });
+                                });
+                            }
+                            await TriggerStuActivity.SaveStuActivity(client, _dingDing, stuActivities, tmdActivities, tchActivities);
                             //向学生或醍摩豆账号发起通知
                             #region
                             //Notice notice = new Notice()

+ 28 - 2
TEAMModelFunction/TriggerVote.cs

@@ -88,6 +88,7 @@ namespace TEAMModelFunction
                             }
                             List<StuActivity> stuActivities = new List<StuActivity>();
                             List<StuActivity> tmdActivities = new List<StuActivity>();
+                            List<StuActivity> tchActivities = new List<StuActivity>();
                             if (tmds.IsNotEmpty())
                             {
                                 tmds.ForEach(x => {
@@ -138,8 +139,33 @@ namespace TEAMModelFunction
                                     });
                                 });
                             }
-                          
-                            await TriggerStuActivity.SaveStuActivity(client, _dingDing, stuActivities, tmdActivities);
+
+                            if (vote.tchLists.IsNotEmpty())
+                            {
+                                vote.tchLists.ForEach(x => {
+                                    tchActivities.Add(new StuActivity
+                                    {
+                                        pk = "Activity",
+                                        id = vote.id,
+                                        code = $"Activity-{x}",
+                                        type = "Vote",
+                                        name = vote.name,
+                                        startTime = vote.startTime,
+                                        endTime = vote.endTime,
+                                        scode = vote.code,
+                                        scope = vote.scope,
+                                        school = vote.school,
+                                        creatorId = vote.creatorId,
+                                        subjects = new List<string> { "" },
+                                        blob = null,
+                                        owner = vote.owner,
+                                        createTime = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(),
+                                        taskStatus = -1,
+                                        classIds = classes
+                                    });
+                                });
+                            }
+                            await TriggerStuActivity.SaveStuActivity(client, _dingDing, stuActivities, tmdActivities, tchActivities);
                             //向学生或醍摩豆账号发起通知
                             #region
                             //Notice notice = new Notice()

+ 8 - 1
TEAMModelOS.SDK/Models/Service/TriggerStuActivity.cs

@@ -92,7 +92,7 @@ namespace TEAMModelOS.SDK
             }
         }
 
-        public static async Task<string> SaveStuActivity(CosmosClient client, DingDing _dingDing, List<StuActivity> stuActivities,List<StuActivity> tmdActivities) {
+        public static async Task<string> SaveStuActivity(CosmosClient client, DingDing _dingDing, List<StuActivity> stuActivities,List<StuActivity> tmdActivities, List<StuActivity>  tchActivities) {
             try {
                 if (stuActivities.IsNotEmpty())
                 {
@@ -108,6 +108,13 @@ namespace TEAMModelOS.SDK
                         await client.GetContainer(Constant.TEAMModelOS, "Student").UpsertItemAsync(x, new PartitionKey(x.code));
                     }
                 }
+                if (tchActivities.IsNotEmpty())
+                {
+                    foreach (var x in tmdActivities)
+                    {
+                        await client.GetContainer(Constant.TEAMModelOS, "Teacher").UpsertItemAsync(x, new PartitionKey(x.code));
+                    }
+                }
             } catch (Exception ex) {
                 await _dingDing.SendBotMsg($"{Environment.GetEnvironmentVariable("Option:Location")}-OS,TriggerStuActivity-SaveStuActivity\n{ex.Message}\n{ex.StackTrace}", GroupNames.醍摩豆服務運維群組);
             }

+ 1 - 1
TEAMModelOS/ClientApp/src/common/BaseLayout.vue

@@ -13,7 +13,7 @@
         <!-- 侧边菜单栏 -->
         <Sider class="biz-menu" ref="side1" hide-trigger collapsible width="190" :collapsed-width="78" v-model="isCollapsed">
             <div class="collapse-icon-box" @click="changeMenuStatus">
-                <Icon :class="rotateIcon" custom="iconfont icon-arrow" style="color:var(--primary-text-color)" @click.stop="changeMenuStatus" size="12" />
+                <Icon :class="rotateIcon" custom="iconfont icon-arrow" style="color:var(--border-color)" @click.stop="changeMenuStatus" size="12" />
             </div>
             <Menu width="auto" :class="['menu-item', isCollapsed ? 'collapsed-menu' : '']" accordion :active-name="activeName" :open-names="openNames">
                 <vuescroll :ops="ops">

+ 19 - 0
TEAMModelOS/ClientApp/src/css/common-style.less

@@ -105,3 +105,22 @@
     }
 }
 
+.tab-box {
+    display: inline-block;
+    width: 30%;
+    min-width: 303px;
+    .pane{
+        margin-right: 50px;
+        color: #777777;
+        line-height: 50px;
+        padding: 5px 0;
+        cursor: pointer;
+        vertical-align: middle;
+        padding: 5px 0px;
+        &.active{
+            font-weight: bold;
+            color: var(--primary-text-color);
+            border-bottom: 2px var(--tabs-bottom-color) solid;
+        }
+    }
+}

+ 3 - 1
TEAMModelOS/ClientApp/src/css/custom-animate.less

@@ -36,7 +36,9 @@
     position:relative;
     height:45px;
     line-height:45px !important;
-    padding: 0px 15px;
+    padding: 0px;
+    margin-right: 50px;
+    display: inline-block;
 }
 .line-bottom::before {
     content: '';

+ 18 - 0
TEAMModelOS/ClientApp/src/css/custom-iview.less

@@ -0,0 +1,18 @@
+.custom-iview-split{
+    .ivu-split-trigger-vertical {
+        width: 1px;
+        background-color: var(--border-color);
+    }
+
+    .ivu-split-trigger {
+        border: none;
+    }
+
+    .ivu-split-trigger-bar-con.vertical {
+        left: -1px;
+    }
+
+    .ivu-split-trigger-vertical .ivu-split-trigger-bar {
+        width: 3px;
+    }
+}

+ 52 - 0
TEAMModelOS/ClientApp/src/css/light-iview-form.less

@@ -0,0 +1,52 @@
+.light-iview-select{
+    .ivu-select-selection{
+        background-color: var(--input-bg-color);
+        border: none;
+        color: var(--primary-text-color);
+    }
+
+    .ivu-select-visible .ivu-select-selection,
+    .ivu-form-item-error .ivu-select-visible .ivu-select-selection{
+        border: none;
+        box-shadow: none;
+    }
+
+}
+
+.light-iview-input{
+    .ivu-input{
+        background-color: var(--input-bg-color);
+        border: none;
+        color: var(--primary-text-color);
+    }
+
+    .ivu-input:focus,
+    .ivu-form-item-error .ivu-input:focus{
+        border: none;
+        box-shadow: none;
+    }
+}
+
+.light-iview-input-number{
+    .ivu-input-number{
+        background: var(--input-bg-color);
+        border: none;
+    }
+    .ivu-input-number-input{
+        background: var(--input-bg-color);
+    }
+    .ivu-input-number:hover{
+        border: none;
+    }
+    .ivu-input-number-focused{
+        box-shadow: none;
+    }
+}
+
+.light-el-input{
+    .el-input__inner,
+    .el-cascader__search-input{
+        background-color: var(--input-bg-color);
+        border: none;
+    }
+}

+ 1 - 1
TEAMModelOS/ClientApp/src/locale/lang/en-US/learnActivity.js

@@ -22,7 +22,7 @@ export default {
         autoTips2: 'This function is only used to show the scenario and quickly simulate teacher grading data. Teacher grading are randomly generated for reference only!',
         autoScore: 'One Click Grading',
         autoAnswer: 'One Click Answering',
-        evSubject: 'Assessing Subject:',
+        evSubject: 'Subject:',
         returnTop: 'Back to the top',
         mockOk: 'Simulate successfully',
         mockErr: 'Failed to simulate',

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

@@ -22,7 +22,7 @@ export default{
         autoTips2:'此功能仅用于展示情景快速模拟教师评分数据,且分数为随机生成,仅供参考!',
         autoScore:'一键评分',
         autoAnswer:'一键作答',
-        evSubject:'测试学科:',
+        evSubject:'学科:',
         returnTop:'返回顶部',
         mockOk:'模拟成功',
         mockErr:'模拟失败',

+ 1 - 1
TEAMModelOS/ClientApp/src/locale/lang/zh-TW/learnActivity.js

@@ -22,7 +22,7 @@ export default {
         autoTips2: '此功能僅用於展示情境快速模擬教師評分數據,且分數為隨機生成,僅供參考!',
         autoScore: '一鍵評分',
         autoAnswer: '一鍵作答',
-        evSubject: '測試學科:',
+        evSubject: '學科:',
         returnTop: '跳回頂端',
         mockOk: '模擬成功',
         mockErr: '模擬失敗',

+ 2 - 0
TEAMModelOS/ClientApp/src/view/Home.vue

@@ -264,4 +264,6 @@ body {
 @import "../css/dark-iview-checkbox.less";
 @import "../css/dark-el-cascader.less";
 @import "../css/dark-iview-style.less";
+@import "../css/custom-iview.less";
+@import "../css/light-iview-form.less";
 </style>

+ 2 - 2
TEAMModelOS/ClientApp/src/view/classmgt/ManageClass.less

@@ -16,8 +16,8 @@
     padding:0px 10px;
     height:45px;
     line-height:45px;
-    border-bottom:1px solid @borderColor;
-    color:white;
+    border-bottom:1px solid var(--border-color);
+    color:var(--primary-text-color);
 }
 .text-label{
     color:@second-textColor;

+ 3 - 3
TEAMModelOS/ClientApp/src/view/classmgt/ManageClass.vue

@@ -1,5 +1,5 @@
 <template>
-    <div class="mgt-class-container dark-iview-select dark-iview-checkbox custom-scroll-bar common-save-btn" @click="nameEdStatus = true">
+    <div class="mgt-class-container custom-scroll-bar common-save-btn" @click="nameEdStatus = true">
         <!-- 头部 -->
         <div class="mgt-class-header">
             <span class="text-label">{{$t('cusMgt.classLabel')}}</span>
@@ -26,7 +26,7 @@
             </span>
         </div>
         <!-- 表格模式 -->
-        <div class="mgt-class-body dark-iview-table animated fadeIn" id="table-wrap" v-if="viewType == 1">
+        <div class="mgt-class-body animated fadeIn" id="table-wrap" v-if="viewType == 1">
             <vuescroll>
                 <Table :columns="columns" v-if="classList[curClassIndex]" :data="classList[curClassIndex].students" :loading="tableLoading" ref="students" :height="tableHeight" :no-data-text="$t('cusMgt.noStu')">
                     <Loading slot="loading" bgColor="rgba(103, 103, 103, 0.27)"></Loading>
@@ -79,7 +79,7 @@
             </vuescroll>
         </div>
         <!-- 分组设置 -->
-        <Modal v-model="customGroupStatus" :title="$t('cusMgt.autoGroup')" @on-ok="comfirmCustomRules" class="custom-group" class-name="dark-iview-modal dark-iview-form">
+        <Modal v-model="customGroupStatus" :title="$t('cusMgt.autoGroup')" @on-ok="comfirmCustomRules" class="custom-group">
             <Form :label-width="80" :label-colon="true" style="color:white;">
                 <FormItem :label="$t('cusMgt.studentCountLabel')">
                     <span v-if="customGroupStatus">{{classList[curClassIndex].students.length}}{{$t('unit.text7')}}</span>

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

@@ -28,7 +28,7 @@
 						<Checkbox v-for="(item, index) in subjectList" :key="index" :label="item.id">{{ item.name }}<span class="filter-count">({{ filterCounts.subjectCountArr.length ? filterCounts.subjectCountArr[index] : 0 }})</span></Checkbox>
 					</CheckboxGroup>
 				</div>
-		<div class="filter-item">
+		<div class="filter-item light-iview-input">
 			<span class="filter-title">{{$t('evaluation.filter.sort')}}:</span>
 			<span @click="onSortCreateTime(isDesc)" class="createTime-sort">{{$t('evaluation.filter.createTime')}}<Icon :type="isDesc ? 'md-arrow-round-down' : 'md-arrow-round-up'" /></span>
 <!-- 			<RadioGroup v-model="filterSort" type="button" @on-change="filterSortChange">

+ 1 - 1
TEAMModelOS/ClientApp/src/view/evaluation/index/CreatePaper.vue

@@ -18,7 +18,7 @@
 						<p class="wrap-label">{{$t('evaluation.paperList.baseInfo')}}</p>
 						<div style="width:100%; height:calc(100% - 45px);padding-top:30px;">
 							<Form ref="evaluationInfo" :model="evaluationInfo" label-position="top"
-								class="evaluation-attr-form" label-colon>
+								class="evaluation-attr-form light-iview-input light-iview-select light-iview-input-number" label-colon>
 								<FormItem :label="$t('evaluation.paperList.paperType')" prop="type">
 									<Select v-model="evaluationInfo.type" disabled>
 										<Option value="private">{{$t('evaluation.paperList.praviteBank')}}</Option>

+ 1 - 1
TEAMModelOS/ClientApp/src/view/knowledge-point/index/Index.vue

@@ -3,7 +3,7 @@
 </style>
 
 <template>
-	<div class="new-syllabus-container">
+	<div class="new-syllabus-container light-iview-input light-iview-select">
 		<Loading :top="200" bgColor="rgba(103, 103, 103, 0.27)" type="1" v-if="isLoading"></Loading>
 		<!-- 课纲头部 切换来源以及选择学段 -->
 		<div class="new-syllabus-header">

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

@@ -36,7 +36,7 @@
 			</div>
 			<div class="filter-wrap-item" v-for="(item,index) in quInfos" :key="index">
 				<span class="filter-title">{{ item.label }} :</span>
-				<div class="filter-content">
+				<div class="filter-content light-iview-select light-iview-input-number">
 					<span class="filter-content-text">{{$t('evaluation.filter.diff')}} </span>
 					<Select v-model="item.policy">
 						<Option v-for="(diff,index) in diffList" :value="diff.level" :key="diff.level" :label="diff.label"> 

+ 18 - 13
TEAMModelOS/ClientApp/src/view/learnactivity/CreateSchoolEva.less

@@ -1,14 +1,14 @@
 @main-bgColor: rgb(40,40,40); //主背景颜色
-@borderColor: #424242;
-@primary-textColor: #fff; //文本主颜色
-@second-textColor: #a5a5a5; //文本副级颜色
+@borderColor: var(--border-color);
+@primary-textColor: var(--primary-text-color); //文本主颜色
+@second-textColor: var(--second-text-color); //文本副级颜色
 @primary-fontSize: 14px;
 @second-fontSize: 16px;
 
 .create-school-container {
     width: 100%;
     height: 100%;
-    background: #242328;
+    // background: #242328;
 
     .create-header {
         width: 100%;
@@ -31,6 +31,10 @@
             cursor: pointer;
             margin-top: 6px;
             margin-right: 10px;
+
+            &:hover{
+                color: #40A8F0;
+            }
         }
     }
 
@@ -50,7 +54,7 @@
         padding-left: 20px;
 
         .wrap-label {
-            color: white;
+            // color: white;
             font-size: @primary-fontSize;
             height: 40px;
             line-height: 40px;
@@ -64,7 +68,7 @@
         padding-left: 20px;
 
         .wrap-label {
-            color: white;
+            // color: white;
             font-size: @primary-fontSize;
             height: 40px;
             line-height: 40px;
@@ -101,7 +105,7 @@
 
             .subject-item-active {
                 color: @primary-textColor;
-                border-bottom: 2px solid white;
+                border-bottom: 2px solid var(--tabs-bottom-color);
                 font-weight: 600;
 
                 /*.delete-subject-btn {
@@ -112,7 +116,7 @@
     }
 }
 .evaluation-question-main /deep/ .ivu-tabs-bar {
-    border-color: #404040;
+    // border-color: #404040;
     margin-bottom: 0px;
     border-bottom: none;
 }
@@ -123,9 +127,9 @@
 .evaluation-question-main /deep/ .ivu-tabs .ivu-tabs-tabpane {
 }
 .evaluation-question-main .ivu-tabs.ivu-tabs-card /deep/ .ivu-tabs-bar .ivu-tabs-tab {
-    border: none;
-    background-color: #303030;
-    color: white;
+    // border: none;
+    // background-color: #303030;
+    // color: white;
     margin-right: 2px;
 }
 .evaluation-attr-form {
@@ -146,7 +150,7 @@
 
 .add-subject-icon {
     margin-left:15px;
-    color:white;
+    color:var(--normal-icon-color);
     font-size:16px;
     margin-top: 8px;
     cursor: pointer;
@@ -195,7 +199,8 @@
 }
 .teacher-preview-container {
     height: 100%;
-    background: #404040;
+    // background: #404040;
+    border: 1px solid @borderColor;
     padding: 10px;
     padding-bottom: 30px;
     position:relative;

+ 12 - 9
TEAMModelOS/ClientApp/src/view/learnactivity/CreateSchoolEva.vue

@@ -12,9 +12,9 @@
         <div class="create-body">
             <div class="evaluation-attr-wrap">
                 <p class="wrap-label">{{$t('learnActivity.createEv.baseInfo')}}</p>
-                <div style="width:100%; height:calc(100% - 45px);padding-top:30px;" class="dark-iview-form ivu-select-nochoose dark-el-cascader">
+                <div style="width:100%; height:calc(100% - 45px);padding-top:30px;" class="ivu-select-nochoose">
                     <vuescroll>
-                        <Form ref="evaForm" :model="evaluationInfo" label-position="top" class="evaluation-attr-form " label-colon :rules="ruleValidate">
+                        <Form ref="evaForm" :model="evaluationInfo" label-position="top" class="evaluation-attr-form light-iview-select light-iview-input .light-el-input" label-colon :rules="ruleValidate">
                             <FormItem :label="$t('learnActivity.createEv.evName')" prop="name">
                                 <Input v-model="evaluationInfo.name" :placeholder="$t('learnActivity.createEv.evName')"></Input>
                             </FormItem>
@@ -51,7 +51,7 @@
                             </FormItem>
                             <FormItem :label="$t('learnActivity.createEv.publishType')" prop="publish">
                                 <Checkbox v-model="evaluationInfo.publish" :true-value="$GLOBAL.PUBLISH_TYPE()[0].value" :false-value="$GLOBAL.PUBLISH_TYPE()[1].value" @on-change="publishChange">
-                                    <span style="color:white;margin-left:5px;user-select: none;">{{$GLOBAL.PUBLISH_TYPE()[0].label}}</span>
+                                    <span style="margin-left:5px;user-select: none;">{{$GLOBAL.PUBLISH_TYPE()[0].label}}</span>
                                 </Checkbox>
                             </FormItem>
                             <FormItem :label="$t('learnActivity.createEv.startTime')" v-if="evaluationInfo.publish == 1" prop="startTime">
@@ -100,14 +100,14 @@
                 </div>
             </div>
         </div>
-        <Modal v-model="addSubjectStatus" :title="$t('learnActivity.createEv.addSubject')" class-name="dark-iview-modal" @on-ok="confirmAddSubject">
+        <Modal v-model="addSubjectStatus" :title="$t('learnActivity.createEv.addSubject')" @on-ok="confirmAddSubject">
             <div style="padding:20px 0px;">
-                <CheckboxGroup v-model="evaluationInfo.subjectIds" style="color:white;">
+                <CheckboxGroup v-model="evaluationInfo.subjectIds">
                     <Checkbox v-for="(subjectItem,index) in curSubjects" :key="index" :label="subjectItem.id">
                         <span>{{subjectItem.name}}</span>
                     </Checkbox>
                 </CheckboxGroup>
-                <p v-if="!evaluationInfo.period.id" style="color:white; text-align:center;">{{$t('learnActivity.createEv.noSubject1')}}</p>
+                <p v-if="!evaluationInfo.period.id" style="text-align:center;">{{$t('learnActivity.createEv.noSubject1')}}</p>
             </div>
         </Modal>
     </div>
@@ -967,16 +967,16 @@ export default {
 <style scoped lang="less">
 @import "./CreateSchoolEva.less";
 </style>
-<style>
+<style lang="less">
 .evaluation-attr-wrap .ivu-form .ivu-form-item-label {
-    color: #a5a5a5;
+    color: var(--second-text-color);
 }
 
 .evaluation-question-main
     .ivu-tabs.ivu-tabs-card
     .ivu-tabs-bar
     .ivu-tabs-tab-active {
-    background-color: #404040 !important;
+    // background-color: #404040 !important;
     font-weight: 600;
 }
 .teacher-preview-container .paper-main-wrap {
@@ -991,4 +991,7 @@ export default {
 .evaluation-question-main .ivu-tabs-bar {
     margin-bottom: 0px;
 }
+.create-header .ivu-btn-ghost{
+    color: var(--second-text-color);
+}
 </style> 

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

@@ -67,7 +67,7 @@
                     </div>
                     </Col>
                     <Col :xs="24" :sm="24" :md="24" :lg="24" :xl="18">
-                    <div class="manual-filter-item evaluation-attr-form">
+                    <div class="manual-filter-item evaluation-attr-form light-iview-select">
                         <span class="manual-filter-label">{{$t('evaluation.filter.period')}}:</span>
                         <Select v-model="manualFilter.periodCode[0]" :disabled="!isPeriod || isSchool"  size="small"  style="display: inline-block;width:100px"  @on-change="checkAll($event,'periodCode')">
                             <Option v-for="(item,index) in schoolPeriod" :value="item.id" :key="index">{{ item.name }}</Option>

+ 12 - 10
TEAMModelOS/ClientApp/src/view/learnactivity/ManualPaper.less

@@ -1,21 +1,22 @@
 @main-bgColor: rgb(40,40,40); //主背景颜色
-@borderColor: #424242;
-@primary-textColor: #fff; //文本主颜色
-@second-textColor: #a5a5a5; //文本副级颜色
+@borderColor: var(--border-color);
+@primary-textColor: var(--primary-text-color); //文本主颜色
+@second-textColor: var(--second-text-color); //文本副级颜色
 @primary-fontSize: 14px;
 @second-fontSize: 16px;
 
 .manual-paper-container {
     width: 100%;
     height: 100%;
-    background: #404040;
+    // background: #404040;
+    border: 1px solid @borderColor;
     position: relative;
-    color:white;
+    color: @primary-textColor;
     padding-bottom:30px;
 }
 .manual-filter-wrap {
     width: 100%;
-    border-bottom: 1px dashed #606060;
+    border-bottom: 1px dashed @borderColor;
     padding: 15px 15px 0px 15px;
     color: white;
     display: flex;
@@ -49,14 +50,14 @@
     margin-left: 15px;
     margin-right: 15px;
     margin-bottom: 5px;
-    background: #505050;
+    // background: #505050;
     align-items: start;
     border-radius: 2px;
     position: relative;
 
     &:hover {
-        background: #606060;
-        box-shadow: 0px 4px 5px #191919;
+        background: var(--hover-text-color);
+        // box-shadow: 0px 4px 5px #191919;
     }
 
     &-name {
@@ -79,10 +80,11 @@
         .info-item {
             font-size: 12px;
             padding: 0 10px;
+            color: @second-textColor;
 
             .info-bold {
                 font-weight: bold;
-                color: #CCCCCC;
+                color: @primary-textColor;
             }
         }
 

+ 30 - 29
TEAMModelOS/ClientApp/src/view/learnactivity/MgtSchoolEva.less

@@ -1,5 +1,5 @@
 @main-bgColor: rgb(40,40,40); //主背景颜色
-@borderColor: #424242;
+@borderColor: var(--border-color);
 @primary-textColor: #fff; //文本主颜色
 @second-textColor: #a5a5a5; //文本副级颜色
 @primary-fontSize: 14px;
@@ -12,16 +12,13 @@
     flex-direction: row;
 
     .evaluation-list-wrap {
-        /*width: 400px;*/
         width:100%;
         height: 100%;
-        /*border-right: 1px solid @borderColor;*/
-        padding-left: 15px;
-        color: white;
+        padding-left: 0px;
+        color: var(--second-text-color);
     }
 
     .evaluation-detail-wrap {
-        /*width: ~"calc(100% - 400px)";*/
         width:100%;
         height: 100%;
         padding-left: 15px;
@@ -44,8 +41,9 @@
         width: 100%;
         height: 45px;
         line-height: 45px;
-        border-bottom: 1px solid @borderColor;
-        color: @second-textColor;
+        padding-left: 15px;
+        border-bottom: 1px solid var(--border-color);
+        // color: @second-textColor;
     }
 
     .evaluation-list-main {
@@ -53,18 +51,27 @@
         height: ~"calc(100% - 45px)";
 
         .evaluation-item {
-            border-bottom: 1px solid @borderColor;
-            padding: 15px 10px 15px 0px;
+            border-bottom: 1px solid var(--border-color);
+            padding: 15px 10px 15px 15px;
             cursor: pointer;
 
+            &:hover{
+                background: var(--hover-text-color);
+            }
+
             .evaluation-name {
                 font-size: 16px;
+                color: var(--primary-text-color);
             }
 
             .evaluation-type {
-                color: #AAA;
+                color: @second-textColor;
                 margin-top: 8px;
                 font-size: 12px;
+
+                .ivu-icon{
+                    color: var(--assist-color-light);
+                }
             }
 
             .evaluation-type span {
@@ -80,7 +87,7 @@
         width: 100%;
         height: 45px;
         line-height: 45px;
-        border-bottom: 1px solid @borderColor;
+        border-bottom: 1px solid var(--border-color);
         color: @second-textColor;
 
         .edit-evaluation {
@@ -96,7 +103,6 @@
         }
 
         .evalustion-bar-item {
-            margin-right: 10px;
             display: inline-block;
             cursor: pointer;
             line-height: 38px;
@@ -115,13 +121,13 @@
         .evalustion-base-attr {
             width: 350px;
             height: 100%;
-            border-right: 1px solid @borderColor;
+            border-right: 1px solid var(--border-color);
 
             .evalustion-base-attr-header {
                 height: 45px;
                 line-height: 45px;
                 color: @second-textColor;
-                border-bottom: 1px solid @borderColor;
+                border-bottom: 1px solid var(--border-color);
                 margin-bottom: 25px;
             }
 
@@ -134,10 +140,10 @@
         .evaluation-test-paper-header {
             height: 35px;
             line-height: 35px;
-            color: #a5a5a5;
-            /* border-bottom: 1px solid #424242; */
-            margin-bottom: 5px;
-            margin-top: 5px;
+            color: @second-textColor;
+            border-bottom: 1px solid @borderColor;
+            margin: 5px 0 5px 15px;
+            padding-left: 15px;
         }
     }
 }
@@ -145,7 +151,7 @@
 .subject-item {
     display: inline-block;
     margin-right: 15px;
-    color: #a5a5a5;
+    color: var(--second-text-color);
     cursor: pointer;
     line-height: 22px;
     min-width: 45px;
@@ -156,9 +162,8 @@
 }
 
 .subject-item-active {
-    color: @primary-textColor;
-    border-bottom: 2px solid white;
-    // font-weight: 500;
+    color: var(--primary-text-color);
+    border-bottom: 2px solid #70B1E7;
 }
 
 .test-paper-detail {
@@ -182,12 +187,8 @@
     margin-right: 20px;
     margin-top: 12px;
     cursor: pointer;
-    color: white;
+    color: var(--normal-icon-color);
     font-size: 18px;
-    &:hover{
-        color:aqua;
-        /*display:flex;*/
-    }
 }
 
 .test-paper-detail .back-to-top {
@@ -238,7 +239,7 @@
     margin: 10px 5px;
 }
 .ev-info-tag{
-    color: #dadada;
+    color: var(--label-text-color);
     border: 1px solid #a5a5a5;
     border-radius: 2px;
     padding: 1px 2px;

+ 4 - 5
TEAMModelOS/ClientApp/src/view/learnactivity/MgtSchoolEva.vue

@@ -1,5 +1,5 @@
 <template>
-    <div class="manage-evaluation-container dark-iview-split">
+    <div class="manage-evaluation-container custom-iview-split">
         <Loading :top="200" type="1" style="text-align:center" v-show="isLoading"></Loading>
         <Split v-model="split1">
             <!--评测列表-->
@@ -21,7 +21,7 @@
                         <Icon type="md-create" v-show="evaListShow.length && evaListShow[curEvaIndex] && evaListShow[curEvaIndex].progress == 'pending'" class="to-create-icon" @click="editEvaluation" :title="$t('learnActivity.mgtScEv.edit')" v-if="$access.can('admin.*|schoolAc-upd')" />
                         <!-- 筛选 -->
                         <Poptip style="float:right" trigger="click" :offset="-10" theme="light">
-                            <Icon type="ios-funnel" class="to-create-icon" :color="filter.status || filter.type || filter.mode ? '#2d8cf0':'#fff'" />
+                            <Icon type="ios-funnel" class="to-create-icon"/>
                             <div slot="content">
                                 <div class="filter-item">
                                     <span>{{$t('learnActivity.mgtScEv.ftStatus')}}</span>
@@ -47,7 +47,7 @@
                         </Poptip>
                         <Icon type="md-search" class="to-create-icon" @click="isSearch = !isSearch" :title="$t('learnActivity.mgtScEv.search')" />
                     </div>
-                    <div v-else class="dark-iview-input" style="float:right;width:calc(100% - 150px);padding-right:10px;">
+                    <div v-else style="float:right;width:calc(100% - 150px);padding-right:10px;">
                         <Input icon="ios-close" v-model="keyword" :placeholder="$t('schoolBaseInfo.codeSearchHolder')" autofocus style="width:100%" @on-click="closeKeySearch" @on-change="filterByName" />
                     </div>
                 </div>
@@ -113,7 +113,6 @@
                     <span v-show="isDev" :class="curBarIndex == 2 ? 'evalustion-bar-item line-bottom-active line-bottom':'evalustion-bar-item line-bottom'" @click="selectBar(2)">
                         {{$t('learnActivity.mgtScEv.markSetting')}}
                     </span>
-                    <span v-show="isDev" style="color:#1cc0f3;margin-left:-10px">({{$t('system.menu.preview')}})</span>
 
                     <!--取消一键作答和一键评分功能-->
                     <!--<div style="float:right;" v-if="$access.ability('admin','mock-eva').validateAll" v-show="evaListShow[curEvaIndex] && evaListShow[curEvaIndex].progress == 'going'">
@@ -660,7 +659,7 @@ export default {
 }
 .sort-dropdown {
     .title {
-        color: white;
+        color: var(--primary-text-color);
         font-size: 14px;
     }
     .ivu-select-dropdown {

+ 1 - 4
TEAMModelOS/ClientApp/src/view/learnactivity/Scoring.less

@@ -44,15 +44,12 @@
 }
 .scoring-main-wrap {
     width: ~"calc(100% - 10px)";
-    // width: 100%;
     height: ~"calc(100% - 45px)";
 }
 
 .ev-target-box {
-    // margin-top: 20px;
     width: ~"calc(100% - 10px)";
-    color: #ffffff;
-    background: rgba(50, 50, 50, 1);
+    color: var(--label-text-color);
     padding: 10px 10px 10px 5px;
     position: sticky;
     top: 0px;

+ 55 - 51
TEAMModelOS/ClientApp/src/view/learnactivity/Scoring.vue

@@ -1,19 +1,19 @@
 <template>
-    <div class="ev-scoring dark-iview-table">
+    <div class="ev-scoring">
         <vuescroll ref="score-main-warp">
             <SimpleAnalysis :examInfo="examInfo" v-show="!showTest" :overviewInfo="overviewInfo"></SimpleAnalysis>
-            <div class="ev-target-box dark-iview-select dark-iview-cascader">
+            <div class="ev-target-box">
                 <!-- 筛选班级 -->
                 <span>{{$t('learnActivity.score.classLabel')}}</span>
-                <Cascader size="small" v-model="chooseTarget" :data="targetsData" transfer @on-change="targetChange" style="width:200px;display:inline-block;margin-right:15px"></Cascader>
+                <Cascader v-model="chooseTarget" :data="targetsData" transfer @on-change="targetChange" style="width:200px;display:inline-block;margin-right:15px"></Cascader>
                 <!-- 筛选学科 应该根据owner判断是否需要筛选学科 -->
                 <span class="filter-label" v-if="examInfo.owner == 'school'">{{$t('learnActivity.score.subjectLabel')}}</span>
-                <Select filterable v-model="chooseSubject" class="filter-select" size="small" @on-change="getCurPaper" v-if="examInfo.owner == 'school'" transfer>
+                <Select filterable v-model="chooseSubject" class="filter-select" @on-change="getCurPaper" v-if="examInfo.owner == 'school'" transfer>
                     <Option v-for="(item,index) in examInfo.subjects" :value="item.id" :key="index">{{ item.name }}</Option>
                 </Select>
                 <!-- 筛选学生 -->
                 <span style="margin-left:5px" v-show="showTest && markType== 'byStu'">{{$t('learnActivity.score.stuLabel')}}</span>
-                <Select v-model="chooseStudent.id" label-in-value class="filter-select" style="width:140px;" size="small" @on-change="setStuInfo" v-show="showTest && markType== 'byStu'" transfer>
+                <Select v-model="chooseStudent.id" label-in-value class="filter-select" style="width:140px;"  @on-change="setStuInfo" v-show="showTest && markType== 'byStu'" transfer>
                     <Option v-for="(item,index) in tableData" :value="item.id" :key="index">
                         <span class="select-status-tag" :style="{'background':getStudentStatus(item) == 1 ? '#ed4014' : getStudentStatus(item) == 2 ? '#ff9900' : '#19be6b'}"></span>
                         {{ item.name }}
@@ -46,16 +46,16 @@
                     <Loading slot="loading" :top="-50"></Loading>
                 </Table>
                 <!-- 分页 -->
-                <div class="page-wrap dark-ivew-select" v-show="!showTest">
+                <div class="page-wrap" v-show="!showTest">
                     <Page show-total size="small" :current="currentPage" :total="studentScore.length" :page-size="pageSize" :page-size-opts="pageSizeOpts" @on-change="pageChange" @on-page-size-change="pageSizeChange" show-sizer />
                 </div>
                 <!-- 按人批阅 -->
-                <div class="dark-iview-table scoring-handle-box" v-show="showTest && markType== 'byStu'">
+                <div class="scoring-handle-box" v-show="showTest && markType== 'byStu'">
                     <ByStuMark @toggleMarkType="(data)=>{ markType = data }" @updScore="updScore" ref="byStuMark" :defaultIndex="defaultIndex" :examId="examInfo.id" :owner="examInfo.owner" :examScope="examInfo.scope" :paper="paperInfo" :pStudentAnswer="chooseStudent" :subjectId="chooseSubject" @nextStu="getNextStu" style="color:#515a6e;"></ByStuMark>
                     <Loading :top="200" type="1" style="text-align:center" v-show="dataLoading"></Loading>
                 </div>
                 <!-- 按题批阅 -->
-                <div class="dark-iview-table scoring-handle-box" v-show="showTest && markType== 'byQu'">
+                <div class="scoring-handle-box" v-show="showTest && markType== 'byQu'">
                     <ByQuMark :paper="paperInfo" :examInfo="examInfo" :stusInfo="studentScore" :classId="chooseClass" :subjectId="chooseSubject" @toggleMarkType="(data)=>{ markType = data }"></ByQuMark>
                     <Loading :top="200" type="1" style="text-align:center" v-show="dataLoading"></Loading>
                 </div>
@@ -716,59 +716,61 @@ export default {
 @import "./Scoring.less";
 </style>
 <style lang="less">
-.scoring-main-wrap .ivu-table-fixed-body {
-    background: #353535;
-    // background: #2b2b2e;
-    // max-height: 653px;
-}
-.scoring-main-wrap .ivu-table-tip {
-    position: relative;
-    z-index: 9999;
-}
-.scoring-main-wrap .ivu-table-fixed-right::before,
-.scoring-main-wrap .ivu-table-fixed::before {
-    display: none;
-}
-.scoring-main-wrap .ivu-table-fixed-header thead tr th {
-    background: #353535;
-    // background: #2b2b2e;
-    border-color: #606060;
-    color: white;
-}
-.scoring-main-wrap {
-    .ivu-table-header thead tr th {
-        // background: #353535;
-        background: rgba(53, 53, 53, 0.5);
-    }
-    .ivu-table td {
-        // background: #353535;
-        background: rgba(53, 53, 53, 0.5);
-    }
-}
+// .scoring-main-wrap .ivu-table-fixed-body {
+//     background: #353535;
+// }
+// .scoring-main-wrap .ivu-table-tip {
+//     position: relative;
+//     z-index: 9999;
+// }
+// .scoring-main-wrap .ivu-table-fixed-right::before,
+// .scoring-main-wrap .ivu-table-fixed::before {
+//     display: none;
+// }
+// .scoring-main-wrap .ivu-table-fixed-header thead tr th {
+//     background: #353535;
+//     border-color: #606060;
+//     color: white;
+// }
+// .scoring-main-wrap {
+//     .ivu-table-header thead tr th {
+//         // background: #353535;
+//         background: rgba(53, 53, 53, 0.5);
+//     }
+//     .ivu-table td {
+//         // background: #353535;
+//         background: rgba(53, 53, 53, 0.5);
+//     }
+// }
 .page-wrap .ivu-page-item {
-    background: rgba(40, 40, 40, 0.5);
+    // background: rgba(40, 40, 40, 0.5);
 }
 
 .page-wrap .ivu-page-item:hover {
-    border-color: #e4eadb;
+    border-color: #2d8cf0;
 }
 
 .page-wrap .ivu-page-item-active {
-    background: #bfbfb9;
+    // background: #bfbfb9;
+    background: #2d8cf0;
+
+    a{
+        color: #FFF !important;
+    }
 }
 
 .page-wrap .ivu-page-item a {
-    color: #f1f1f1;
+    color: #7a7a7a;
 }
 
 .page-wrap .ivu-page-next,
 .page-wrap .ivu-page-prev {
-    background: rgba(0, 0, 0, 0);
+    // background: rgba(0, 0, 0, 0);
 }
 
 .page-wrap .ivu-page-next a,
 .page-wrap .ivu-page-prev a {
-    color: #e4eadb;
+    // color: #e4eadb;
 }
 
 .page-wrap .ivu-page-next:hover,
@@ -776,13 +778,15 @@ export default {
     border-color: #e4eadb;
 }
 
-.page-wrap .ivu-page-item-active,
-.page-wrap .ivu-page-item:hover a {
-    border-color: #e4eadb;
+.page-wrap .ivu-page-item:hover {
+    background: #2d8cf0;
+    a{
+        color: #FFF;
+    }
 }
 
 .page-wrap .ivu-page-item-active a {
-    color: #595959;
+    // color: #595959;
 }
 .page-wrap
     .ivu-select-small.ivu-select-single
@@ -794,10 +798,10 @@ export default {
 }
 .page-wrap .ivu-select-single .ivu-select-selection {
     height: 30px;
-    background: transparent;
-    border: 1px solid #595959;
-    box-shadow: none;
-    color: #cecece;
+    // background: transparent;
+    // border: 1px solid #595959;
+    // box-shadow: none;
+    // color: #cecece;
 }
 
 .page-wrap .ivu-select-single .ivu-select-placeholder {

+ 3 - 3
TEAMModelOS/ClientApp/src/view/learnactivity/echarts/AvgCompare.vue

@@ -63,7 +63,7 @@ export default {
                     "left": 0,
                     "top": 0,
                     "textStyle": {
-                        "color": "#FFF",
+                        "color": "#303030",
                         fontSize: 14
                     }
                 },
@@ -98,7 +98,7 @@ export default {
                     },
                     splitLine: {
                         lineStyle: {
-                            color: ['#505050']
+                            color: ['#AAA']
                         }
                     }
                 },
@@ -150,7 +150,7 @@ export default {
                         this.newOption.legend.data.push({
                             name: item.subjectId, //不显示班级名称
                             textStyle: {
-                                color: '#FFF'
+                                color: '#303030'
                             }
                         })
                     })

+ 1 - 1
TEAMModelOS/ClientApp/src/view/learnactivity/echarts/ScoreMatrix.vue

@@ -25,7 +25,7 @@ export default {
                     "left": "center",
                     "top": 0,
                     "textStyle": {
-                        "color": "#FFF",
+                        "color": "#303030",
                         fontSize: 14
                     }
                 },

+ 11 - 9
TEAMModelOS/ClientApp/src/view/learnactivity/markpaper/MarkData.vue

@@ -7,7 +7,7 @@
                     {{$t('learnActivity.mark.subData')}}
                     <span style="color:rgb(45, 183, 245)">(预览)</span>
                 </p>
-                <div class="setting-content dark-iview-table">
+                <div class="setting-content">
                     <Table :columns="subCol" :data="subData" class="sub-info-table">
                         <template slot-scope="{ row }" slot="scanPerc">
                             {{ `${row.scanNum}/${row.num}` }}
@@ -40,7 +40,7 @@
                     {{$t('learnActivity.mark.teaProgress')}}
                     <span style="color:rgb(45, 183, 245)">(预览)</span>
                 </p>
-                <div class="setting-content dark-iview-table">
+                <div class="setting-content">
                     <Table :columns="teaCol" :data="teaData" class="sub-info-table">
                         <template slot-scope="{ row }" slot="header">
                             <PersonalPhoto :name="row.name" :picture="row.picture" />
@@ -262,23 +262,25 @@ export default {
 }
 
 .setting-content {
-    background: #2b2a2f;
-    box-shadow: 1px 1px 13px #141414;
+    // background: #2b2a2f;
+    // box-shadow: 1px 1px 13px #141414;
     padding: 15px 10px;
     border-radius: 5px;
     margin-right: 12px;
     margin-top: 8px;
-    box-shadow: 0 26px 40px -24px rgb(30, 31, 33);
+    // box-shadow: 0 26px 40px -24px rgb(30, 31, 33);
 }
 .setting-item-wrap {
     margin-bottom: 10px;
     padding-right: 15px;
 }
 .block-title {
-    color: rgb(190, 190, 190);
+    color: var(--second-text-color);
     line-height: 12px;
-    padding-left: 4px;
+    padding-left: 10px;
     user-select: none;
+    border-left: 2px solid var(--tabs-bottom-color);
+    margin-left: 5px;
 }
 .count-wrap {
     flex: 1;
@@ -347,9 +349,9 @@ export default {
     height: 0px;
 }
 .sub-info-table .ivu-table td {
-    border-color: #323232;
+    // border-color: #323232;
 }
 .sub-info-table .ivu-table-header thead tr th {
-    border-color: #323232;
+    // border-color: #323232;
 }
 </style>

+ 16 - 16
TEAMModelOS/ClientApp/src/view/learnactivity/markpaper/MarkSetting.vue

@@ -1,9 +1,9 @@
 <template>
-    <div class="mark-setting-wrap dark-iview-form">
+    <div class="mark-setting-wrap">
         <div v-show="!isSetting" class="publish-status-box">
             <Icon type="ios-information-circle-outline" class="tips-icon" />
             <p class="status-text">
-                <span style="font-size:16px;color:white">{{$t('learnActivity.mark.noPublish')}}</span>
+                <span style="font-size:16px;">{{$t('learnActivity.mark.noPublish')}}</span>
             </p>
             <span class="setting-btn" @click="isSetting = !isSetting">{{$t('learnActivity.mark.publish')}}</span>
         </div>
@@ -28,7 +28,7 @@
                             <!-- 分配方式 -->
                             <Col :md="24" :lg="24" :xl="12" :xxl="8">
                             <FormItem :label="$t('learnActivity.mark.allocation')" class="setting-item-wrap" prop="mode">
-                                <RadioGroup v-model="setting.mode" style="color:white">
+                                <RadioGroup v-model="setting.mode">
                                     <Radio label="stu">
                                         {{$t('learnActivity.mark.allocationByStu')}}
                                         <Tooltip :content="$t('learnActivity.mark.byStuTips')">
@@ -48,7 +48,7 @@
                             <Col :md="24" :lg="24" :xl="12" :xxl="8">
                             <FormItem :label="$t('learnActivity.mark.markTimes')" class="setting-item-wrap" prop="num">
                                 <!-- <InputNumber :max="2" class="attr-value-wrap" :min="1" v-model="setting.point"></InputNumber> -->
-                                <RadioGroup v-model="setting.num" style="color:white">
+                                <RadioGroup v-model="setting.num">
                                     <Radio :label="1">{{$t('learnActivity.mark.markNum1')}}</Radio>
                                     <Radio :label="2" style="margin-left:0px">{{$t('learnActivity.mark.markNum2')}}</Radio>
                                     <Radio :label="3" style="margin-left:0px">{{$t('learnActivity.mark.markNum3')}}</Radio>
@@ -98,7 +98,7 @@
                             </Col>
                             <Col :md="24" :lg="24" :xl="24" :xxl="24" v-if="setting.mode == 'stu'">
                             <!-- 阅卷老师 -->
-                            <FormItem :label="$t('learnActivity.mark.markRole')" class="setting-item-wrap dark-iview-table" prop="markers">
+                            <FormItem :label="$t('learnActivity.mark.markRole')" class="setting-item-wrap" prop="markers">
                                 <Table :columns="teaCol" :data="markers" border :no-data-text="$t('learnActivity.mark.noTea')">
                                     <template slot-scope="{ row }" slot="header">
                                         <PersonalPhoto :name="row.name" :picture="row.picture" />
@@ -126,7 +126,7 @@
                             </Col>
                             <Col :md="24" :lg="24" :xl="24" :xxl="24" v-else>
                             <!-- 题目划块 -->
-                            <FormItem :label="$t('learnActivity.mark.quBlock')" class="setting-item-wrap dark-iview-table">
+                            <FormItem :label="$t('learnActivity.mark.quBlock')" class="setting-item-wrap">
                                 <Table :columns="blockCol" :data="quBlockData" border>
                                     <template slot-scope="{ row,index }" slot="action">
                                         <Button type="info" size="small" style="margin-right:10px" @click="editBlock(row)">
@@ -168,7 +168,7 @@
             <MarkData v-show="isShowData"></MarkData>
         </vuescroll>
         <!-- 按人分配设置阅卷老师 -->
-        <Modal v-model="addTeaStatus" :title="$t('learnActivity.mark.addTeaTitle')" class-name="dark-iview-modal dark-iview-table" @on-ok="okAddTea" :width="1000">
+        <Modal v-model="addTeaStatus" :title="$t('learnActivity.mark.addTeaTitle')" @on-ok="okAddTea" :width="1000">
             <Table ref="sltTea" :columns="teacherCol" :data="teacherList" style="margin-top:10px" @on-selection-change="(selection)=>{sltTeachers = selection}" height="600">
                 <template slot-scope="{ row }" slot="picture">
                     <PersonalPhoto :name="row.name" :picture="row.picture" />
@@ -179,7 +179,7 @@
             </Table>
         </Modal>
         <!-- 按题分配设置题块和老师 -->
-        <Modal v-model="setQuStatus" class-name="dark-iview-modal dark-iview-table" @on-ok="okSetQu" :width="1000" :loading="mLoading">
+        <Modal v-model="setQuStatus" @on-ok="okSetQu" :width="1000" :loading="mLoading">
             <Tabs value="name1" style="color:white">
                 <TabPane :label="$t('learnActivity.mark.quLabel')" name="name1">
                     <CheckboxGroup v-model="quIds" style="margin-left:10px">
@@ -1024,12 +1024,12 @@ export default {
 .publish-status-box {
     width: 360px;
     height: 315px;
-    background: #37363a;
+    // background: #37363a;
     margin: 60px auto;
     padding: 20px;
     border-radius: 20px;
     position: relative;
-    box-shadow: 0 0px 10px 0px rgb(0 0 0);
+    box-shadow: 0 0px 10px 0px #d5d5d5;
 
     &:hover {
         // background: #3c3c41;
@@ -1040,10 +1040,10 @@ export default {
         margin-top: 6%;
         font-size: 80px;
         margin-right: 5px;
-        color: #eeeeee;
+        // color: #eeeeee;
     }
     .status-text {
-        color: #ccc;
+        // color: #ccc;
         text-align: center;
         margin-top: 40px;
         font-size: 14px;
@@ -1088,7 +1088,7 @@ export default {
     cursor: pointer;
 }
 .filter-tab-item-active {
-    background: #2b2a2f;
+    background: #70B1E7;
     color: white;
 }
 .mark-setting-wrap {
@@ -1100,9 +1100,9 @@ export default {
 }
 
 .setting-content {
-    background: #2b2a2f;
-    box-shadow: 1px 1px 13px #141414;
-    // border: 1px solid rgba(98, 97, 101, 0.4);
+    // background: #2b2a2f;
+    // box-shadow: 1px 1px 13px #141414;
+    border-bottom: 1px solid var(--border-color);
     padding: 10px;
     border-radius: 5px;
     margin-right: 12px;

+ 2 - 2
TEAMModelOS/ClientApp/src/view/newcourse/CoursePlan.vue

@@ -21,7 +21,7 @@
                         <Icon type="md-search" class="action-btn-icon" @click="toggleSearch" />
                     </div>
                     <div v-else>
-                        <Input icon="ios-close" v-model="classFilter.keyWord" :placeholder="$t('cusMgt.searchHolder')" autofocus style="width:calc(100% - 100px);float:right;margin-top:6px;margin-right:8px" @on-click="toggleSearch" @on-change="onSearchClass" @on-enter="onSearchClass" />
+                        <Input class="light-iview-input" icon="ios-close" v-model="classFilter.keyWord" :placeholder="$t('cusMgt.searchHolder')" autofocus style="width:calc(100% - 100px);float:right;margin-top:6px;margin-right:8px" @on-click="toggleSearch" @on-change="onSearchClass" @on-enter="onSearchClass" />
                     </div>
                 </div>
                 <div class="class-list-content">
@@ -32,7 +32,7 @@
                                 <p class="class-name">{{item.name}}</p>
                                 <p class="head-teacher">
                                     <span>{{$t('cusMgt.roomType')}}</span>
-                                    <span class="primary-text-color" style="color:white">
+                                    <span class="primary-text-color">
                                         {{ item.openType == '1' ? $t('schoolBaseInfo.roomType1') : $t('schoolBaseInfo.roomType2')}}
                                     </span>
                                 </p>

+ 11 - 15
TEAMModelOS/ClientApp/src/view/newcourse/MyCourse.less

@@ -1,7 +1,6 @@
 @first-bgColor: #141414;
 @second-bgColor: #1b1b1b;
 @third-bgColor: #222222;
-@borderColor: #424242;
 @primary-textColor: #fff; //文本主颜色
 @second-textColor: #a5a5a5; //文本副级颜色
 @primary-fontSize: 14px;
@@ -16,12 +15,9 @@
     .course-list {
         width: 100%;
         height: 100%;
-        // border-right: 1px solid @borderColor;
-        padding-left: 10px;
     }
 
     .course-info-wrap {
-        // width: ~"calc(100% - 400px)";
         width: 100%;
         height: 100%;
         padding-left: 15px;
@@ -32,7 +28,7 @@
 .course-list-header {
     width: 100%;
     height: 45px;
-    border-bottom: 1px solid @borderColor;
+    border-bottom: 1px solid var(--border-color);
     line-height: 45px;
     color: white;
 
@@ -69,15 +65,15 @@
         color: @second-textColor;
         display: block;
         padding: 4px 0px 4px 15px;
-        border-bottom: 1px solid @borderColor;
+        border-bottom: 1px solid var(--border-color);
         font-weight: 800;
     }
 
     .course-list-item {
         width: 100%;
-        padding: 10px 0px 10px 5px;
+        padding: 10px 0px 10px 15px;
         color: @second-textColor;
-        border-bottom: 1px solid @borderColor;
+        border-bottom: 1px solid var(--border-color);
         position: relative;
         cursor: pointer;
 
@@ -114,7 +110,7 @@
     width: 100%;
     height: 45px;
     line-height: 45px;
-    border-bottom: 1px solid @borderColor;
+    border-bottom: 1px solid var(--border-color);
 
     .setting-label {
         color: @second-textColor;
@@ -158,7 +154,7 @@
 .tea-class-item{
     padding: 10px;
     color: white;
-    border-bottom: 1px solid @borderColor;
+    border-bottom: 1px solid var(--border-color);
     cursor: pointer;
     .class-attr-item{
         margin: 5px 0px;
@@ -267,7 +263,7 @@
         width: 100%;
         height: 45px;
         line-height: 45px;
-        border-bottom: 1px solid @borderColor;
+        border-bottom: 1px solid var(--border-color);
 
         .add-classroom-icon {
             float: right;
@@ -288,7 +284,7 @@
             padding: 10px 0px 10px 10px;
             width: 100%;
             cursor: pointer;
-            border-bottom: 1px solid @borderColor;
+            border-bottom: 1px solid var(--border-color);
             color: @second-textColor;
             position: relative;
 
@@ -311,7 +307,7 @@
         width: 100%;
         height: 45px;
         line-height: 45px;
-        border-bottom: 1px solid @borderColor;
+        border-bottom: 1px solid var(--border-color);
 
         .course-classroom-label {
             margin-right: 20px;
@@ -385,11 +381,11 @@
     color: #2d8cf0;
 }
 .cus-type-item{
+    margin-right: 20px;
+    margin-left: 10px;
     color: #a5a5a5;
     cursor: pointer;
     user-select: none;
-    line-height: 45px;
-    display: inline-block;
 }
 .create-list-title{
     font-size: 16px;

+ 3 - 3
TEAMModelOS/ClientApp/src/view/newcourse/MyCourse.vue

@@ -1,12 +1,12 @@
 <template>
-    <div class="my-course-container dark-iview-split">
+    <div class="my-course-container custom-iview-split">
         <Loading v-if="listLoading" bgColor="rgba(103, 103, 103, 0.27)"></Loading>
         <Split v-show="!isShowSchd" v-model="split1">
             <!--课程列表-->
             <div class="course-list" slot="left">
                 <!-- 列表头部 -->
-                <div class="course-list-header">
-                    <span v-for="(item,index) in cusType" :key="index" @click="tabClick(item.value)" :class="['cus-type-item','line-bottom', item.value == listType ? 'line-bottom-active':'']">
+                <div class="course-list-header tab-box">
+                    <span v-for="(item,index) in cusType" :key="index" @click="tabClick(item.value)" :class="{ active: item.value == listType }" class="cus-type-item pane">
                         {{item.label}}
                     </span>
                     <div style="margin-top:0px;float:right;">

+ 2 - 2
TEAMModelOS/ClientApp/src/view/newcourse/NewCusMgt.vue

@@ -1,5 +1,5 @@
 <template>
-    <div class="manage-course-container">
+    <div class="manage-course-container custom-iview-split">
         <Loading v-if="listLoading" bgColor="rgba(103, 103, 103, 0.27)"></Loading>
         <!-- 头部 -->
         <div class="mgt-course-header">
@@ -37,7 +37,7 @@
                         <Icon class="action-btn-icon" v-if="$access.can('admin.*|course-upd')" type="md-add" @click="showAddCourse(0)" />
                         <Icon class="action-btn-icon" type="ios-search" @click="isSearch = true" />
                     </div>
-                    <Input v-else icon="ios-close" v-model="keyWord" :placeholder="$t('cusMgt.searchHolder')" @on-click="closeSearch" style="float:right;width: 200px;" @on-change="searchCourse" />
+                    <Input v-else class="light-iview-input" icon="ios-close" v-model="keyWord" :placeholder="$t('cusMgt.searchHolder')" @on-click="closeSearch" style="float:right;width: 200px;" @on-change="searchCourse" />
                 </div>
                 <div class="cus-list-content">
                     <vuescroll>

+ 2 - 11
TEAMModelOS/ClientApp/src/view/notify/NotifyMgt.vue

@@ -1,7 +1,7 @@
 <template>
     <div class="notify-mgt-container">
-        <div class="notify-filter-wrap custom-check-box">
-            <Input search v-model="keyword" :placeholder="$t('notify.search')" class="keyword-search" @on-change="searchNotice" />
+        <div class="notify-filter-wrap">
+            <Input search v-model="keyword" :placeholder="$t('notify.search')" class="keyword-search light-iview-input" @on-change="searchNotice" />
             <span class="keyword-search">
                 <Checkbox v-model="publish" @on-change="toggleNoticeStatus" :true-value="0" :false-value="1" style="margin-left:30px">
                     {{$t('notify.draft')}}
@@ -157,13 +157,4 @@ export default {
 </script>
 <style lang="less" scoped>
 @import "./NotifyMgt.less";
-</style>
-
-<style lang="less">
-.notify-filter-wrap{
-    .ivu-input{
-        border: none;
-        background: var(--input-bg-color);
-    }
-}
 </style>

+ 2 - 2
TEAMModelOS/ClientApp/src/view/schoolmgmt/RoomMgt/RoomMgt.vue

@@ -1,5 +1,5 @@
 <template>
-    <div class="class-room-container">
+    <div class="class-room-container custom-iview-split">
         <Split v-model="split1">
             <div class="class-list-wrap" slot="left">
                 <!--教室列表头部-->
@@ -12,7 +12,7 @@
                         <Icon v-if="$access.can('admin.*|classroom-upd')" class="action-btn-icon" type="md-add" @click="addClassroom()" />
                     </div>
                     <div v-else style="float:right;width:calc(100% - 100px);padding-right:10px;">
-                        <Input icon="ios-close" v-model="keyword" :placeholder="$t('schoolBaseInfo.codeSearchHolder')" autofocus style="width:100%" @on-click="closeKeySearch" @on-change="filterClassname" />
+                        <Input icon="ios-close" v-model="keyword" class="light-iview-input" :placeholder="$t('schoolBaseInfo.codeSearchHolder')" autofocus style="width:100%" @on-click="closeKeySearch" @on-change="filterClassname" />
                     </div>
                 </div>
                 <!-- 排序条件 -->

+ 1 - 19
TEAMModelOS/ClientApp/src/view/schoolmgmt/SystemSetting/SystemSetting.less

@@ -26,25 +26,7 @@
         }
     }
 }
-.tab-box {
-    display: inline-block;
-    width: 30%;
-    min-width: 303px;
-    .pane{
-        margin-right: 50px;
-        color: #777777;
-        line-height: 50px;
-        padding: 5px 0;
-        cursor: pointer;
-        vertical-align: middle;
-        padding: 0 10px 5px;
-        &.active{
-            font-weight: bold;
-            color: var(--primary-text-color);
-            border-bottom: 2px var(--tabs-bottom-color) solid;
-        }
-    }
-}
+
 .base-info-item{
     width: 766px;
     margin: 0px auto;

+ 2 - 2
TEAMModelOS/ClientApp/src/view/schoolmgmt/SystemSetting/SystemSetting.vue

@@ -13,7 +13,7 @@
             <Button v-if="$access.ability('admin','schoolSetting-upd').validateAll" class="school-tools" :loading="isLoading" :disabled="!updated" icon="ios-albums-outline" @click.stop="saveData()">{{$t('schoolBaseInfo.saveInfo')}}</Button>
         </div>
         <!-- 通用设置 -->
-        <div class="sm-system-body base-info-wrap" v-show="tab == 'common'">
+        <div class="sm-system-body base-info-wrap light-iview-input light-iview-select" v-show="tab == 'common'">
             <!-- 校徽区域 -->
             <div class="base-info-item">
                 <span class="setting-label"></span>
@@ -56,7 +56,7 @@
 
         </div>
         <!-- 学段管理 -->
-        <div class="sm-system-body disabled-iview-select text-cursor-disabled" v-show="tab == 'period'">
+        <div class="sm-system-body custom-iview-split disabled-iview-select text-cursor-disabled" v-show="tab == 'period'">
             <Split v-model="split1">
                 <!--学段列表-->
                 <div slot="left" class="period-wrap">

+ 0 - 19
TEAMModelOS/ClientApp/src/view/student-account/Index.less

@@ -22,25 +22,6 @@
     height: 50px;
     border-bottom: 1px solid var(--border-color);
     padding: 0 20px;
-    .tab-box {
-        display: inline-block;
-        width: 30%;
-        min-width: 303px;
-        .pane{
-            margin-right: 50px;
-            color: var(--second-text-color);
-            line-height: 50px;
-            padding: 5px 0;
-            cursor: pointer;
-            vertical-align: middle;
-            user-select: none;
-            &.active{
-                font-weight: bold;
-                color: var(--primary-text-color);
-                border-bottom: 2px var(--tabs-bottom-color) solid;
-            }
-        }
-    }
 }
 .class-mgt-wrap{
     height: ~"calc(100% - 50px)";

+ 4 - 4
TEAMModelOS/ClientApp/src/view/student-account/IndexIview.less

@@ -6,12 +6,12 @@
     // border: 1px solid var(--border-color);
 }
 .sc-menu .ivu-input{
-    background: var(--input-bg-color);
-    border: none;
+    // background: var(--input-bg-color);
+    // border: none;
 }
 .sc-menu .ivu-select-selection{
-    border: none;
-    background: var(--input-bg-color);
+    // border: none;
+    // background: var(--input-bg-color);
 }
 .sc-container .ivu-input:focus, .sc-container .ivu-input:hover {
     border-color: #57A3F3 !important;

+ 9 - 9
TEAMModelOS/ClientApp/src/view/student-account/class/ClassMgt.vue

@@ -3,7 +3,7 @@
         <Loading v-show="isListLoading"></Loading>
         <div class="class-list-wrap" id="class-mgt-list">
             <!--班级列表-->
-            <div class="class-list-header">
+            <div class="class-list-header light-iview-input">
                 <Dropdown class="sort-dropdown" trigger="click" placement="bottom-start" @on-click="function(e){ filterPeriod = e }" @on-visible-change="dropdownStates" v-if="$store.state.user.schoolProfile.school_base">
                     <span style="cursor: pointer;">
                         <b class="title">{{ filterPeriodName }}</b>
@@ -83,7 +83,7 @@
             </div>
             <div class="class-info-content">
                 <!--基础信息-->
-                <div v-show="currentTabIndex == 0" style="display:flex;flex-direction:row;width:100%;height:100%;">
+                <div v-show="currentTabIndex == 0" class="light-iview-select light-iview-input" style="display:flex;flex-direction:row;width:100%;height:100%;">
                     <!--班级属性-->
                     <div class="class-attr-wrap disabled-iview-select">
                         <vuescroll>
@@ -966,18 +966,18 @@ export default {
 
 .class-attr-wrap .ivu-input {
     width: calc(100% - 10px);
-    background: var(--input-bg-color);
-    border: none;
+    /* background: var(--input-bg-color); */
+    /* border: none; */
     border-radius: 0px;
     font-size: 16px;
-    color: var(--primary-text-color);
+    /* color: var(--primary-text-color); */
     margin-left: 2px;
     /* border-bottom: 1px solid var(--border-color); */
 }
 
 .class-attr-wrap .ivu-select {
     width: calc(100% - 10px);
-    color: var(--primary-text-color);
+    /* color: var(--primary-text-color); */
     
 }
 
@@ -987,9 +987,9 @@ export default {
 
 .class-attr-wrap .ivu-select-selection {
     /* background: none; */
-    border: none;
+    /* border: none; */
     /* border-color: var(--border-color); */
-    background: var(--input-bg-color);
+    /* background: var(--input-bg-color); */
 }
 
 .class-attr-wrap .ivu-divider {
@@ -1013,7 +1013,7 @@ export default {
 
 .sort-dropdown {
     .title {
-        // color: white;
+        color: var(--primary-text-color);
         font-size: 14px;
     }
     .ivu-select-dropdown {

+ 2 - 2
TEAMModelOS/ClientApp/src/view/student-account/stuMgt/StuMgt.vue

@@ -5,7 +5,7 @@
     <div>
         <!--菜单栏-->
         <div class="sc-menu">
-            <div class="sc-menu-left">
+            <div class="sc-menu-left light-iview-input light-iview-select">
                 <!-- 學制Select -->
                 <Select v-model="searchPeriod" style="width: 100px" :placeholder="$t('stuAccount.periodHolder')" @on-change="filterData">
                     <Option v-for="(item, index) in periods" :value="item.id" :key="index">{{ item.name }}</Option>
@@ -22,7 +22,7 @@
                 <!-- 字串模糊搜尋 -->
                 <Input v-model="searchText" clearable :placeholder="$t('stuAccount.searchHolder')" style="width: 152px; margin-left: 10px" search @on-search="filterData" @on-clear="filterData" />
                 <!-- 筛选未关联班级学生 -->
-                <div style="display:inline-block;" class="custom-check-box">
+                <div style="display:inline-block;user-select: none;">
                     <Checkbox v-model="searchClass" true-value="noclass" false-value="" label="noclass" @on-change="filterData" style="margin-left:10px">
                         {{$t('stuAccount.filterNoClass')}}
                     </Checkbox>

+ 1 - 1
TEAMModelOS/ClientApp/src/view/syllabus/Syllabus.vue

@@ -1,5 +1,5 @@
 <template>
-	<div class="syllabus-container">
+	<div class="syllabus-container light-iview-select light-iview-input">
 		<Loading v-if="isLoading" hideMask></Loading>
 		<div class="syllabus-header">
 			<div class="period-select" v-if="isSchool">

+ 2 - 43
TEAMModelOS/ClientApp/src/view/teachcontent/index.less

@@ -48,47 +48,6 @@
     margin-right: 20px;
 }
 .teach-content-top {
-    .tab-box {
-        display: inline-block;
-        width: 25%;
-        padding-left: 25px;
-
-        span {
-            margin-right: 30px;
-            color: @second-textColor;
-            font-size: @primary-fontSize;
-            font-weight: bold;
-            padding: 5px 0;
-            cursor: pointer;
-            line-height: 50px;
-            position: relative;
-
-            &::before {
-                content: '';
-                position: absolute;
-                left: 0;
-                bottom: 0;
-                width: 100%;
-                height: 2px;
-                background-color: white;
-                transform-origin: bottom right;
-                transform: scaleX(0);
-            }
-        }
-
-        .tab-active {
-            color: @primary-textColor;
-            font-size: 16px;
-            transition: font-size 0.1s ease-in-out;
-        }
-
-        .tab-active::before {
-            transition: transform 0.3s ease-in-out;
-            transform: scaleX(1);
-            transform-origin: bottom left;
-        }
-    }
-
     .upload-box {
         display: inline-block;
         text-align: right;
@@ -134,8 +93,8 @@
                 width: 100%;
                 height: 10px;
                 border-radius: 5px;
-                // background: white;
-                border: 1px solid #757575;
+                background: #f1f1f1;
+                // border: 1px solid #757575;
                 overflow: hidden;
 
                 .percent-item-span {

+ 2 - 2
TEAMModelOS/ClientApp/src/view/teachcontent/index.vue

@@ -83,7 +83,7 @@
             <!--文件表格列表-->
             <div class="content-file-list-box">
                 <!--筛选、操作域-->
-                <div class="content-file-filter">
+                <div class="content-file-filter light-iview-input">
                     <!-- 学段筛选条件 -->
                     <Dropdown class="sort-dropdown" trigger="click" placement="bottom-start" @on-click="function(e){ filterPeriod = e }" @on-visible-change="dropdownStates" v-if="schoolBase && schoolBase.period && routerScope == 'school'">
                         <span style="cursor: pointer;">
@@ -1343,7 +1343,7 @@ export default {
 </style>
 <style>
 .content-file-filter .ivu-input {
-    background: none;
+    /* background: none; */
     border-radius: 16px;
     /* color: white; */
 }

+ 1 - 1
TEAMModelOS/ClientApp/src/view/teachermgmt/Index.vue

@@ -14,7 +14,7 @@
     <div class="mgmt-top">
       <div class="tab-box">
         <span class="pane" @click="paneBtn('userList')" :class="{ active: compts === 'userList' }">{{ $t('teachermgmt.page.text1') }}</span>
-        <!-- <span class="pane" @click="paneBtn('Group')" :class="{ active: compts === 'Group' }">{{ $t('teachermgmt.page.text3') }}</span> -->
+        <span class="pane" @click="paneBtn('Group')" :class="{ active: compts === 'Group' }">{{ $t('teachermgmt.page.text3') }}</span>
         <span v-if="$access.can('admin.*|teacher-upd')" class="pane" @click="paneBtn('personnel')" :class="{ active: compts === 'personnel' }">{{ $t('teachermgmt.page.text2') }} <Badge :count="requestedUserCount" class-name="badgesty"></Badge></span>
       </div>
     </div>

+ 17 - 5
TEAMModelOS/ClientApp/src/view/teachermgmt/components/group/Group.less

@@ -79,8 +79,8 @@
         border-bottom-left-radius: 100%;
         position: absolute;
         left: 0px;
-        top: -45px;
-        opacity: 0.4;
+        top: -42px;
+        opacity: 0.2;
     }
     .group-img-end {
         display: none;
@@ -120,7 +120,7 @@
     color: #1e1f24;
 }
 .list-group{
-    height: 320px;
+    height: 300px;
     position: relative;
 
 }
@@ -128,8 +128,8 @@
     position: absolute;
     background: white;
     // z-index: 99999;
-    right: -8px;
-    top: -153px;
+    right: -12px;
+    top: -155px;
     display: block;
     width: 24px;
     height: 24px;
@@ -155,6 +155,7 @@
     // float: right;
 }
 .student-info-item {
+    position: relative;
     width: 95%;
     margin: 4px auto;
     background: #ffffff;
@@ -169,10 +170,21 @@
     &:hover {
         background: #e5e5e5;
     }
+    &:hover .remove-member-icon{
+        display: block;
+    }
 }
 .teacher-name{
     color: #606060;
     display: block;
     margin-left: 10px;
     line-height: 35px;
+}
+.remove-member-icon{
+    color: #ed4014;
+    position: absolute;
+    right: 10px;
+    top: 16px;
+    size: 16px;
+    display: none;
 }

+ 45 - 6
TEAMModelOS/ClientApp/src/view/teachermgmt/components/group/Group.vue

@@ -22,10 +22,11 @@
                     </div>
                     <div class="list-group">
                         <vuescroll :ops="options">
-                            <Draggable ghost-class="ghost" group="student" style="height:320px" :list="item.teacherInfos" :animation='200' @end="moveToGroup">
-                                <div class="student-info-item" v-for="(stuItem,index) in item.teacherInfos" :key="index">
-                                    <PersonalPhoto :name="stuItem.name" :picture="stuItem.picture"></PersonalPhoto>
-                                    <p class="teacher-name">{{`${stuItem.name}(${stuItem.id})`}}</p>
+                            <Draggable ghost-class="ghost" group="student" :disabled="true" style="height:300px" :list="item.teacherInfos" :animation='200' @end="moveToGroup">
+                                <div class="student-info-item" v-for="(teaItem,index) in item.teacherInfos" :key="index">
+                                    <PersonalPhoto :name="teaItem.name" :picture="teaItem.picture"></PersonalPhoto>
+                                    <p class="teacher-name">{{`${teaItem.name}(${teaItem.id})`}}</p>
+                                    <Icon type="md-remove-circle" class="remove-member-icon" @click="delMember(item.id,teaItem.id)" />
                                 </div>
                                 <EmptyData textContent="暂无老师" style="opacity:0.5" v-if="item.teachers.length == 0"></EmptyData>
                             </Draggable>
@@ -113,6 +114,43 @@ export default {
         }),
     },
     methods: {
+        //移除教研组成员
+        delMember(groupId, teaId) {
+            let gIndex = this.groupList.findIndex(item => {
+                return item.id == groupId
+            })
+            let teaIndex
+            if (gIndex > -1) {
+                teaIndex = this.groupList[gIndex].teacherInfos.findIndex(item => {
+                    return item.id == teaId
+                })
+            }
+
+            if (gIndex > -1 && teaIndex > -1) {
+                this.$Modal.confirm({
+                    title: '移除教师',
+                    content: `是否确认移除${this.groupList[gIndex].teacherInfos[teaIndex].name}?`,
+                    okText: '是',
+                    cancelText: '否',
+                    onOk: () => {
+                        this.groupList[gIndex].teacherInfos.splice(teaIndex, 1)
+                        this.groupList[gIndex].teachers.splice(teaIndex, 1)
+                        console.log(this.groupList[gIndex])
+                        this.$api.courseMgmt.upsertStulist({
+                            stuList: this.groupList[gIndex],
+                            scope: 'school'
+                        }).then(
+                            res => {
+                                this.$Message.success('添加成功')
+                            },
+                            err => {
+                                this.$Message.error('添加失败')
+                            }
+                        )
+                    }
+                })
+            }
+        },
         // 查询教研组
         getResearchGroup() {
             let params = {
@@ -193,8 +231,9 @@ export default {
 
             }
         },
-        moveToGroup() {
-
+        moveToGroup(data) {
+            console.log(this.groupList)
+            console.log('参数',data)
         },
         addMember(id) {
             this.curGroupId = id

+ 4 - 4
TEAMModelOS/ClientApp/src/view/teachermgmt/components/userList/Index.vue

@@ -8,9 +8,9 @@
     max-width: 300px;
     .ivu-input {
         font-size: 13px;
-        background-color: #f5f5f5;
-        border: none;
-        color: var(--primary-text-color);
+        // background-color: #f5f5f5;
+        // border: none;
+        // color: var(--primary-text-color);
     }
 }
 .multiSet {
@@ -223,7 +223,7 @@
         <!-- 使用者列表 -->
         <div class="userLists" :class="{ isSetting: authMulti || isOpenSpaceAuth == true }">
             <div class="serch-box">
-                <Input class="serch-inp" suffix="ios-search" :placeholder="$t('teachermgmt.blurryFilter')" v-model="blurryFilter" />
+                <Input class="serch-inp light-iview-input" suffix="ios-search" :placeholder="$t('teachermgmt.blurryFilter')" v-model="blurryFilter" />
                 <Button class="multiSet" type="text" @click="openSpaceAuth()" v-if="$access.can('admin.*|teacher-upd') && !authMulti && isOpenSpaceAuth == false">
                     <Icon class="share-icon" type="md-share" />&nbsp;{{ $t("serviceDriveAuth['分配教學空間']") }}
                 </Button>

+ 3 - 3
TEAMModelOS/TEAMModelOS.csproj

@@ -38,9 +38,9 @@
     <SpaRoot>ClientApp\</SpaRoot>
     <DefaultItemExcludes>$(DefaultItemExcludes);$(SpaRoot)node_modules\**</DefaultItemExcludes>
     <UserSecretsId>078b5d89-7d90-4f6a-88fc-7d96025990a8</UserSecretsId>
-    <Version>5.2109.3</Version>
-    <AssemblyVersion>5.2109.3.1</AssemblyVersion>
-    <FileVersion>5.2109.3.1</FileVersion>
+    <Version>5.2109.6</Version>
+    <AssemblyVersion>5.2109.6.1</AssemblyVersion>
+    <FileVersion>5.2109.6.1</FileVersion>
     <Description>TEAMModelOS(IES5)</Description>
     <PackageReleaseNotes>版本说明</PackageReleaseNotes>
   </PropertyGroup>