lsc 10 months ago
parent
commit
adaf1280e6

+ 1 - 1
dist/index.html

@@ -32,7 +32,7 @@
       width: 100%;
       background: #e6eaf0;
       font-family: '黑体';
-    }</style><link href=./static/css/app.8a3e782efe275af5892a82795f699346.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.ee476e38463461edca63.js></script><script type=text/javascript src=./static/js/app.b603e6a0010c2556a915.js></script></body></html><script>function stopSafari() {
+    }</style><link href=./static/css/app.5d6f1e5ab9322d13b99afaafadbf2ab3.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.ee476e38463461edca63.js></script><script type=text/javascript src=./static/js/app.dcf3fe59eb808bd8d2a5.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.5d6f1e5ab9322d13b99afaafadbf2ab3.css


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


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


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


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


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


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


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


+ 98 - 18
src/components/pages/aiAddCourse/addCourse.vue

@@ -928,15 +928,15 @@
                       )
                       " />
                   </button>
-                  <el-tooltip effect="light" content="右键单击可配置提示词" placement="bottom">
+                  <el-tooltip effect="light" content="右键单击可配置提示词" placement="bottom" v-show="false">
                     <button class="c_pub_button_confirm" style="margin: 0px 0 0px auto;"
                       @contextmenu.prevent="openAiDialog(1, 'aitargetTextDetail2',1)"
-                      @click="openAiDialog(2, 'aitargetTextDetail2',1)">生成目标</button>
+                      @click="openAiDialog(2, 'aitargetTextDetail2',1)">生成目标2</button>
                   </el-tooltip>
-                  <el-tooltip effect="light" content="右键单击可配置提示词" placement="bottom" v-show="false">
-                  <button class="c_pub_button_confirm" style="margin: 0 0 0 0;"
+                  <el-tooltip effect="light" content="右键单击可配置提示词" placement="bottom">
+                  <button class="c_pub_button_confirm" style="margin: 0px 0 0px auto;"
                     @contextmenu.prevent="openAiDialog(1, 'aitargetTextDetail3',1)"
-                    @click="openAiDialog(2, 'aitargetTextDetail3',1)">生成目标2</button>
+                    @click="openAiDialog(2, 'aitargetTextDetail3',1)">生成目标</button>
                   </el-tooltip>
                   <div style="margin-top: 10px;width:100%" v-if="mubiaoInfoData.length">
                     <div class="add_chapters_box add_c_none" v-if="
@@ -5025,8 +5025,9 @@
                               <div v-if="itemTask.eList && itemTask.eList.length" class="elist_input">
                                 <div v-for="(eItem, eIndex) in itemTask.eList" :key="eIndex" class="elist_input_box">
                                   <div class="elist_inptu_text">
-                                    <span>目标:</span>
-                                    <input type="input" v-model="itemTask.eList[eIndex].target" placeholder="填写目标"  style="width: calc(100% - 280px);"/>
+                                    <!-- <span>目标:</span> -->
+                                    <span>核心素养:</span>
+                                    <input type="input" v-model="itemTask.eList[eIndex].target" placeholder="填写核心素养"  style="width: calc(100% - 280px);"/>
                                     <el-switch
                                       style="margin-left: auto;"
                                       v-model="itemTask.eList[eIndex].isai"
@@ -5037,9 +5038,10 @@
                                     </el-switch>
                                   </div>
                                   <div class="elist_inptu_text">
-                                    <span>评价维度:</span>
+                                    <!-- <span>评价维度:</span> -->
+                                    <span>目标:</span>
                                     <!-- <el-tooltip effect="dark" :content="itemTask.eList[eIndex].value || '填写评价维度'" placement="top" popper-class="text_tooltip2"> -->
-                                    <input type="input" v-model="itemTask.eList[eIndex].value" placeholder="填写评价维度" />
+                                    <input type="input" v-model="itemTask.eList[eIndex].value" placeholder="填写目标" />
                                     <!-- </el-tooltip> -->
                                     <!-- <span>评星等级:</span>
                                     <el-rate v-model="itemTask.eList[eIndex].score" @change="setEListStar()"
