SanHQin 5 月之前
父節點
當前提交
503762f63e

+ 1 - 1
dist/index.html

@@ -27,7 +27,7 @@
     html,
     body{
       font-family: '黑体';
-    }</style><link href=./static/css/app.96bc1c02534051bd931b31e3ebc57d15.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.3ad1d5771e9b13dbdad2.js></script><script type=text/javascript src=./static/js/vendor.43cd677d9291e0373eea.js></script><script type=text/javascript src=./static/js/app.5763cb10a111b19460c3.js></script></body></html><script>function stopSafari() {
+    }</style><link href=./static/css/app.443339f74644d630e207050b782a43eb.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.3ad1d5771e9b13dbdad2.js></script><script type=text/javascript src=./static/js/vendor.43cd677d9291e0373eea.js></script><script type=text/javascript src=./static/js/app.430d776527dab9123e87.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.443339f74644d630e207050b782a43eb.css


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


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


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


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


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


+ 6 - 0
src/assets/css/markdownCss.css

@@ -302,4 +302,10 @@
 
 .vditor-reset blockquote:last-child,.vditor-reset hr:last-child,.vditor-reset ol:last-child,.vditor-reset p:last-child,.vditor-reset pre:last-child,.vditor-reset ul:last-child {
     margin-bottom: 0
+}
+
+.tooltipMaxWidth{
+	max-width: 30%;
+  overflow: auto;
+  max-height: 60vh;
 }

+ 11 - 11
src/components/components/choseWorksDetailDialog.vue

@@ -15,7 +15,7 @@
             <div class="s_b_m_t_left">
               <div class="s_b_m_t_leftSp" :style="{'margin-right': item.showType.includes(toolType) ? '40px' : 0}" v-for="item in dialogTypeList" :key="item.value">
                 <span
-                  v-if="item.showType.includes(toolType)"
+                  v-if="item.showType.includes(toolType) && !item.noShow.includes(tType)"
                   :class="{ s_b_m_t_l_active: showType === item.value }"
                   @click="changeShowType(item.value)"
                   >{{ (toolType == 15 && item.value ==1)? "词云" : item.label }}</span
@@ -1057,7 +1057,7 @@
                       <el-table-column prop="label" label="选项">
 												<template slot-scope="scope">
                           <span>{{ optionTypeList[scope.$index] }}.</span>
-													<img  @click.stop="$hevueImgPreview(scope.row.label.src)" class="tableImage" 
+													<img  @click.stop="$hevueImgPreview(scope.row.label.src)" class="tableImage"
                           v-if="scope.row.label.imgType && scope.row.label.imgType === 1" :src="scope.row.label.src"/>
 													<span v-else>{{ scope.row.label }}</span>
 												</template>
@@ -1171,7 +1171,7 @@
                         <div>
                           <span v-if="toolType == 45">{{ accuracy(item) }}</span>
                         </div>
-                        <img @click.stop="deleteWorks(item.wid)" src="../../assets/deleteworks.png" alt="" />
+                        <img v-if="item.userid == userId || ['1','4'].includes(tType)" @click.stop="deleteWorks(item.wid)" src="../../assets/deleteworks.png" alt="" />
                       </div>
 
 											<div class="s_b_b_i_ws_b_i_s_i_t_t_answer">
@@ -1184,7 +1184,7 @@
 													<span v-if="answer.type===1" v-for="(item2,indP) in answer.label" :key="indP +'indP'">
 														<span :class="`${item2.right?'answerRight':'answerWrong'}`">{{ item2.label }}</span>
 													</span>
-													<span v-if="answer.type===2" class="answer2" :class="`${answer.isRight?'answerRightLine':'answerWrongLine'}`" 
+													<span v-if="answer.type===2" class="answer2" :class="`${answer.isRight?'answerRightLine':'answerWrongLine'}`"
                           v-for="(item3,indUi) in answer.label" :key="indUi + 'indUi2'">
 														<span :class="`${item3.right?'answerRight':'answerWrong'}`">{{ item3.label }}</span>
 													</span>
@@ -1251,13 +1251,13 @@
                     </div>
                   </div>
                   </div>
