Browse Source

Merge branch 'beta' into HK

lsc 9 tháng trước cách đây
mục cha
commit
39750c1002

+ 4 - 0
dist/index.html

@@ -27,7 +27,11 @@
     html,
     html,
     body{
     body{
       font-family: '黑体';
       font-family: '黑体';
+<<<<<<< HEAD
     }</style><link href=./static/css/app.6eafa9a63f4694e69b03b99df493a173.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.b5a78a47ec38c79eb330.js></script><script type=text/javascript src=./static/js/app.4579deb74f0108cc27a9.js></script></body></html><script>function stopSafari() {
     }</style><link href=./static/css/app.6eafa9a63f4694e69b03b99df493a173.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.b5a78a47ec38c79eb330.js></script><script type=text/javascript src=./static/js/app.4579deb74f0108cc27a9.js></script></body></html><script>function stopSafari() {
+=======
+    }</style><link href=./static/css/app.7abebab11ed1dee687dd09c63f6dc604.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.264e3d6e7c524117db80.js></script><script type=text/javascript src=./static/js/app.ba7d6680f576337472b1.js></script></body></html><script>function stopSafari() {
+>>>>>>> beta
     //阻止safari浏览器双击放大功能
     //阻止safari浏览器双击放大功能
     let lastTouchEnd = 0  //更新手指弹起的时间
     let lastTouchEnd = 0  //更新手指弹起的时间
     document.documentElement.addEventListener("touchstart", function (event) {
     document.documentElement.addEventListener("touchstart", function (event) {

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 1 - 0
dist/static/css/app.6eafa9a63f4694e69b03b99df493a173.css


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 1 - 0
dist/static/css/app.7abebab11ed1dee687dd09c63f6dc604.css


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/static/css/app.7abebab11ed1dee687dd09c63f6dc604.css.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 1 - 0
dist/static/js/app.4579deb74f0108cc27a9.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/static/js/app.4579deb74f0108cc27a9.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 1 - 0
dist/static/js/app.ba7d6680f576337472b1.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 1 - 0
dist/static/js/app.ba7d6680f576337472b1.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/static/js/manifest.3ad1d5771e9b13dbdad2.js.map


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/static/js/vendor.264e3d6e7c524117db80.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/static/js/vendor.264e3d6e7c524117db80.js.map


+ 19 - 3
src/components/classRoomHelper/component/dialogArea.vue

@@ -440,7 +440,8 @@ export default {
       saveUid: "",
       saveUid: "",
       aiTalkList: [],
       aiTalkList: [],
       aiIsTalk: false,
       aiIsTalk: false,
-      aiTalkUid: ""
+      aiTalkUid: "",
+			userName:"",
     };
     };
   },
   },
   computed: {
   computed: {
@@ -829,13 +830,13 @@ export default {
       };
       };
     },
     },
     //保存消息
     //保存消息
-    insertChat(_uid) {
+    async insertChat(_uid) {
       if (_uid == "") return;
       if (_uid == "") return;
       let _data = this.chatList.find(i => i.uid == _uid);
       let _data = this.chatList.find(i => i.uid == _uid);
       if (!_data) return;
       if (!_data) return;
       let params = {
       let params = {
         userId: this.userid,
         userId: this.userid,
-        userName: "qgt",
+        userName: this.userName?this.userName:await this.getUser(this.userid),
         groupId: "602def61-005d-11ee-91d8-005056b8q12w",
         groupId: "602def61-005d-11ee-91d8-005056b8q12w",
         answer: _data.aiContent,
         answer: _data.aiContent,
         problem: _data.content,
         problem: _data.content,
@@ -849,6 +850,21 @@ export default {
       this.ajax
       this.ajax
         .post("https://gpt4.cocorobo.cn/insert_chat", params)
         .post("https://gpt4.cocorobo.cn/insert_chat", params)
         .then(res => {});
         .then(res => {});
+    },
+		getUser(uid) {
+      return new Promise(resolve => {
+        let params = { uid: uid };
+        this.ajax
+          .get(this.$store.state.api + "getUser", params)
+          .then(res => {
+            let data = res.data[0][0];
+						this.userName = data.username;
+						resolve(data.username)
+          })
+          .catch(err => {
+            console.error(err);
+          });
+      });
     },
     },
     // 获取对应的聊天记录
     // 获取对应的聊天记录
     getChatList() {
     getChatList() {

+ 18 - 2
src/components/classRoomHelper/component/searchArea.vue

@@ -1507,6 +1507,7 @@ export default {
       showTips: false,
       showTips: false,
 			showTipsList:[],
 			showTipsList:[],
 			languageSetting:1,
 			languageSetting:1,
+			userName:"",
     };
     };
   },
   },
   computed: {
   computed: {
@@ -2507,13 +2508,13 @@ ${_atList
       };
       };
     },
     },
     //保存消息
     //保存消息
-    insertChat(_uid) {
+    async insertChat(_uid) {
       if (_uid == "") return;
       if (_uid == "") return;
       let _data = this.chatList.find(i => i.uid == _uid);
       let _data = this.chatList.find(i => i.uid == _uid);
       if (!_data) return;
       if (!_data) return;
       let params = {
       let params = {
         userId: this.userid,
         userId: this.userid,
-        userName: "qgt",
+        userName: this.userName?this.userName:await this.getUser(this.userid),
         groupId: "602def61-005d-11ee-91d8-005056b8q12w",
         groupId: "602def61-005d-11ee-91d8-005056b8q12w",
         answer: _data.aiContent,
         answer: _data.aiContent,
         problem: _data.content,
         problem: _data.content,
@@ -2527,6 +2528,21 @@ ${_atList
       this.ajax
       this.ajax
         .post("https://gpt4.cocorobo.cn/insert_chat", params)
         .post("https://gpt4.cocorobo.cn/insert_chat", params)
         .then(res => {});
         .then(res => {});
+    },
+		getUser(uid) {
+      return new Promise(resolve => {
+        let params = { uid: uid };
+        this.ajax
+          .get(this.$store.state.api + "getUser", params)
+          .then(res => {
+            let data = res.data[0][0];
+						this.userName = data.username;
+						resolve(data.username)
+          })
+          .catch(err => {
+            console.error(err);
+          });
+      });
     },
     },
     // 获取对应的聊天记录
     // 获取对应的聊天记录
     getChatList() {
     getChatList() {

+ 4 - 2
src/components/classRoomHelper/component/taskArea.vue

@@ -1172,7 +1172,9 @@ export default {
         });
         });
         _textData += "\n";
         _textData += "\n";
       });
       });
-      const _msg = `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.
+      const _msg = `NOTICE
+Role: 你是出题的老师,可以利用file_search的方式完整的去分析文件内容(注:如果文件内容里面不包含需要检索的内容,就不引用文件内容),并生成需要的JSON数据。
+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.
 ATTENTION: Use '##' to SPLIT SECTIONS, not '#'. Output format carefully referenced "Format example".
 ATTENTION: Use '##' to SPLIT SECTIONS, not '#'. Output format carefully referenced "Format example".
 Instruction: Based on the context, follow "Format example", write content
 Instruction: Based on the context, follow "Format example", write content
 
 
@@ -1860,7 +1862,7 @@ ${_choiceText}
   },
   },
   mounted() {
   mounted() {
     this.selectDefaultTaskList();
     this.selectDefaultTaskList();
-    this.insertMemorandum(`打开<span class="btn">任务</span>面板`);
+    this.insertMemorandum(`打开<span class="btn">测验</span>面板`);
     // this.getTopic();
     // this.getTopic();
   }
   }
 };
 };