@@ -5053,9 +5055,10 @@
                                       "></div>
                                   </div>
                                   <div class="elist_inptu_text">
-                                    <span>维度描述:</span>
+                                    <!-- <span>维度描述:</span> -->
+                                    <span>评价标准:</span>
                                     <!-- <el-tooltip effect="dark" :content="itemTask.eList[eIndex].detail || '填写维度描述'" placement="top" popper-class="text_tooltip2"> -->
-                                    <input type="input" v-model="itemTask.eList[eIndex].detail" placeholder="填写维度描述" />
+                                    <input type="input" v-model="itemTask.eList[eIndex].detail" placeholder="填写评价标准" />
                                     <!-- </el-tooltip> -->
                                   </div>
                                   <div class="elist_inptu_text" v-if="evalua">
@@ -5287,7 +5290,7 @@
         <aiTips ttitle="基础资料" title="提取目标" :detail="aiJson.aiTarget" pan="aiTarget" @setAiJson="setAiJson"  v-if="!yiKeTemplateArray.includes(templateid)"/>
         <aiTips ttitle="基础资料" title="智能检索资料" :detail="aiJson.aiSearchFile" pan="aiSearchFile" @setAiJson="setAiJson"  v-if="!yiKeTemplateArray.includes(templateid)"/>
         <aiTips ttitle="基础资料" title="课程描述优化" :detail="aiJson.aiDetail" pan="aiDetail" @setAiJson="setAiJson" />
-        <!-- <aiTips ttitle="基础资料" title="目标文件检索" :detail="aiJson.aiTargetGet" pan="aiTargetGet" @setAiJson="setAiJson"  v-if="!yiKeTemplateArray.includes(templateid)"/> -->
+        <aiTips ttitle="基础资料" title="目标文件检索" :detail="aiJson.aiTargetGet" pan="aiTargetGet" @setAiJson="setAiJson"  v-if="!yiKeTemplateArray.includes(templateid)"/>
         <aiTips ttitle="基础资料" title="生成目标" :detail="aiJson.aiTarget2" pan="aiTarget2" @setAiJson="setAiJson"  v-if="!yiKeTemplateArray.includes(templateid)"/>
         <aiTips ttitle="基础资料" title="生成大纲按钮" :detail="aiJson.aiOutline" pan="aiOutline" @setAiJson="setAiJson" v-if="templateid != '61c628b9-3d96-11ef-b873-005056b86db5' && templateid != '4480d65a-1e48-11ef-bee5-005056b86db5' && templateid != 'cf5722a4-401b-11ef-b873-005056b86dc3'"/>
         <aiTips ttitle="课程大纲" title="大纲任务生成" :detail="aiJson.aiOutlineTask" pan="aiOutlineTask" @setAiJson="setAiJson" v-if="templateid == '61c628b9-3d96-11ef-b873-005056b86db5'"/>
