Parcourir la source

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

lsc il y a 5 mois
Parent
commit
036b78077b

+ 1 - 1
dist/index.html

@@ -32,7 +32,7 @@
       width: 100%;
       background: #e6eaf0;
       font-family: '黑体';
-    }</style><link href=./static/css/app.28a2c4d63a86dd61d3513fa5cb9c603f.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.9811ebe9d5c4458a1b2a.js></script><script type=text/javascript src=./static/js/vendor.bb486323f0fa002ba2e7.js></script><script type=text/javascript src=./static/js/app.b062ea701f9d5fdc25c2.js></script></body></html><script>function stopSafari() {
+    }</style><link href=./static/css/app.c9e57efcf97200b1b164c46b69de4450.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.161e82026ac2ae03ab6f.js></script><script type=text/javascript src=./static/js/vendor.b7212920b6e58d14a873.js></script><script type=text/javascript src=./static/js/app.ec8fc53ae1635f17e494.js></script></body></html><script>function stopSafari() {
     //阻止safari浏览器双击放大功能
     let lastTouchEnd = 0  //更新手指弹起的时间
     document.documentElement.addEventListener("touchstart", function (event) {

Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/css/app.28a2c4d63a86dd61d3513fa5cb9c603f.css


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/css/app.c9e57efcf97200b1b164c46b69de4450.css


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/css/app.c9e57efcf97200b1b164c46b69de4450.css.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/js/0.4f3b05586c3acc102a54.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/js/0.4f3b05586c3acc102a54.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/js/0.df8814bab917ab2583e0.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/js/app.ec8fc53ae1635f17e494.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/js/app.ec8fc53ae1635f17e494.js.map


+ 2 - 2
dist/static/js/manifest.9811ebe9d5c4458a1b2a.js → dist/static/js/manifest.161e82026ac2ae03ab6f.js

@@ -1,2 +1,2 @@
-!function(e){var n=window.webpackJsonp;window.webpackJsonp=function(r,a,c){for(var i,u,f,s=0,l=[];s<r.length;s++)u=r[s],t[u]&&l.push(t[u][0]),t[u]=0;for(i in a)Object.prototype.hasOwnProperty.call(a,i)&&(e[i]=a[i]);for(n&&n(r,a,c);l.length;)l.shift()();if(c)for(s=0;s<c.length;s++)f=o(o.s=c[s]);return f};var r={},t={6:0};function o(n){if(r[n])return r[n].exports;var t=r[n]={i:n,l:!1,exports:{}};return e[n].call(t.exports,t,t.exports,o),t.l=!0,t.exports}o.e=function(e){var n=t[e];if(0===n)return new Promise(function(e){e()});if(n)return n[2];var r=new Promise(function(r,o){n=t[e]=[r,o]});n[2]=r;var a=document.getElementsByTagName("head")[0],c=document.createElement("script");c.type="text/javascript",c.charset="utf-8",c.async=!0,c.timeout=12e4,o.nc&&c.setAttribute("nonce",o.nc),c.src=o.p+"static/js/"+e+"."+{0:"df8814bab917ab2583e0",1:"14e8e8c7e44fc858e4a6",2:"94e1427bfc7ef0b4c685",3:"3a9f53a78da16650e6b8"}[e]+".js";var i=setTimeout(u,12e4);function u(){c.onerror=c.onload=null,clearTimeout(i);var n=t[e];0!==n&&(n&&n[1](new Error("Loading chunk "+e+" failed.")),t[e]=void 0)}return c.onerror=c.onload=u,a.appendChild(c),r},o.m=e,o.c=r,o.d=function(e,n,r){o.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},o.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(n,"a",n),n},o.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},o.p="./",o.oe=function(e){throw console.error(e),e}}([]);
-//# sourceMappingURL=manifest.9811ebe9d5c4458a1b2a.js.map
+!function(e){var n=window.webpackJsonp;window.webpackJsonp=function(r,c,a){for(var i,u,f,s=0,l=[];s<r.length;s++)u=r[s],t[u]&&l.push(t[u][0]),t[u]=0;for(i in c)Object.prototype.hasOwnProperty.call(c,i)&&(e[i]=c[i]);for(n&&n(r,c,a);l.length;)l.shift()();if(a)for(s=0;s<a.length;s++)f=o(o.s=a[s]);return f};var r={},t={6:0};function o(n){if(r[n])return r[n].exports;var t=r[n]={i:n,l:!1,exports:{}};return e[n].call(t.exports,t,t.exports,o),t.l=!0,t.exports}o.e=function(e){var n=t[e];if(0===n)return new Promise(function(e){e()});if(n)return n[2];var r=new Promise(function(r,o){n=t[e]=[r,o]});n[2]=r;var c=document.getElementsByTagName("head")[0],a=document.createElement("script");a.type="text/javascript",a.charset="utf-8",a.async=!0,a.timeout=12e4,o.nc&&a.setAttribute("nonce",o.nc),a.src=o.p+"static/js/"+e+"."+{0:"4f3b05586c3acc102a54",1:"14e8e8c7e44fc858e4a6",2:"94e1427bfc7ef0b4c685",3:"3a9f53a78da16650e6b8"}[e]+".js";var i=setTimeout(u,12e4);function u(){a.onerror=a.onload=null,clearTimeout(i);var n=t[e];0!==n&&(n&&n[1](new Error("Loading chunk "+e+" failed.")),t[e]=void 0)}return a.onerror=a.onload=u,c.appendChild(a),r},o.m=e,o.c=r,o.d=function(e,n,r){o.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},o.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(n,"a",n),n},o.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},o.p="./",o.oe=function(e){throw console.error(e),e}}([]);
+//# sourceMappingURL=manifest.161e82026ac2ae03ab6f.js.map

Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/js/manifest.161e82026ac2ae03ab6f.js.map


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/js/vendor.b7212920b6e58d14a873.js


