소스 검색

Merge branch 'beta' of https://git.cocorobo.cn/CocoRoboLabs/pbl-teacher-table into beta

lsc 4 달 전
부모
커밋
50689356da
31개의 변경된 파일162개의 추가작업 그리고 59개의 파일을 삭제
  1. 1 1
      dist/index.html
  2. 0 0
      dist/static/css/app.f2c6eaf560e93eb0fa302b8832141c70.css
  3. 0 0
      dist/static/css/app.f2c6eaf560e93eb0fa302b8832141c70.css.map
  4. 0 0
      dist/static/css/workPage.e88a32828c71174cbdd2d803968f5b6b.css
  5. 0 0
      dist/static/css/workPage.e88a32828c71174cbdd2d803968f5b6b.css.map
  6. 0 0
      dist/static/js/app.bd57a59032dda70fa42b.js
  7. 0 0
      dist/static/js/app.bd57a59032dda70fa42b.js.map
  8. 0 0
      dist/static/js/manifest.23ea04dc469b57e2b4f8.js.map
  9. 0 0
      dist/static/js/vendor.dfc8a8e3392292c7b8e5.js.map
  10. 0 0
      dist/static/js/workPage-manifest.2ece51fa34be51c8610a.js.map
  11. 0 0
      dist/static/js/workPage-vendor.0c46d4deebf81c844386.js.map
  12. 0 0
      dist/static/js/workPage-vendor.7e4b52d86fde7f24e41c.js
  13. 0 0
      dist/static/js/workPage-vendor.7e4b52d86fde7f24e41c.js.map
  14. 0 0
      dist/static/js/workPage.8af2e4179cbed308f1a3.js
  15. 0 0
      dist/static/js/workPage.8af2e4179cbed308f1a3.js.map
  16. 0 0
      dist/static/js/workPage.fb788bf9bbe7a5632e60.js
  17. 0 0
      dist/static/js/workPage.fb788bf9bbe7a5632e60.js.map
  18. 1 1
      dist/workPage.html
  19. 9 6
      src/components/pages/pptEasy/addCourse2.vue
  20. 9 6
      src/components/pages/pptEasy/addCourse3.vue
  21. 27 4
      src/components/pages/studentManageNew/component/addstu.vue
  22. 4 2
      src/components/pages/studentManageNew/component/table.vue
  23. 3 3
      src/components/pages/workPage/components/choiceQuestion.vue
  24. 7 7
      src/components/pages/workPage/components/questionsAndAnswers.vue
  25. 4 4
      src/components/pages/workPage/components/wangEnduit.vue
  26. 8 8
      src/components/pages/workPage/index.vue
  27. 2 2
      src/components/pages/workPage/index_new.vue
  28. 15 1
      src/lang/cn.json
  29. 26 12
      src/lang/en.json
  30. 15 1
      src/lang/hk.json
  31. 31 1
      src/router/index2.js

+ 1 - 1
dist/index.html

@@ -37,7 +37,7 @@
       width: 100%;
       background: #e6eaf0;
       font-family: '黑体';
