|
@@ -4872,6 +4872,148 @@
|
|
|
<!-- <div class="line" style="width: 90%"></div> -->
|
|
|
</div>
|
|
|
</div>
|
|
|
+ <div style="flex-wrap: wrap; position:relative;margin:10px 0;">
|
|
|
+ <button class="c_pub_button_confirm2" @click="addImg($event)" style="margin: 0px;">
|
|
|
+ 上传补充资料
|
|
|
+ <input type="file" accept=".docx,.doc,.ppt,.pptx,.md,.txt,.pdf" style="display: none" v-if="inputShow" @change="
|
|
|
+ beforeUploadInfo2(
|
|
|
+ $event,
|
|
|
+ 18,
|
|
|
+ itemTaskIndex
|
|
|
+ )
|
|
|
+ " />
|
|
|
+ </button>
|
|
|
+ <div style="margin-top: 10px;width:100%" v-if="pingjiaInfoData[itemTaskIndex] && pingjiaInfoData[itemTaskIndex].length">
|
|
|
+ <div class="add_chapters_box add_c_none" v-if="
|
|
|
+ pingjiaInfoData[itemTaskIndex] &&
|
|
|
+ pingjiaInfoData[itemTaskIndex].length == 0
|
|
|
+ ">
|
|
|
+ <img src="../../../assets/icon/new/c_none.png" alt /><span>暂时还没有内容,快去添加吧</span>
|
|
|
+ </div>
|
|
|
+ <div v-else class="add_chapters_box" style="display: flex; flex-direction: column">
|
|
|
+ <div class="chapter_upload" v-for="(item1, index1) in pingjiaInfoData[itemTaskIndex]" :key="item1.id" @click="
|
|
|
+ getChapterData(
|
|
|
+ $event,
|
|
|
+ index1,
|
|
|
+ item1.type
|
|
|
+ )
|
|
|
+ " >
|
|
|
+ <div class="chapter_upload_o" style="
|
|
|
+ position: relative;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ ">
|
|
|
+ <div class="chapter_upload_l" style="padding: 1px 0 0 10px">
|
|
|
+ <div v-if="item1.type == 2" class="chapter_upload_l_i2"></div>
|
|
|
+ <div v-if="item1.type == 3" class="chapter_upload_l_i3" style="margin-left: 1px">
|
|
|
+ </div>
|
|
|
+ <div v-if="item1.type == 6" class="chapter_upload_l_i6" style="margin-left: 1px">
|
|
|
+ </div>
|
|
|
+ <!-- <div v-if="item1.type == 7" class="chapter_upload_l_i8" style="margin-left: 1px"></div> -->
|
|
|
+ <div v-if="item1.type == 8" class="chapter_upload_l_i8" style="margin-left: 1px">
|
|
|
+ </div>
|
|
|
+ <div v-if="item1.type == 14" class="chapter_upload_l_i14" style="margin-left: 1px">
|
|
|
+ </div>
|
|
|
+ <div v-if="item1.type == 12" class="chapter_upload_l_i12" style="margin-left: 1px">
|
|
|
+ </div>
|
|
|
+ <div v-if="item1.type == 13" class="chapter_upload_l_i13" style="margin-left: 1px">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="chapter_upload_n">
|
|
|
+ <input readonly="true" v-if="
|
|
|
+ item1.type == 2 ||
|
|
|
+ item1.type == 3 ||
|
|
|
+ item1.type == 12 ||
|
|
|
+ item1.type == 13 ||
|
|
|
+ item1.type == 7
|
|
|
+ " :placeholder="item1.name" @click.stop="
|
|
|
+ checkChpater3($event, index1, item1)
|
|
|
+ " style="
|
|
|
+ border: none;
|
|
|
+ outline: none;
|
|
|
+ width: 80%;
|
|
|
+ minwidth: 215px;
|
|
|
+ z-index: 99;
|
|
|
+ font-size: 14px;
|
|
|
+ white-space: nowrap;
|
|
|
+ overflow: hidden;
|
|
|
+ text-overflow: ellipsis;
|
|
|
+ " />
|
|
|
+ <input :placeholder="item1.name" v-if="item1.type == 6" style="
|
|
|
+ border: none;
|
|
|
+ outline: none;
|
|
|
+ width: 80%;
|
|
|
+ white-space: nowrap;
|
|
|
+ overflow: hidden;
|
|
|
+ text-overflow: ellipsis;
|
|
|
+ " readonly="true" @click="
|
|
|
+ selectAttText(index1)
|
|
|
+ " />
|
|
|
+ <input :placeholder="item1.title ? item1.title : '链接'
|
|
|
+ " v-if="item1.type == 8" style="
|
|
|
+ border: none;
|
|
|
+ outline: none;
|
|
|
+ width: 80%;
|
|
|
+ white-space: nowrap;
|
|
|
+ overflow: hidden;
|
|
|
+ text-overflow: ellipsis;
|
|
|
+ " readonly="true" @click="selectLine(index1)" />
|
|
|
+ <input :placeholder="item1.title ? item1.title : '链接'
|
|
|
+ " v-if="item1.type == 14" style="
|
|
|
+ border: none;
|
|
|
+ outline: none;
|
|
|
+ width: 80%;
|
|
|
+ white-space: nowrap;
|
|
|
+ overflow: hidden;
|
|
|
+ text-overflow: ellipsis;
|
|
|
+ " readonly="true" @click="
|
|
|
+ openUpdateSource(index1)
|
|
|
+ " />
|
|
|
+ </div>
|
|
|
+ <div class="chapter_upload_ic">
|
|
|
+ <div class="chapter_upload_noSee" v-if="item1.type == 12"></div>
|
|
|
+ <div class="chapter_upload_ic_check" v-if="item1.type == 3" @click.stop="
|
|
|
+ checkChpater3($event, index1, item1)
|
|
|
+ ">
|
|
|
+ <div></div>
|
|
|
+ </div>
|
|
|
+ <div class="chapter_upload_ic_r" @click.stop="
|
|
|
+ deletepingjiaInfoData(
|
|
|
+ $event,
|
|
|
+ index1,
|
|
|
+ itemTaskIndex
|
|
|
+ )
|
|
|
+ ">
|
|
|
+ <div></div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div v-if="
|
|
|
+ pingjiainfoproVisible[itemTaskIndex]
|
|
|
+ " class="mask">
|
|
|
+ <div class="progressBox">
|
|
|
+ <div class="lbox">
|
|
|
+ <img src="../../../assets/loading.gif" />上传中,请稍后
|
|
|
+ </div>
|
|
|
+ <div style="margin-bottom: 10px">
|
|
|
+ <span>{{
|
|
|
+ pingjiainfoisFinishSize[itemTaskIndex]
|
|
|
+ }}M</span>
|
|
|
+ /
|
|
|
+ <span>{{
|
|
|
+ pingjiainfoisAllSize[itemTaskIndex]
|
|
|
+ }}M</span>
|
|
|
+ </div>
|
|
|
+ <el-progress :text-inside="true" :stroke-width="20" :percentage="pingjiainfoprogress[itemTaskIndex]
|
|
|
+ ? pingjiainfoprogress[itemTaskIndex]
|
|
|
+ : 0
|
|
|
+ " style="width: 80%"></el-progress>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
<div class="mbCss">
|
|
|
<div class="pjCss" :style="{
|
|
|
width: itemTask.isEvaFold
|
|
@@ -7141,6 +7283,11 @@ export default {
|
|
|
xuanzeinfoisFinishSize: 0,
|
|
|
xuanzeinfoisAllSize: 0,
|
|
|
xuanzeinfoprogress: 0,
|
|
|
+ pingjiaInfoData: [],
|
|
|
+ pingjiainfoproVisible: [],
|
|
|
+ pingjiainfoisFinishSize: [],
|
|
|
+ pingjiainfoisAllSize: [],
|
|
|
+ pingjiainfoprogress: [],
|
|
|
};
|
|
|
},
|
|
|
directives: {
|
|
@@ -9413,7 +9560,7 @@ export default {
|
|
|
});
|
|
|
}
|
|
|
},
|
|
|
- beforeUploadInfo2(event, type) {
|
|
|
+ beforeUploadInfo2(event, type, tindex) {
|
|
|
// const loading = this.openLoading();
|
|
|
var file = event.target.files[0];
|
|
|
var credentials = {
|
|
@@ -9505,6 +9652,11 @@ export default {
|
|
|
_this.xuanzeinfoproVisible = true;
|
|
|
_this.xuanzeinfoisFinishSize = 0;
|
|
|
_this.xuanzeinfoisAllSize = (file.size / 1024 / 1024).toFixed(2);
|
|
|
+ }else if(type == 18){
|
|
|
+ _this.pingjiainfoprogress[tindex] = 0;
|
|
|
+ _this.pingjiainfoproVisible[tindex] = true;
|
|
|
+ _this.pingjiainfoisFinishSize[tindex] = 0;
|
|
|
+ _this.pingjiainfoisAllSize[tindex] = (file.size / 1024 / 1024).toFixed(2);
|
|
|
}else{
|
|
|
_this.infoprogress = 0;
|
|
|
_this.infoproVisible = true;
|
|
@@ -9544,6 +9696,9 @@ export default {
|
|
|
}else if(type == 17){
|
|
|
_this.xuanzeinfoprogress = parseInt((evt.loaded / evt.total) * 100);
|
|
|
_this.xuanzeinfoisFinishSize = (evt.loaded / 1024 / 1024).toFixed(2);
|
|
|
+ }else if(type == 18){
|
|
|
+ _this.pingjiainfoprogress[tindex] = parseInt((evt.loaded / evt.total) * 100);
|
|
|
+ _this.pingjiainfoisFinishSize[tindex] = (evt.loaded / 1024 / 1024).toFixed(2);
|
|
|
}else {
|
|
|
_this.infoprogress = parseInt((evt.loaded / evt.total) * 100);
|
|
|
_this.infoisFinishSize = (evt.loaded / 1024 / 1024).toFixed(2);
|
|
@@ -9561,6 +9716,9 @@ export default {
|
|
|
}else if(type == 17){
|
|
|
_this.xuanzeinfoprogress = 100;
|
|
|
_this.xuanzeinfoisFinishSize = _this.xuanzeinfoisAllSize;
|
|
|
+ }else if(type == 18){
|
|
|
+ _this.pingjiainfoprogress[tindex] = 100;
|
|
|
+ _this.pingjiainfoisFinishSize[tindex] = _this.pingjiainfoisAllSize[tindex];
|
|
|
}else {
|
|
|
_this.infoprogress = 100;
|
|
|
_this.infoisFinishSize = _this.infoisAllSize;
|
|
@@ -9576,6 +9734,8 @@ export default {
|
|
|
_this.mubiaoinfoproVisible = false;
|
|
|
}else if(type == 17){
|
|
|
_this.xuanzeinfoproVisible = false;
|
|
|
+ }else if(type == 18){
|
|
|
+ _this.pingjiainfoproVisible[tindex] = false;
|
|
|
}else{
|
|
|
_this.infoproVisible = false;
|
|
|
}
|
|
@@ -9593,6 +9753,8 @@ export default {
|
|
|
_this.mubiaoinfoproVisible = false;
|
|
|
}else if(type == 17){
|
|
|
_this.xuanzeinfoproVisible = false;
|
|
|
+ }else if(type == 18){
|
|
|
+ _this.pingjiainfoproVisible[tindex] = false;
|
|
|
}else{
|
|
|
_this.infoproVisible = false;
|
|
|
}
|
|
@@ -9774,6 +9936,17 @@ export default {
|
|
|
type: _type,
|
|
|
fileid: fileid == 1 ? '' : fileid,
|
|
|
});
|
|
|
+ }else if (type == 18) {
|
|
|
+ if(!_this.pingjiaInfoData[tindex]){
|
|
|
+ _this.pingjiaInfoData[tindex] = []
|
|
|
+ }
|
|
|
+ _this.pingjiaInfoData[tindex].push({
|
|
|
+ name: file.name,
|
|
|
+ url: data.Location,
|
|
|
+ uid: file.uid,
|
|
|
+ type: _type,
|
|
|
+ fileid: fileid == 1 ? '' : fileid,
|
|
|
+ });
|
|
|
}
|
|
|
console.log(data.Location);
|
|
|
console.log(fileid);
|
|
@@ -10512,6 +10685,25 @@ export default {
|
|
|
return;
|
|
|
});
|
|
|
},
|
|
|
+ deletepingjiaInfoData(e, ic, tindex) {
|
|
|
+ e.stopPropagation();
|
|
|
+ let _this = this;
|
|
|
+ _this
|
|
|
+ .$confirm("确定删除此项?", "提示", {
|
|
|
+ confirmButtonText: "确定",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ type: "warning",
|
|
|
+ })
|
|
|
+ .then(() => {
|
|
|
+ _this.pingjiaInfoData[tindex].splice(
|
|
|
+ ic,
|
|
|
+ 1
|
|
|
+ );
|
|
|
+ })
|
|
|
+ .catch(() => {
|
|
|
+ return;
|
|
|
+ });
|
|
|
+ },
|
|
|
deleteCankaoInfoData(e, ic) {
|
|
|
e.stopPropagation();
|
|
|
let _this = this;
|
|
@@ -10949,6 +11141,7 @@ export default {
|
|
|
cankaoInfoData: this.cankaoInfoData,
|
|
|
mubiaoInfoData: this.mubiaoInfoData,
|
|
|
xuanzeInfoData: this.xuanzeInfoData,
|
|
|
+ pingjiaInfoData: this.pingjiaInfoData,
|
|
|
infoData2: this.infoData2,
|
|
|
isuseT: this.isuseT,
|
|
|
mode: this.mode,
|
|
@@ -11216,6 +11409,7 @@ export default {
|
|
|
cankaoInfoData: this.cankaoInfoData,
|
|
|
mubiaoInfoData: this.mubiaoInfoData,
|
|
|
xuanzeInfoData: this.xuanzeInfoData,
|
|
|
+ pingjiaInfoData: this.pingjiaInfoData,
|
|
|
infoData2: this.infoData2,
|
|
|
isuseT: this.isuseT,
|
|
|
mode: this.mode,
|
|
@@ -13329,6 +13523,7 @@ export default {
|
|
|
this.cankaoInfoData = JSON.parse(res.data[0][0].setting).cankaoInfoData ? JSON.parse(res.data[0][0].setting).cankaoInfoData : [];
|
|
|
this.mubiaoInfoData = JSON.parse(res.data[0][0].setting).mubiaoInfoData ? JSON.parse(res.data[0][0].setting).mubiaoInfoData : [];
|
|
|
this.xuanzeInfoData = JSON.parse(res.data[0][0].setting).xuanzeInfoData ? JSON.parse(res.data[0][0].setting).xuanzeInfoData : [];
|
|
|
+ this.pingjiaInfoData = JSON.parse(res.data[0][0].setting).pingjiaInfoData ? JSON.parse(res.data[0][0].setting).pingjiaInfoData : [];
|
|
|
this.infoData2 = JSON.parse(res.data[0][0].setting).infoData2 ? JSON.parse(res.data[0][0].setting).infoData2 : [];
|
|
|
this.isuseT = JSON.parse(res.data[0][0].setting).isuseT ? JSON.parse(res.data[0][0].setting).isuseT : JSON.parse(res.data[0][0].setting).isuseT === false ? false : false;
|
|
|
this.mode = JSON.parse(res.data[0][0].setting).mode ? JSON.parse(res.data[0][0].setting).mode : 1;
|
|
@@ -13470,6 +13665,7 @@ export default {
|
|
|
this.cankaoInfoData = JSON.parse(res.data[0][0].setting).cankaoInfoData ? JSON.parse(res.data[0][0].setting).cankaoInfoData : [];
|
|
|
this.mubiaoInfoData = JSON.parse(res.data[0][0].setting).mubiaoInfoData ? JSON.parse(res.data[0][0].setting).mubiaoInfoData : [];
|
|
|
this.xuanzeInfoData = JSON.parse(res.data[0][0].setting).xuanzeInfoData ? JSON.parse(res.data[0][0].setting).xuanzeInfoData : [];
|
|
|
+ this.pingjiaInfoData = JSON.parse(res.data[0][0].setting).pingjiaInfoData ? JSON.parse(res.data[0][0].setting).pingjiaInfoData : [];
|
|
|
this.infoData2 = JSON.parse(res.data[0][0].setting).infoData2 ? JSON.parse(res.data[0][0].setting).infoData2 : [];
|
|
|
this.isuseT = JSON.parse(res.data[0][0].setting).isuseT ? JSON.parse(res.data[0][0].setting).isuseT : JSON.parse(res.data[0][0].setting).isuseT === false ? false : false;
|
|
|
this.mode = JSON.parse(res.data[0][0].setting).mode ? JSON.parse(res.data[0][0].setting).mode : 1;
|
|
@@ -19141,11 +19337,20 @@ ${msg} 输出格式和内容要求参考#格式与要求
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ if (_this.pingjiaInfoData[index] && _this.pingjiaInfoData[index].length) {
|
|
|
+ for (var i = 0; i < _this.pingjiaInfoData[index].length; i++) {
|
|
|
+ if(_this.pingjiaInfoData[index][i].fileid){
|
|
|
+ fileid.push(_this.pingjiaInfoData[index][i].fileid)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
var _text = ""
|
|
|
for (var i = 0; i < _this.unitJson[0].chapterInfo[0].taskJson[_tindex2].eList.length; i++) {
|
|
|
_text += `评价维度:${_this.unitJson[0].chapterInfo[0].taskJson[_tindex2].eList[i].value} 维度描述:${_this.unitJson[0].chapterInfo[0].taskJson[_tindex2].eList[i].detail} `
|
|
|
}
|
|
|
+// -评价标准:至少3条评价标准,这个评价是教师用来评价学生表现的,需要包含评价维度,以及该维度中教师期待学生的表现,句式为学生应该能....
|
|
|
+
|
|
|
// **重点考虑该任务详情**
|
|
|
let messages = `
|
|
|
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.
|
|
@@ -19156,15 +19361,16 @@ ATTENTION: Use '##' to SPLIT SECTIONS, not '#'.Output format carefully reference
|
|
|
任务名称:${_this.unitJson[0].chapterInfo[0].taskJson[_tindex2].task}
|
|
|
任务描述:${_this.unitJson[0].chapterInfo[0].taskJson[_tindex2].taskDetail}
|
|
|
评价设计:${_text}
|
|
|
+教学任务教案:${_this.unitJson[0].chapterInfo[0].taskJson[_tindex2].taskDetail3.replaceAll('#','').replaceAll('*','').replaceAll('-','').replaceAll('\n','')}
|
|
|
|
|
|
## 要求
|
|
|
${msg} 优化评价维度和维度描述,输出格式和内容要求参考# 格式与要求
|
|
|
|
|
|
# 格式与要求
|
|
|
--评价标准:至少3条评价标准,这个评价是教师用来评价学生表现的,需要包含评价维度,以及该维度中教师期待学生的表现,句式为学生应该能....
|
|
|
+评价标准:至少3条评价标准,这个评价是教师用来评价学生表现的,需要包含评价维度,维度描述,评价目标,以及评价目标是根据教学任务教案提取关于这个评价维度的目标,还有该维度中教师期待学生的表现,维度描述的句式为学生应该能....
|
|
|
|
|
|
# Format example
|
|
|
-[{"value":"评价维度1","detail":"维度描述1","score":5},{"value":"评价维度2","detail":"维度描述2","score":5},{"value":"评价维度3","detail":"维度描述3","score":5}]`
|
|
|
+[{"value":"评价维度","detail":"维度描述",target:"评价目标","score":5},{"value":"评价维度","detail":"维度描述",target:"评价目标","score":5},{"value":"评价维度","detail":"维度描述",target:"评价目标","score":5}]`
|
|
|
_this.taskDetailLoading4.push(_tindex)
|
|
|
// let params = JSON.stringify({
|
|
|
// // "model": "Chat",
|
|
@@ -25201,6 +25407,7 @@ ol {
|
|
|
}
|
|
|
|
|
|
.ruleBtn {
|
|
|
+ width: fit-content;
|
|
|
height: 36px;
|
|
|
line-height: 36px;
|
|
|
cursor: pointer;
|