lsc 9 月之前
父节点
当前提交
596cf2b088

+ 1 - 1
dist/index.html

@@ -32,7 +32,7 @@
       width: 100%;
       background: #e6eaf0;
       font-family: '黑体';
-    }</style><link href=./static/css/app.036237228612c19f583274e3e6683602.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.571c38d63f24b1ae9e16.js></script><script type=text/javascript src=./static/js/vendor.85f22e7b4ab99591785c.js></script><script type=text/javascript src=./static/js/app.a657ee3e0477ff91b2d9.js></script></body></html><script>function stopSafari() {
+    }</style><link href=./static/css/app.c23cdf1861c87b3dbc8c500eaa20fb0b.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.571c38d63f24b1ae9e16.js></script><script type=text/javascript src=./static/js/vendor.85f22e7b4ab99591785c.js></script><script type=text/javascript src=./static/js/app.6bfa8e459c57f12db71b.js></script></body></html><script>function stopSafari() {
     //阻止safari浏览器双击放大功能
     let lastTouchEnd = 0  //更新手指弹起的时间
     document.documentElement.addEventListener("touchstart", function (event) {

文件差异内容过多而无法显示
+ 0 - 0
dist/static/css/app.c23cdf1861c87b3dbc8c500eaa20fb0b.css


文件差异内容过多而无法显示
+ 0 - 0
dist/static/css/app.c23cdf1861c87b3dbc8c500eaa20fb0b.css.map


文件差异内容过多而无法显示
+ 0 - 0
dist/static/js/app.6bfa8e459c57f12db71b.js


文件差异内容过多而无法显示
+ 0 - 0
dist/static/js/app.6bfa8e459c57f12db71b.js.map


文件差异内容过多而无法显示
+ 0 - 0
dist/static/js/manifest.571c38d63f24b1ae9e16.js.map


二进制
src/assets/icon/ppt/model5-1.png


二进制
src/assets/icon/ppt/model5-2.png


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

@@ -1,5 +1,5 @@
 <template>
-  <div class="pb_content" style="background: #f0f2f5" v-loading="loading">
+  <div class="pb_content" style="background: #f0f2f5" v-loading="loading" element-loading-text="小可正在努力生成中,请稍等...">
     <div class="pb_content_body" style="position: relative; margin: 0">
       <div class="right" :style="{width:istemplate == 1 ? 'calc(100% - 300px)' : '100%'}">
         <div class="courseTop">
@@ -358,7 +358,7 @@
                 </div>
               </div>
             </div>
-            <div class="whiteBg" style="background: #fff; margin: 0 0 10px;padding: 0 0 15px;" v-loading="textLoading">
+            <div class="whiteBg" style="background: #fff; margin: 0 0 10px;padding: 0 0 15px;" v-loading="textLoading" element-loading-text="小可正在努力生成中,请稍等...">
               <div class="whiteBg" style="border-radius: 0; margin-top: 15px">
                 <div class="c_info_title">
                   课程简要描述
@@ -667,7 +667,7 @@
                       <input type="text" placeholder="输入任务名称" class="binfo_input" style="border-radius: 4px"
                         v-model="item.task" />
                     </div>
-                    <div class="outline_detail" v-loading="taskDetailLoading.indexOf('task-' + index) !== -1">
+                    <div class="outline_detail" v-loading="taskDetailLoading.indexOf('task-' + index) !== -1" element-loading-text="小可正在努力生成中,请稍等...">
                       <textarea v-autoHeight="100" rows="4" class="binfo_input binfo_textarea" cols
                         placeholder="请输入任务描述" v-model="item.taskDetail2"></textarea>
                       <div class="op_box">
@@ -689,7 +689,7 @@
                   概念群
                 </div>
                 <div class="task_outline">
-                  <div class="outline_detail" v-loading="cpoteLoading.cpote1">
+                  <div class="outline_detail" v-loading="cpoteLoading.cpote1" element-loading-text="小可正在努力生成中,请稍等...">
                     <textarea v-autoHeight="100" rows="4" class="binfo_input binfo_textarea" cols placeholder="请输入概念群"
                       v-model="cpote.cpote1" v-if="cpote.cpote1s"></textarea>
                     <div class="markBox vditor-reset" v-html="MarkdownT(cpote.cpote1)" v-else></div>
@@ -714,7 +714,7 @@
                   问题链
                 </div>
                 <div class="task_outline">
-                  <div class="outline_detail" v-loading="cpoteLoading.cpote2">
+                  <div class="outline_detail" v-loading="cpoteLoading.cpote2" element-loading-text="小可正在努力生成中,请稍等...">
                     <textarea v-autoHeight="100" rows="4" class="binfo_input binfo_textarea" cols placeholder="请输入问题链"
                       v-model="cpote.cpote2" v-if="cpote.cpote2s"></textarea>
                     <div class="markBox vditor-reset" v-html="MarkdownT(cpote.cpote2)" v-else></div>
@@ -739,7 +739,7 @@
                   目标层
                 </div>
                 <div class="task_outline">
-                  <div class="outline_detail" v-loading="cpoteLoading.cpote3">
+                  <div class="outline_detail" v-loading="cpoteLoading.cpote3" element-loading-text="小可正在努力生成中,请稍等...">
                     <textarea v-autoHeight="100" rows="4" class="binfo_input binfo_textarea" cols placeholder="请输入目标层"
                       v-model="cpote.cpote3" v-if="cpote.cpote3s"></textarea>
                     <div class="markBox vditor-reset" v-html="MarkdownT(cpote.cpote3)" v-else></div>
@@ -764,7 +764,7 @@
                   任务簇
                 </div>
                 <div class="task_outline">
-                  <div class="outline_detail" v-loading="cpoteLoading.cpote4">
+                  <div class="outline_detail" v-loading="cpoteLoading.cpote4" element-loading-text="小可正在努力生成中,请稍等...">
                     <textarea v-autoHeight="100" rows="4" class="binfo_input binfo_textarea" cols placeholder="请输入任务簇"
                       v-model="cpote.cpote4" v-if="cpote.cpote4s"></textarea>
                       <div class="markBox vditor-reset" v-html="MarkdownT(cpote.cpote4)" v-else></div>
@@ -801,7 +801,7 @@
                       <input type="text" placeholder="输入任务名称" class="binfo_input" style="border-radius: 4px"
                         v-model="item.task" />
                     </div>
-                    <div class="outline_detail" v-loading="taskDetailLoading5.indexOf('task-' + index) !== -1">
+                    <div class="outline_detail" v-loading="taskDetailLoading5.indexOf('task-' + index) !== -1" element-loading-text="小可正在努力生成中,请稍等...">
                       <textarea v-autoHeight="100" rows="4" class="binfo_input binfo_textarea" cols placeholder="请输入教案"
                         v-model="item.taskDetail3" v-if="item.isTask3"></textarea>
                       <div class="markBox vditor-reset" v-html="MarkdownT(item.taskDetail3)" v-else></div>
@@ -1659,7 +1659,7 @@
                               easyArray.indexOf(unitJson[unitIndex].easy) ==
                               -1
                             " style="margin-top: 20px" class="op_task_box"
-                              v-loading="taskDetailLoading2.indexOf('task-' + itemTaskIndex) !== -1">
+                              v-loading="taskDetailLoading2.indexOf('task-' + itemTaskIndex) !== -1" element-loading-text="小可正在努力生成中,请稍等...">
                               <!-- <editor-bar class="addEditor" style="margin: 0" placeholder="请输入任务描述" v-model="unitJson[unitIndex].chapterInfo[0].taskJson[
                                   itemTaskIndex
                                 ].taskDetail
@@ -3332,7 +3332,7 @@
                               </div>
                               <!-- v-show="!itemTool.isFold3" -->
                               <div class="op_tool_box"
-                                v-loading="taskDetailLoading3.indexOf('task-' + itemTaskIndex + toolIndex) !== -1">
+                                v-loading="taskDetailLoading3.indexOf('task-' + itemTaskIndex + toolIndex) !== -1" element-loading-text="小可正在努力生成中,请稍等...">
                                 <textarea rows="2" v-autoHeight="70" type="text" placeholder="添加工具描述"
                                   class="binfo_input" style="
                                     margin: 0 0 20px 0;
@@ -3632,7 +3632,7 @@
                           </div>
                         </div>
                         <div class="elist_css" v-if="!(unitJson[unitJson.length - 1].easy == 4)"
-                          v-loading="taskDetailLoading4.indexOf('task-' + itemTaskIndex) !== -1">
+                          v-loading="taskDetailLoading4.indexOf('task-' + itemTaskIndex) !== -1" element-loading-text="小可正在努力生成中,请稍等...">
                           <div class="elist_title">
                             <div style="
                                 display: flex;
@@ -13253,10 +13253,10 @@ ${this.templateid == "4480d65a-1e48-11ef-bee5-005056b86db5" ? '#目标层\n'+thi
 
 ## 格式要求
 任务数量:${this.teacherText.length}个
-任务描述:该描述是教师给与学生的指示(用于指导学生如何进行每个教学活动),对应到学生活动,你应该用友好,但是又清晰明确的口吻来撰写。
+任务描述:用老师的身份以友好,但是又清晰明确的口吻来撰写该描述,该描述教师给与学生的指示(用于指导学生如何进行每个教学活动),对应到学生活动
 评价标准:至少3条评价标准,这个评价是教师用来评价学生表现的,需要包含评价维度,以及该维度中教师期待学生的表现,句式为学生应该能....
-工具名:从工具列表中选择0~2个工具用于学生阶段性成果提交:工具列表:[电子白板,文档,思维导图,表格,作业提交]
-工具指引:以友好,明确的口吻告诉学生该如何使用该工具
+工具名:从工具列表中选择0~2个工具用于学生阶段性成果提交:工具列表:电子白板,文档,思维导图,表格,作业提交,问答,选择题,只在这几个工具里选
+工具描述:用同学的方式以友好亲切,明确的口吻告诉学生该如何使用该工具
 
 # Format example
 [{"detail":"面向学生的任务描述","elist":[{"value":"评价名字1","detail":"评价维度1","score":5},{"value":"评价名字2","detail":"评价维度2","score":5},{"value":"评价名字3","detail":"评价维度3","score":5}],"toolChoose":[{"tool":"工具名","detail":"工具描述"},{"tool":"工具名","detail":"工具描述"}]},{"detail":"面向学生的任务描述","elist":[{"value":"评价名字1","detail":"评价维度1","score":5},{"value":"评价名字2","detail":"评价维度2","score":5},{"value":"评价名字3","detail":"评价维度3","score":5}],"toolChoose":[]},{"detail":"面向学生的任务描述","elist":[{"value":"评价名字1","detail":"评价维度1","score":5},{"value":"评价名字2","detail":"评价维度2","score":5},{"value":"评价名字3","detail":"评价维度3","score":5}],"toolChoose":[{"tool":"工具名","detail":"工具描述"}]}]`
@@ -13878,9 +13878,9 @@ ${message} 以及##参考资料 以文本格式输出项目概况,驱动性问
               if (_task.toolChoose.length) {
                 for (var j = 0; j < _task.toolChoose.length; j++) {
                   let _json = {
-                      tool: toolsJson[_task.toolChoose[j].tool] ? [toolsJson[_task.toolChoose[j].tool].tool] : [],
+                      tool: toolsJson[_task.toolChoose[j].tool] ? [toolsJson[_task.toolChoose[j].tool].tool] : [16],
                       toolDetail: _task.toolChoose[j].detail,
-                      toolType: toolsJson[_task.toolChoose[j].tool] ? toolsJson[_task.toolChoose[j].tool].type : 0,
+                      toolType: toolsJson[_task.toolChoose[j].tool] ? toolsJson[_task.toolChoose[j].tool].type : 2,
                       askCount: 1,
                       askTitle: "",
                       askJson: [{ askstitle: "", askItem: 1, checkList: [] }],

+ 36 - 22
src/components/pages/aiAddCourse/aiCreateDialog.vue

@@ -365,38 +365,43 @@ ${mclass.length ? "#参考资料\n面向年级:" + mclass.join(",") : ""}
         createPpt(array) {
             // 1. 创建PPT
             const pres = new Pptxgen();
+            const _slideTou = pres.addSlide();
+            _slideTou.background = { path: "https://ccrb.s3.cn-northwest-1.amazonaws.com.cn/model5-11719295908696.png" }
+            _slideTou.addText(this.courseName, {
+                x: "10%", // 横坐标
+                y: 3,
+                width: "90%",
+                color: "363636",
+                fontSize: 38, // 字号
+                align: "center",
+            });
             for (var i = 0; i < array.length; i++) {
                 // 2. 创建一个PPT页面,每调用一次 pres.addSlide() 都可以生成一张新的页面
                 // 建议把每个页面的构造抽成一个个函数,然后通过函数调用生成新页面,代码不会很乱
                 const _slide = pres.addSlide();
-
+                _slide.background = { path: "https://ccrb.s3.cn-northwest-1.amazonaws.com.cn/model5-21719295930345.png" }
+            
                 // 3. 调用addTetx(),在PPT页面中插入文字“Hello World from PptxGenJS...”
                 // 括号里面是对文字的配置,文字横坐标x为1.5,纵坐标y为1.5,字体颜色 363636……
                 // 关于坐标长度与px的转换 x 1 = 127~128px 左右
                 const page = i+1 > 10 ? i+1 : "0"+(i+1);
-                _slide.addText(page, {
-                    x: 0.2, // 横坐标
-                    y: 0.5,
-                    color: "363636",
-                    fontSize: 20, // 字号
-                    align: "left",
-                });
-                const tempResult1 = array[i].title;
+                const tempResult1 = page + " " + array[i].title;
                 _slide.addText(tempResult1, {
-                    x: 0.6, // 横坐标
-                    y: 0.5,
+                    x: "10%", // 横坐标
+                    y: 1.1,
+                    width: "90%",
                     color: "363636",
                     fontSize: 28, // 字号
-                    bold: true,
-                    align: "left",
+                    align: "center",
                 });
                 const tempResult2 = array[i].task;
                 _slide.addText(tempResult2, {
-                    x: 0.6, // 横坐标
-                    y: 1.5,
+                    x: "10%", // 横坐标
+                    y: 1.8,
+                    width: "90%",
                     color: "363636",
-                    fontSize: 18, // 字号
-                    align: "left",
+                    fontSize: 20, // 字号
+                    align: "center",
                 });
                 let tempResult3 = '';
                 if(typeof array[i].points == 'object'){
@@ -405,17 +410,26 @@ ${mclass.length ? "#参考资料\n面向年级:" + mclass.join(",") : ""}
                     tempResult3 = array[i].points
                 }
                 _slide.addText(tempResult3, {
-                    x: 0.6, // 横坐标
-                    y: 3,
+                    x: "20%", // 横坐标
+                    y: 3.2,
                     w: "60%",
                     color: "363636",
                     fontSize: 18, // 字号
-                    align: "left",
+                    align: "center",
                 });
             }
-
+            const _slideWei = pres.addSlide();
+            _slideWei.background = { path: "https://ccrb.s3.cn-northwest-1.amazonaws.com.cn/model5-11719295908696.png" }
+            _slideWei.addText("谢谢观看,下课!", {
+                x: "10%", // 横坐标
+                y: 3,
+                width: "90%",
+                color: "363636",
+                fontSize: 38, // 字号
+                align: "center",
+            });
             // 获取PPTX文件的ArrayBuffer
-
+            
             // 保存为 Blob 并处理
             pres.write("blob").then((blob) => {
                 // 现在你有了一个 Blob 对象

部分文件因为文件数量过多而无法显示