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

Merge branch 'xw/hotfix-0520' into develop

XW 3 роки тому
батько
коміт
c8913a572d

+ 2 - 1
TEAMModelOS.SDK/Models/Service/Common/TeacherService.cs

@@ -219,6 +219,7 @@ namespace TEAMModelOS.Services
                         teacher.defaultSchool = null;
                     }
                 }
+                await client.GetContainer(Constant.TEAMModelOS, "Teacher").ReplaceItemAsync<Teacher>(teacher, id, new PartitionKey("Base"));
                 //預設學校ID
                 defaultschool = teacher.defaultSchool;
             }
@@ -284,7 +285,7 @@ namespace TEAMModelOS.Services
             }
             catch { }
 
-            await client.GetContainer(Constant.TEAMModelOS, "Teacher").ReplaceItemAsync<Teacher>(teacher, id, new PartitionKey("Base"));
+           
             //取得Teacher Blob 容器位置及SAS 
             await _azureStorage.GetBlobContainerClient(id).CreateIfNotExistsAsync(PublicAccessType.None); //嘗試創建Teacher私有容器,如存在則不做任何事,保障容器一定存在
             var (blob_uri, blob_sas) = _azureStorage.GetBlobContainerSAS(id, BlobContainerSasPermissions.Write | BlobContainerSasPermissions.Read | BlobContainerSasPermissions.List | BlobContainerSasPermissions.Delete);

+ 1 - 1
TEAMModelOS/ClientApp/src/components/student-web/EventView/EventContentTypeTemplate/LessonTestReport.vue

@@ -364,7 +364,7 @@
                 </div>
             </div>
             <div class="qcontent img-question" ref="qcontent" v-if="paperData.length && examInfo.qamode">
-                <SubjectMould :subjectList="showPaperData" :imgList="imgList" />
+                <SubjectMould :subjectList="showPaperData" :imgList="imgList" :testState="testState" />
             </div>
         </div>
         <!-- 补救资源 -->

+ 13 - 3
TEAMModelOS/ClientApp/src/components/student-web/EventView/EventContentTypeTemplate/SubjectMould.vue

@@ -30,12 +30,12 @@
             <vuescroll>
                 <div v-for="(exam, indexs) in subjectList" :key="indexs" style="margin-bottom: 40px;">
                     <div>
-                        <div style="float: right;">
+                        <div style="float: right;" v-if="testState === 3 && getItemTitle.progress === 'finish'">
                             <span style="font-size: 20px; color:#00ad6c;">{{ exam.getScore }}</span>
                                 / <span style="font-size: 12px;">{{ exam.score }}{{ $t("studentWeb.exam.score111") }}</span>
                         </div>
                         <div style="display: flex; font-size: 16px; margin-bottom: 10px;">
-                            <span style="margin-right: 10px;">
+                            <span style="margin-right: 10px;" v-if="testState === 3 && getItemTitle.progress === 'finish'">
                                 <Icon type="md-close-circle" color="#FF5508" size="25"
                                     v-show="exam.getScore != exam.score"
                                 />
@@ -136,6 +136,7 @@
 </template>
 
 <script>
+import { mapGetters } from 'vuex'
 export default {
     props: {
         subjectList: {
@@ -149,7 +150,13 @@ export default {
             default: () => {
                 return []
             }
-        }
+        },
+        testState: {
+            type: Number,
+            default: () => {
+                return 0
+            }
+        },
     },
     data () {
         return {
@@ -173,6 +180,9 @@ export default {
                 }
             }
         },
+    },
+    computed: {
+        ...mapGetters(['getItemTitle'])
     }
 }
 </script>

+ 14 - 0
TEAMModelOS/ClientApp/src/view/dashboard/Art.less

@@ -1,3 +1,4 @@
+@mainColor:#568aea;
 #artIndex {
     color: #d3d6dd;
     width: 100%;
@@ -6,6 +7,8 @@
     // transform-origin: left top;
     overflow: hidden;
     position: relative;