Fichier diff supprimé car celui-ci est trop grand
+ 0 - 0
dist/static/js/vendor.b7212920b6e58d14a873.js.map


+ 7 - 1
src/components/pages/PersonnelManagement/components/classL.vue

@@ -30,7 +30,7 @@
             <span @click="openUpdate(scope.row.id, scope.row.name)"
               >修改名称</span
             >
-            <span @click="deleteClass(scope.row.id)">删除</span>
+            <span @click="deleteClass(scope.row.id)" style="color: red;">删除</span>
           </div>
         </template>
       </el-table-column>
@@ -471,6 +471,7 @@ export default {
             this.dialogVisible = false;
             this.getClass();
             this.className = "";
+            this.$emit('getClassdata')
           }
         })
         .catch(err => {
@@ -575,6 +576,11 @@ export default {
   box-sizing: border-box;
   padding: 15px 0;
 }
+.classButtonBox {
+  display: flex;
+  gap: 15px;
+}
+
 .classButtonBox span {
   color: #6b6b6b;
   font-size: 14px;

+ 6 - 2
src/components/pages/PersonnelManagement/components/grade.vue

@@ -27,7 +27,7 @@
           <div class="baseFlex">
             <span @click="getStudent(scope.row.id)">查看班级</span>
             <span @click="openUpdate(scope.row.id, scope.row.name)">修改</span>
-            <span @click="deleteGrade(scope.row.id)">删除</span>
+            <span @click="deleteGrade(scope.row.id)" style="color: red;">删除</span>
           </div>
         </template>
       </el-table-column>
@@ -250,9 +250,9 @@ export default {
               type: "success"
             });
             this.dialogVisible = false;
-            this.sClassName = "";
             this.getClass();
             this.className = "";
+            this.$emit('getgradeData')
           }
         })
         .catch(err => {
@@ -281,6 +281,10 @@ export default {
   box-sizing: border-box;
   padding: 15px 0;
 }
+.baseFlex {
+  display: flex;
+  gap: 15px;
+}
 .baseFlex > span {
   color: #6b6b6b;
   font-size: 14px;

+ 6 - 6
src/components/pages/PersonnelManagement/components/student.vue

@@ -12,13 +12,13 @@
           </div>
         </div>
         <div class="baseFlex">
-          <el-tag size="mini" v-if="i.gname">{{ i.gname }}</el-tag>
-          <el-tag size="mini" v-else type="danger">无年级</el-tag>
+          <el-tag size="mini" v-if="i.gname" style="background: #E9F6FE;color: #5498F7;">{{ i.gname }}</el-tag>
+          <el-tag size="mini" v-else type="danger" style="background: #FDF1F0;color: #E76337;">无年级</el-tag>
 
-          <el-tag size="mini" v-if="i.classname" type="success">{{
+          <el-tag size="mini" v-if="i.classname" type="success" style="background: #F8FFEE;color: #73C241;">{{
             i.classname
           }}</el-tag>
-          <el-tag size="mini" v-else type="danger">无班级</el-tag>
+          <el-tag size="mini" v-else type="danger" style="background: #FDF1F0;color: #E76337;">无班级</el-tag>
 
          
             <span @click="iniPassword(i.userid)">初始化密码</span>
@@ -26,7 +26,7 @@
             <template v-if="cidL">
                 <span @click="deleteClassStudent(i.userid)">移出</span>
             </template>
-            <span v-else @click="deleteStudent(i.userid, i.state)">删除</span>
+            <span v-else @click="deleteStudent(i.userid, i.state)" style="color: red;">删除</span>
 
           
         </div>
@@ -781,7 +781,7 @@ export default {
 .baseFlex {
   display: flex;
   align-items: center;
-  gap: 10px;
+  gap: 15px;
   height: 100%;
 }
 .baseFlex > img {

+ 2 - 0
src/components/pages/PersonnelManagement/index.vue

@@ -104,6 +104,7 @@
         :gidL="gidL"
         :searhValue="searhValue"
         @lookstudentL="lookstudentL"
+        @getClassdata="getClassdata"
       />
 
       <grade
@@ -115,6 +116,7 @@
         :role="role"
         :searhValue="searhValue"
         @lookgradeL="lookgradeL"
+        @getgradeData="getgradeData"
       />
     </div>
   </div>

+ 2 - 2
src/components/pages/aiAddCourse/addCourse.vue

@@ -7,7 +7,7 @@
       @click="cancelAjax('teacherTask')">停止</div>
     <div class="pb_content_body" style="position: relative; margin: 0;overflow: hidden;">
       <div class="courseTop" :style="{width: !gotype ? '100%' :'100px'}">
-        <!-- <div class="stepsNav">
+        <div class="stepsNav" v-if="!gotype">
             <el-breadcrumb separator-class="el-icon-arrow-right">
               <el-breadcrumb-item :to="{
                 path:
@@ -24,7 +24,7 @@
                 <span style="color: rgb(15, 126, 255)">添加课程</span>
               </el-breadcrumb-item>
             </el-breadcrumb>
-          </div> -->
+          </div>
         <div class="r_pub_button_retrun" style="margin-left: auto" @click="retrunCourse">返回</div>
       </div>
       <div class="right" style="height: calc(100% - 36px); margin-top: 36px;"

+ 2 - 2
src/components/pages/aiEasy/addCourse.vue

@@ -4,7 +4,7 @@
     <div class="c_pub_button_confirm stopBtn" v-if="loading && isTeacherTaskCancelToken" @click="cancelAjax('teacherTask')">停止</div>
     <div class="pb_content_body" style="position: relative; margin: 0;overflow: hidden;">
       <div class="courseTop" :style="{width: !gotype ? '100%' :'100px'}">
-          <!-- <div class="stepsNav">
+          <div class="stepsNav" v-if="!gotype">
             <el-breadcrumb separator-class="el-icon-arrow-right">
               <el-breadcrumb-item :to="{
                 path:
@@ -21,7 +21,7 @@
                 <span style="color: rgb(15, 126, 255)">添加课程</span>
               </el-breadcrumb-item>
             </el-breadcrumb>
-          </div> -->
+          </div>
           <div class="r_pub_button_retrun" style="margin-left: auto" @click="retrunCourse">返回</div>
         </div>
       <div class="right" style="height: calc(100% - 36px); margin-top: 36px;" :style="{width:istemplate == 1 ? 'calc(100% - 300px)' : '100%'}">

+ 8 - 5
src/components/pages/classroomObservation/components/chatArea.vue

@@ -1609,11 +1609,11 @@ ${JSON.stringify(_list)}
       let flag = true;
       let textList = [];
       let _file = null;
-      if (/\.(mp3)$/i.test(audioFile.name)) {
-        _file = await this.convertMp3ToWav(audioFile);
-      } else {
+      // if (/\.(mp3)$/i.test(audioFile.name)) {
+      //   _file = await this.convertMp3ToWav(audioFile);
+      // } else {
         _file = audioFile;
-      }
+      // }
 
       // this.uploadFile(_file,{changeText:false,flag:true})
       // return console.log(_file);
@@ -1717,8 +1717,10 @@ ${JSON.stringify(_list)}
           })
           .catch(err => {
             console.log(err)
+            this.showGetTextLoading = false;
             this.wavGetTextLoading = false;
-        this.showGetTextLoading = false;
+            this.uploadFileLoading = false;
+            this.$message.error("转录错误")
           });
         //iiframe.contentWindow.window.onRecognizedResult = function(e) {
         //  if (flag) {
@@ -2146,6 +2148,7 @@ ${JSON.stringify(_list)}
         console.log(error);
         this.wavGetTextLoading = false;
         this.showGetTextLoading = false;
+        this.uploadFileLoading = false;
       }
     },
 

+ 3 - 2
src/components/pages/classroomObservation/dialog/batchCreationClassDialog.vue

@@ -1007,7 +1007,8 @@ export default {
                 });
               }
 
-              if (["audio/x-m4a", "audio/mpeg"].includes(_file.type)) {
+              // 只对m4a文件进行转wav,mp3文件不再转码
+              if (_file.type === "audio/x-m4a") {
                 let _data = await this.audioToWavMixin(_file);
                 if (_data !== 1) {
                   _file = _data.data;
@@ -1295,7 +1296,7 @@ export default {
                     this.dataList.find(i2 => i2.id === _startData.id).jsonData.steps[_i].successNum = _stepList[_i].successNum;
                     this.$forceUpdate();
                     resolve();
-                
+
                     // this.updateTask(_startData.id);
                     // _startData.jsonData = JSON.parse(
                     //   JSON.stringify(

+ 1 - 1
src/components/pages/liyuan/aiOffice.vue

@@ -32,7 +32,7 @@ export default {
         { title: '学生管理', icon: require('../../../assets/icon/liyuan/stumange.svg'), type: 1, to: "/Listudent",role:0 },
         { title: '办公表单', icon: require('../../../assets/icon/liyuan/workTest.svg'), type: 1, to: "/sassPlatform",role:1,sassPlatFormTypeId:"cd006687-8a00-11f0-9c7b-005056924926"},
         { title: '教研室管理', icon: require('../../../assets/icon/liyuan/workTest.svg'), type: 1, to: "/teacherOffice",role:1 },
-        { title: '数据看板', icon: require('../../../assets/icon/liyuan/workTest.svg'), type: 3, to: `https://liyuan.cocorobo.cn/#/dataBoardNew?userid=${this.$route.query.userid}&oid=${this.$route.query.oid}&org=${this.$route.query.org}&gotype=aiOffice`,role:1 },
+        { title: '数据看板', icon: require('../../../assets/icon/liyuan/workTest.svg'), type: 5, to: `https://liyuan.cocorobo.cn/#/dataBoardNew?userid=${this.$route.query.userid}&oid=${this.$route.query.oid}&org=${this.$route.query.org}&role=${this.$route.query.role}&tType=${this.$route.query.tType}&gotype=aiOffice`,role:1 },
       ]
     }
   },

+ 14 - 9
src/components/pages/liyuan/components/card.vue

@@ -53,6 +53,7 @@ export default {
             // sessionStorage.setItem('gotype', this.$route.path);
             console.log('betaL',this.betaL);
 
+            // teachaer 端
             if (this.type == 1) {
               let query = {
                 userid: this.userid,
@@ -69,22 +70,26 @@ export default {
                 console.log('query',query);
                 console.log('cardData',this.cardData);
                 this.$router.push({ path: this.to, query: query })
-            }else if (this.type == 2) {
+            }else if (this.type == 2) { 
                 let con = this.betaL =='beta'? 'https://beta.cloud.cocorobo.cn' : 'https://cloud.cocorobo.cn'
                 console.log( `${con}${this.to}`);
                 window.location.href = `${con}${this.to}`;
-
             }else if (this.type == 3) {
-                window.location.href = this.to;
-            }else if (this.type == 4) {
-                let con = this.betaL =='beta'? 'https://beta.pbl.cocorobo.cn' : 'https://pbl.cocorobo.cn'
-                console.log( `${con}${this.to}`);
-                 window.location.href = `${con}${this.to}`;
-            }else {
+                // cocoFlow 页面
                 let con = this.betaL =='beta'? '//beta.app.cocorobo.cn/#/' : '//app.cocorobo.cn/#/'
-                console.log( `${con}${this.to}`);
+                window.location.href = `${con}${this.to}`;
+            }else if (this.type == 4) { 
+                //学生端
+                // 本地存储gotype
+                sessionStorage.setItem('gotype', this.$route.path);
 
+                let con = this.betaL =='beta'? 'https://beta.pbl.cocorobo.cn' : 'https://pbl.cocorobo.cn'
+                console.log( `${con}${this.to}`);
                 window.location.href = `${con}${this.to}`;
+            }else if (this.type == 5) {
+                // console.log( `${con}${this.to}`);
+                // 直接传的地址不用区分beta与正式
+                window.location.href = `${this.to}`;
             }
         }
     },

+ 8 - 2
src/components/pages/studentManage/student.vue

@@ -1,5 +1,5 @@
 <template>
-  <div class="pb_content" style="background: unset">
+  <div class="pb_content" style="background: unset;height: 100%;">
     <div class="sm_box">
       <div class="sm_left">
         <div class="nav" @click="
@@ -76,7 +76,7 @@
             </div>
           </div>
         </div>
-        <div class="pb_content_body">
+        <div class="pb_content_body" style="overflow: auto;">
           <div class="student_table">
             <el-table ref="table" :data="tableData" border :height="tableHeight" :fit="true" v-loading="isLoading"
               style="width: 100%" :header-cell-style="{ background: '#f1f1f1', fontSize: '17px' }"
@@ -1490,17 +1490,23 @@ export default {
 
 .pb_content_body {
   width: 100% !important;
+  /* flex: 1; */
+  /* overflow: auto; */
 }
 
 .sm_box {
   display: flex;
   width: calc(100% - 20px);
   margin: 0 auto;
+  height: 100%;
 }
 
 .sm_right {
   width: calc(100% - 210px);
   margin-left: 210px;
+  height: 100%;
+  display: flex;
+  flex-direction: column;
 }
 
 .sm_left {

Certains fichiers n'ont pas été affichés car il y a eu trop de fichiers modifiés dans ce diff