@@ -9602,6 +9605,17 @@ export default {
         var bucket = new window.AWS.S3({ params: { Bucket: "ccrb" } }); //选择桶
         var _this = this;
         var xianObj = ['DOCX','DOC','PPT','PPTX','MD','TXT','PDF']
+        if (
+          ['DOC'].indexOf(
+              file.name
+                .split(".")
+              [file.name.split(".").length - 1].toLocaleUpperCase()
+            ) !== -1
+          ) {
+          this.$message.error("抱歉,小可暂时不支持.doc的文件呢");
+          this.inputShow = true;
+          return;
+        }
         if (
           xianObj.indexOf(
               file.name
@@ -15727,7 +15741,8 @@ export default {
       }
       this.openAiDialog(2, 'aiDetail',1)
       setTimeout(() => {
-        this.openAiDialog(2, 'aitargetTextDetail2',1)
+        // this.openAiDialog(2, 'aitargetTextDetail2',1)
+        this.openAiDialog(2, 'aitargetTextDetail3',1)
       }, 500);
       this.courseTextBool = true
     },
@@ -19732,7 +19747,12 @@ ${_text2}`
           url.push(this.infoData[i].url)
         }
       }
-
+      let taskN = []
+      for(var ti = 0; ti < _this.unitJson[0].chapterInfo[0].taskJson.length; ti++){
+        if(_tindex2 != ti){
+          taskN.push("任务"+(ti+1)+":"+_this.unitJson[0].chapterInfo[0].taskJson[ti].task)
+        }
+      }
       let messages = `NOTICE
 Role: 你是创建课程的老师,可以利用file_search的方式完整的去分析文件内容(注:如果文件内容里面不包含需要检索的内容,就不引用文件内容)
 Language: Please use the same language as the user requirement, if the user speaks Chinese, the specific text of your answer should also be in Chinese.
@@ -19744,6 +19764,7 @@ ${msg}
 ## 补充描述
 课程简要描述:${_this.courseText}
 任务名:${_this.unitJson[0].chapterInfo[0].taskJson[_tindex2].task}
+其他大纲的任务名:${taskN.join(",")}
 ${(_this.templateid == "4480d65a-1e48-11ef-bee5-005056b86db5" || _this.templateid == "cf5722a4-401b-11ef-b873-005056b86dc3") ? 'index:'+(_tindex2+1) : ''}
 ${_this.unitJson[0].chapterInfo[0].taskJson[_tindex2].taskDetail2 ? '任务描述:' + _this.unitJson[0].chapterInfo[0].taskJson[_tindex2].taskDetail2.replaceAll('#','').replaceAll('*','').replaceAll('-','').replaceAll('\n','') : ''}
 ${(_this.templateid == "4480d65a-1e48-11ef-bee5-005056b86db5" || _this.templateid == "cf5722a4-401b-11ef-b873-005056b86dc3") ? '#目标层:'+_this.cpote.cpote3.replaceAll('#','').replaceAll('*','').replaceAll('-','').replaceAll('\n','') : ''}
@@ -20400,7 +20421,7 @@ ${this.targetCourseText && this.aiCallBack == 2 ? '注意,优化原有的<参
     async aitargetTextDetail2(msg) {
       let _this = this
       
-      let fileid = ['file-okF1PSRw4VYjRl81SykkxWSo'] // file-okF1PSRw4VYjRl81SykkxWSo 科学目标fileid
+      let fileid = [] 
       if(_this.mubiaoInfoData.length){
         for (var i = 0; i < _this.mubiaoInfoData.length; i++) {
           if(_this.mubiaoInfoData[i].fileid){
@@ -20443,6 +20464,11 @@ ${this.targetCourseText && this.aiCallBack == 2 ? '注意,优化原有的<参
         }
       }
 
+      if(sub.length){
+        let _fileid = _this.importFileid(sub)
+        fileid = [...fileid, ..._fileid]
+      }
+
       let messages = `NOTICE
 Role: 你是创建课程的老师,内容以markdown形式出现(注:如果文件内容里面不包含需要检索的内容,就不引用文件内容)。
 Language: Please use the same language as the user requirement, if the user speaks Chinese, the specific text of your answer should also be in Chinese.
@@ -20520,10 +20546,54 @@ ${this.targetCourseText && this.aiCallBack == 2 ? '注意,优化原有的<参
       });
       await _this.aitargetTextDetail2getAiContent(_uuid)
     },
+    importFileid(sub){
+      // file-SNthYVubrHGg4HjFcp3FPkZq 英语
+      // file-QOKhi8i84T8eR6DYhb9TaTlG 科学核心素养
+      // file-nkAUyRCEMncICGuFBC1WXnM1 科学素养内涵
+      // file-aQmfmgrwdrHa9sCTTZkjvK7Z 语文
+      // file-G1bRfSFnQaQtzA3c8dLshg0a 数学核心素养
+      // file-35koyXrFO2T4FsrQe4qXm0io 数学素养内涵
+      let _sub = converter(sub.join(","))
+      let fileid = []
+      if(_sub.indexOf(converter('STEM')) != -1){
+        fileid.push('file-SNthYVubrHGg4HjFcp3FPkZq')
+        fileid.push('file-QOKhi8i84T8eR6DYhb9TaTlG')
+        fileid.push('file-nkAUyRCEMncICGuFBC1WXnM1')
+        fileid.push('file-aQmfmgrwdrHa9sCTTZkjvK7Z')
+        fileid.push('file-G1bRfSFnQaQtzA3c8dLshg0a')
+        fileid.push('file-35koyXrFO2T4FsrQe4qXm0io')
+      }
+      if(_sub.indexOf(converter('语文')) != -1){
+        if(fileid.indexOf('file-aQmfmgrwdrHa9sCTTZkjvK7Z') == -1){
+          fileid.push('file-aQmfmgrwdrHa9sCTTZkjvK7Z')
+        }
+      }
+      if(_sub.indexOf(converter('数学')) != -1){
+        if(fileid.indexOf('file-G1bRfSFnQaQtzA3c8dLshg0a') == -1){
+          fileid.push('file-G1bRfSFnQaQtzA3c8dLshg0a')
+        }
+        if(fileid.indexOf('file-35koyXrFO2T4FsrQe4qXm0io') == -1){
+          fileid.push('file-35koyXrFO2T4FsrQe4qXm0io')
+        }
+      }
+      if(_sub.indexOf(converter('英语')) != -1){
+        if(fileid.indexOf('file-SNthYVubrHGg4HjFcp3FPkZq') == -1){
+          fileid.push('file-SNthYVubrHGg4HjFcp3FPkZq')
+        }
+      }
+      if(_sub.indexOf(converter('科学')) != -1){
+        if(fileid.indexOf('file-QOKhi8i84T8eR6DYhb9TaTlG') == -1){
+          fileid.push('file-QOKhi8i84T8eR6DYhb9TaTlG')
+        }
+        if(fileid.indexOf('file-nkAUyRCEMncICGuFBC1WXnM1') == -1){
+          fileid.push('file-nkAUyRCEMncICGuFBC1WXnM1')
+        }
+      }
+      return fileid
+    },
     async aitargetTextDetail22(msg,msg2) {
       let _this = this
-      
-      let fileid = [] // file-okF1PSRw4VYjRl81SykkxWSo 科学目标fileid  'file-okF1PSRw4VYjRl81SykkxWSo' 目标
+      let fileid = [] 
       _this.targetTextLoading2 = true
       _this.ttargetTextLoading2 = true
       let sub = []
@@ -20549,6 +20619,11 @@ ${this.targetCourseText && this.aiCallBack == 2 ? '注意,优化原有的<参
         }
       }
 
+      if(!msg2 && sub.length){
+        let _fileid = _this.importFileid(sub)
+        fileid = [...fileid, ..._fileid]
+      }
+
       let messages = `NOTICE
 Role: 你是创建课程的老师,内容以markdown形式出现(注:如果文件内容里面不包含需要检索的内容,就不引用文件内容)。
 Language: Please use the same language as the user requirement, if the user speaks Chinese, the specific text of your answer should also be in Chinese.
@@ -20675,7 +20750,7 @@ ${this.targetCourseText && this.aiCallBack == 2 ? '注意,优化原有的<参
     async aitargetTextDetail3(msg) {
       let _this = this
       
-      let fileid = ['file-okF1PSRw4VYjRl81SykkxWSo'] // file-okF1PSRw4VYjRl81SykkxWSo 科学目标fileid
+      let fileid = [] 
       if(_this.mubiaoInfoData.length){
         for (var i = 0; i < _this.mubiaoInfoData.length; i++) {
           if(_this.mubiaoInfoData[i].fileid){
@@ -20718,6 +20793,11 @@ ${this.targetCourseText && this.aiCallBack == 2 ? '注意,优化原有的<参
         }
       }
 
+      if(sub.length){
+        let _fileid = _this.importFileid(sub)
+        fileid = [...fileid, ..._fileid]
+      }
+
       let messages = `${msg}`
       let _uuid = uuidv4();
       // let params = JSON.stringify({

+ 65 - 2
src/components/pages/aiAddCourse/aiCreateVideoDialog.vue

@@ -233,7 +233,8 @@ export default {
                     return b.play - a.play;
                 }
             );
-            _this.loading = false
+            _this.againEva2();
+            // _this.loading = false
         },
         againEva() {
             let _this = this
@@ -273,9 +274,71 @@ export default {
                                 return b.play - a.play;
                             }
                         );
+                        _this.againEva2();
                     }
-                    _this.loading = false
+                    // _this.loading = false
+
+                })
+                .catch((error) => {
+                    console.log(error);
+                    _this.loading = true
+                });
+        },
+        againEva2() {
+            let _this = this
+            _this.loading = true
+            let message = `ATTENTION: Use '##' to SPLIT SECTIONS, not '#'.Output format carefully referenced "Format example".
+针对以下视频数组内容,删除其中不适合k12年级的学生在教室里看到的条目,返回以下视频数组不符合的视频的aid,视频数组:${JSON.stringify(_this.data)}
+
+# Format example
+[{aid:""},{aid:""}]
+`
+            let parm = {
+              model: 'gpt-4o-2024-08-06',
+              temperature: 0,
+              max_tokens: 4096,
+              top_p: 1,
+              frequency_penalty: 0,
+              presence_penalty: 0,
+              messages: [{
+                content: message.replaceAll('\n', " ").replaceAll('*', ""),
+                role: 'user'
+              }],
+              uid: uuidv4(),
+              stream: false,
+              mind_map_question: "",
+            }
+            _this.ajax
+                .post("https://gpt4.cocorobo.cn/chat", parm)
+                .then(async (response) => {
+                    console.log(response);
+                    let data = response.data.FunctionResponse
+                    if (data.choices && data.choices.length && data.choices[0].message) {
+                        console.log(data.choices[0].message.content);
+                        let dArray = []
+                        try {
+                            dArray = JSON.parse(data.choices[0].message.content.replaceAll('```json','').replaceAll('```',''))
+                        } catch (error) {
+                            console.log("error_________________" + error);
+                            try {
+                                let regex = new RegExp("(?<=```json)([\\s\\S]*?)(?=```)");
+                                let match = data.choices[0].message.content.match(regex);
+                                dArray = JSON.parse(match[0]);
+                            } catch (error) {
+                                console.log("error_________________" + error);
+                            }
+                        }
 
+                        let aid = []
+                        for(var i = 0; i < dArray.length; i++){
+                            aid.push(dArray[i].aid)
+                        }
+                        _this.data = _this.data.filter(el => {
+                            return aid.indexOf(el.aid) === -1
+                        })
+                        _this.$forceUpdate()
+                    }
+                    _this.loading = false
                 })
                 .catch((error) => {
                     console.log(error);

+ 2 - 2
src/components/pages/testPerson/info/index.vue

@@ -20,7 +20,7 @@
             <span>{{info.classname ? info.classname : '暂无'}}</span>
           </el-tooltip>
         </div>
-        <div v-if="!oidArray.includes(oid)" class="i_bottom_span">
+        <!-- <div v-if="!oidArray.includes(oid)" class="i_bottom_span">
           <span>学科</span>
           <el-tooltip :content="info.subject ? info.subject : '暂无'" placement="top" effect="dark">
             <span>{{info.subject ? info.subject : '暂无'}}</span>
@@ -31,7 +31,7 @@
           <el-tooltip :content="info.job ? info.job : '暂无'" placement="top" effect="dark">
             <span>{{info.job ? info.job : '暂无'}}</span>
           </el-tooltip>
-        </div>
+        </div> -->
         <div class="i_bottom_btn" @click="openInfo()">
           <span class="edit"></span>
           <span>编辑个人信息</span>

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