+
+      
     
     .tools{
         position: absolute;
@@ -31,6 +34,17 @@
         cursor: pointer;
         display: flex;
         align-items: center;
+
+        .ivu-select,.ivu-select-placeholder{
+          color: @mainColor !important;
+        }
+        
+        .ivu-select-selection{
+          background-color: transparent !important;
+          width: 120px;
+          border-color: @mainColor;
+          border-radius: 0;
+        }
         
         &-name{
             margin: 0 10px;

+ 9 - 3
TEAMModelOS/ClientApp/src/view/dashboard/Art.vue

@@ -12,6 +12,12 @@
           <span class="school-info-name">{{ schoolInfo.schoolName }}</span>
           <span class="school-info-period">{{ schoolInfo.periodName }}</span>
           <span class="school-info-semester">{{ schoolInfo.curSemester }}</span>
+          <!-- <span>
+            <Select class-name="dashboard-select">
+              <Option value="paint">美术</Option>
+              <Option value="music">音乐</Option>
+            </Select>
+          </span> -->
           <span :class="['dashboard-menu',activeMenu === 'music' ? 'dashboard-menu-active' : '']" @click="onChangeSubject('music')">音乐</span>
           <span :class="['dashboard-menu',activeMenu === 'paint' ? 'dashboard-menu-active' : '']" @click="onChangeSubject('paint')">美术</span>
         </div>
@@ -28,7 +34,6 @@
           <dv-decoration-10 class="dv-dec-10-s" />
         </div>
 
-
         <div class="body-box">
           <div class="left-box">
             <div class="left-box-top">
@@ -86,7 +91,7 @@ import bottomRight from '@/components/research-dashboard/bottomRight'
 export default {
   data() {
     return {
-      activeMenu:'music',
+      activeMenu: 'music',
       timing: null,
       loading: true,
       dateDay: null,
@@ -120,7 +125,7 @@ export default {
     this.onChangeSubject('music')
   },
   methods: {
-    onChangeSubject(subject){
+    onChangeSubject(subject) {
       this.activeMenu = subject
       this.$store.commit('setArtDashboardData', subject)
     },
@@ -172,3 +177,4 @@ export default {
 @import "Art.less";
 @import "style.less";
 </style>
+

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

@@ -84,7 +84,7 @@ export default {
       if (item.path === 'researchDashboard') {
         this.$router.push('/researchDashboard')
       } else if (item.path === 'moral' && localStorage.getItem('srvAdr') === 'China') {
-        window.open('https://school.xydaa.com/#/db-login')
+        window.open('http://paas-admin.husiwei.com/GkI043vXpK9sat5yDW008oaWt9yZ1dwIIq7rdiUywbU4HgI656W2cIbzOWRzoI93vzv82l28DyQKxVVd9qPqFkLLmrlCkIvDlWecschool-datawuhZVGb2K8KM5hlGfU0123tKhKd6b5f84EPUOcszar3ltNpImTPa8BeQtVbcuUtdWUL0zmRaUJRHOlYRVbDofmn9K7XTNwf4Q9mh')
       } else if (item.path === 'art' && localStorage.getItem('srvAdr') === 'China' && ['habook', 'ydzt', 'hbcn'].includes(this.$store.state.userInfo.schoolCode)) {
         this.$router.push('/artDashboard')
       } else {

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

@@ -408,7 +408,7 @@
 				return this.$store.state.totalAnalysis.exportTableParams
 			},
 			getJoinRate() {
-				return (((this.currentExamItem.stuCount - this.currentExamItem.lostStu.length) / this.currentExamItem.stuCount)* 100).toFixed(2)  + '%'
+				return this.currentExamItem.stuCount ? (((this.currentExamItem.stuCount - this.currentExamItem.lostStu.length) / this.currentExamItem.stuCount)* 100).toFixed(2)  + '%' : 0
 			},
 			notInList(){
 				return this.$route.path !== '/total/questionList'