-    }</style><link href=./static/css/app.667ed47d7f81900a9a052e01c73a2bbd.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.23ea04dc469b57e2b4f8.js></script><script type=text/javascript src=./static/js/vendor.dfc8a8e3392292c7b8e5.js></script><script type=text/javascript src=./static/js/app.71b4f197c3de0c180127.js></script></body></html><script>function stopSafari() {
+    }</style><link href=./static/css/app.f2c6eaf560e93eb0fa302b8832141c70.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.23ea04dc469b57e2b4f8.js></script><script type=text/javascript src=./static/js/vendor.dfc8a8e3392292c7b8e5.js></script><script type=text/javascript src=./static/js/app.bd57a59032dda70fa42b.js></script></body></html><script>function stopSafari() {
     //阻止safari浏览器双击放大功能
     let lastTouchEnd = 0  //更新手指弹起的时间
     document.documentElement.addEventListener("touchstart", function (event) {

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/static/css/app.f2c6eaf560e93eb0fa302b8832141c70.css


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/static/css/app.f2c6eaf560e93eb0fa302b8832141c70.css.map


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/static/css/workPage.e88a32828c71174cbdd2d803968f5b6b.css


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/static/css/workPage.e88a32828c71174cbdd2d803968f5b6b.css.map


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/static/js/app.bd57a59032dda70fa42b.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/static/js/app.bd57a59032dda70fa42b.js.map


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/static/js/manifest.23ea04dc469b57e2b4f8.js.map


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/static/js/vendor.dfc8a8e3392292c7b8e5.js.map


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/static/js/workPage-manifest.2ece51fa34be51c8610a.js.map


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/static/js/workPage-vendor.0c46d4deebf81c844386.js.map


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/static/js/workPage-vendor.7e4b52d86fde7f24e41c.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/static/js/workPage-vendor.7e4b52d86fde7f24e41c.js.map


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/static/js/workPage.8af2e4179cbed308f1a3.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/static/js/workPage.8af2e4179cbed308f1a3.js.map


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/static/js/workPage.fb788bf9bbe7a5632e60.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/static/js/workPage.fb788bf9bbe7a5632e60.js.map


+ 1 - 1
dist/workPage.html

@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><title>工作页面 - CocoFlow</title><link rel=icon href=../static/logo.ico><link href=./static/css/workPage.5280a0376bf2e6f49e4ec7b0b1a999c8.css rel=stylesheet></head><body><noscript><strong>We're sorry but this app doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script type=text/javascript src=./static/js/workPage-manifest.2ece51fa34be51c8610a.js></script><script type=text/javascript src=./static/js/workPage-vendor.0c46d4deebf81c844386.js></script><script type=text/javascript src=./static/js/workPage.fb788bf9bbe7a5632e60.js></script></body></html><script>function stopSafari() {
+<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><title>工作页面 - CocoFlow</title><link rel=icon href=../static/logo.ico><link href=./static/css/workPage.e88a32828c71174cbdd2d803968f5b6b.css rel=stylesheet></head><body><noscript><strong>We're sorry but this app doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script type=text/javascript src=./static/js/workPage-manifest.2ece51fa34be51c8610a.js></script><script type=text/javascript src=./static/js/workPage-vendor.7e4b52d86fde7f24e41c.js></script><script type=text/javascript src=./static/js/workPage.8af2e4179cbed308f1a3.js></script></body></html><script>function stopSafari() {
     //阻止safari浏览器双击放大功能
     let lastTouchEnd = 0  //更新手指弹起的时间
     document.documentElement.addEventListener("touchstart", function (event) {

+ 9 - 6
src/components/pages/pptEasy/addCourse2.vue

@@ -27,13 +27,13 @@
                   @click="startEditTitle()"
                   :title="courseName"
                   v-else
-                >{{ courseName ? courseName : lang.ssUntitled }}</div>
+                >{{ courseName ? courseName : lang.ssUntitledCourse }}</div>
               </div>
             </div>
             <!-- <div class="r_pub_button_retrun" @click="lastSteps()">返回</div> -->
              <div class="new_btn_box">
                 <button class="c_pub_button_return" @click="save">
-                  {{ lang.saveCoco }}
+                  {{ lang.ssSave }}
                 </button>
                 <button class="c_pub_button_confirm" @click="dialogVisibleBasicInfo = true">
                   {{ lang.ssReleaseBtn }}
@@ -387,7 +387,7 @@
                   @change="beforeUpload1"
                 />
               </button>
-              <div class="spanName">{{ lang.ssSelectLocal }}</div>
+              <!-- <div class="spanName">{{ lang.ssSelectLocal }}</div> -->
             </div>
             <div>
               <el-button
@@ -401,7 +401,7 @@
                   <img src="../../../assets/icon/delete.png" alt="" />
                 </div>
               </div>
-              <div class="spanName">{{ lang.SelectWebImage }}</div>
+              <!-- <div class="spanName">{{ lang.SelectWebImage }}</div> -->
             </div>
           </div>
         </div>
@@ -927,7 +927,7 @@
     <!-- 右下角上传进度显示 -->
     <div class="upload-progress-container" v-if="uploadProgressList.length > 0">
       <div class="upload-progress-header" @click="toggleProgressExpand">
-        <span>{{ lang.ssUpProgress }} ({{uploadProgressList.length}})</span>
+        <span> {{ lang.ssPPtUpProgress.replace('*', uploadProgressList.length) }}</span>
         <i :class="progressExpanded ? 'el-icon-arrow-down' : 'el-icon-arrow-up'"></i>
       </div>
       <div class="upload-progress-list" v-show="progressExpanded">
@@ -3445,7 +3445,10 @@ export default {
   background: #f0f4fa;
   height: 100%;
   line-height: 40px;
-  width: 90px;
+  /* width: 105px; */
+  min-width: 115px;
+  padding: 0 5px;
+  flex-shrink: 0;
   text-align: center;
   color: #060e17;
   border-right: 1.5px solid #cad1dc;

+ 9 - 6
src/components/pages/pptEasy/addCourse3.vue

@@ -27,13 +27,13 @@
                   @click="startEditTitle()"
                   :title="courseName"
                   v-else
-                >{{ courseName ? courseName : lang.ssUntitled }}</div>
+                >{{ courseName ? courseName : lang.ssUntitledCourse }}</div>
               </div>
             </div>
             <!-- <div class="r_pub_button_retrun" @click="lastSteps()">返回</div> -->
              <div class="new_btn_box">
                 <button class="c_pub_button_return" @click="save">
-                  {{ lang.saveCoco }}
+                  {{ lang.ssSave }}
                 </button>
                 <button class="c_pub_button_confirm" @click="dialogVisibleBasicInfo = true">
                   {{ lang.ssReleaseBtn }}
@@ -387,7 +387,7 @@
                   @change="beforeUpload1"
                 />
               </button>
-              <div class="spanName">{{ lang.ssSelectLocal }}</div>
+              <!-- <div class="spanName">{{ lang.ssSelectLocal }}</div> -->
             </div>
             <div>
               <el-button
@@ -401,7 +401,7 @@
                   <img src="../../../assets/icon/delete.png" alt="" />
                 </div>
               </div>
-              <div class="spanName">{{ lang.SelectWebImage }}</div>
+              <!-- <div class="spanName">{{ lang.SelectWebImage }}</div> -->
             </div>
           </div>
         </div>
@@ -927,7 +927,7 @@
     <!-- 右下角上传进度显示 -->
     <div class="upload-progress-container" v-if="uploadProgressList.length > 0">
       <div class="upload-progress-header" @click="toggleProgressExpand">
-        <span>{{ lang.ssUpProgress }} ({{uploadProgressList.length}})</span>
+        <span>{{ lang.ssPPtUpProgress.replace('*', uploadProgressList.length) }}</span>
         <i :class="progressExpanded ? 'el-icon-arrow-down' : 'el-icon-arrow-up'"></i>
       </div>
       <div class="upload-progress-list" v-show="progressExpanded">
@@ -3445,7 +3445,10 @@ export default {
   background: #f0f4fa;
   height: 100%;
   line-height: 40px;
-  width: 90px;
+  /* width: 105px; */
+  min-width: 115px;
+  padding: 0 5px;
+  flex-shrink: 0;
   text-align: center;
   color: #060e17;
   border-right: 1.5px solid #cad1dc;

+ 27 - 4
src/components/pages/studentManageNew/component/addstu.vue

@@ -92,7 +92,10 @@
                       <span style="cursor: pointer;color: #0052D9;" @click="delSeaStu(index)">删除</span>
                     </div>
                   </div>
-                  <div class="tagitem" :class="stuname2(item) == 'danger' ? 'tagitem2' :''">{{ item }}</div>
+                  <div class="tagitem" :class="stuname2(item) == 'danger' ? 'tagitem2' :''">
+                    {{ item }}
+                    <i @click="delSeaStu(index)" class="el-icon-close closeImg"></i>
+                  </div>
                 </div>
 
               </div>
@@ -136,7 +139,10 @@
                       <span style="cursor: pointer;color: #0052D9;" @click="handleSelectedStuClose(index)">删除</span>
                     </div>
                   </div>
-                  <div class="tagitem" :class="stuname(item) == 'danger' ? 'tagitem2' :''">{{ item }}</div>
+                  <div class="tagitem" :class="stuname(item) == 'danger' ? 'tagitem2' :''">
+                    {{ item }}
+                    <i @click="handleSelectedStuClose(index)" class="el-icon-close closeImg"></i>
+                  </div>
                 </div>
             </div>
           </div>
@@ -187,7 +193,7 @@
           <div @click="closeAllClaAddStu" class="kbtn">{{ lang.Cancel }}</div>
 
           <div @click="addStu" class="kbtn" style="background: #3681FC; color: #E6FFFFFF;">{{ lang.Confirm }}</div>
-
+          
           <!-- <el-button size="small" type="primary" @click="addStu"
             >确认</el-button
           > -->
@@ -905,10 +911,11 @@ export default {
 }
 .tagitem{
   height: 100%;
-  padding: 0 8px;
+  padding: 0 25px;
   box-sizing: border-box;
   display: flex;
   align-items: center;
+  position: relative;
 }
 
 .tagtit{
@@ -981,4 +988,20 @@ export default {
   justify-content: flex-end;
   gap: 10px;
 }
+.closeImg{
+  font-size: 16px;
+  cursor: pointer;
+  display: none;
+  position: absolute;
+  right: 3px;
+  top: 50%;
+  transform: translateY(-50%);
+  /* background: #fff; */
+  /* border-radius: 50%; */
+  /* padding: 2px; */
+  /* box-sizing: border-box; */
+}
+.tagitem:hover .closeImg{
+  display: block;
+}
 </style>

+ 4 - 2
src/components/pages/studentManageNew/component/table.vue

@@ -37,7 +37,7 @@
             />
           </el-tooltip>
         </div>
-        <div class="topbox_area" v-if="boxType == 1">
+        <div class="topbox_area" style="align-items: center;" v-if="boxType == 1">
           <span v-if="interestType == 0">{{ lang.ssInterClassList }}</span>
           <template v-if="interestType == 1">
             <span
@@ -49,7 +49,7 @@
             <span>{{ lang.ssStuList }}</span>
           </template>
         </div>
-        <div class="topbox_area" v-if="boxType == 2">
+        <div class="topbox_area" style="align-items: center;" v-if="boxType == 2">
           <span>{{ lang.ssStuList }}</span>
           <span>{{ total }}{{ lang.ssPerson }}</span>
         </div>
@@ -62,6 +62,7 @@
             boxType == 1 ? lang.ssSearchInterCla : lang.ssSearchStudent
           "
           v-model="inp"
+          @blur="refresh"
           @keyup.enter.native="refresh"
           v-if="
             boxType == 0 || boxType == 2 || (boxType == 1 && interestType == 1)
@@ -2107,6 +2108,7 @@ export default {
   line-height: 30px;
   width: 130px;
   font-size: 16px;
+  border-bottom: 1px solid #e7e7e7;
 }
 .bacl {
   background: #e8f3ff;

+ 3 - 3
src/components/pages/workPage/components/choiceQuestion.vue

@@ -4,8 +4,8 @@
       <span>{{ work.testJson[showIndex].teststitle }}</span>
 
       <div class="cq_changeBtnArea" v-if="work.testJson.length>1">
-        <span :class="{cq_cba_disabled: showIndex == 0}" @click="changeQuestion('prev')">上一题</span>
-        <span :class="{cq_cba_disabled: showIndex == work.testJson.length - 1}" @click="changeQuestion('next')">下一题</span>
+        <span :class="{cq_cba_disabled: showIndex == 0}" @click="changeQuestion('prev')">{{ lang.ssPrevQ }}</span>
+        <span :class="{cq_cba_disabled: showIndex == work.testJson.length - 1}" @click="changeQuestion('next')">{{ lang.ssNextQ }}</span>
       </div>
     </div>
 
@@ -13,7 +13,7 @@
     <img class="cq_image" v-if="work.testJson[showIndex].timuList.length>0" :src="work.testJson[showIndex].timuList[0].src" @click="$hevueImgPreview(work.testJson[showIndex].timuList[0].src)">
 
     <div class="cq_type" v-if="work.testJson[showIndex]">
-      {{ work.testJson[showIndex].type == 1 ? "单选题" : "多选题" }}
+      {{ work.testJson[showIndex].type == 1 ? lang.SingleChoice : lang.MultipleChoice }}
       <span v-if="work.testJson.length>1">({{showIndex+1}}/{{work.testJson.length}})</span>
 
     </div>

+ 7 - 7
src/components/pages/workPage/components/questionsAndAnswers.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="questionsAndAnswers">
     <div class="qaa_title">{{ work.answerQ }}</div>
-    <div class="qaa_type">问答题</div>
+    <div class="qaa_type">{{ lang.ssQAQuestion }}</div>
     <div class="qaa_recording">
       <div class="qaa_r_left">
         <div class="voiceprint" v-show="recordObj.status=='1'">
@@ -36,11 +36,11 @@
       <div class="qaa_r_right">
         <div class="qaa_r_r_btn" v-if="recordObj.status=='0'" @click="startRecord">
           <img src="../../../../assets/icon/workPage/start_icon.svg">
-          <span>开始</span>
+          <span>{{ lang.ssStartRec }}</span>
         </div>
         <div class="qaa_r_r_btn" v-if="recordObj.status=='1'" @click="stopRecord">
           <img src="../../../../assets/icon/workPage/stop_icon.svg">
-          <span style="color: #F53F3F;">结束</span>
+          <span style="color: #F53F3F;">{{ lang.ssStopRec }}</span>
         </div>
       </div>
     </div>
@@ -149,7 +149,7 @@ export default {
     stopRecord() {
       console.log("测试测试")
       if(new Date().getTime() - this.recordObj.startTime < 2000){
-        return this.$message.info("录音时间过短,请稍等...")
+        return this.$message.info(this.lang.ssRecordShort)
       }
       // 判断浏览器是否有开启录音权限
       navigator.permissions && navigator.permissions.query({ name: 'microphone' }).then(permissionStatus => {
@@ -161,7 +161,7 @@ export default {
           iframe.contentWindow.onSessionStopped = null;
           iframe.contentWindow.window.onRecognizedResult = null;
 
-          this.$message.success("未开启录音权限,已停止录音");
+          this.$message.success(this.lang.ssNoPermStop);
           return;
         }
         console.log("测试测试222")
@@ -176,7 +176,7 @@ export default {
           iframe.contentWindow.onSessionStopped = (s, e) => {
             this.recordObj.status = "0"
             this.recordObj.loading = false;
-            this.$message.success("已停止录音")
+            this.$message.success(this.lang.ssStoppedRec)
             iframe.contentWindow.onSessionStopped = null;
             iframe.contentWindow.window.onRecognizedResult = null;
           };
@@ -195,7 +195,7 @@ export default {
         let iframe = this.$refs["iframeRef"];
         iframe.contentWindow.onSessionStopped = null;
         iframe.contentWindow.window.onRecognizedResult = null;
-        this.$message.success("无法检测麦克风权限,已停止录音");
+        this.$message.success(this.lang.ssMicCheckStop);
       });
       // this.recordObj.status = "0"
     }

+ 4 - 4
src/components/pages/workPage/components/wangEnduit.vue

@@ -8,7 +8,7 @@
     <div v-if="proVisible" class="mask">
       <div class="progressBox">
         <div class="lbox">
-          <img src="../../../../assets/loading.gif" />上传中,请稍后
+          <img src="../../../../assets/loading.gif" />{{ lang.ssUploadWait }}
         </div>
       </div>
     </div>
@@ -45,7 +45,7 @@ export default {
     },
     placeholder: {
       type: String,
-      default: "请输入正文"
+      default: ""
     },
 		showGetTextLoading:{
 			type:Boolean,
@@ -108,7 +108,7 @@ export default {
       //忽略粘贴内容中的图片
       this.editor.config.pasteIgnoreImg = false;
       this.editor.config.showLinkImg = false;
-      this.editor.config.placeholder = this.placeholder;
+      this.editor.config.placeholder = this.placeholder || this.lang.ssEnterContentL;
       var that = this;
       this.editor.config.customUploadImg = function (files, insert) {
         // const loading = Loading.service({
@@ -158,7 +158,7 @@ export default {
                 }
                 // loading.close();
                 if (err) {
-                  that.$message.error("上传失败");
+                  that.$message.error(that.lang.ssUploadFail);
                 } else {
                   //上传成功处理
                   insert(data.Location);

+ 8 - 8
src/components/pages/workPage/index.vue

@@ -2,12 +2,12 @@
   <div class="workPage" v-loading="loading">
     <div class="wp_tool wp_tool15" v-if="workData && workData.type == 15">
       <div class="wp_t15_title">{{ workData.json.answerQ }}</div>
-      <span class="wp_type">问答题</span>
+      <span class="wp_type">{{ lang.ssQAQuestion }}</span>
       <div class="wp_tl15_inputArea">
         <el-input
           type="textarea"
           :rows="7"
-          placeholder="请在此输入您的答案..."
+          :placeholder="lang.ssQAInputPH"
           resize="none"
           v-model="workData.json.answer"
         >
@@ -40,9 +40,9 @@
               p-id="8272"
             ></path>
           </svg>
-          <span>上传图片</span>
+          <span>{{ lang.ssUploadImage }}</span>
         </div>
-        <span>支持JPG、PNG格式,最大5MB</span>
+        <span>{{ lang.ssUploadImgTip }}</span>
       </div>
 
       <div class="wp_tl15_fileList">
@@ -79,7 +79,7 @@
     </div>
 
     <div class="wp_tool wp_tool45" v-if="workData && workData.type == 45">
-      <div class="wp_t45_title">练一练</div>
+      <div class="wp_t45_title">{{ lang.ssPractice }}</div>
       <div
         class="s_b_m_toolItem"
         v-for="(item, index) in workData.json.testJson"
@@ -105,7 +105,7 @@
               v-html="
                 renderedFormula(
                   `<span style='color: #3681FC;''>${
-                    item.type == 1 ? '(单选题):' : '(多选题):'
+                    item.type == 1 ? '(' + lang.ssSingleChoice + '):' : '(' + lang.ssMultipleChoice + '):'
                   }</span>${item.teststitle}`
                 )
               "
@@ -280,7 +280,7 @@ export default {
         if (file) {
           if (file.size > 5 * 1024 * 1024) {
             // 5MB
-            return this.$message.error("图片大小不能超过5MB");
+            return this.$message.error(this.lang.ssImgTooBig);
           }
           let _type = file.type;
           let _size = file.size;
@@ -339,7 +339,7 @@ export default {
             })
             .send(function(err, data) {
               if (err) {
-                _this.$message.error("上传失败");
+                _this.$message.error(_this.lang.ssUploadFail);
                 resolve(null);
               } else {
                 resolve(data);

+ 2 - 2
src/components/pages/workPage/index_new.vue

@@ -139,7 +139,7 @@ export default {
         if (file) {
           if (file.size > 5 * 1024 * 1024) {
             // 5MB
-            return this.$message.error("图片大小不能超过5MB");
+            return this.$message.error(this.lang.ssImgTooBig);
           }
           let _type = file.type;
           let _size = file.size;
@@ -198,7 +198,7 @@ export default {
             })
             .send(function(err, data) {
               if (err) {
-                _this.$message.error("上传失败");
+                _this.$message.error(_this.lang.ssUploadFail);
                 resolve(null);
               } else {
                 resolve(data);

+ 15 - 1
src/lang/cn.json

@@ -2000,7 +2000,21 @@
   "ssParseStuFail":"未能提取上传学生信息,请检查数据格式,使用模板文件格式上传",
   "ssEnterStu":"请输入学生",
   "ssAddStuMax70":"一次最多添加70人",
-  "ssSelectBelCla":"请选择所属班级"
+  "ssSelectBelCla":"请选择所属班级",
+  "ssQAInputPH":"请在此输入您的答案...",
+  "ssUploadImgTip":"支持JPG、PNG格式,最大5MB",
+  "ssPractice":"练一练",
+  "ssImgTooBig":"图片大小不能超过5MB",
+  "ssStartRec":"开始",
+  "ssStopRec":"结束",
+  "ssRecordShort":"录音时间过短,请稍等...",
+  "ssNoPermStop":"未开启录音权限,已停止录音",
+  "ssStoppedRec":"已停止录音",
+  "ssMicCheckStop":"无法检测麦克风权限,已停止录音",
+  "ssPrevQ":"上一题",
+  "ssNextQ":"下一题",
+  "ssUntitledCourse":"暂未命名",
+  "ssPPtUpProgress":"上传进度(*)"
 
 
 

+ 26 - 12
src/lang/en.json

@@ -747,7 +747,7 @@
   "ssSelectVol":"Please select volume",
   "ssSelectUnit":"Please select unit",
   "ssUnit":"Unit *",
-  "ssNextPage":"Next Page",
+  "ssNextPage":"Next",
   "ssNoSearch":"No content yet, please search",
   "ssSelected":"Selected",
   "ssFileName":"File Name",
@@ -1036,7 +1036,7 @@
   "ssFillComplete":"Please fill in all the content!",
   "ssWaitTaskSave":"Please wait for task * to finish answering before saving",
   "ssWaitTaskCont":"Please wait for task * to finish answering before continuing",
-  "ssFillCourseName":"Please fill in the course name",
+  "ssFillCourseName":"Please enter a course name to continue.",
   "ssClickConfirmUpload":"Click confirm upload button",
   "ssGenOutTaskDesc":"Outline task * description is not yet complete, please check and try again after answering.",
   "ssCpoteNotGen":"Conceptual group is not yet complete, please check and try again after answering.",
@@ -1903,30 +1903,30 @@
   "ssUploadPptFail":"Failed to upload PPT data",
   "ssCopyToolSucc":"Tool copied successfully",
   "ssAddH5":"Add H5 Page",
-  "ssUploading":"Uploading",
-  "ssCompleted":"Completed",
+  "ssUploading":"Uploading...",
+  "ssCompleted":"Complete",
   "ssBilibiliVideo":"Bilibili Video",
   "ssQAQuestion":"QA Question",
   "ssQAQuestionTool":"QA Question Tool",
-  "ssBilibiliVideoSearch":"Bilibili Video Search",
+  "ssBilibiliVideoSearch":"Search YouTube Videos",
   "ssBiliLoading":"Searching, please wait...",
   "ssBiliSearchKey":"Search video keywords (multiple can be separated by commas)",
-  "ssBiSort":"Sort",
+  "ssBiSort":"Relevance",
   "ssBiPlay":"Most Play",
   "ssBiRelease":"Latest Release",
   "ssBitDanmaku":"Most Danmaku",
   "ssBiFavorite":"Most Favorite",
   "ssAddbl":"Add",
-  "ssAut":"Author",
+  "ssAut":"Creator",
   "ssDuration":"Duration",
-  "ssPrevPage":"Previous Page",
+  "ssPrevPage":"Previous",
   "ssPageInfo":"Page *",
   "ssSearchFail":"Search failed, please try again",
   "ssSelectVideo":"Please select the video to add",
   "ssAddSuccessVideo":"Successfully added * videos",
-  "ssSelectVideoSource":"Select a video source",
-  "ssLocalUpload":"Upload from local file",
-  "ssBiliSearch":"Search from Bilibili",
+  "ssSelectVideoSource":"Select a Video Source",
+  "ssLocalUpload":"Upload from Device",
+  "ssBiliSearch":"Search on YouTube",
   "ssNewGrade":"New Grade",
   "ssNewClass":"New Class",
   "ssInterClassMng":"Interest Class Management",
@@ -1999,5 +1999,19 @@
   "ssParseStuFail":"Failed to parse student information. Please check the data format and use the template file format",
   "ssEnterStu":"Please enter student",
   "ssAddStuMax70":"You can add up to 70 students at a time",
-  "ssSelectBelCla":"Please select class"
+  "ssSelectBelCla":"Please select class",
+  "ssQAInputPH":"Please enter your answer here...",
+  "ssUploadImgTip":"Supports JPG and PNG formats, up to 5MB",
+  "ssPractice":"Practice",
+  "ssImgTooBig":"Image size cannot exceed 5MB",
+  "ssStartRec":"Start",
+  "ssStopRec":"Stop",
+  "ssRecordShort":"Recording time is too short, please wait...",
+  "ssNoPermStop":"Recording permission not granted, recording stopped",
+  "ssStoppedRec":"Recording stopped",
+  "ssMicCheckStop":"Unable to detect microphone permission, recording stopped",
+  "ssPrevQ":"Previous question",
+  "ssNextQ":"Next question",
+  "ssUntitledCourse":"Untitled Course",
+  "ssPPtUpProgress":"Uploading (*)"
 }

+ 15 - 1
src/lang/hk.json

@@ -1999,7 +1999,21 @@
   "ssParseStuFail":"未能提取上傳學生信息,請檢查數據格式,使用模板文件格式上傳",
   "ssEnterStu":"請輸入學生",
   "ssAddStuMax70":"一次最多添加70人",
-  "ssSelectBelCla":"請選擇所屬班級"
+  "ssSelectBelCla":"請選擇所屬班級",
+  "ssQAInputPH":"請在此輸入您的答案...",
+  "ssUploadImgTip":"支持JPG、PNG格式,最大5MB",
+  "ssPractice":"練一練",
+  "ssImgTooBig":"圖片大小不能超過5MB",
+  "ssStartRec":"開始",
+  "ssStopRec":"結束",
+  "ssRecordShort":"錄音時間過短,請稍等...",
+  "ssNoPermStop":"未開啟錄音權限,已停止錄音",
+  "ssStoppedRec":"已停止錄音",
+  "ssMicCheckStop":"無法檢測麥克風權限,已停止錄音",
+  "ssPrevQ":"上一題",
+  "ssNextQ":"下一題",
+  "ssUntitledCourse":"暫未命名",
+  "ssPPtUpProgress":"上傳進度(*)"
 
 
 

+ 31 - 1
src/router/index2.js

@@ -2,14 +2,44 @@ import Vue from 'vue'
 import Router from 'vue-router'
 import { Dialog } from 'element-ui'
 import 'element-ui/lib/theme-chalk/index.css'
+import ElementUI from 'element-ui'
 
 // 使用路由懒加载,按需加载组件
 import workPage from '@/components/pages/workPage/index'
 import workPageNew from '@/components/pages/workPage/index_new'
+import locale from 'element-ui/lib/locale/lang/en'
+import cn from "../lang/cn.json";
+import hk from "../lang/hk.json";
+import en from "../lang/en.json";
+//注册到vue原型上
+let lang = new Object();
+let domain_name=""
 
+
+if (window.location.href.includes("cocorobo.cn")) {
+  lang = cn;
+  domain_name="cn";
+} else if (window.location.href.includes("cocorobo.hk")) {
+  lang = hk;
+  domain_name="hk";
+} else if (window.location.href.includes("cocorobo.com")) {
+  lang=en;
+  domain_name="com";
+}else{
+  lang=cn;
+  domain_name="cn";
+}
+
+Vue.prototype.lang =lang;
+
+if(domain_name==='com'){//英文版
+	Vue.use(ElementUI,{locale})
+}else{
+	Vue.use(ElementUI)
+}
 // 全局修改默认配置,点击空白处不能关闭弹窗
 Dialog.props.closeOnClickModal.default = false
-Vue.use(Router)
+Vue.use(Router).use(ElementUI)
 
 export default new Router({
   routes: [

이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.