+ 1 - 1
src/components/classRoomHelper/index.vue

@@ -114,7 +114,7 @@
             :src="require('../../assets/icon/course/task.png')"
             :src="require('../../assets/icon/course/task.png')"
           />
           />
           <!-- <span :style="`background:url(${itemType==2?require('../../assets/icon/course/task_active.png'):require('../../assets/icon/course/task.png')});`"></span> -->
           <!-- <span :style="`background:url(${itemType==2?require('../../assets/icon/course/task_active.png'):require('../../assets/icon/course/task.png')});`"></span> -->
-          <div>任务</div>
+          <div>测验</div>
         </div>
         </div>
 
 
         <div
         <div

+ 104 - 0
src/components/easy2/commpont/evaTable.vue

@@ -0,0 +1,104 @@
+<template>
+  <div>
+    <div class="evaCss">
+        <el-table
+          :data="eList"
+          :header-cell-style="{ background: '#F0F4FA' }"
+          :row-class-name="tableRowClassName"
+          border
+          stripe
+          style="width: 100%"
+        >
+          <el-table-column label="素养" align="center">
+            <template slot-scope="scope">
+              <div
+                style="display:flex;justify-content: center;align-items: center;"
+              >
+                <img
+                  class="blueRootCss"
+                  v-if="
+                    scope.row.isai == 1
+                  "
+                  src="../../../assets/icon/newIcons/blueRoot.png"
+                  alt=""
+                />
+                {{ scope.row.target ? scope.row.target : "-" }}
+              </div>
+            </template></el-table-column
+          >
+
+          <el-table-column label="评价标准" align="center">
+            <template slot-scope="scope"
+              ><div>
+                {{ scope.row.detail != "" ? scope.row.detail : "-" }}
+              </div></template
+            >
+          </el-table-column>
+
+          <el-table-column label="细则" align="center">
+            <template slot-scope="scope"
+              ><div
+                style="display:flex;justify-content: space-around;margin:auto"
+                v-if="scope.row.rule"
+              >
+                <el-popover placement="top" width="350" trigger="hover">
+                  <div
+                    v-html="scope.row.rule"
+                    style="white-space:pre-wrap"
+                  ></div>
+                  <div slot="reference" style="color:#4383FF;cursor: pointer;">
+                    查看
+                  </div>
+                </el-popover>
+              </div>
+              <div v-else>-</div>
+            </template>
+          </el-table-column>
+        </el-table>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  props: ["eList"],
+//   mounted() {
+//     console.log("eList", this.eList);
+//   },
+  data() {
+    return {};
+  }
+};
+</script>
+
+<style scoped>
+.evaCss {
+  display: flex;
+  flex-direction: row;
+  flex-wrap: nowrap;
+  align-items: flex-start;
+  padding: 0 0 20px;
+  width: 100%;
+}
+
+.evaCss >>> .cell {
+  position: relative;
+  overflow: visible;
+}
+.evaCss >>> .el-table__body-wrapper {
+  overflow: visible;
+}
+.evaCss >>> .el-table {
+  overflow: visible;
+}
+.blueRootCss{
+  display: block;
+  margin-right: 5px;
+}
+.blueRootCss{
+  position: absolute;
+  top:50%;
+  left: 0;
+  transform: translate(-20px,-50%);
+}
+</style>

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 511 - 172
src/components/easy2/commpont/markDialog.vue


