瀏覽代碼

Merge branch 'develop6.0-tmd' of http://52.130.252.100:10000/TEAMMODEL/TEAMModelOS into develop6.0-tmd

zhouj1203@hotmail.com 3 年之前
父節點
當前提交
1a9eb96a28

+ 10 - 0
TEAMModelOS/ClientApp/src/assets/student-web/component_styles/new-home-view.less

@@ -8,6 +8,7 @@
     .title {
         position: relative;
         top: 0px;
+        font-size: 16px;
     }
 
     .titleIcon {
@@ -448,6 +449,15 @@
             font-size: 14px;
         }
     }
+
+    .activity-num {
+        width: 25%;
+        border-radius: 5px;
+        background: #dcede5;
+        font-size: 18px;
+        margin: 0 10px;
+        padding: 5px 10px;
+    }
 }
 @media screen and (max-width: 1280px) and (min-width: 992px) {
     .calenderCard {

+ 2 - 2
TEAMModelOS/ClientApp/src/components/student-web/HomeView/hwMissionListCard.vue

@@ -2,10 +2,10 @@
     <div class="mission-list-card" style="overflow: auto; height: 77vh">
         
         <div class="list-block" :style="{'max-height':listblockHeight+'px'}">
-            <div class="list-date">
+            <!-- <div class="list-date">
                 <span>{{ $t("studentWeb.choiceTime") }}:</span>
                 <DatePicker type="date" :value="choDate" :options="options" @on-change="dateChange" :placeholder="$t('studentWeb.missionListCardPlace')" />
-            </div>
+            </div> -->
             <div>
                 <div class="no-data-text" v-if="!testData.length">
                     <img

+ 69 - 6
TEAMModelOS/ClientApp/src/components/student-web/HomeView/newHomeView.vue

@@ -75,10 +75,14 @@
                 <i-col :xs="24" :sm="24" :md="12" :lg="9">
                     <!-- 评测、作业 -->
                     <Card class="barCard" :bordered="true">
-                        <p slot="title" style="font-weight: bolder">
+                        <div slot="title" style="font-weight: bolder">
                             <svg-icon class="titleIcon" icon-class="selflearning" />
                             <span class="title">{{ $t("studentWeb.missionListCardTitle1") }}</span>
-                        </p>
+                            <div class="list-date" style="float: right;">
+                                <span>{{ $t("studentWeb.choiceTime") }}:</span>
+                                <DatePicker type="date" :value="choDate" :options="options" @on-change="choiceDate" :placeholder="$t('studentWeb.missionListCardPlace')" />
+                            </div>
+                        </div>
                         <hwMissionListCard :testData="examandHw" :choDate="choDate ? choDate : ''" @choiceDate="choiceDate" />
                     </Card>
                 </i-col>
@@ -89,7 +93,7 @@
                             <svg-icon class="titleIcon" icon-class="target" />
                             <span class="title">{{ $t("studentWeb.myProgressBar.tasksCompletionRate") }}</span>
                         </p>
-                        <div class="myProgressBar">
+                        <!-- <div class="myProgressBar">
                             <span class="myTestProgressNum">
                                 {{ finishAct }}
                                 <span style="font-size: 20px">&nbsp;%</span>
@@ -99,6 +103,24 @@
                                     :stroke-color="['#108ee9', '#87d068']"
                                     :hide-info="true"
                             />
+                        </div> -->
+                        <div style="display: flex;">
+                            <div class="activity-num">
+                                <p>{{ $t('studentWeb.home.exam') }}</p>
+                                <span>{{ noFinish.exam }}</span>
+                            </div>
+                            <div class="activity-num">
+                                <p>{{ $t('studentWeb.home.homework') }}</p>
+                                <span>{{ noFinish.homeWork }}</span>
+                            </div>
+                            <div class="activity-num">
+                                <p>{{ $t('studentWeb.home.vote') }}</p>
+                                <span>{{ noFinish.vote }}</span>
+                            </div>
+                            <div class="activity-num">
+                                <p>{{ $t('studentWeb.home.survey') }}</p>
+                                <span>{{ noFinish.survey }}</span>
+                            </div>
                         </div>
                     </Card>
                     <!-- 今日截至活动 -->
@@ -112,7 +134,7 @@
                                 <div class="todaydaylineList">
                                     <div v-if="!todayData.length" class="no-data">{{ $t("studentWeb.public.noData") }}</div>
                                     <div class="list-block"
-                                        style='height: 27vh'
+                                        style='height: 20vh'
                                         v-else
                                     >
                                         <div :id="`tditem${index}`"
@@ -230,10 +252,14 @@
                     </Card>
                     <!-- 投票、问卷 -->
                     <Card class="barCard" :bordered="true">
-                        <p slot="title" style="font-weight: bolder">
+                        <div slot="title" style="font-weight: bolder;">
                             <svg-icon class="titleIcon" icon-class="selflearning" />
                             <span class="title">{{ $t("studentWeb.missionListCardTitle2") }}</span>
-                        </p>
+                            <div class="list-date" style="float: right;">
+                                <span>{{ $t("studentWeb.choiceTime") }}:</span>
+                                <DatePicker type="date" :value="choDate" :options="options" @on-change="choiceDate" :placeholder="$t('studentWeb.missionListCardPlace')" />
+                            </div>
+                        </div>
                         <newMissionListCard :testData="voteandSur" :choDate="choDate ? choDate : ''" @choiceDate="choiceDate" />
                     </Card>
                 </i-col>
@@ -321,6 +347,17 @@ export default {
             voteandSur: [],
             examandHw: [],
             countDown: null,
+            noFinish: {
+                exam: 0,
+                homeWork: 0,
+                vote: 0,
+                survey: 0,
+            },
+            options: {
+                disabledDate (date) {
+                    return date && date.valueOf() > Date.now() - 86400000;
+                }
+            }
         };
     },
     beforeDestroy () {
@@ -746,6 +783,32 @@ export default {
             userInfo: state => state.userInfo,
             user: state => state.user,
         })
+    },
+    watch: {
+        testData: {
+            deep: true,
+            handler(n, o) {
+                this.noFinish = {
+                    exam: 0,
+                    homeWork: 0,
+                    vote: 0,
+                    survey: 0,
+                }
+                n.forEach(item => {
+                    if(item.progress === 'going' && item.taskStatus === -1) {
+                        if(item.type === 'Exam') {
+                            this.noFinish.exam += 1
+                        } else if(item.type === 'Homework') {
+                            this.noFinish.homeWork += 1
+                        } else if(item.type === 'Vote') {
+                            this.noFinish.vote += 1
+                        } else if(item.type === 'Survey') {
+                            this.noFinish.survey += 1
+                        }
+                    }
+                })
+            },
+        },
     }
 }
 </script>