-                  
+
                   <span v-if="worksStudent.length === 0">暂无提交学生...</span>
                 </div>
               </div>
             </div>
 
-            <div class="s_b_m_b_item" v-show="showType === 3 && dialogTypeList[2].showType.includes(toolType) && worksStudent.length>0">
+            <div class="s_b_m_b_item" v-if="tType!=2" v-show="showType === 3 && dialogTypeList[2].showType.includes(toolType) && worksStudent.length>0">
               <smarter v-if="show" :worksStudent="worksStudent" :toolType="toolType" :toolList="toolList" :testData="testData"/>
             </div>
           </div>
@@ -1465,10 +1465,10 @@ export default {
         worksPreview: false
       },
       dialogTypeList: [
-        { label: "作业详细", value: 0,showType:[1,7,15,40,41,45,47,48,49,52,3,4,57,18,21,71,69,70,23,24,32,63,28,31,39,66,72], loading: false },
-        { label: "题目统计", value: 1,showType:[45,15], loading: false },
-        { label: "学生统计", value: 2,showType:[1,7,15,40,41,45,47,48,52,3,4,57,72], loading: false },
-        { label: "智能分析",value:3,showType:[1,7,15,40,41,45,47,48,52,3,4,57,72],loading: false}
+        { label: "作业详细", value: 0,showType:[1,7,15,40,41,45,47,48,49,52,3,4,57,18,21,71,69,70,23,24,32,63,28,31,39,66,72], loading: false,noShow:[] },
+        { label: "题目统计", value: 1,showType:[45,15], loading: false,noShow:['2']},
+        { label: "学生统计", value: 2,showType:[1,7,15,40,41,45,47,48,52,3,4,57,72], loading: false,noShow:[] },
+        { label: "智能分析",value:3,showType:[1,7,15,40,41,45,47,48,52,3,4,57,72],loading: false,noShow:['2']}
       ],
 			toolList:[
 				{label:"选择题",value:45,img:require("../../assets/icon/thirdToolList/choose.png")},
@@ -2266,7 +2266,7 @@ export default {
     },
     // 截图类提交作业
     async captureScreenshot(){
-      
+
       // this.$refs.iframeWhiteBoardRef.contentWindow;
       document.getElementById('loadLi_JieE').children[0].style.display = "block"
 

+ 43 - 6
src/components/components/intelligentAnalysis/checkAi/aiLeader.vue

@@ -627,17 +627,54 @@ ${JSON.stringify(fileData.data)}
 `;
       // });
       let _msg = `Language: ${this.getLang()} ATTENTION: Use '##' to SPLIT SECTIONS, not '#'. Output format carefully referenced "Format example". Instruction: Based on the context, follow "Format example", write content
-## 任务 
-你的任务是根据“作业内容”的作业数据来提供用户需要的搜索建议,将搜索建议的结果以有序列表的形式返回给用户。
-## 规则 
+## 任务
+你是一位课堂学生作业分析助手,你的任务是根据“作业内容”的作业数据来提供教师可能想要了解的学生情况,将老师可能想要了解的问题以有序列表的形式返回给教师。
+- 具备敏锐的观察力,能够从作业中发现学生整体表现的细节。
+- 有深入的分析能力,准确找出学生表现好与需优化之处。
+- 掌握良好的沟通技巧,以便给出合理的反馈建议。
+- 拥有较强的逻辑思维,提出有效的拓展思考和练习。
+- 深刻理解课程内容,从而推理出课程评价标准。
+## 规则
 输出结果基于“作业内容”,避免提供无关的信息。 搜索建议的结果符合伦理规范。
 输出的内容符合“作业内容”的数据,要求要有所关联。
-## 输出 
-输出应包括6个相关的搜索建议,每个搜索建议需要以问号的方式结束。 请一步步思考如何根据现有信息推送搜索建议,但是不需要输出搜索建议以外的内容。
-## 输出格式 
+### 理论框架
+### 教育评价理论
+1. 基本原理:
+- 教育评价理论旨在通过系统的方法对教育现象进行价值判断,包括对学生学习成果等的评估。
+- 评价过程包含确定目标、收集信息、分析判断等环节。
+- 多种评价方法如形成性评价、总结性评价可用于不同目的。
+2. 具体应用:
+- 确定任务目标:根据作业内容确定对学生评价的目标,如知识掌握程度等。
+- 推理评价标准:从课程要求和教学目标出发推理出评价学生作业的标准。
+- 了解学生情况:通过设计问题全面了解学生在作业中的表现情况。
+
+### 因材施教理论
+1. 基本原理:
+- 因材施教理论认为应根据学生的个体差异进行有区别的教育教学。
+- 考虑学生的能力、兴趣、学习风格等方面的差异。
+- 目的是使每个学生都能得到适合自己的教育,发挥最大潜力。
+2. 具体应用:
+- 分析学生表现:通过问题分析学生在作业中的表现好与需优化之处。
+- 提供反馈建议:根据学生个体情况给出针对性的反馈建议。
+- 拓展思考练习:基于学生特点给出适合的拓展思考和练习。
+
+### 教学反馈理论
+1. 基本原理:
+- 教学反馈理论强调教学过程中信息的双向流动,教师给予学生反馈,学生的反应也是反馈给教师的信息。
+- 及时有效的反馈有助于提高教学效果和学生学习成绩。
+- 反馈内容应明确、具体且具有建设性。
+2. 具体应用:
+- 整体表现判断:根据作业内容给出对学生整体表现的判断作为反馈的一部分。
+- 针对性反馈:针对学生作业中的情况给出具体的反馈建议。
+- 调整教学策略:根据学生的反馈信息调整教学策略。
+## 输出
+输出应包括5个相关的搜索建议,每个搜索建议需要以问号的方式结束。 请一步步思考如何根据现有信息推送搜索建议,但是不需要输出搜索建议以外的内容。
+## 输出格式
 搜索建议应以有序列表形式呈现,每个建议包括关键词和简短描述。输出JSON格式的内容,不要有多余的内容。
 ## 作业内容
 ${fileText}
+
+
 ## Format example
 [{"index": 1,"title": "垃圾分类标准","label": "不同国家的垃圾分类标准和方法?"},{"index": 2,"title":"可回收垃圾处理","label": "可回收垃圾的处理流程和再利用方法?"},{  "index": 3,  "title": "有害垃圾的影响",  "label": "有害垃圾对环境和人体健康的潜在影响?"},{  "index": 4,  "title": "垃圾分类标准",  "label": "不同国家的垃圾分类标准和方法?"},{  "index": 5,  "title": "可回收垃圾处理",  "label": "可回收垃圾的处理流程和再利用方法?"},{  "index": 6,  "title": "有害垃圾的影响",  "label": "有害垃圾对环境和人体健康的潜在影响?"}]`;
       // let params = {

+ 7 - 2
src/components/components/intelligentAnalysis/choseCheck/csvTableView.vue

@@ -2,10 +2,10 @@
   <div class="txtView" v-loading="loading">
     <el-table :data="tableData" border style="width: 100%;"
       :header-cell-style="{ background: '#f1f1f1', fontSize: '16px' }" :fit="true">
-      <el-table-column :fixed="[].includes(index)" :label="item.label" :prop="item.prop"
+      <el-table-column :fixed="[].includes(index)" :width="['姓名','提交时间'].includes(item.label)?'100px':'auto'" :label="item.label" :prop="item.prop"
         v-for="(item, index) in columnList" :key="item.label + '_' + index">
         <template slot-scope="scope">
-          <el-tooltip class="item" effect="dark" :content="scope.row[item.prop]" placement="top">
+          <el-tooltip effect="dark" :content="scope.row[item.prop]" popper-class="tooltipMaxWidth" placement="top">
             <!-- 为每个单元格内容添加自定义的多行文本样式 -->
             <div class="multi-line-text">{{ scope.row[item.prop] }}</div>
           </el-tooltip>
@@ -151,6 +151,7 @@ export default {
   box-sizing: border-box;
   background-color: #ececec;
   padding: 0px 0px;
+  position: relative;
 }
 
 .tv_content {
@@ -176,4 +177,8 @@ export default {
   max-height: 3em;
 }
 
+.tooltip>>>.el-tooltip__popper {
+  max-width: 30vw!important;
+}
+
 </style>

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