+ 53 - 248
src/components/easy2/commpont/markScore.vue

@@ -77,6 +77,7 @@ export default {
     "loading",
     "loading",
     "wIndex",
     "wIndex",
     "toolIndex",
     "toolIndex",
+    "tool"
   ],
   ],
 
 
   data() {
   data() {
@@ -87,7 +88,8 @@ export default {
       id: this.$route.query.courseId,
       id: this.$route.query.courseId,
       stUid: this.scoCon.userid,
       stUid: this.scoCon.userid,
       userid: this.$route.query.userid,
       userid: this.$route.query.userid,
-      total: 0
+      total: 0,
+      textarea:''
     };
     };
   },
   },
 
 
@@ -95,6 +97,7 @@ export default {
     totalScore() {
     totalScore() {
       let a = 0;
       let a = 0;
       let isPing = 0;
       let isPing = 0;
+      
       this.scoTitList.forEach(e => {
       this.scoTitList.forEach(e => {
         if (e.cog || e.cog == "0") {
         if (e.cog || e.cog == "0") {
           a += e.cog * 1;
           a += e.cog * 1;
@@ -102,16 +105,17 @@ export default {
           isPing += 1;
           isPing += 1;
         }
         }
       });
       });
+      
 
 
       let data = 0;
       let data = 0;
-      if (isPing == this.scoTit.length) {
+      if (isPing == this.scoTitList.length) {
         this.$emit("updateDocSco", {
         this.$emit("updateDocSco", {
           val: this.toolIndex,
           val: this.toolIndex,
           val2: this.wIndex,
           val2: this.wIndex,
           val3: null
           val3: null
         });
         });
       } else {
       } else {
-        data = (a / this.scoTit.length).toFixed(1);
+        data = (a / this.scoTitList.length).toFixed(1);
         this.$emit("updateDocSco", {
         this.$emit("updateDocSco", {
           val: this.toolIndex,
           val: this.toolIndex,
           val2: this.wIndex,
           val2: this.wIndex,
@@ -124,7 +128,12 @@ export default {
   },
   },
 
 
   mounted() {
   mounted() {
-    this.scoTitList = JSON.parse(JSON.stringify(this.scoTit));
+    
+    if (this.tool.eList && this.tool.eList.length) {
+      this.scoTitList = JSON.parse(JSON.stringify(this.tool.eList));
+    }else{
+      this.scoTitList = JSON.parse(JSON.stringify(this.scoTit));
+    }
     this.getData();
     this.getData();
   },
   },
 
 
@@ -158,19 +167,21 @@ export default {
 
 
     // 获取单个数据
     // 获取单个数据
     getData() {
     getData() {
-      // this.fileId =[]
-      // console.log(' this.scoCon', this.scoTitList);
-      
+
       let params = {
       let params = {
         uid: this.scoCon.userid,
         uid: this.scoCon.userid,
-        cid: this.id
+        cid: this.id,
+        s:this.stage,
+        t:this.task,
+        tool:this.toolIndex ? this.toolIndex :''
       };
       };
       this.ajax
       this.ajax
-        .get(this.$store.state.api + "selectWorksEvaScore", params)
+        .get(this.$store.state.api + "selectWorksEvaScoreTwo", params)
         .then(res => {
         .then(res => {
           // console.log("res", res.data);
           // console.log("res", res.data);
 
 
           if (res.data[0].length > 0) {
           if (res.data[0].length > 0) {
+            
             var data2 = [];
             var data2 = [];
             res.data[0].forEach((val, index) => {
             res.data[0].forEach((val, index) => {
               if (val.task == this.task) {
               if (val.task == this.task) {
@@ -178,18 +189,18 @@ export default {
                 this.homeworkVal = res.data[0][index];
                 this.homeworkVal = res.data[0][index];
               }
               }
             });
             });
-            // console.log('data2',data2);
             
             
             if (data2.length == 0) {
             if (data2.length == 0) {
-              this.scoTitList = JSON.parse(JSON.stringify(this.scoTit));
+              if (this.tool.eList && this.tool.eList.length) {
+                this.scoTitList = JSON.parse(JSON.stringify(this.tool.eList));
+              }else{
+                this.scoTitList = JSON.parse(JSON.stringify(this.scoTit));
+              }
             } else {
             } else {
               let data = JSON.parse(data2.rate);
               let data = JSON.parse(data2.rate);
               this.scoTitList.forEach((e, index) => {
               this.scoTitList.forEach((e, index) => {
                 e.cog = null;
                 e.cog = null;
                 for (const key in data) {
                 for (const key in data) {
-                  // if (e.value.endsWith('。')) {
-                  //   e.value = e.value.slice(0, -1); // 如果字符串以句号结尾,则去除最后一个字符
-                  // }
 
 
                   if (isNaN(parseFloat(e.detail)) && e.detail) {
                   if (isNaN(parseFloat(e.detail)) && e.detail) {
                     var result = e.detail.match(/[\u4e00-\u9fa5a-zA-Z]+/g).join("");
                     var result = e.detail.match(/[\u4e00-\u9fa5a-zA-Z]+/g).join("");
@@ -219,7 +230,11 @@ export default {
               // console.log(this.scoTitList);
               // console.log(this.scoTitList);
             }
             }
           } else {
           } else {
-            this.scoTitList = JSON.parse(JSON.stringify(this.scoTit));
+            this.scoTitList.forEach((e, index) => {
+              e.cog = null;
+            }) 
+            this.scoTitList = JSON.parse(JSON.stringify(this.scoTitList));
+
           }
           }
         })
         })
         .catch(err => {
         .catch(err => {
@@ -227,12 +242,21 @@ export default {
         });
         });
     },
     },
     markScoreDigBtn() {
     markScoreDigBtn() {
-      this.$emit("markScoreDig", {
-        val: this.stUid,
-        val2: this.toolIndex,
-        tit: this.scoTit,
-        uname:this.scoCon.sName
-      });
+      if (this.tool.eList && this.tool.eList.length) {
+        this.$emit("markScoreDig", {
+          val: this.stUid,
+          val2: this.toolIndex,
+          tit: this.tool.eList,
+          uname:this.scoCon.sName
+        });
+      }else{
+        this.$emit("markScoreDig", {
+          val: this.stUid,
+          val2: this.toolIndex,
+          tit: this.scoTit,
+          uname:this.scoCon.sName
+        });
+      }
     },
     },
     // 重置
     // 重置
     reset() {
     reset() {
@@ -242,233 +266,10 @@ export default {
       });
       });
     },
     },
 
 
-    // 老师提交评分
-    submit() {
-      let data = this.scoTitList.map(e => {
-        return e.detail + ":" + e.cog;
-      });
-      // console.log("data", data);
-      const processedData = {};
-
-      data.forEach(item => {
-        const [key, value] = item.split(":");
-        processedData[key] = Number(value) ? Number(value) : 0;
-      });
-
-      processedData.content = this.textarea;
-      // console.log(processedData);
-      let params = {
-        cid: this.id,
-        s: this.stage,
-        t: this.task,
-        rate: JSON.stringify(processedData),
-        uid: this.stUid
-      };
-      // return console.log(params);
-      this.ajax
-        .get(this.$store.state.api + "updateWorksEva", params)
-        .then(res => {
-          this.$message({
-            message: "评价成功",
-            type: "success"
-          });
-          this.$emit("refreshOther", this.toolIndex);
-        })
-        .catch(err => {
-          this.$message.error("评价失败");
-          console.error(err);
-        });
-    },
-
-    // ai评分
-    AIsubmit() {
-      let tit = this.scoTit;
-      tit.forEach((e, index) => {
-        if (!e.isai) {
-          e.isai = 1;
-        }
-      });
-      let con = JSON.parse(this.scoCon.works);
-      this.$emit("updateLoading", {
-        val: this.toolIndex,
-        val2: this.wIndex,
-        val3: true
-      });
-      let _text = "";
-      for (let i = 0; i < tit.length; i++) {
-        if (tit[i].isai == 1) {
-          _text += `评价名称:${tit[i].value} 评价描述:${tit[i].detail} \n`;
-        }
-      }
-      let laws = "";
-      for (let i = 0; i < tit.length; i++) {
-        if (tit[i].isai == 1) {
-          laws += `评价维度:${tit[i].value} 评价细则:${tit[i].rule} \n`;
-        }
-      }
-
-      //  console.log(_text);
-      let msg = `NOTICE
-      Role: 你是一个专业的项目式学习导师,你要对学生的评价高度负责。你要根据“六级评价细则”给学生作品评分,并生成需要的JSON数据。
-      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.
-      ATTENTION: Use '##' to SPLIT SECTIONS, not '#'. Output format carefully referenced "Format example".
-      Instruction: Based on the context, follow "Format example", write content.
-
-      #Context
-      ##要求
-      根据<评价细则>和<作业内容>的相关性评价作业,判根据细则评价作业,判断该作业属于六级中的哪个等级。如果作业内容与评价细则无关,则直接评为0星。
-      
-
-      
-      ##评分资料
-      评价细则:${laws}
-      作业内容:${con.text}
-
-      # Format example
-      [{'评价名称':'评价等级0-5(数字)'},{'评价名称':'评价等级0-5(数字)'},{'评价名称':'评价等级0-5(数字)'},{'评价名称':'评价等级0-5(数字)'}]
-      `;
-      // console.log(msg);
-      this.aiGet2(msg);
-    },
-
-    // ai打分
-    aiGet2(messages) {
-      // console.log(this.toolIndex, this.wIndex);
-      let _this = this;
-
-      let params = {
-        assistant_id: "6063369f-289a-11ef-8bf4-12e77c4cb76b",
-        message: [
-          {
-            type: "text",
-            text: messages.replaceAll("\n", " ").replaceAll("*", "")
-          }
-        ],
-        session_name: uuidv4(),
-        userId: this.userid,
-        file_ids: [],
-        model: "gpt-4o-2024-08-06"
-      };
-      this.ajax
-        .post("https://gpt4.cocorobo.cn/ai_agent_park_chat", params)
-        .then(response => {
-          let data = response.data.FunctionResponse;
-          // console.log("data", data);
-          if (data.message) {
-            let dArray = {};
-            try {
-              dArray = JSON.parse(
-                data.message.replaceAll("```json", "").replaceAll("```", "")
-              );
-            } catch (error) {
-              console.log("error_________________" + error);
-              try {
-                let regex = new RegExp("(?<=```json)([\\s\\S]*?)(?=```)");
-
-                let match = data.message.match(regex);
-                dArray = JSON.parse(
-                  match[0]
-                    .replace(/\n/g, "")
-                    .replace(/\s{2,}/g, "")
-                    .replace(/\'/g, '"')
-                );
-              } catch (error) {
-                try {
-                  dArray = JSON.parse(
-                    data.message
-                      .replaceAll("```json", "")
-                      .replaceAll("# Solution", "")
-                      .replaceAll("```", "")
-                      .replace(/\n/g, "")
-                      .replace(/\s{2,}/g, "")
-                      .replace(/\'/g, '"')
-                  );
-                } catch (error) {
-                  console.log("error_________________" + error);
-                }
-                console.log("error_________________" + error);
-              }
-            }
-            // console.log("dArray3", dArray);
-            // _this.submit2(dArray);
-            // 提交评分
-            // if (!dArray) {
-            //   _this.$emit("updateLoading", {val:_this.task,val2:_this.wIndex,val3:false});
-            // }
-            let processedData = {};
-            // return console.log(dArray);
-
-            dArray.forEach(function(item) {
-              let key = Object.keys(item)[0];
-              let value = item[key];
-              processedData[key] = value;
-            });
-
-            for (const key in processedData) {
-              if (!Number.isFinite(processedData[key] * 1)) {
-                processedData[key] = 0;
-              }
-            }
-
-            processedData.content = this.textarea;
-
-            let params = {
-              cid: _this.id,
-              s: _this.stage,
-              t: _this.task,
-              rate: JSON.stringify(processedData),
-              uid: _this.stUid
-            };
-            // console.log(params);
-            _this.ajax
-              .get(_this.$store.state.api + "updateWorksEva", params)
-              .then(res => {
-                _this.$message({
-                  message: "评价成功",
-                  type: "success"
-                });
-                // console.log(_this.wIndex, _this.task);
-                _this.$emit("updateLoading", {
-                  val: _this.toolIndex,
-                  val2: _this.wIndex,
-                  val3: false
-                });
-                _this.$emit("refreshOther", _this.toolIndex);
-                _this.getData();
-                // _this.markScoPopover = false;
-                // _this.$emit("update:loading", false);
-              })
-              .catch(err => {
-                _this.$message.error("评价失败");
-                _this.$emit("updateLoading", {
-                  val: _this.toolIndex,
-                  val2: _this.wIndex,
-                  val3: false
-                });
-                console.error(err);
-              });
-          }
-          this.$forceUpdate();
-
-        })
-        .catch(error => {
-          // _this.markScoPopover = false;
-          // _this.$emit("update:loading", false);
-          _this.$emit("updateLoading", {
-            val: _this.toolIndex,
-            val2: _this.wIndex,
-            val3: false
-          });
-          _this.$message.error("评价失败");
-
-          // _this.loading = false
-          console.log(error);
-        });
-    },
 
 
 
 
     // ai循环评分
     // ai循环评分
-    async aiupdetaSco(messages, uid, stage, task,_fileid) {
+    async aiupdetaSco(messages, uid, stage, task,_fileid,work) {
       let _this = this;
       let _this = this;
       let params = {
       let params = {
         assistant_id: "6063369f-289a-11ef-8bf4-12e77c4cb76b",
         assistant_id: "6063369f-289a-11ef-8bf4-12e77c4cb76b",
@@ -481,6 +282,7 @@ export default {
         session_name: uuidv4(),
         session_name: uuidv4(),
         userId: this.userid,
         userId: this.userid,
         file_ids: _fileid ? [_fileid] : [],
         file_ids: _fileid ? [_fileid] : [],
+        isImage: work == 0 ? true : '',
         model: "gpt-4o-2024-08-06"
         model: "gpt-4o-2024-08-06"
       };
       };
       return new Promise((resolve,reject) => {
       return new Promise((resolve,reject) => {
@@ -558,7 +360,7 @@ export default {
                   // let key2 = key.match(/[\u4e00-\u9fa5a-zA-Z]+/g).join("");
                   // let key2 = key.match(/[\u4e00-\u9fa5a-zA-Z]+/g).join("");
 
 
 
 
-                  if (key != "评语") {
+                  if (key != "comment") {
                   let isNumK = /^\d+(\.\d+)?$/.test(processedData[key]);
                   let isNumK = /^\d+(\.\d+)?$/.test(processedData[key]);
 
 
                     if (result.indexOf(key2) != -1 && isNumK) {
                     if (result.indexOf(key2) != -1 && isNumK) {
@@ -609,7 +411,7 @@ export default {
                 }
                 }
               }
               }
               for (const key in processedData) {
               for (const key in processedData) {
-                if (key == "评语") {
+                if (key == "comment") {
                   processedDataCopy.content = processedData[key];
                   processedDataCopy.content = processedData[key];
                 }
                 }
               }
               }
@@ -617,14 +419,17 @@ export default {
                 cid: _this.id,
                 cid: _this.id,
                 s: stage,
                 s: stage,
                 t: task,
                 t: task,
+                tool: this.toolIndex ? this.toolIndex : '',
                 rate: JSON.stringify(processedDataCopy),
                 rate: JSON.stringify(processedDataCopy),
                 uid: uid
                 uid: uid
               };
               };
               // console.log("params", params);
               // console.log("params", params);
               _this.ajax
               _this.ajax
-                .get(_this.$store.state.api + "updateWorksEva", params)
+                .get(_this.$store.state.api + "updateWorksEvaTwo", params)
                 .then(res => {
                 .then(res => {
                   console.log('999999999999999999999999999999999999999999999999999');
                   console.log('999999999999999999999999999999999999999999999999999');
+                  this.getData()
+                  this.$emit('refreshOther',{tid:this.toolIndex,wid:this.wIndex})
                   
                   
                   return resolve(1);
                   return resolve(1);
                   
                   

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 189 - 285
src/components/easy2/studyStudent.vue


+ 2 - 2
src/components/easy3/studyStudent.vue

@@ -1387,7 +1387,7 @@
                       @click="openWordCloud(toolIndex)"
                       @click="openWordCloud(toolIndex)"
                       >生成词云</el-button
                       >生成词云</el-button
                     >
                     >
-                    <!-- <el-button
+                    <el-button
                       type="primary"
                       type="primary"
                       v-if="
                       v-if="
                         tool.tool[0] == 16 && worksStudent[toolIndex].length > 0
                         tool.tool[0] == 16 && worksStudent[toolIndex].length > 0
@@ -1395,7 +1395,7 @@
                       style="position: absolute; right: 30px; top: -45px"
                       style="position: absolute; right: 30px; top: -45px"
                       @click="uploadWorks(toolIndex)"
                       @click="uploadWorks(toolIndex)"
                       >导出作业</el-button
                       >导出作业</el-button
-                    > -->
+                    >
                     <!-- <el-button type="primary" v-if="tool.tool[0] == 57" style="
                     <!-- <el-button type="primary" v-if="tool.tool[0] == 57" style="
                         position: absolute;
                         position: absolute;
                         right: 30px;
                         right: 30px;

+ 2 - 2
src/components/studyStudent.vue

@@ -1356,7 +1356,7 @@
                       @click="openWordCloud(toolIndex)"
                       @click="openWordCloud(toolIndex)"
                       >生成词云</el-button
                       >生成词云</el-button
                     >
                     >
-                    <!-- <el-button
+                    <el-button
                       type="primary"
                       type="primary"
                       v-if="
                       v-if="
                         tool.tool[0] == 16 && worksStudent[toolIndex].length > 0
                         tool.tool[0] == 16 && worksStudent[toolIndex].length > 0
@@ -1364,7 +1364,7 @@
                       style="position: absolute; right: 30px; top: -45px"
                       style="position: absolute; right: 30px; top: -45px"
                       @click="uploadWorks(toolIndex)"
                       @click="uploadWorks(toolIndex)"
                       >导出作业</el-button
                       >导出作业</el-button
-                    > -->
+                    >
                     <!-- <el-button type="primary" v-if="tool.tool[0] == 57" style="
                     <!-- <el-button type="primary" v-if="tool.tool[0] == 57" style="
                         position: absolute;
                         position: absolute;
                         right: 30px;
                         right: 30px;

Một số tệp đã không được hiển thị bởi vì quá nhiều tập tin thay đổi trong này khác