+ 3 - 3
TEAMModelOS/ClientApp/src/components/student-web/HomeView/newMissionListCard.vue

@@ -1,11 +1,11 @@
 <template>
-    <div class="mission-list-card" style="overflow: auto; height: 20vh">
+    <div class="mission-list-card" style="overflow: auto; height: 25vh">
         
         <div class="list-block">
-            <div class="list-date">
+            <!-- <div class="list-date">
                 <span>{{ $t("studentWeb.choiceTime") }}:</span>
                 <DatePicker type="date" :value="choDate" :options="options" @on-change="dateChange" :placeholder="$t('studentWeb.missionListCardPlace')" />
-            </div>
+            </div> -->
             <div>
                 <div class="no-data-text" v-if="!testData.length">
                     <img

+ 3 - 4
TEAMModelOS/Controllers/Common/StudyController.cs

@@ -164,7 +164,7 @@ namespace TEAMModelOS.Controllers.Common
                     return Ok(new { code = HttpStatusCode.NotFound, msg = "账号不存在!" });
                 }
                 var client = _azureCosmos.GetCosmosClient();
-                long now = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds();
+               
                 var response = await client.GetContainer("TEAMModelOS", "Teacher").ReadItemStreamAsync(id.ToString(), new PartitionKey($"StudyRecord-{tmdid}"));
                 var sresponse = await client.GetContainer("TEAMModelOS", "Common").ReadItemStreamAsync(id.ToString(), new PartitionKey($"Study-{code}"));
                 if (sresponse.Status == (int)HttpStatusCode.OK)
@@ -182,12 +182,11 @@ namespace TEAMModelOS.Controllers.Common
                     }
                     else
                     {
+                        long now = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds();
                         StudyRecord setting = new();
                         setting.id = id.GetString();
                         setting.tId = tmdid;
-                        if (now == 0) { 
-                            now = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds();
-                        }
+                       
                         setting.signTime = now;
                         setting.code = "StudyRecord-" + tmdid;
                         setting.sign = study.startTime < now ? "2" : "1";