瀏覽代碼

Merge branch 'beta' into alpha

lsc 11 月之前
父節點
當前提交
54ccfea887

+ 1 - 1
dist/index.html

@@ -27,7 +27,7 @@
     html,
     body{
       font-family: '黑体';
-    }</style><link href=./static/css/app.e899675c15336f0ce8e5499e31258581.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.7707b4b07bf11db2f61a.js></script><script type=text/javascript src=./static/js/app.3e0b600c9a54f04936c0.js></script></body></html><script>function stopSafari() {
+    }</style><link href=./static/css/app.93aa8fccce59861f8792e8a1b109bcd3.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.9b54cf39d7487dba767e.js></script></body></html><script>function stopSafari() {
     //阻止safari浏览器双击放大功能
     let lastTouchEnd = 0  //更新手指弹起的时间
     document.documentElement.addEventListener("touchstart", function (event) {

文件差異過大導致無法顯示
+ 0 - 0
dist/static/css/app.93aa8fccce59861f8792e8a1b109bcd3.css


文件差異過大導致無法顯示
+ 0 - 0
dist/static/css/app.93aa8fccce59861f8792e8a1b109bcd3.css.map


文件差異過大導致無法顯示
+ 0 - 0
dist/static/css/app.e899675c15336f0ce8e5499e31258581.css


文件差異過大導致無法顯示
+ 0 - 0
dist/static/css/app.e899675c15336f0ce8e5499e31258581.css.map


文件差異過大導致無法顯示
+ 0 - 40
dist/static/img/aiWait.bc90766.svg


文件差異過大導致無法顯示
+ 0 - 0
dist/static/js/app.9b54cf39d7487dba767e.js


文件差異過大導致無法顯示
+ 0 - 0
dist/static/js/app.9b54cf39d7487dba767e.js.map


文件差異過大導致無法顯示
+ 0 - 0
dist/static/js/manifest.3ad1d5771e9b13dbdad2.js.map


文件差異過大導致無法顯示
+ 0 - 0
dist/static/js/vendor.b5a78a47ec38c79eb330.js


文件差異過大導致無法顯示
+ 0 - 0
dist/static/js/vendor.b5a78a47ec38c79eb330.js.map


+ 0 - 0
dist/static/SourceHanSans-Regular.otf → src/assets/drawIcon/SourceHanSans-Regular.otf


+ 398 - 54
src/components/classRoomHelper/component/countdown.vue

@@ -431,43 +431,41 @@
 
 		<div class="c_behavior" v-if="showType == 1">
 			<div class="behaviorBack">
-				<span
-					@click.stop="changeShowType(0)"
-					>
+				<span @click.stop="changeShowType(0)">
 					<svg
-							width="16"
-							height="16"
-							viewBox="0 0 16 16"
-							fill="none"
-							xmlns="http://www.w3.org/2000/svg"
-						>
-							<path
-								fill-rule="evenodd"
-								clip-rule="evenodd"
-								d="M3.66782 3.1263C3.87421 2.94284 4.19025 2.96143 4.37371 3.16782L8.37371 7.66782C8.5421 7.85727 8.5421 8.14274 8.37371 8.33219L4.37371 12.8322C4.19025 13.0386 3.87421 13.0572 3.66782 12.8737C3.46143 12.6903 3.44284 12.3742 3.6263 12.1678L7.33103 8.00001L3.6263 3.83219C3.44284 3.6258 3.46143 3.30976 3.66782 3.1263Z"
-								fill="black"
-							/>
-							<path
-								fill-rule="evenodd"
-								clip-rule="evenodd"
-								d="M7.66782 3.1263C7.87421 2.94284 8.19025 2.96143 8.37371 3.16782L12.3737 7.66782C12.5421 7.85727 12.5421 8.14274 12.3737 8.33219L8.37371 12.8322C8.19025 13.0386 7.87421 13.0572 7.66782 12.8737C7.46143 12.6903 7.44284 12.3742 7.6263 12.1678L11.331 8.00001L7.6263 3.83219C7.44284 3.6258 7.46143 3.30976 7.66782 3.1263Z"
-								fill="black"
-							/>
-						</svg>返回</span
+						width="16"
+						height="16"
+						viewBox="0 0 16 16"
+						fill="none"
+						xmlns="http://www.w3.org/2000/svg"
+					>
+						<path
+							fill-rule="evenodd"
+							clip-rule="evenodd"
+							d="M3.66782 3.1263C3.87421 2.94284 4.19025 2.96143 4.37371 3.16782L8.37371 7.66782C8.5421 7.85727 8.5421 8.14274 8.37371 8.33219L4.37371 12.8322C4.19025 13.0386 3.87421 13.0572 3.66782 12.8737C3.46143 12.6903 3.44284 12.3742 3.6263 12.1678L7.33103 8.00001L3.6263 3.83219C3.44284 3.6258 3.46143 3.30976 3.66782 3.1263Z"
+							fill="black"
+						/>
+						<path
+							fill-rule="evenodd"
+							clip-rule="evenodd"
+							d="M7.66782 3.1263C7.87421 2.94284 8.19025 2.96143 8.37371 3.16782L12.3737 7.66782C12.5421 7.85727 12.5421 8.14274 12.3737 8.33219L8.37371 12.8322C8.19025 13.0386 7.87421 13.0572 7.66782 12.8737C7.46143 12.6903 7.44284 12.3742 7.6263 12.1678L11.331 8.00001L7.6263 3.83219C7.44284 3.6258 7.46143 3.30976 7.66782 3.1263Z"
+							fill="black"
+						/></svg
+					>返回</span
 				>
-
-				<div class="c_step" ref="stepRef" v-loading="memorandumLoading">
-					<el-timeline>
-						<el-timeline-item
-							v-for="(item, index) in memorandumList"
-							:key="index"
-							:timestamp="item.time"
-						>
-							<div v-html="item.text"></div>
-							<!-- <span v-html="activity.content"></span> -->
-						</el-timeline-item>
-					</el-timeline>
-				</div>
+			</div>
+			<div class="c_step" ref="stepRef" v-loading="memorandumLoading">
+				<el-timeline>
+					<el-timeline-item
+						v-for="(item, index) in showMemorandumList"
+						:class="item.color"
+						:key="index"
+						:timestamp="item.time"
+						size="large"
+					>
+						<span v-html="item.textList.join(',')"></span>
+					</el-timeline-item>
+				</el-timeline>
 			</div>
 		</div>
 		<mini-audio
@@ -502,6 +500,7 @@ export default {
 		return {
 			userid: this.$route.query.userid,
 			courseId: this.$route.query.courseId,
+			tcid2: this.$route.query.tcid,
 			showType: 0,
 			sourceUrl:
 				"https://ccrb.s3.cn-northwest-1.amazonaws.com.cn/%E5%80%92%E8%AE%A1%E6%97%B6%E9%9F%B3%E4%B9%901721355956636.mp3",
@@ -604,6 +603,151 @@ export default {
 				_result.s2 = seconds;
 			}
 
+			return _result;
+		},
+		showMemorandumList() {
+			let _result = [];
+
+			let _time1 = ""; //_interval1之内的时间
+			let _time2 = ""; //_interval2之内的时间
+			let _type = "blue"; //要展示的颜色
+			let _interval1 = 300; //行为间隔  s
+			let _interval2 = 10; //行为间隔  s
+			let _previousBehavior = "";
+			let _resultTemplate = [];
+			let _topic = "";
+
+			this.memorandumList.forEach((item, index) => {
+				if (index == 0) {
+					_time1 = item.time
+					_time2 = item.time
+					_type = "blue";
+					return _result.push({
+						textList: [item.text],
+						time: item.time,
+						color: _type,
+					});
+				}
+
+				if (this.isMoreThanSeconds(item.time,_time1,_interval1)) {
+					//切换颜色
+					_type = _type == "blue" ? "green" : "blue";
+					_time1 = item.time;
+				}
+
+				//针对查看学生的作业情况
+				if (_result[_result.length - 1].textList.length) {
+					if (
+						_result[_result.length - 1].textList[
+							_result[_result.length - 1].textList.length - 1
+						].indexOf("的作业") === -1 &&
+						item.text.indexOf("的作业") !== -1
+					) {
+						return _result.push({
+							textList: [item.text],
+							time: item.time,
+							color: _type,
+						});
+					} else if (
+						_result[_result.length - 1].textList[
+							_result[_result.length - 1].textList.length - 1
+						].indexOf("的作业") !== -1 &&
+						item.text.indexOf("的作业") !== -1
+					) {
+						return _result[_result.length - 1].textList.push(item.text);
+					}else if(_result[_result.length - 1].textList[
+							_result[_result.length - 1].textList.length - 1
+						].indexOf("的作业") !== -1 && item.text.indexOf("的作业") == -1){
+							return _result.push({
+							textList: [item.text],
+							time: item.time,
+							color: _type,
+						});
+					}
+				}
+
+				//针对任务面板做题的操作情况
+				if (
+					item.text.match(/<span class=['"]variable['"]>第(.*?)题<\/span>/g) !=
+					null
+				) {
+					let _match = item.text.match(
+						/<span class=['"]variable['"]>(.*?)<\/span>/
+					);
+					let _matchTopic = _match[1];
+					if (
+						_result[_result.length - 1].textList[
+							_result[_result.length - 1].textList.length - 1
+						].match(/<span class=['"]variable['"]>第(.*?)题<\/span>/g) == null
+					) {
+						_topic = _matchTopic;
+						return _result.push({
+							textList: [item.text],
+							time: item.time,
+							color: _type,
+						});
+					} else {
+						if (_topic == _matchTopic) {
+							//同一题
+							return _result[_result.length - 1].textList.push(item.text);
+						} else {
+							_topic = _matchTopic;
+							return _result.push({
+								textList: [item.text],
+								time: item.time,
+								color: _type,
+							});
+						}
+					}
+				} else if (
+					_result[_result.length - 1].textList[
+						_result[_result.length - 1].textList.length - 1
+					].match(/<span class=['"]variable['"]>第(.*?)题<\/span>/g)
+				) {
+					return _result.push({
+						textList: [item.text],
+						time: item.time,
+						color: _type,
+					});
+				}
+
+				if (this.isMoreThanSeconds(item.time,_time2,_interval2)) {
+					_time2 = item.time
+					//十秒过了
+					_result.push({
+						textList: [item.text],
+						time: item.time,
+						color: _type,
+					});
+				} else {
+					_result[_result.length - 1].textList.push(`${item.text}`);
+				}
+			});
+			_result.forEach((i) => {
+				if (i.textList.every((ei) => ei.indexOf("的作业") !== -1)) {
+					let _useSet = new Set();
+					i.textList.forEach((i2) => {
+						let _userMatch = i2.match(
+							/<span class=['"]variable['"]>(.*?)<\/span>的作业/
+						);
+						if (_userMatch) {
+							_useSet.add(_userMatch[1]);
+						}
+					});
+					if (Array.from(_useSet).length > 1) {
+						i.textList = this.lookWork(i.textList);
+					} else {
+						i.textList = this.lookWork2(i.textList);
+					}
+				} else if (
+					i.textList.every((ei) =>
+						ei.match(/<span class=['"]variable['"]>第(.*?)题<\/span>/g)
+					)
+				) {
+					i.textList = this.lookTask(i.textList);
+				}
+			});
+
 			return _result;
 		},
 	},
@@ -622,15 +766,186 @@ export default {
 		},
 	},
 	methods: {
+		lookWork(data) {
+			const taskTypes = {
+				查看作业: new Set(),
+				进行点赞: new Set(),
+				进行评论: new Set(),
+				进行评分: new Set(),
+			};
+
+			let _result = [];
+
+			const viewRegex = /查看<span class=['"]variable['"]>(.*?)<\/span>的作业/g;
+			const likeRegex =
+				/对<span class=['"]variable['"]>(.*?)<\/span>的作业进行<span class=['"]btn['"]>点赞<\/span>/g;
+			const commentRegex =
+				/对<span class=['"]variable['"]>(.*?)<\/span>的作业进行<span class=['"]btn['"]>评论<\/span>/g;
+			const markRegex =
+				/对<span class=['"]variable['"]>(.*?)<\/span>的作业进行<span class=['"]btn['"]>评分<\/span>/g;
+			data.forEach((str) => {
+				if (viewRegex.test(str)) {
+					this.extractText(str, viewRegex).forEach((item) =>
+						taskTypes["查看作业"].add(item)
+					);
+				} else if (likeRegex.test(str)) {
+					this.extractText(str, likeRegex).forEach((item) =>
+						taskTypes["进行点赞"].add(item)
+					);
+				} else if (commentRegex.test(str)) {
+					this.extractText(str, commentRegex).forEach((item) =>
+						taskTypes["进行评论"].add(item)
+					);
+				} else if (markRegex.test(str)) {
+					this.extractText(str, markRegex).forEach((item) =>
+						taskTypes["进行评分"].add(item)
+					);
+				}
+			});
+
+			if (Array.from(taskTypes["查看作业"]).length > 0) {
+				_result.push(
+					`查看<span class='variable'>${Array.from(taskTypes["查看作业"]).join(
+						","
+					)}</span>的作业`
+				);
+			}
+			if (Array.from(taskTypes["进行点赞"]).length > 0) {
+				_result.push(
+					`对<span class='variable'>${Array.from(taskTypes["进行点赞"]).join(
+						","
+					)}</span>的作业进行<span class="btn">点赞</span>`
+				);
+			}
+			if (Array.from(taskTypes["进行评论"]).length > 0) {
+				_result.push(
+					`对<span class='variable'>${Array.from(taskTypes["进行评论"]).join(
+						","
+					)}</span>的作业进行<span class="btn">评论</span>`
+				);
+			}
+
+			if (Array.from(taskTypes["进行评分"]).length > 0) {
+				_result.push(
+					`对<span class='variable'>${Array.from(taskTypes["进行评分"]).join(
+						","
+					)}</span>的作业进行<span class="btn">评分</span>`
+				);
+			}
+
+			return _result;
+		},
+		lookWork2(data) {
+			// 用于存储结果
+			let result = [];
+			// 用于跟踪 variable 和对应的 btn 操作
+			let map = new Map();
+
+			data.forEach((item) => {
+				// 提取 variable
+				let variableMatch = item.match(
+					/<span class=["']variable["']>(.*?)<\/span>/
+				);
+				// 提取 btn
+				let btnMatch = item.match(/<span class=["']btn["']>(.*?)<\/span>/);
+
+				if (variableMatch) {
+					let variable = variableMatch[1];
+					if (btnMatch) {
+						let btn = btnMatch[1];
+
+						if (!map.has(variable)) {
+							map.set(variable, []);
+						}
+
+						// 存储 btn 操作
+						map.get(variable).push(btn);
+					} else {
+						// 如果没有 btn 操作,直接推入结果
+						result.push(item);
+					}
+				}
+			});
+
+			// 构建结果数组
+			map.forEach((btns, variable) => {
+				// 构建新的字符串
+				let newString = `对<span class="variable">${variable}</span>的作业<span class="btn">${btns.join(
+					","
+				)}</span>`;
+				result.push(newString);
+			});
+
+			return Array.from(new Set(result));
+		},
+
+		lookTask(data) {
+			// 创建一个对象来存储 variable 和对应的操作
+			let map = {};
+			let arr = Array.from(new Set(data));
+			arr.forEach((item) => {
+				// 提取 variable 和操作部分
+				let variableMatch = item.match(
+					/<span class=["']variable["']>(.*?)<\/span>/
+				);
+				let operationMatch = item.match(/<\/span>(.*?)$/);
+
+				if (variableMatch && operationMatch) {
+					let variable = variableMatch[1];
+					let operation = operationMatch[1];
+
+					if (!map[variable]) {
+						map[variable] = [];
+					}
+
+					// 将操作部分去掉前面的 "的" 字符串,并添加到 map 中
+					map[variable].push(operation.replace(/^的/, ""));
+				}
+			});
+
+			// 构建结果数组
+			let result = [];
+			for (let variable in map) {
+				// 将操作部分合并成一个字符串
+				let combinedOperations = map[variable].join("、");
+				result.push(
+					`查看<span class="variable">${variable}</span>的<span class="btn">${combinedOperations}</span>`
+				);
+			}
+
+			return result;
+		},
+
+		extractText(htmlString, regex) {
+			const matches = htmlString.match(regex);
+			return matches ? matches.map((match) => match.replace(regex, "$1")) : [];
+		},
+
+		isMoreThanSeconds(time1, time2,exceed) {
+  // 将时间字符串转换为 Date 对象
+  let date1 = new Date(time1);
+  let date2 = new Date(time2);
+
+  // 获取时间戳(毫秒)
+  let timestamp1 = date1.getTime();
+  let timestamp2 = date2.getTime();
+
+  // 计算两个时间戳的差异(秒)
+  let diffInSeconds = Math.abs(timestamp2 - timestamp1) / 1000;
+
+  // 判断差异是否超过 10 秒
+  return diffInSeconds > exceed;
+},
+
 		insertMemorandum(_html) {
-			return;
+			// return;
 			//保存行为操作
 			//variable
 			//btn
 			let params = [
 				{
 					uid: this.userid,
-					courseId: this.courseId,
+					courseId: this.courseId+(this.tcid2?this.tcid2:""),
 					content: _html,
 				},
 			];
@@ -753,7 +1068,7 @@ export default {
 				}, 1000);
 				let timeShow = `${this.countdownTimeShow.m1}${this.countdownTimeShow.m2}分钟${this.countdownTimeShow.s1}${this.countdownTimeShow.s2}秒`;
 				this.insertMemorandum(
-					`设置<span class="variable"></span><span class="btn">倒计时${timeShow}</span>${
+					`设置<span class="variable">${timeShow}</span><span class="btn">倒计时</span>${
 						this.choiceBehavior.length > 0
 							? ",用于" +
 							  '<span class="btn">' +
@@ -770,7 +1085,7 @@ export default {
 			this.isCountdown = false;
 			this.$parent.type = 1;
 			this.$parent.itemType = 3;
-			this.changeShowType(0)
+			this.changeShowType(0);
 			if (this.$refs.audioRef.playing && this.sourceActive) {
 				this.$refs.audioRef.pause();
 			}
@@ -1031,11 +1346,10 @@ ${_textData}
 				});
 		},
 		selectMemorandum() {
-			return;
-			this.memorandumLoading = false;
+			this.memorandumLoading = true;
 			let params = {
 				uid: this.userid,
-				courseId: this.courseId,
+				courseId: this.courseId+(this.tcid2?this.tcid2:""),
 			};
 			this.memorandumList = [];
 			this.ajax
@@ -1046,12 +1360,17 @@ ${_textData}
 				.then((res) => {
 					let _data = res.data[0];
 					if (_data.length) {
+						// let _result  =  _data;
+						// console.log(_result)
+
 						this.memorandumList = _data;
 					} else {
 						this.memorandumList = [];
 					}
+					this.$nextTick(() => {
+						this.$refs.stepRef.scrollTop = this.$refs.stepRef.scrollHeight;
+					});
 					this.memorandumLoading = false;
-					console.log(res);
 				})
 				.catch((err) => {
 					console.log(err);
@@ -1468,38 +1787,63 @@ ${_textData}
 	box-sizing: border-box;
 	overflow: auto;
 }
+
+.c_step >>> .el-timeline .btn {
+	color: #2972f4;
+}
+
+.c_step >>> .el-timeline .variable {
+	color: #319b62;
+}
+
+.c_step >>> .blue .el-timeline-item__tail{
+	border-left: 6px solid #B3CCFA !important;
+}
+
+.c_step >>> .green .el-timeline-item__tail{
+	border-left: 6px solid #B7EACB !important;
+}
+
+.c_step >>> .el-timeline-item__node{
+	background-color: #FFFFFF;
+	box-sizing:border-box;
+	border:2px solid #B3CCFA;
+	position: relative;
+	left: -0.5px;
+}
+
 .c_s_item {
 	display: flex;
 	justify-content: center;
 	align-items: center;
 }
 
-.ActivityMemo{
+.ActivityMemo {
 	width: 100%;
 	height: 30px;
 	display: flex;
 	align-items: center;
 	margin-top: 20px;
-	
+
 	box-sizing: border-box;
 	padding-left: 20px;
 }
 
-.ActivityMemo>span{
+.ActivityMemo > span {
 	display: flex;
 	align-items: center;
 	cursor: pointer;
 }
 
-.ActivityMemo>span>svg{
+.ActivityMemo > span > svg {
 	margin-left: 5px;
 	position: relative;
 	top: 1px;
-	width:20px;
-	height:20px
+	width: 20px;
+	height: 20px;
 }
 
-.behaviorBack{
+.behaviorBack {
 	width: 100%;
 	height: 30px;
 	display: flex;
@@ -1509,19 +1853,19 @@ ${_textData}
 	padding-left: 20px;
 }
 
-.behaviorBack>span{
+.behaviorBack > span {
 	display: flex;
 	align-items: center;
 	cursor: pointer;
 	width: 80px;
 }
 
-.behaviorBack>span>svg{
+.behaviorBack > span > svg {
 	margin-right: 5px;
 	position: relative;
 	top: 1px;
-	width:20px;
-	height:20px;
+	width: 20px;
+	height: 20px;
 	transform: rotate(180deg);
 }
 </style>

文件差異過大導致無法顯示
+ 348 - 673
src/components/classRoomHelper/component/searchArea.vue


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

@@ -500,6 +500,7 @@ export default {
       userid: this.$route.query.userid,
       courseId: this.$route.query.courseId,
       ttype: this.$route.query.tType,
+			tcid2: this.$route.query.tcid,
       loading: false,
       aiBoxLoading: false,
       chatLoading: false,
@@ -728,15 +729,18 @@ export default {
       //保存行为操作
       //variable
       //btn
-      return;
+      // return;
       let params = [
         {
           uid: this.userid,
-          courseId: this.courseId,
+          courseId: this.courseId+(this.tcid2?this.tcid2:''),
           content: _html
         }
       ];
 
+			console.log('👇')
+			console.log(params)
+
       this.ajax
         .post(
           this.$store.state.api + "insert_systemOperation_countdownBehavior",

+ 24 - 5
src/components/classRoomHelper/index.vue

@@ -322,6 +322,7 @@ export default {
     return {
       userid: this.$route.query.userid,
       courseId: this.$route.query.courseId,
+			tcid2: this.$route.query.tcid,
       type: 0,
       itemType: 0, //0--无  1-搜索  2-任务 3-对话
       fileId: [],
@@ -352,7 +353,7 @@ export default {
       let params = [
         {
           uid: this.userid,
-          courseId: this.courseId,
+          courseId: this.courseId+(this.tcid2?this.tcid2:""),
           content: _html
         }
       ];
@@ -382,6 +383,9 @@ export default {
     openSetting() {
       this.type = this.type == 1 ? 0 : 1;
       this.$nextTick(() => {
+				if(this.type==1){
+					this.$parent.mlDialog = false
+				}
         this.setWidth();
       });
     },
@@ -481,10 +485,11 @@ export default {
     changeFold(newValue) {
       // this.$message.info("展开");
       this.fold = newValue;
+
 			console.log(this.$refs.foldBtnRef)
 			let e1 = this.$refs.foldBtnRef.getBoundingClientRect();
 			let e2 = this.$refs.ch_box.getBoundingClientRect();
-
+			
 			console.log('👇👇')
 			console.log(e1.top - e2.top)
 			this.$refs.itemFoldRef.style.top = e1.top - e2.top + "px";
@@ -494,9 +499,6 @@ export default {
       // this.$message.info("收起");
       this.fold = newValue;
     },
-    insertMemorandum(text) {
-      this.$refs.MemorandumRef.insertMemorandum(text);
-    },
     // 语音识别
     startRecord() {
       this.$refs.levitatedSphereRef.startRecord();
@@ -671,4 +673,21 @@ export default {
 .itemFold > div > span{
 	margin-left:10px;
 }
+
+@media screen and (max-height: 820px) {
+	.ch_nav_box_bottom > div {
+		height: auto;
+		padding: 8px 0;
+	}
+
+	.ch_nav_box_middle_item{
+		height: auto;
+		padding: 8px 0;
+	}
+
+	.ch_nav_box_top > div{
+		height: auto;
+		padding: 8px 0;
+	}
+}
 </style>

+ 28 - 0
src/components/courseDetail.vue

@@ -1188,6 +1188,26 @@ export default {
     };
   },
   methods: {
+		insertMemorandum(_html,tcid=""){//保存行为操作
+			//variable
+			//btn
+			let params = [{
+				uid:this.userid,
+				courseId:this.id+tcid,
+				content:_html
+			}]
+
+			this.ajax.post(this.$store.state.api+'insert_systemOperation_countdownBehavior',params).then(res=>{
+				if(res.data==1){
+					console.log('保存操作成功')
+				}else{
+					console.log('保存操作失败')
+				}
+			}).catch(e=>{
+				console.log('保存操作失败')
+				console.log(e)
+			})
+		},
     handleClose(done) {
       done();
     },
@@ -1209,6 +1229,13 @@ export default {
       this.$router.push(path);
     },
     gotoCourse(id) {
+			if(!id){
+				this.insertMemorandum(`开始为<span class='variable'>全部班级</span>授课`)
+			}else{
+				let _classData = this.classList.find(item=>item.id == id)
+				this.insertMemorandum(`开始为<span class='variable'>${_classData.name}</span>授课`,id)
+			}
+
       if (this.courseDetail.state == 1) {
         if (this.classList.length) {
           this.goTo(
@@ -1340,6 +1367,7 @@ export default {
     goToStudyOrDia(l) {
       if (l.length > 0) {
         this.dialogVisibleSk = true;
+				this.insertMemorandum("点击<span class='btn'>以班级授课</span>")
       } else {
 				this.getCourseDetail1().then(_=>{
 					if(this.classList.length<=0){

+ 79 - 82
src/components/easy2/commpont/markScore.vue

@@ -65,17 +65,31 @@ export default {
   computed: {
     totalScore() {
       let a = 0;
+      let isPing = 0;
       this.scoTitList.forEach(e => {
-        a += e.cog;
+        if (!e.cog && e.cog != 0) {
+          isPing += 1;
+        } else {
+          a += e.cog * 1;
+        }
       });
+
       let data = 0;
-      data = (a / this.scoTit.length).toFixed(1);
-      this.$emit("updateDocSco", {
-        val: this.toolIndex,
-        val2: this.wIndex,
-        val3: data
-      });
-    
+      if (isPing == this.scoTit.length) {
+        this.$emit("updateDocSco", {
+          val: this.toolIndex,
+          val2: this.wIndex,
+          val3: null
+        });
+      } else {
+        data = (a / this.scoTit.length).toFixed(1);
+        this.$emit("updateDocSco", {
+          val: this.toolIndex,
+          val2: this.wIndex,
+          val3: data
+        });
+      }
+
       return data;
     }
   },
@@ -95,27 +109,34 @@ export default {
       this.ajax
         .get(this.$store.state.api + "selectWorksEvaScore", params)
         .then(res => {
-          // console.log(res);
+          // console.log("res", res.data);
+
           if (res.data[0].length > 0) {
-            let data2 = [];
+            var data2 = [];
             res.data[0].forEach((val, index) => {
               if (val.task == this.task) {
                 data2 = res.data[0][index];
+                this.homeworkVal = res.data[0][index];
               }
             });
-
-            let data = JSON.parse(data2.rate);
-
-            this.scoTitList.forEach((e, index) => {
-              e.cog = 0;
-              for (const key in data) {
-                if (e.value == key) {
-                  e.cog = data[key] * 1;
+            if (data2.length == 0) {
+              this.scoTitList = JSON.parse(JSON.stringify(this.scoTit));
+            } else {
+              let data = JSON.parse(data2.rate);
+              this.scoTitList.forEach((e, index) => {
+                e.cog = null;
+                for (const key in data) {
+                  if (e.value == key) {
+                    e.cog = data[key] * 1;
+                  }
                 }
-              }
-            });
+              });
+              this.scoTitList = JSON.parse(JSON.stringify(this.scoTitList));
 
-            // console.log("this.scoTitList", this.scoTitList);
+              // console.log(this.scoTitList);
+            }
+          } else {
+            this.scoTitList = JSON.parse(JSON.stringify(this.scoTit));
           }
         })
         .catch(err => {
@@ -124,41 +145,12 @@ export default {
     },
     // 重置
     reset() {
-      console.log("this.scoTitList", this.scoTitList);
       this.scoTitList.forEach(e => {
         e.cog = 0;
+        console.log(e.cog);
       });
-      // let data = this.scoTitList.map(e => {
-      //   return e.value + ":" + e.cog;
-      // });
-      // // console.log("data", data);
-      // const processedData = {};
-
-      // data.forEach(item => {
-      //   const [key, value] = item.split(":");
-      //   processedData[key] = 0;
-      // });
-      // processedData.content = "";
-      // this.scoTitList = processedData
-      // // return 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.getData();
-      //   })
-      //   .catch(err => {
-      //     this.$message.error("重置失败");
-      //     console.error(err);
-      //   });
     },
+
     // 老师提交评分
     submit() {
       let data = this.scoTitList.map(e => {
@@ -169,8 +161,9 @@ export default {
 
       data.forEach(item => {
         const [key, value] = item.split(":");
-        processedData[key] = Number(value);
+        processedData[key] = Number(value) ? Number(value) : 0;
       });
+
       processedData.content = "";
       // console.log(processedData);
       let params = {
@@ -188,6 +181,7 @@ export default {
             message: "评价成功",
             type: "success"
           });
+          this.$emit("refreshOther", this.toolIndex);
         })
         .catch(err => {
           this.$message.error("评价失败");
@@ -198,8 +192,12 @@ export default {
     // ai评分
     AIsubmit() {
       let tit = this.scoTit;
+      tit.forEach((e,index)=>{
+          if(!e.isai){
+            e.isai=1
+          }
+        })
       let con = JSON.parse(this.scoCon.works);
-      // this.markScoPopover = true;
       this.$emit("updateLoading", {
         val: this.toolIndex,
         val2: this.wIndex,
@@ -207,28 +205,32 @@ export default {
       });
       let _text = "";
       for (let i = 0; i < tit.length; i++) {
-        _text += `评价名称:${tit[i].value} 评价描述:${tit[i].detail} \n`;
+        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);
+      
+    //  console.log(_text);
       let msg = `NOTICE
-      Role: 你是一个专业的项目式学习导师,你要对学生的评价高度负责。你要根据“五级评价细则”给学生作品评分,并生成需要的JSON数据。
+      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
       ##要求
-      根据<评价细则>和<作业内容>与<作业题目>的相关性评价作业,判断该作业属于五级中的哪个等级。
-      具体的评价标准分为5级——1级,2级,3级,4级,5级。
-      1 级,没有识别问题和需求;
-      2 级,问题或需求没有被清晰理解或准确识别;
-      3 级,问题或需求的一部分被识别;
-      4 级,问题或需求的大部分被识别;
-      5 级,问题或需求都被识别。
+      根据<评价细则>和<作业内容>的相关性评价作业,判根据细则评价作业,判断该作业属于六级中的哪个等级。如果作业内容与评价细则无关,则直接评为0星。
+      
+
       
       ##评分资料
-      评价细则:${_text}
-      作业题目:${this.toolDetail}
+      评价细则:${laws}
       作业内容:${con.text}
 
       # Format example
@@ -239,7 +241,7 @@ export default {
     },
     // ai打分
     aiGet2(messages, callback) {
-      console.log(this.toolIndex,this.wIndex);
+      // console.log(this.toolIndex, this.wIndex);
       let _this = this;
       // let parm = {
       //   assistant_id: "6063369f-289a-11ef-8bf4-12e77c4cb76b",
@@ -255,7 +257,7 @@ export default {
       // };
       let params = {
         // "model": "Chat",
-        model: "gpt-3.5-turbo",
+        model: "gpt-4o",
         temperature: 0,
         max_tokens: 4096,
         top_p: 1,
@@ -275,7 +277,7 @@ export default {
         .post("https://gpt4.cocorobo.cn/chat", params)
         .then(response => {
           let data = response.data.FunctionResponse;
-          // console.log("data", data);
+          console.log("data", data);
           if (data.choices && data.choices.length && data.choices[0].message) {
             let dArray = {};
             try {
@@ -288,17 +290,14 @@ export default {
               console.log("error_________________" + error);
               try {
                 let regex = new RegExp("(?<=```json)([\\s\\S]*?)(?=```)");
-                // console.log("dArray666", data.choices[0].message.content);
 
                 let match = data.choices[0].message.content.match(regex);
-                // console.log("dArray2", match);
                 dArray = JSON.parse(
                   match[0]
                     .replace(/\n/g, "")
                     .replace(/\s{2,}/g, "")
                     .replace(/\'/g, '"')
                 );
-                // dArray = data.choices[0].message.content
               } catch (error) {
                 try {
                   dArray = JSON.parse(
@@ -323,6 +322,7 @@ export default {
             //   _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];
@@ -331,8 +331,8 @@ export default {
             });
 
             for (const key in processedData) {
-              if (!Number.isFinite(processedData[key]*1)) {
-                processedData[key] = 0
+              if (!Number.isFinite(processedData[key] * 1)) {
+                processedData[key] = 0;
               }
             }
 
@@ -353,13 +353,13 @@ export default {
                   message: "评价成功",
                   type: "success"
                 });
-                console.log(_this.wIndex, _this.task);
+                // 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);
@@ -398,7 +398,7 @@ export default {
 
       let params = {
         // "model": "Chat",
-        model: "gpt-3.5-turbo",
+        model: "gpt-4o",
         temperature: 0,
         max_tokens: 4096,
         top_p: 1,
@@ -473,16 +473,13 @@ export default {
               });
 
               for (const key in processedData) {
-                if (!Number.isFinite(processedData[key]*1)) {
-                  processedData[key] = 0
+                if (!Number.isFinite(processedData[key] * 1)) {
+                  processedData[key] = 0;
                 }
               }
 
-
-
               processedData.content = "";
 
-
               let params = {
                 cid: _this.id,
                 s: stage,

文件差異過大導致無法顯示
+ 336 - 84
src/components/easy2/studyStudent.vue


+ 113 - 51
src/components/easy3/studyStudent.vue

@@ -1372,7 +1372,7 @@
                     <el-button
                       type="primary"
                       v-if="tool.tool[0] == 32"
-                      style="position: absolute; right: 30px; top: 30px"
+                      style="position: absolute; right: 30px; top: -45px"
                       @click="addImg($event)"
                       >上传作业<input
                         type="file"
@@ -1383,7 +1383,7 @@
                     <el-button
                       type="primary"
                       v-if="tool.tool[0] == 15"
-                      style="position: absolute; right: 30px; top: 30px"
+                      style="position: absolute; right: 30px; top: -45px"
                       @click="openWordCloud(toolIndex)"
                       >生成词云</el-button
                     >
@@ -1392,7 +1392,7 @@
                       v-if="
                         tool.tool[0] == 16 && worksStudent[toolIndex].length > 0
                       "
-                      style="position: absolute; right: 30px; top: 30px"
+                      style="position: absolute; right: 30px; top: -45px"
                       @click="uploadWorks(toolIndex)"
                       >导出作业</el-button
                     >
@@ -1437,7 +1437,7 @@
                         <div class="workImg" v-if="w.type == 0">
                           <img
                             :src="w.works"
-                            @click="previewImg(w.works)"
+                            @click="previewImg(w.works,w)"
                             alt
                           />
                           <div
@@ -2155,7 +2155,7 @@
                         <div class="workImg">
                           <img
                             :src="w.works"
-                            @click="previewImg(w.works)"
+                            @click="previewImg(w.works,w)"
                             alt
                           />
                           <div
@@ -2230,7 +2230,7 @@
                         <div class="workImg">
                           <img
                             :src="w.works"
-                            @click="previewImg(w.works)"
+                            @click="previewImg(w.works,w)"
                             alt
                           />
                           <div
@@ -2305,7 +2305,7 @@
                         <div class="workImg">
                           <img
                             :src="w.works"
-                            @click="previewImg(w.works)"
+                            @click="previewImg(w.works,w)"
                             alt
                           />
                           <div
@@ -2380,7 +2380,7 @@
                         <div class="workImg">
                           <img
                             :src="w.works"
-                            @click="previewImg(w.works)"
+                            @click="previewImg(w.works,w)"
                             alt
                           />
                           <div
@@ -2455,7 +2455,7 @@
                         <div class="workImg">
                           <img
                             :src="w.works"
-                            @click="previewImg(w.works)"
+                            @click="previewImg(w.works,w)"
                             alt
                           />
                           <img
@@ -2554,7 +2554,7 @@
                               <!-- @click="commentOther(w, toolIndex, wIndex)" -->
                               <img
                                 :src="w.works"
-                                @click="previewImg(w.works)"
+                                @click="previewImg(w.works,w)"
                                 alt
                               />
                               <div
@@ -2738,7 +2738,7 @@
                                   <div
                                     class="commentImg"
                                     @click="
-                                      isLikes(w.wid, userid, 1, null, w.isLikes)
+                                      isLikes(w.wid, userid, 1, null, w.isLikes,w.sName)
                                     "
                                   >
                                     <img
@@ -2807,7 +2807,7 @@
                           <!-- @click="commentOther(w, toolIndex, wIndex)" -->
                           <img
                             :src="w.works"
-                            @click="previewImg(w.works)"
+                            @click="previewImg(w.works,w)"
                             alt
                           />
                           <div
@@ -2991,7 +2991,7 @@
                               <div
                                 class="commentImg"
                                 @click="
-                                  isLikes(w.wid, userid, 1, null, w.isLikes)
+                                  isLikes(w.wid, userid, 1, null, w.isLikes,w.sName)
                                 "
                               >
                                 <img
@@ -3303,7 +3303,7 @@
                               <div
                                 class="commentImg"
                                 @click="
-                                  isLikes(w.wid, userid, 1, null, w.isLikes)
+                                  isLikes(w.wid, userid, 1, null, w.isLikes,w.sName)
                                 "
                               >
                                 <img
@@ -3473,7 +3473,7 @@
                               <div
                                 class="commentImg"
                                 @click="
-                                  isLikes(w.wid, userid, 1, null, w.isLikes)
+                                  isLikes(w.wid, userid, 1, null, w.isLikes,w.sName)
                                 "
                               >
                                 <img
@@ -3574,7 +3574,7 @@
                           <!-- @click="commentOther(w, toolIndex, wIndex)" -->
                           <img
                             :src="w.works"
-                            @click="previewImg(w.works)"
+                            @click="previewImg(w.works,w)"
                             alt
                           />
                           <div
@@ -3723,7 +3723,7 @@
                               <div
                                 class="commentImg"
                                 @click="
-                                  isLikes(w.wid, userid, 1, null, w.isLikes)
+                                  isLikes(w.wid, userid, 1, null, w.isLikes,w.sName)
                                 "
                               >
                                 <img
@@ -4364,7 +4364,7 @@
                                   <div
                                     class="commentImg"
                                     @click="
-                                      isLikes(w.wid, userid, 1, null, w.isLikes)
+                                      isLikes(w.wid, userid, 1, null, w.isLikes,w.sName)
                                     "
                                   >
                                     <img
@@ -4486,7 +4486,7 @@
                               <div
                                 class="commentImg"
                                 @click="
-                                  isLikes(w.wid, userid, 1, null, w.isLikes)
+                                  isLikes(w.wid, userid, 1, null, w.isLikes,w.sName)
                                 "
                               >
                                 <img
@@ -4610,7 +4610,7 @@
                             <div class="workImg">
                               <img
                                 :src="w.works"
-                                @click="previewImg(w.works)"
+                                @click="previewImg(w.works,w)"
                                 alt
                               />
                               <div
@@ -4658,7 +4658,7 @@
                                   <div
                                     class="commentImg"
                                     @click="
-                                      isLikes(w.wid, userid, 1, null, w.isLikes)
+                                      isLikes(w.wid, userid, 1, null, w.isLikes,w.sName)
                                     "
                                   >
                                     <img
@@ -4726,7 +4726,7 @@
                         <div class="workImg">
                           <img
                             :src="w.works"
-                            @click="previewImg(w.works)"
+                            @click="previewImg(w.works,w)"
                             alt
                           />
                           <div
@@ -4770,7 +4770,7 @@
                               <div
                                 class="commentImg"
                                 @click="
-                                  isLikes(w.wid, userid, 1, null, w.isLikes)
+                                  isLikes(w.wid, userid, 1, null, w.isLikes,w.sName)
                                 "
                               >
                                 <img
@@ -4894,7 +4894,7 @@
                             <div class="workImg">
                               <img
                                 :src="w.works"
-                                @click="previewImg(w.works)"
+                                @click="previewImg(w.works,w)"
                                 alt
                               />
                               <div
@@ -4942,7 +4942,7 @@
                                   <div
                                     class="commentImg"
                                     @click="
-                                      isLikes(w.wid, userid, 1, null, w.isLikes)
+                                      isLikes(w.wid, userid, 1, null, w.isLikes,w.sName)
                                     "
                                   >
                                     <img
@@ -5010,7 +5010,7 @@
                         <div class="workImg">
                           <img
                             :src="w.works"
-                            @click="previewImg(w.works)"
+                            @click="previewImg(w.works,w)"
                             alt
                           />
                           <div
@@ -5054,7 +5054,7 @@
                               <div
                                 class="commentImg"
                                 @click="
-                                  isLikes(w.wid, userid, 1, null, w.isLikes)
+                                  isLikes(w.wid, userid, 1, null, w.isLikes,w.sName)
                                 "
                               >
                                 <img
@@ -5178,7 +5178,7 @@
                             <div class="workImg">
                               <img
                                 :src="w.works"
-                                @click="previewImg(w.works)"
+                                @click="previewImg(w.works,w)"
                                 alt
                               />
                               <div
@@ -5226,7 +5226,7 @@
                                   <div
                                     class="commentImg"
                                     @click="
-                                      isLikes(w.wid, userid, 1, null, w.isLikes)
+                                      isLikes(w.wid, userid, 1, null, w.isLikes,w.sName)
                                     "
                                   >
                                     <img
@@ -5294,7 +5294,7 @@
                         <div class="workImg">
                           <img
                             :src="w.works"
-                            @click="previewImg(w.works)"
+                            @click="previewImg(w.works,w)"
                             alt
                           />
                           <div
@@ -5338,7 +5338,7 @@
                               <div
                                 class="commentImg"
                                 @click="
-                                  isLikes(w.wid, userid, 1, null, w.isLikes)
+                                  isLikes(w.wid, userid, 1, null, w.isLikes,w.sName)
                                 "
                               >
                                 <img
@@ -5461,7 +5461,7 @@
                             <div class="workImg">
                               <img
                                 :src="w.works"
-                                @click="previewImg(w.works)"
+                                @click="previewImg(w.works,w)"
                                 alt
                               />
                               <div
@@ -5509,7 +5509,7 @@
                                   <div
                                     class="commentImg"
                                     @click="
-                                      isLikes(w.wid, userid, 1, null, w.isLikes)
+                                      isLikes(w.wid, userid, 1, null, w.isLikes,w.sName)
                                     "
                                   >
                                     <img
@@ -5577,7 +5577,7 @@
                         <div class="workImg">
                           <img
                             :src="w.works"
-                            @click="previewImg(w.works)"
+                            @click="previewImg(w.works,w)"
                             alt
                           />
                           <div
@@ -5621,7 +5621,7 @@
                               <div
                                 class="commentImg"
                                 @click="
-                                  isLikes(w.wid, userid, 1, null, w.isLikes)
+                                  isLikes(w.wid, userid, 1, null, w.isLikes,w.sName)
                                 "
                               >
                                 <img
@@ -5727,7 +5727,7 @@
                         <div class="workImg" v-if="w.type == 0">
                           <img
                             :src="w.works"
-                            @click="previewImg(w.works)"
+                            @click="previewImg(w.works,w)"
                             alt
                           />
                           <img
@@ -5864,7 +5864,7 @@
                               <div
                                 class="commentImg"
                                 @click="
-                                  isLikes(w.wid, userid, 1, null, w.isLikes)
+                                  isLikes(w.wid, userid, 1, null, w.isLikes,w.sName)
                                 "
                               >
                                 <img
@@ -6433,7 +6433,7 @@
                               <div
                                 class="commentImg"
                                 @click="
-                                  isLikes(w.wid, userid, 1, null, w.isLikes)
+                                  isLikes(w.wid, userid, 1, null, w.isLikes,w.sName)
                                 "
                               >
                                 <img
@@ -6664,7 +6664,7 @@
                               <div
                                 class="commentImg"
                                 @click="
-                                  isLikes(w.wid, userid, 1, null, w.isLikes)
+                                  isLikes(w.wid, userid, 1, null, w.isLikes,w.sName)
                                 "
                               >
                                 <img
@@ -6884,7 +6884,7 @@
                               <div class="workImg" v-if="w.type == 0">
                                 <img
                                   :src="w.works"
-                                  @click="previewImg(w.works)"
+                                  @click="previewImg(w.works,w)"
                                   alt
                                 />
                                 <div
@@ -7084,7 +7084,8 @@
                                           userid,
                                           1,
                                           null,
-                                          w.isLikes
+                                          w.isLikes,
+																					w.sName
                                         )
                                       "
                                     >
@@ -8258,7 +8259,7 @@
 				<scoreItem v-for="item in scoreList.datalist" @refresh="getScoreList" :data="item" :isScore="scoreList.isScoreList.filter(i=>(i.userid==item.userid && i.courseid == item.courseId))" :key="item.courseId"/>
 			</div>
       <div class="scoreList" v-if="commentTagShow==2" style="position: relative">
-        <scoreZong :courseid="id" :userid="userid"></scoreZong>
+        <scoreZong :courseid="id" :userid="userid" @insertMemorandum="insertMemorandum"></scoreZong>
 			</div>
     </div>
     <div
@@ -9831,7 +9832,8 @@
                     userid,
                     1,
                     null,
-                    commentDetail.isLikes
+                    commentDetail.isLikes,
+										commentDetail.sName
                   )
                 "
                 :src="commentDetail.isLikes == true ? likes : noLikes"
@@ -9958,7 +9960,7 @@
         >
         <el-button
           type="primary"
-          @click="addComment(commentDetail.wid, userid, 2)"
+          @click="addComment(commentDetail.wid, userid, 2,commentDetail)"
           >确 定</el-button
         >
       </div>
@@ -10488,7 +10490,7 @@
         <el-button
           type="primary"
           v-if="courseDetail.userid == userid"
-          @click="scoreWork(commentDetail.wid)"
+          @click="scoreWork(commentDetail.wid,commentDetail.sName)"
           >确 定
         </el-button>
       </span>
@@ -12438,6 +12440,28 @@ export default {
 				this.oidArray = oidArray;
 			})
 		},
+		insertMemorandum(_html){//保存行为操作
+			//variable
+			//btn
+			let params = [{
+				uid:this.userid,
+				courseId:this.id+(this.tcid2?this.tcid2:''),
+				content:_html
+			}]
+
+			console.log(params)
+
+			this.ajax.post(this.$store.state.api+'insert_systemOperation_countdownBehavior',params).then(res=>{
+				if(res.data==1){
+					console.log('保存操作成功')
+				}else{
+					console.log('保存操作失败')
+				}
+			}).catch(e=>{
+				console.log('保存操作失败')
+				console.log(e)
+			})
+		},
     gx(){
       this.$forceUpdate();
     },
@@ -12709,6 +12733,8 @@ export default {
         }, 0);
       }
       this.navId = ""
+			let flag = this.courseType == i;
+			let flag2 = this.taskCount == j
       if (l) {
         this.courseType = i;
         // this.navId = l;
@@ -12716,6 +12742,15 @@ export default {
         this.selectPz();
         this.getHomeWork();
         this.getCourseDetail(2);
+				if(flag){
+					if(flag2){
+						this.insertMemorandum(`选择<span class="variable">工具${k+1}:${this.toolsList[this.navList[i].task[j].tool[k].tool]}</span>`)
+					}else{
+						this.insertMemorandum(`选择<span class="variable">任务${j+1}${this.navList[i].task[j].taskName?':'+this.navList[i].task[j].taskName:''}</span>→<span class="variable">工具${k+1}:${this.toolsList[this.navList[i].task[j].tool[k].tool]}</span>`)
+					}
+				}else{
+					this.insertMemorandum(`选择<span class="variable">阶段${i+1}${this.navList[i].dyName?':'+this.navList[i].dyName:''}</span>→<span class="variable">任务${j+1}${this.navList[i].task[j].taskName?':'+this.navList[i].task[j].taskName:''}</span>→<span class="variable">工具${k+1}:${this.toolsList[this.navList[i].task[j].tool[k].tool]}</span>`)
+				}
       }
 
       // var b = this.$refs["bz" + k][0];
@@ -12798,8 +12833,11 @@ export default {
       }
       this.dialogVisibleMember = false;
     },
-    previewImg(url) {
+    previewImg(url,w) {
       this.$hevueImgPreview(url);
+			if(w){
+				this.insertMemorandum(`查看<span class="variable">${w.sName}</span>的作业`)
+			}
     },
     checkImg(list) {
       if (!list.length) {
@@ -14052,7 +14090,7 @@ export default {
       this.videoDetail = this.playerOptions1;
       this.videoVisible = true;
     },
-    isLikes(wid, uid, t, c, isLikes) {
+    isLikes(wid, uid, t, c, isLikes,sName) {
       if (isLikes == false) {
         let params = [
           {
@@ -14071,6 +14109,7 @@ export default {
             });
             this.selectSWorks();
             this.selectStudent();
+						this.insertMemorandum(`对<span class="variable">${sName}</span>的作业进行<span class="btn">点赞</span>`)
           })
           .catch((err) => {
             this.$message.error("点赞失败");
@@ -14225,8 +14264,9 @@ export default {
         
         this.englishVoiceJson = JSON.parse(JSON.stringify(englishVoiceJson));
       }
+			this.insertMemorandum(`查看<span class="variable">${w.sName}</span>的作业`)
     },
-    addComment(wid, uid, t) {
+    addComment(wid, uid, t,detail) {
       if (this.commentText == "") {
         this.$message.error("请输入评论");
         return;
@@ -14262,6 +14302,7 @@ export default {
                 this.commentText = "";
                 this.selectSWorks();
                 this.selectStudent();
+								this.insertMemorandum(`对<span class="variable">${detail.sName}</span>的作业进行<span class="btn">评论</span>`)
               })
               .catch((err) => {
                 this.$message.error("评论失败");
@@ -14274,7 +14315,7 @@ export default {
           console.error(err);
         });
     },
-    scoreWork(wid) {
+    scoreWork(wid,sName) {
       if (this.wScore == 0) {
         this.$message.error("请评分");
         return;
@@ -14300,6 +14341,7 @@ export default {
           this.dialogVisibleScore = false;
           this.selectSWorks();
           this.selectStudent();
+					this.insertMemorandum(`对<span class="variable">${sName}</span>的作业进行<span class="btn">评分</span>`)
         })
         .catch((err) => {
           this.$message.error("评分失败");
@@ -14324,6 +14366,7 @@ export default {
       this.selectAnswer = { answer: a, stu: w.sName };
       this.isSelect = true;
       this.dialogVisibleSelect = true;
+			this.insertMemorandum(`查看<span class="variable">${w.sName}</span>的作业`)
     },
     openSen(w, i) {
       this.sentenceList1 = JSON.parse(w.works);
@@ -16241,6 +16284,10 @@ export default {
         this.navList[s].task[n].isOpen = !this.navList[s].task[n].isOpen;
         return;
       }
+
+			let flag = this.courseType==s;
+
+	
       this.courseType = s;
       this.navId = i;
       this.taskCount = n;
@@ -16294,6 +16341,11 @@ export default {
       this.selectPz();
       this.getHomeWork();
       this.getCourseDetail(2);
+			if(flag){
+				this.insertMemorandum(`进入<span class="variable">任务${n+1}${this.navList[s].task[n].taskName?':'+this.navList[s].task[n].taskName:''}</span>`)
+			}else{
+				this.insertMemorandum(`进入<span class="variable">阶段${s+1}${this.navList[s].dyName?':'+this.navList[s].dyName:''}</span>→<span class="variable">任务${n+1}${this.navList[s].task[n].taskName?':'+this.navList[s].task[n].taskName:''}</span>`)
+			}
     },
 
     get(i) {
@@ -16929,6 +16981,7 @@ export default {
           this.pzConText = "";
           this.addPzDialog = false;
           this.selectPz();
+					this.insertMemorandum(`使用<span class="btn">评论</span>功能,添加评论`)
         })
         .catch((err) => {
           this.$message.error("添加失败");
@@ -17426,6 +17479,7 @@ export default {
       // this.isClickNav = "video" + i;
       this.isClickNav = i;
       this.$forceUpdate();
+			this.insertMemorandum(`查看文件<span class="variable">任务${this.taskCount+1}:${this.vChapterData[this.taskCount].find(i=>i.url==u).name}</span>`)
     },
     lookText(i, t) {
       this.isClickNav = "";
@@ -17435,6 +17489,7 @@ export default {
       this.showType = 1;
       // this.isClickNav = "text" + t;
       this.isClickNav = t;
+			this.insertMemorandum(`查看文件<span class="variable">任务${this.taskCount+1}:${this.vChapterData[this.taskCount][t].name}.doc</span>`)
     },
     lookTools(i, t) {
       this.chapTools = this.chapToolList[i][t];
@@ -17460,14 +17515,17 @@ export default {
         this.showPDF = true;
         this.dialogVisible3 = true;
       }
+			this.insertMemorandum(`查看<span class="variable">${w.sName}</span>的作业`)
     },
     openTable(f) {
       this.tableJson = JSON.parse(f.works);
       this.dialogVisibleTable2 = true;
+			this.insertMemorandum(`查看<span class="variable">${f.sName}的作业</span>`)
     },
     openWord(f) {
       this.tableJson = JSON.parse(f.works);
       this.dialogVisibleTable3 = true;
+			this.insertMemorandum(`查看<span class="variable">${f.sName}的作业</span>`)
     },
     doUrl(url, i) {
       this.isClickNav = "";
@@ -17490,6 +17548,7 @@ export default {
       this.pptImgUrl1 = f.url;
       this.isClickNav = i;
       this.$forceUpdate();
+			this.insertMemorandum(`查看文件<span class="variable">任务${this.taskCount+1}:${this.vChapterData[this.taskCount][i].name}</span>`)
     },
     async downFile(f, i) {
       this.isClickNav = "";
@@ -17525,6 +17584,7 @@ export default {
       }
       // this.isClickNav = "word" + i;
       this.isClickNav = i;
+			this.insertMemorandum(`查看文件<span class="variable">任务${this.taskCount+1}:${this.vChapterData[this.taskCount][i].name}</span>`)
     },
     downFileList(i) {
       window.open(this.noImgList[i].url);
@@ -17927,6 +17987,7 @@ export default {
       //   this.questionAnswer = z[0].answer;
       //   this.answerDialogVisible = true;
       // }
+			this.insertMemorandum(`查看<span class="variable">${sName}</span>的作业`)
     },
 
     fastText(p, t) {
@@ -18451,6 +18512,7 @@ export default {
           ].toolChoose[i].videoJson;
         this.dialogVisibleVideo = true;
       }
+			this.insertMemorandum(`点击工作区<span class="variable">工具${index+1}:${this.toolsList[t]}</span>`)
     },
     teacherWorkSubmit(t, i, index, s) {
       this.sStudent = s;
@@ -20476,7 +20538,7 @@ export default {
 }
 
 .filebox .tooldetail {
-  width: calc(100% - 280px);
+  width: calc(100%);
   margin: 0px 12px;
   padding: 12px;
   line-height: 30px;
@@ -21426,7 +21488,7 @@ export default {
 
 .toolHeng2 {
   width: 100%;
-  padding-left: 37px;
+  padding-left: 15px;
   box-sizing: border-box;
 }
 

+ 1 - 0
src/components/scoreZong/index.vue

@@ -195,6 +195,7 @@ export default {
                 .catch((err) => {
                     console.error(err);
                 });
+						this.$emit('insertMemorandum',`使用<span class="btn">评论</span>功能,添加总评`)
         },
         getList() {
             let params =

+ 97 - 85
src/components/studyStudent.vue

@@ -1341,7 +1341,7 @@
                     <el-button
                       type="primary"
                       v-if="tool.tool[0] == 32"
-                      style="position: absolute; right: 30px; top: 30px"
+                      style="position: absolute; right: 30px; top: -45px"
                       @click="addImg($event)"
                       >上传作业<input
                         type="file"
@@ -1352,7 +1352,7 @@
                     <el-button
                       type="primary"
                       v-if="tool.tool[0] == 15"
-                      style="position: absolute; right: 30px; top: 30px"
+                      style="position: absolute; right: 30px; top: -45px"
                       @click="openWordCloud(toolIndex)"
                       >生成词云</el-button
                     >
@@ -1361,7 +1361,7 @@
                       v-if="
                         tool.tool[0] == 16 && worksStudent[toolIndex].length > 0
                       "
-                      style="position: absolute; right: 30px; top: 30px"
+                      style="position: absolute; right: 30px; top: -45px"
                       @click="uploadWorks(toolIndex)"
                       >导出作业</el-button
                     >
@@ -1406,7 +1406,7 @@
                         <div class="workImg" v-if="w.type == 0">
                           <img
                             :src="w.works"
-                            @click="previewImg(w.works)"
+                            @click="previewImg(w.works,w)"
                             alt
                           />
                           <div
@@ -1442,7 +1442,7 @@
                           />
                         </div>
                         <div class="workImg" v-if="w.type == 1">
-                          <img :src="word" @click="openFile(w.works)" alt />
+                          <img :src="word" @click="openFile(w.works,w)" alt />
                           <div
                             class="answerScore"
                             v-if="w.score"
@@ -2124,7 +2124,7 @@
                         <div class="workImg">
                           <img
                             :src="w.works"
-                            @click="previewImg(w.works)"
+                            @click="previewImg(w.works,w)"
                             alt
                           />
                           <div
@@ -2199,7 +2199,7 @@
                         <div class="workImg">
                           <img
                             :src="w.works"
-                            @click="previewImg(w.works)"
+                            @click="previewImg(w.works,w)"
                             alt
                           />
                           <div
@@ -2274,7 +2274,7 @@
                         <div class="workImg">
                           <img
                             :src="w.works"
-                            @click="previewImg(w.works)"
+                            @click="previewImg(w.works,w)"
                             alt
                           />
                           <div
@@ -2349,7 +2349,7 @@
                         <div class="workImg">
                           <img
                             :src="w.works"
-                            @click="previewImg(w.works)"
+                            @click="previewImg(w.works,w)"
                             alt
                           />
                           <div
@@ -2424,7 +2424,7 @@
                         <div class="workImg">
                           <img
                             :src="w.works"
-                            @click="previewImg(w.works)"
+                            @click="previewImg(w.works,w)"
                             alt
                           />
                           <img
@@ -2523,7 +2523,7 @@
                               <!-- @click="commentOther(w, toolIndex, wIndex)" -->
                               <img
                                 :src="w.works"
-                                @click="previewImg(w.works)"
+                                @click="previewImg(w.works,w)"
                                 alt
                               />
                               <div
@@ -2565,7 +2565,7 @@
                               />
                             </div>
                             <div class="workImg" v-if="w.type == 1">
-                              <img :src="word" @click="openFile(w.works)" alt />
+                              <img :src="word" @click="openFile(w.works,w)" alt />
                               <!-- @click="openFile(w.works)" -->
                               <div
                                 class="answerScore"
@@ -2707,7 +2707,7 @@
                                   <div
                                     class="commentImg"
                                     @click="
-                                      isLikes(w.wid, userid, 1, null, w.isLikes)
+                                      isLikes(w.wid, userid, 1, null, w.isLikes,w.sName)
                                     "
                                   >
                                     <img
@@ -2776,7 +2776,7 @@
                           <!-- @click="commentOther(w, toolIndex, wIndex)" -->
                           <img
                             :src="w.works"
-                            @click="previewImg(w.works)"
+                            @click="previewImg(w.works,w)"
                             alt
                           />
                           <div
@@ -2818,7 +2818,7 @@
                           />
                         </div>
                         <div class="workImg" v-if="w.type == 1">
-                          <img :src="word" @click="openFile(w.works)" alt />
+                          <img :src="word" @click="openFile(w.works,w)" alt />
                           <!-- @click="openFile(w.works)" -->
                           <div
                             class="answerScore"
@@ -2960,7 +2960,7 @@
                               <div
                                 class="commentImg"
                                 @click="
-                                  isLikes(w.wid, userid, 1, null, w.isLikes)
+                                  isLikes(w.wid, userid, 1, null, w.isLikes,w.sName)
                                 "
                               >
                                 <img
@@ -3272,7 +3272,7 @@
                               <div
                                 class="commentImg"
                                 @click="
-                                  isLikes(w.wid, userid, 1, null, w.isLikes)
+                                  isLikes(w.wid, userid, 1, null, w.isLikes,w.sName)
                                 "
                               >
                                 <img
@@ -3442,7 +3442,7 @@
                               <div
                                 class="commentImg"
                                 @click="
-                                  isLikes(w.wid, userid, 1, null, w.isLikes)
+                                  isLikes(w.wid, userid, 1, null, w.isLikes,w.sName)
                                 "
                               >
                                 <img
@@ -3543,7 +3543,7 @@
                           <!-- @click="commentOther(w, toolIndex, wIndex)" -->
                           <img
                             :src="w.works"
-                            @click="previewImg(w.works)"
+                            @click="previewImg(w.works,w)"
                             alt
                           />
                           <div
@@ -3589,7 +3589,7 @@
                           style="cursor: pointer"
                           v-if="w.type == 1"
                         >
-                          <img :src="word" @click="openFile(w.works)" alt />
+                          <img :src="word" @click="openFile(w.works,w)" alt />
                           <!-- @click="openFile(w.works)" -->
                           <div
                             class="answerScore"
@@ -3692,7 +3692,7 @@
                               <div
                                 class="commentImg"
                                 @click="
-                                  isLikes(w.wid, userid, 1, null, w.isLikes)
+                                  isLikes(w.wid, userid, 1, null, w.isLikes,w.sName)
                                 "
                               >
                                 <img
@@ -4333,7 +4333,7 @@
                                   <div
                                     class="commentImg"
                                     @click="
-                                      isLikes(w.wid, userid, 1, null, w.isLikes)
+                                      isLikes(w.wid, userid, 1, null, w.isLikes,w.sName)
                                     "
                                   >
                                     <img
@@ -4455,7 +4455,7 @@
                               <div
                                 class="commentImg"
                                 @click="
-                                  isLikes(w.wid, userid, 1, null, w.isLikes)
+                                  isLikes(w.wid, userid, 1, null, w.isLikes,w.sName)
                                 "
                               >
                                 <img
@@ -4579,7 +4579,7 @@
                             <div class="workImg">
                               <img
                                 :src="w.works"
-                                @click="previewImg(w.works)"
+                                @click="previewImg(w.works,w)"
                                 alt
                               />
                               <div
@@ -4627,7 +4627,7 @@
                                   <div
                                     class="commentImg"
                                     @click="
-                                      isLikes(w.wid, userid, 1, null, w.isLikes)
+                                      isLikes(w.wid, userid, 1, null, w.isLikes,w.sName)
                                     "
                                   >
                                     <img
@@ -4695,7 +4695,7 @@
                         <div class="workImg">
                           <img
                             :src="w.works"
-                            @click="previewImg(w.works)"
+                            @click="previewImg(w.works,w)"
                             alt
                           />
                           <div
@@ -4739,7 +4739,7 @@
                               <div
                                 class="commentImg"
                                 @click="
-                                  isLikes(w.wid, userid, 1, null, w.isLikes)
+                                  isLikes(w.wid, userid, 1, null, w.isLikes,w.sName)
                                 "
                               >
                                 <img
@@ -4863,7 +4863,7 @@
                             <div class="workImg">
                               <img
                                 :src="w.works"
-                                @click="previewImg(w.works)"
+                                @click="previewImg(w.works,w)"
                                 alt
                               />
                               <div
@@ -4911,7 +4911,7 @@
                                   <div
                                     class="commentImg"
                                     @click="
-                                      isLikes(w.wid, userid, 1, null, w.isLikes)
+                                      isLikes(w.wid, userid, 1, null, w.isLikes,w.sName)
                                     "
                                   >
                                     <img
@@ -4979,7 +4979,7 @@
                         <div class="workImg">
                           <img
                             :src="w.works"
-                            @click="previewImg(w.works)"
+                            @click="previewImg(w.works,w)"
                             alt
                           />
                           <div
@@ -5023,7 +5023,7 @@
                               <div
                                 class="commentImg"
                                 @click="
-                                  isLikes(w.wid, userid, 1, null, w.isLikes)
+                                  isLikes(w.wid, userid, 1, null, w.isLikes,w.sName)
                                 "
                               >
                                 <img
@@ -5147,7 +5147,7 @@
                             <div class="workImg">
                               <img
                                 :src="w.works"
-                                @click="previewImg(w.works)"
+                                @click="previewImg(w.works,w)"
                                 alt
                               />
                               <div
@@ -5195,7 +5195,7 @@
                                   <div
                                     class="commentImg"
                                     @click="
-                                      isLikes(w.wid, userid, 1, null, w.isLikes)
+                                      isLikes(w.wid, userid, 1, null, w.isLikes,w.sName)
                                     "
                                   >
                                     <img
@@ -5263,7 +5263,7 @@
                         <div class="workImg">
                           <img
                             :src="w.works"
-                            @click="previewImg(w.works)"
+                            @click="previewImg(w.works,w)"
                             alt
                           />
                           <div
@@ -5307,7 +5307,7 @@
                               <div
                                 class="commentImg"
                                 @click="
-                                  isLikes(w.wid, userid, 1, null, w.isLikes)
+                                  isLikes(w.wid, userid, 1, null, w.isLikes,w.sName)
                                 "
                               >
                                 <img
@@ -5430,7 +5430,7 @@
                             <div class="workImg">
                               <img
                                 :src="w.works"
-                                @click="previewImg(w.works)"
+                                @click="previewImg(w.works,w)"
                                 alt
                               />
                               <div
@@ -5478,7 +5478,7 @@
                                   <div
                                     class="commentImg"
                                     @click="
-                                      isLikes(w.wid, userid, 1, null, w.isLikes)
+                                      isLikes(w.wid, userid, 1, null, w.isLikes,w.sName)
                                     "
                                   >
                                     <img
@@ -5546,7 +5546,7 @@
                         <div class="workImg">
                           <img
                             :src="w.works"
-                            @click="previewImg(w.works)"
+                            @click="previewImg(w.works,w)"
                             alt
                           />
                           <div
@@ -5590,7 +5590,7 @@
                               <div
                                 class="commentImg"
                                 @click="
-                                  isLikes(w.wid, userid, 1, null, w.isLikes)
+                                  isLikes(w.wid, userid, 1, null, w.isLikes,w.sName)
                                 "
                               >
                                 <img
@@ -5696,7 +5696,7 @@
                         <div class="workImg" v-if="w.type == 0">
                           <img
                             :src="w.works"
-                            @click="previewImg(w.works)"
+                            @click="previewImg(w.works,w)"
                             alt
                           />
                           <img
@@ -5710,7 +5710,7 @@
                           />
                         </div>
                         <div class="workImg" v-if="w.type == 1">
-                          <img :src="word" @click="openFile(w.works)" alt />
+                          <img :src="word" @click="openFile(w.works,w)" alt />
                           <img
                             class="deleteImg"
                             src="../assets/deleteworks.png"
@@ -5833,7 +5833,7 @@
                               <div
                                 class="commentImg"
                                 @click="
-                                  isLikes(w.wid, userid, 1, null, w.isLikes)
+                                  isLikes(w.wid, userid, 1, null, w.isLikes,w.sName)
                                 "
                               >
                                 <img
@@ -6402,7 +6402,7 @@
                               <div
                                 class="commentImg"
                                 @click="
-                                  isLikes(w.wid, userid, 1, null, w.isLikes)
+                                  isLikes(w.wid, userid, 1, null, w.isLikes,w.sName)
                                 "
                               >
                                 <img
@@ -6633,7 +6633,7 @@
                               <div
                                 class="commentImg"
                                 @click="
-                                  isLikes(w.wid, userid, 1, null, w.isLikes)
+                                  isLikes(w.wid, userid, 1, null, w.isLikes,w.sName)
                                 "
                               >
                                 <img
@@ -6853,7 +6853,7 @@
                               <div class="workImg" v-if="w.type == 0">
                                 <img
                                   :src="w.works"
-                                  @click="previewImg(w.works)"
+                                  @click="previewImg(w.works,w)"
                                   alt
                                 />
                                 <div
@@ -6899,7 +6899,7 @@
                               <div class="workImg" v-if="w.type == 1">
                                 <img
                                   :src="word"
-                                  @click="openFile(w.works)"
+                                  @click="openFile(w.works,w)"
                                   alt
                                 />
                                 <!-- @click="openFile(w.works)" -->
@@ -7053,7 +7053,8 @@
                                           userid,
                                           1,
                                           null,
-                                          w.isLikes
+                                          w.isLikes,
+																					w.sName
                                         )
                                       "
                                     >
@@ -9776,7 +9777,8 @@
                     userid,
                     1,
                     null,
-                    commentDetail.isLikes
+                    commentDetail.isLikes,
+										commentDetail.sName
                   )
                 "
                 :src="commentDetail.isLikes == true ? likes : noLikes"
@@ -9903,7 +9905,7 @@
         >
         <el-button
           type="primary"
-          @click="addComment(commentDetail.wid, userid, 2)"
+          @click="addComment(commentDetail.wid, userid, 2,commentDetail)"
           >确 定</el-button
         >
       </div>
@@ -10433,7 +10435,7 @@
         <el-button
           type="primary"
           v-if="courseDetail.userid == userid"
-          @click="scoreWork(commentDetail.wid)"
+          @click="scoreWork(commentDetail.wid,commentDetail.sName)"
           >确 定
         </el-button>
       </span>
@@ -12417,14 +12419,15 @@ export default {
 			})
 		},
 		insertMemorandum(_html){//保存行为操作
-			return;
 			//variable
 			//btn
 			let params = [{
 				uid:this.userid,
-				courseId:this.id,
+				courseId:this.id+(this.tcid2?this.tcid2:''),
 				content:_html
 			}]
+			console.log("👇👇")
+			console.log(params)
 
 			this.ajax.post(this.$store.state.api+'insert_systemOperation_countdownBehavior',params).then(res=>{
 				if(res.data==1){
@@ -12713,18 +12716,19 @@ export default {
         this.courseType = i;
         // this.navId = l;
         this.taskCount = j;
+				
+        this.selectPz();
+        this.getHomeWork();
+        this.getCourseDetail(2);
 				if(flag){
 					if(flag2){
-						this.insertMemorandum(`选择<span class="variable">工具${w+1}:${this.toolsList[this.navList[i].task[j].tool[k].tool]}</span>`)
+						this.insertMemorandum(`选择<span class="variable">工具${k+1}:${this.toolsList[this.navList[i].task[j].tool[k].tool]}</span>`)
 					}else{
-						this.insertMemorandum(`选择<span class="variable">任务${this.taskCount+1}${this.navList[this.courseType].task[this.taskCount].taskName?':'+this.navList[this.courseType].task[this.taskCount].taskName:''}</span>→<span class="variable">工具${w+1}:${this.toolsList[this.navList[i].task[j].tool[k].tool]}</span>`)
+						this.insertMemorandum(`选择<span class="variable">任务${j+1}${this.navList[i].task[j].taskName?':'+this.navList[i].task[j].taskName:''}</span>→<span class="variable">工具${k+1}:${this.toolsList[this.navList[i].task[j].tool[k].tool]}</span>`)
 					}
 				}else{
-					this.insertMemorandum(`选择<span class="variable">阶段${this.courseType+1}${this.navList[this.courseType].dyName?':'+this.navList[this.courseType].dyName:''}</span>→<span class="variable">任务${this.taskCount+1}${this.navList[this.courseType].task[this.taskCount].taskName?':'+this.navList[this.courseType].task[this.taskCount].taskName:''}</span>→<span class="variable">工具${w+1}:${this.toolsList[this.navList[i].task[j].tool[k].tool]}</span>`)
+					this.insertMemorandum(`选择<span class="variable">阶段${i+1}${this.navList[i].dyName?':'+this.navList[i].dyName:''}</span>→<span class="variable">任务${j+1}${this.navList[i].task[j].taskName?':'+this.navList[i].task[j].taskName:''}</span>→<span class="variable">工具${k+1}:${this.toolsList[this.navList[i].task[j].tool[k].tool]}</span>`)
 				}
-        this.selectPz();
-        this.getHomeWork();
-        this.getCourseDetail(2);
       }
 
       // var b = this.$refs["bz" + k][0];
@@ -12807,9 +12811,11 @@ export default {
       }
       this.dialogVisibleMember = false;
     },
-    previewImg(url) {
-			this.$message.info('查看作业-图片')
+    previewImg(url,w=null) {
       this.$hevueImgPreview(url);
+			if(w){
+				this.insertMemorandum(`查看<span class="variable">${w.sName}</span>的作业`)
+			}
     },
     checkImg(list) {
       if (!list.length) {
@@ -14062,7 +14068,7 @@ export default {
       this.videoDetail = this.playerOptions1;
       this.videoVisible = true;
     },
-    isLikes(wid, uid, t, c, isLikes) {
+    isLikes(wid, uid, t, c, isLikes,sName) {
       if (isLikes == false) {
         let params = [
           {
@@ -14081,6 +14087,7 @@ export default {
             });
             this.selectSWorks();
             this.selectStudent();
+						this.insertMemorandum(`对<span class="variable">${sName}</span>的作业进行<span class="btn">点赞</span>`)
           })
           .catch((err) => {
             this.$message.error("点赞失败");
@@ -14134,8 +14141,6 @@ export default {
         .catch(() => {});
     },
     async commentOther(w, toolIndex, wIndex, gindex, gid) {
-			this.$message.info("预览作业")
-			console.log(w,1)
       this.commentIndexJson = {
         toolIndex: toolIndex,
         wIndex: wIndex,
@@ -14188,8 +14193,7 @@ export default {
       }
     },
     async openScore(w, index) {
-			this.$message.info("预览作业")
-			console.log(w,2)
+			
       this.wScore = 0;
       this.wScore = w.score ? JSON.parse(w.score).wScore : 0;
       this.scoreDetail = w.score ? JSON.parse(w.score).detail : "";
@@ -14237,8 +14241,10 @@ export default {
         
         this.englishVoiceJson = JSON.parse(JSON.stringify(englishVoiceJson));
       }
+			this.insertMemorandum(`查看<span class="variable">${w.sName}</span>的作业`)
     },
-    addComment(wid, uid, t) {
+    addComment(wid, uid, t,detail) {
+			
       if (this.commentText == "") {
         this.$message.error("请输入评论");
         return;
@@ -14274,6 +14280,7 @@ export default {
                 this.commentText = "";
                 this.selectSWorks();
                 this.selectStudent();
+								this.insertMemorandum(`对<span class="variable">${detail.sName}</span>的作业进行<span class="btn">评论</span>`)
               })
               .catch((err) => {
                 this.$message.error("评论失败");
@@ -14286,7 +14293,7 @@ export default {
           console.error(err);
         });
     },
-    scoreWork(wid) {
+    scoreWork(wid,sName) {
       if (this.wScore == 0) {
         this.$message.error("请评分");
         return;
@@ -14312,6 +14319,7 @@ export default {
           this.dialogVisibleScore = false;
           this.selectSWorks();
           this.selectStudent();
+					this.insertMemorandum(`对<span class="variable">${sName}</span>的作业进行<span class="btn">评分</span>`)
         })
         .catch((err) => {
           this.$message.error("评分失败");
@@ -14319,8 +14327,7 @@ export default {
         });
     },
     openXz(w, i) {
-			this.$message.info("预览作业")
-			console.log(w,3)
+			
       this.selectJson = this.chapInfoList[this.courseType].chapterInfo[0]
         .taskJson[this.taskCount].toolChoose[i].selectJson
         ? JSON.parse(
@@ -14338,17 +14345,18 @@ export default {
       this.selectAnswer = { answer: a, stu: w.sName };
       this.isSelect = true;
       this.dialogVisibleSelect = true;
+			this.insertMemorandum(`查看<span class="variable">${w.sName}</span>的作业`)
     },
     openSen(w, i) {
-			this.$message.info("预览作业")
-			console.log(w,4)
+			console.log("openSen")
+			// this.insertMemorandum(`查看<span class="variable">${w.sName}</span>的作业`)
       this.sentenceList1 = JSON.parse(w.works);
       this.sentenceList1.stuName = w.sName;
       this.dialogVisibleSentence1 = true;
     },
     openPj(w, toolindex) {
-			this.$message.info("预览作业")
-			console.log(w,5)
+			console.log("openPJ")
+			// this.insertMemorandum(`查看<span class="variable">${w.sName}</span>的作业`)
       this.isStar = true;
       this.eScore = JSON.parse(w);
       this.rateJson =
@@ -16268,11 +16276,7 @@ export default {
 			
       this.navId = i;
       this.taskCount = n;
-			if(flag){
-				this.insertMemorandum(`进入<span class="variable">任务${this.taskCount+1}${this.navList[this.courseType].task[this.taskCount].taskName?':'+this.navList[this.courseType].task[this.taskCount].taskName:''}</span>`)
-			}else{
-				this.insertMemorandum(`进入<span class="variable">阶段${this.courseType+1}${this.navList[this.courseType].dyName?':'+this.navList[this.courseType].dyName:''}</span>→<span class="variable">任务${this.taskCount+1}${this.navList[this.courseType].task[this.taskCount].taskName?':'+this.navList[this.courseType].task[this.taskCount].taskName:''}</span>`)
-			}
+			
 			
       if(ctype == 2){
         this.navList[s].task[n].isOpen = true
@@ -16328,6 +16332,11 @@ export default {
       this.selectPz();
       this.getHomeWork();
       this.getCourseDetail(2);
+			if(flag){
+				this.insertMemorandum(`进入<span class="variable">任务${n+1}${this.navList[s].task[n].taskName?':'+this.navList[s].task[n].taskName:''}</span>`)
+			}else{
+				this.insertMemorandum(`进入<span class="variable">阶段${s+1}${this.navList[s].dyName?':'+this.navList[s].dyName:''}</span>→<span class="variable">任务${n+1}${this.navList[s].task[n].taskName?':'+this.navList[s].task[n].taskName:''}</span>`)
+			}
     },
 
     get(i) {
@@ -16962,12 +16971,13 @@ export default {
           this.pzConText = "";
           this.addPzDialog = false;
           this.selectPz();
+					this.insertMemorandum(`使用<span class="btn">评论</span>功能,添加评论`)
         })
         .catch((err) => {
           this.$message.error("添加失败");
           console.error(err);
         });
-				this.insertMemorandum(`使用<span class="btn">评论</span>功能,添加评论`)
+				
     },
     setReplyIndex(id, i) {
       this.replyIndex = i;
@@ -17476,7 +17486,7 @@ export default {
       this.chapTools = this.chapToolList[i][t];
       this.dialogVisible2 = true;
     },
-    async openFile(f) {
+    async openFile(f,w) {
       this.pptImgUrl = "";
       var a = ["PPT", "PPTX", "XLSX", "XLS", "DOC", "DOCX"];
       if (
@@ -17495,6 +17505,7 @@ export default {
         this.showPDF = true;
         this.dialogVisible3 = true;
       }
+			this.insertMemorandum(`查看<span class="variable">${w.sName}</span>的作业`)
     },
     openTable(f) {
       this.tableJson = JSON.parse(f.works);
@@ -17502,10 +17513,9 @@ export default {
 			this.insertMemorandum(`查看<span class="variable">${f.sName}的作业</span>`)
     },
     openWord(f) {
-			this.$message.info("预览作业")
-			console.log(f,7)
       this.tableJson = JSON.parse(f.works);
       this.dialogVisibleTable3 = true;
+			this.insertMemorandum(`查看<span class="variable">${f.sName}的作业</span>`)
 	
     },
     doUrl(url, i) {
@@ -17917,6 +17927,7 @@ export default {
         });
     },
     openTools(t, i, index, c, sName,id) {
+			
       var z = JSON.parse(c);
       this.noteName = sName;
       if (t == 4) {
@@ -17966,6 +17977,7 @@ export default {
       //   this.questionAnswer = z[0].answer;
       //   this.answerDialogVisible = true;
       // }
+			this.insertMemorandum(`查看<span class="variable">${sName}</span>的作业`)
     },
 
     fastText(p, t) {
@@ -19034,7 +19046,7 @@ export default {
       x.send();
     },
     downloadFile(url) {
-			this.$message.info("查看作业-下载文件")
+			// this.$message.info("查看作业-下载文件")
       var credentials = {
         accessKeyId: "AKIATLPEDU37QV5CHLMH",
         secretAccessKey: "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",
@@ -20502,7 +20514,7 @@ export default {
 }
 
 .filebox .tooldetail {
-  width: calc(100% - 280px);
+  width: calc(100%);
   margin: 0px 12px;
   padding: 12px;
   line-height: 30px;
@@ -21452,7 +21464,7 @@ export default {
 
 .toolHeng2 {
   width: 100%;
-  padding-left: 37px;
+  padding-left: 15px;
   box-sizing: border-box;
 }
 

二進制
static/SourceHanSans-Regular.otf


部分文件因文件數量過多而無法顯示