Browse Source

fix: 修复作业数据更新后视图未刷新的问题

在作业数据更新时添加视图强制更新逻辑,并补充调试日志,确保修改后的数据正确渲染到页面
SanHQin 5 hours ago
parent
commit
d4ab8435e9

+ 1 - 1
dist/index.html

@@ -37,7 +37,7 @@
       width: 100%;
       background: #e6eaf0;
       font-family: '黑体';
-    }</style><link href=./static/css/app.db57620f91b2eb95a0c0ff5c0453be3e.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.23ea04dc469b57e2b4f8.js></script><script type=text/javascript src=./static/js/vendor.2c492f3d5a39df08f4a3.js></script><script type=text/javascript src=./static/js/app.c829c89194c5025c0255.js></script></body></html><script>function stopSafari() {
+    }</style><link href=./static/css/app.2d2c27f2eb665b438f236b3849602163.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.23ea04dc469b57e2b4f8.js></script><script type=text/javascript src=./static/js/vendor.2c492f3d5a39df08f4a3.js></script><script type=text/javascript src=./static/js/app.0250536ebbbca6f61ad3.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.2d2c27f2eb665b438f236b3849602163.css


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


File diff suppressed because it is too large
+ 0 - 0
dist/static/css/workPage.96513d9dec6a603b15175ab23d5816ac.css


File diff suppressed because it is too large
+ 0 - 0
dist/static/css/workPage.96513d9dec6a603b15175ab23d5816ac.css.map


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


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


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


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/workPage-manifest.2ece51fa34be51c8610a.js.map


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/workPage.65ad0f1af3a132ddc7db.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/workPage.65ad0f1af3a132ddc7db.js.map


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/workPage.79b54f7091dd1f18af9f.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/workPage.79b54f7091dd1f18af9f.js.map


+ 1 - 1
dist/workPage.html

@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><title>工作页面 - CocoFlow</title><link rel=icon href=../static/logo.ico><link href=./static/css/workPage.a288eff50029cb604cdd97109366f0a1.css rel=stylesheet></head><body><noscript><strong>We're sorry but this app doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script type=text/javascript src=./static/js/workPage-manifest.2ece51fa34be51c8610a.js></script><script type=text/javascript src=./static/js/workPage-vendor.7b6275e4cf468b42a92b.js></script><script type=text/javascript src=./static/js/workPage.65ad0f1af3a132ddc7db.js></script></body></html><script>function stopSafari() {
+<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><title>工作页面 - CocoFlow</title><link rel=icon href=../static/logo.ico><link href=./static/css/workPage.96513d9dec6a603b15175ab23d5816ac.css rel=stylesheet></head><body><noscript><strong>We're sorry but this app doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script type=text/javascript src=./static/js/workPage-manifest.2ece51fa34be51c8610a.js></script><script type=text/javascript src=./static/js/workPage-vendor.7b6275e4cf468b42a92b.js></script><script type=text/javascript src=./static/js/workPage.79b54f7091dd1f18af9f.js></script></body></html><script>function stopSafari() {
     //阻止safari浏览器双击放大功能
     let lastTouchEnd = 0  //更新手指弹起的时间
     document.documentElement.addEventListener("touchstart", function (event) {

+ 5 - 0
src/components/pages/workPage/components/questionsAndAnswers.vue

@@ -109,6 +109,8 @@ export default {
       handler: function (newValue, oldValue) {
         if (JSON.stringify(newValue) != JSON.stringify(oldValue)) {
           this.work = JSON.parse(JSON.stringify(this.workData.json));
+          console.log("workData", JSON.stringify(this.work));
+          this.$forceUpdate();
         }
       },
       deep: true,
@@ -245,6 +247,9 @@ export default {
         this._cleanupTranscriber(this.$refs["iframeRef"]);
         this.$message.success(this.lang.ssMicCheckStop);
       });
+    },
+    setWork() {
+      this.work = JSON.parse(JSON.stringify(this.workData.json));
     }
   },
   mounted() {

+ 7 - 3
src/components/pages/workPage/index_new.vue

@@ -332,7 +332,7 @@ export default {
         }
 
         if (
-          ["3", "8", "22", "23", "831", "832", "84"].includes(params[0].type) && 
+          ["3", "8", "22", "23", "831", "832", "84"].includes(params[0].type) &&
           params[0].uid &&
           params[0].cid
         ) {
@@ -399,8 +399,10 @@ export default {
             this.loading = false;
             if (_data.length) {
               _data = _data[0];
+              console.log("select_courseWorks_workPageData",_data);
               if (["15", "45", "78", "79", "831", "832", "84"].includes(_data.atool)) {
                 let _work = JSON.parse(decodeURIComponent(_data.content));
+
                 this.studentWork = _work;
                 this.studentWorkToWorkData();
               } else {
@@ -421,8 +423,10 @@ export default {
 
         let _work = JSON.parse(JSON.stringify(this.studentWork));
         if (this.workData.type == "15") {
-          this.workData.json.answer = _work.answer;
-          this.workData.json.fileList = _work.fileList;
+          this.workData.json = {...this.workData.json,..._work}
+          console.log("this.workData.json", this.workData.json);
+          this.$refs.questionsAndAnswersRef.setWork(this.workData.json);
+          this.$forceUpdate();
         } else if (this.workData.type == "45") {
 
           this.workData.json.testJson.forEach((item, index) => {

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