소스 검색

Merge branch 'develop' of http://163.228.141.122:3000/TEAMMODEL/TEAMModelOS into develop

CrazyIter_Bin 9 달 전
부모
커밋
b85fc313b5

+ 1 - 0
TEAMModelOS/ClientApp/public/lang/en-US.js

@@ -2710,6 +2710,7 @@ const LANG_EN_US = {
         blockWarning: 'Key concept set name cannot be empty!',
         block: 'Key Concept Set',
         knowledgeP: 'Please enter the name of the key concept',
+        knowledgeP1: 'Please enter the name',
         knowledgeWarning: 'Key concept name cannot be empty!',
         knowledgeRepeat: 'The same name key concept already exists, please do not add it repeatedly.',
         newBlock: 'Add key concept set',

+ 1 - 0
TEAMModelOS/ClientApp/public/lang/zh-CN.js

@@ -2709,6 +2709,7 @@ const LANG_ZH_CN = {
         blockWarning: '知识块名称不能为空!',
         block: '知识块',
         knowledgeP: '请输入知识点名称,必填项',
+        knowledgeP1: '请输入知识点名称',
         knowledgeRepeat: '已存在相同名称知识点,请勿重复添加!',
         knowledgeWarning: '知识点名称不能为空!',
         newBlock: '新增知识块',

+ 1 - 0
TEAMModelOS/ClientApp/public/lang/zh-TW.js

@@ -2712,6 +2712,7 @@ const LANG_ZH_TW = {
         blockWarning: '知識塊名稱不能為空!',
         block: '知識塊',
         knowledgeP: '請輸入知識點名稱,必填項',
+        knowledgeP1: '請輸入知識點名稱',
         knowledgeWarning: '知識點名稱不能為空! ',
         knowledgeRepeat: '已存在相同名稱知識點,請勿重覆新增!',
         newBlock: '新增知識塊',

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

@@ -160,6 +160,7 @@ export default {
       this.paperIndex = this.paperList.findIndex(i => i.id === paperId[0])
       let fullPaperJson = await this.$evTools.getFullPaper(paper)
       let fullPaperNoCompose = this.isMarkModel ? fullPaperJson.item.filter(item => item.type !== 'compose') : fullPaperJson.item
+      fullPaperNoCompose.forEach(item => item.paperName = paper.name)
       this.questionList = fullPaperNoCompose
       this.originQuestionList = this._.cloneDeep(fullPaperNoCompose)
       this.questionList.forEach(i => {

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

@@ -2,7 +2,7 @@
   <div class="points-container">
     <!-- <Button type="info" class="btn-add-point" @click="addPointsModal = true"
 			v-show="curScope === 'school'">{{$t('evaluation.points.addPoint')}}</Button> -->
-    <div v-if="curScope != 'school'" style="margin-bottom: 10px;">
+    <div v-if="curScope != 'school' && subject" style="margin-bottom: 10px;">
       <span class="manual-filter-label">{{ $t('evaluation.filter.origin') }}:</span>
       <RadioGroup v-model="radioCode" @on-change="onCodeChange">
             <Radio label="private">
@@ -273,6 +273,10 @@ export default {
 
     /** 添加新知识点 */
     onAddNewPoint() {
+      if(!this.newPointName) {
+        this.$Message.warning(this.$t('knowledge.knowledgeP1'))
+        return
+      }
       this.knowledgeTree.push({
         allcids: [],
         children: [],
@@ -377,6 +381,10 @@ export default {
     },
     // 新增知识点事件
     onAddPoint(node, data) {
+        if(!this.newPointName) {
+          this.$Message.warning(this.$t('knowledge.knowledgeP1'))
+          return
+        }
         let idLast2 = data.children.length ? data.children[data.children.length - 1].id : '-0'
         let id2 = idLast2.split(`-`)
         data.children.push({

+ 4 - 4
TEAMModelOS/ClientApp/src/view/evaluation/index/CreateExercises.vue

@@ -136,7 +136,7 @@
     </div>
 
     <Modal v-model="selectPointsModal" :title="$t('evaluation.newExercise.choosePoint')" width="600px" class="related-point-modal" footer-hide style="z-index: 99999">
-      <BasePoints v-if="selectPointsModal" :period="schoolInfo.period[exercisePeriod].id" :subject="subjectList[exerciseSubject].id" @onCheckChange="onCheckChange" @onCancel="selectPointsModal = false" :points="exercisePoints" :scope="curScope" ref="pointRef"></BasePoints>
+      <BasePoints v-if="selectPointsModal" :period="schoolInfo.period ? schoolInfo.period[exercisePeriod].id : ''" :subject="subjectList.length ? subjectList[exerciseSubject].id : ''" @onCheckChange="onCheckChange" @onCancel="selectPointsModal = false" :points="exercisePoints" :scope="curScope" ref="pointRef"></BasePoints>
     </Modal>
 
     <!-- 添加小题弹窗 -->
@@ -284,15 +284,15 @@ export default {
         this.$Message.warning(this.$t('evaluation.completeTip'))
         return
       }
-      if (this.hasSchool) {
+      // if (this.hasSchool) {
         if (this.exersicesType === 'compose') {
           this.$Message.warning(this.$t('evaluation.newExercise.composeTip'))
         } else {
           this.selectPointsModal = true
         }
-      } else {
+      /* } else {
         this.$Message.warning(this.$t('evaluation.newExercise.noSchoolTip'))
-      }
+      } */
     },
 
     onSelectFile(val) {

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

@@ -1272,13 +1272,20 @@ export default {
                     false).then(res => {
                       r(200)
                     })
-                } else if (item.blob && item.blob.includes('syllabus/')) {
-                  let blobCntr = item.scope == 'school' ? schoolBlob : privateBlob
-                  containerClient.copyFolder('paper/' + paperItem.name + '/',
-                    'syllabus/' + item.nodeId + '/' + item.id, blobCntr, null, false).then(res => {
-                    r(200)
-                  })
                 } else {
+                  if (item.blob && (item.blob.includes('paper/') || item.blob.includes('syllabus/'))) {
+                    let videoSrcList = this.$editorTools.getRichTextSrc(item.question, 'video')
+                    let audioSrcList = this.$editorTools.getRichTextSrc(item.question, 'audio')
+                    let srcList = videoSrcList.concat(audioSrcList)
+                    let curNoSaveArr = JSON.parse(localStorage.getItem('noSave'))
+                    srcList.forEach(src => {
+                      curNoSaveArr.push({
+                        path: item.blob.includes('paper/') ? `/paper/${item.paperName}/${src}` : `/syllabus/${item.nodeId}/${item.id}/${src}`, //旧文件的相对地址
+                        scope: item.scope
+                      })
+                    })
+                    localStorage.setItem('noSave', JSON.stringify(curNoSaveArr))
+                  }
                   const itemJsonFile = await this.$evTools
                     .createBlobItem(item)
                   let file = new File([JSON.stringify(itemJsonFile)],