SanHQin 1 month ago
parent
commit
4c05a36d89

+ 1 - 1
dist/index.html

@@ -32,7 +32,7 @@
       width: 100%;
       background: #e6eaf0;
       font-family: '黑体';
-    }</style><link href=./static/css/app.599fb5e60f731cb6a0e6412ed8cacee6.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.bb486323f0fa002ba2e7.js></script><script type=text/javascript src=./static/js/app.4f2aa98157dee0bbbcb9.js></script></body></html><script>function stopSafari() {
+    }</style><link href=./static/css/app.d3d61584c9b1ea86f7343bc2e0cff298.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.bb486323f0fa002ba2e7.js></script><script type=text/javascript src=./static/js/app.cbba84c11efe1ede4b7d.js></script></body></html><script>function stopSafari() {
     //阻止safari浏览器双击放大功能
     let lastTouchEnd = 0  //更新手指弹起的时间
     document.documentElement.addEventListener("touchstart", function (event) {

File diff suppressed because it is too large
+ 0 - 0
dist/static/css/app.d3d61584c9b1ea86f7343bc2e0cff298.css


File diff suppressed because it is too large
+ 0 - 0
dist/static/css/app.d3d61584c9b1ea86f7343bc2e0cff298.css.map


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/app.cbba84c11efe1ede4b7d.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/app.cbba84c11efe1ede4b7d.js.map


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/manifest.161e82026ac2ae03ab6f.js.map


+ 27 - 5
src/components/pages/classroomObservation/dialog/batchCreationClassDialog.vue

@@ -252,6 +252,11 @@ export default {
         i => !i.isOtherData && i.jsonData.name != "词频词汇分析"
       );
 
+      _analysisList.forEach(i=>{
+        if(i.jsonData.spectrogramData){
+          delete i.jsonData.spectrogramData
+        }
+      })
       let promiseList = [];
 
       fileDataList.forEach(i => {
@@ -1365,26 +1370,43 @@ export default {
       let fileList = [];
 
       for(let i=0;i<_copyExportData.length;i++){
-        _copyExportData[i].jsonData.baseMessage.courseName =
-        _copyExportData[i].jsonData.baseMessage.courseName + "_" + i;
+        // _copyExportData[i].jsonData.baseMessage.courseName =
+        // _copyExportData[i].jsonData.baseMessage.courseName + "_" + i;
         fileList.push(await this.getDocFnPromise(_copyExportData[i]));
       }
 
       if (fileList.length == 1) {
           saveAs(fileList[0], `${fileList[0].name}`);
           this.$message.success("导出报告成功");
+
         } else if (fileList.length > 1) {
           const zip = new JSZip();
-          fileList.forEach(i => {
-            zip.file(`${i.name}`, i, { binary: true });
+
+          fileList.forEach((i, index) => {
+            let fileName = i.name;
+
+            if(fileList.map(i=>i.name).includes(fileName)){
+              fileName = fileName.replace(/\.[^/.]+$/, "") + `(${index}).` + fileName.replace(/^.*\./, "");
+            }
+            // let fileName = i.name;
+            // let fileNames = fileList.map(file => file.name);
+            // let count = 1;
+            // while (fileNames.includes(fileName)) {
+            //   let nameWithoutExtension = fileName.replace(/\.[^/.]+$/, "");
+            //   let extension = fileName.replace(nameWithoutExtension, "");
+            //   fileName = `${nameWithoutExtension}(${count})${extension}`;
+            //   count++;
+            // }
+            zip.file(fileName, i, { binary: true });
           });
           zip.generateAsync({ type: "blob" }).then(content => {
             // 生成二进制流
             saveAs(content, `课堂观察报告.zip`); // 利用file-saver保存文件  自定义文件名
           });
-          _notify.close();
+
           this.$message.success("导出报告成功");
         }
+        _notify.close();
 
       // _exportList.forEach((i, index) => {
       //   i.jsonData.baseMessage.courseName =

+ 1 - 3
src/components/pages/classroomObservation/dialog/uploadFileToCreateClassDialog.vue

@@ -245,13 +245,11 @@ export default {
 
       input.addEventListener("change", async e => {
         let files = e.target.files;
-        console.log(files)
         for (let i = 0; i < files.length; i++) {
-
           if (
             ["video/mp4", "audio/wav", "audio/x-m4a", "text/plain","audio/mpeg"].includes(files[i].type)
           ) {
-            let _file = files[i];
+            let _file = new File([files[i]], files[i].name.replace(/\s+/g, ''), {type: files[i].type});
             if(_file.type==='audio/wav'){
               _file = new File([_file], _file.name.toLowerCase(), {type: _file.type});
             }

+ 27 - 19
src/components/pages/classroomObservation/tools/mixin.js

@@ -384,9 +384,11 @@ ${arr.map(row => `<tr>
               if (resultData.CH) analysisData.CH = resultData.CH;
               return resolve({ data: analysisData })
             } else if (assistantData.id == "bfe844b1-7a45-11ef-9b30-005056b86db5") {//课堂活动光谱图
+
               let resultData = await this.getSpectrogram(_result, fileId, content, assistantData)
+              console.log("管谱图数据",resultData)
               if (resultData.message) analysisData.content = resultData.message;
-              if (resultData.eCharts) analysisData.getSpectrogram = resultData.eCharts;
+              if (resultData.eCharts) analysisData.spectrogramData = resultData.eCharts;
               return resolve({ data: analysisData })
             }
           } catch (error) {
@@ -969,10 +971,9 @@ CH:${_CH}
     getSpectrogram(_dataList, fileId, content, assistant) {
       return new Promise(async (resolve) => {
         try {
-          this.getContentTableMixin(content).then(async res => {
-            if (res.length <= 0) {
-              resolve({ data: 1, err: "无表格数据" })
-            }
+          let _msg = assistant.tips;
+          let message = await this.getAiContentMixin({ _msg: _msg, fileId: fileId })
+          this.getContentTableMixin(message.data).then(async res => {
             let _tableData = res;
             let _delIndex = _tableData.findIndex(i => i.includes("时间点"))
             _tableData = _tableData.slice(_delIndex + 1)
@@ -984,6 +985,7 @@ CH:${_CH}
             let upTime = '00:00:00';
 
             _dataList.forEach((item, index) => {
+              if(!item.role)return;
               if (index == 0) {
                 //第一个
                 identity = item.role;
@@ -1022,7 +1024,7 @@ CH:${_CH}
 
             let breakpoint = [];
 
-            breakpoint = _tableData.map(i => this.convertToSeconds(i[0]))
+            // breakpoint = _tableData.map(i => this.convertToSeconds(i[0]))
 
             _result = _result.filter(
               i =>
@@ -1038,9 +1040,7 @@ CH:${_CH}
             _data.data = _result.map(i => ({ role: i.identity, type: i.identity == "老师" ? 0 : 1, value: i.sumTime }));
             _data.breakpoint = breakpoint;
 
-            let _msg = assistant.tips;
 
-            let message = await this.getAiContentMixin({ _msg: _msg, fileId: fileId })
 
             if (message.data == 1) {
               return resolve({ eCharts: _data, message: "" })
@@ -1052,6 +1052,7 @@ CH:${_CH}
 
           });
         } catch (e) {
+          console.log("光谱生成失败",e)
           return resolve({ data: 1, err: e })
         }
       })
@@ -1685,22 +1686,29 @@ CH:${_CH}
         // 初始化图表
         let myChart = echarts.init(hiddenDiv);
 
+       console.log(option)
 
-        myChart.on("finished", () => {
+       let time;
+        myChart.on("rendered", async () => {
           // console.log("生成echarts成功")
           // 获取图表的图片
-          let base64Image = myChart.getDataURL({
-            type: "png", // 图片格式
-            pixelRatio: 0.9, // 图像清晰度
-            backgroundColor: "#fff" // 背景颜色
-          });
 
-          resolve(base64Image);
-          // 清除隐藏的div和图表实例
-          document.body.removeChild(hiddenDiv);
-          myChart.dispose();
+          clearTimeout(time)
+          time = setTimeout(()=>{
+            let base64Image = myChart.getDataURL({
+              type: "png", // 图片格式
+              pixelRatio: 0.9, // 图像清晰度
+              backgroundColor: "#fff" // 背景颜色
+            });
+
+            resolve(base64Image);
+            // 清除隐藏的div和图表实例
+            document.body.removeChild(hiddenDiv);
+            myChart.dispose();
+          },200)
+
         }).on("error", (error) => {
-          // console.log("生成echarts失败",error)
+          console.log("生成echarts失败",error)
           resolve("#")
         });
 

Some files were not shown because too many files changed in this diff