|
@@ -224,7 +224,7 @@
|
|
|
ref="popover1"
|
|
|
:visible-arrow="false"
|
|
|
trigger="click"
|
|
|
-
|
|
|
+
|
|
|
>
|
|
|
<div class="openCeBox" v-loading="aiscoLoading">
|
|
|
<div style="display: flex;justify-content: space-between;align-items: center;">
|
|
@@ -237,7 +237,7 @@
|
|
|
ref="popover2"
|
|
|
v-model="opQvisible"
|
|
|
trigger="click">
|
|
|
- <div>
|
|
|
+ <div>
|
|
|
<div style="display: flex;align-items: center;margin-bottom: 10px;">
|
|
|
<img src="../../../../assets/delicon.svg" alt="">是否确认清空
|
|
|
</div>
|
|
@@ -250,7 +250,7 @@
|
|
|
<div class="Topkong" slot="reference">
|
|
|
<img src="../../../../assets/clear.svg" alt="">
|
|
|
清空
|
|
|
- </div>
|
|
|
+ </div>
|
|
|
</el-popover>
|
|
|
|
|
|
</div>
|
|
@@ -262,27 +262,27 @@
|
|
|
<div style="background: #F5F6F7;padding: 10px;box-sizing: border-box;border-radius: 5px;">
|
|
|
<div style="display: flex;justify-content: space-between;align-items: center;margin-bottom: 5px;">
|
|
|
<div style="font-size: 12px;color: #6E6B6B;">输入指令*</div>
|
|
|
-
|
|
|
+
|
|
|
<div style="position: relative;font-size: 12px;color: #3992EA;" >
|
|
|
<div style="cursor: pointer;" @click="quoteShow">
|
|
|
<i class="el-icon-circle-plus-outline"></i>
|
|
|
引用字段
|
|
|
</div>
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
+
|
|
|
<div class="quoteBlock" v-if="quoteV">
|
|
|
<el-input v-model="opcInp" placeholder="请输入内容">
|
|
|
<i slot="prefix" class="el-input__icon el-icon-search"></i>
|
|
|
</el-input>
|
|
|
<div class="quoteBlockCon">
|
|
|
- <div v-if="!opcInp.trim() ? true : '序号'.includes(opcInp)" :class="[cueWord.fieldList.indexOf('序号') != -1 ? 'selCss' :'']"
|
|
|
+ <div v-if="!opcInp.trim() ? true : '序号'.includes(opcInp)" :class="[cueWord.fieldList.indexOf('序号') != -1 ? 'selCss' :'']"
|
|
|
@click="addfield('序号')">序号</div>
|
|
|
|
|
|
- <div v-if="!opcInp.trim() ? true :'提交人'.includes(opcInp)" :class="[cueWord.fieldList.indexOf('提交人') != -1 ? 'selCss' :'']"
|
|
|
+ <div v-if="!opcInp.trim() ? true :'提交人'.includes(opcInp)" :class="[cueWord.fieldList.indexOf('提交人') != -1 ? 'selCss' :'']"
|
|
|
@click="addfield('提交人')">提交人</div>
|
|
|
|
|
|
<template v-for="(i,index) in teaType">
|
|
|
- <div v-if="!opcInp.trim() ? true : i.name.includes(opcInp)" :class="[cueWord.fieldList.indexOf(i.name) != -1 ? 'selCss' :'']"
|
|
|
+ <div v-if="!opcInp.trim() ? true : i.name.includes(opcInp)" :class="[cueWord.fieldList.indexOf(i.name) != -1 ? 'selCss' :'']"
|
|
|
@click="addfield(i.name)" :key="index+'a'">
|
|
|
<el-tooltip class="item" effect="dark" :content="i.name" placement="top">
|
|
|
<div style="
|
|
@@ -293,14 +293,14 @@
|
|
|
</el-tooltip>
|
|
|
</div>
|
|
|
</template>
|
|
|
-
|
|
|
|
|
|
- <div v-if="!opcInp.trim() ? true : '提交时间'.includes(opcInp)" :class="[cueWord.fieldList.indexOf('提交时间') != -1 ? 'selCss' :'']"
|
|
|
+
|
|
|
+ <div v-if="!opcInp.trim() ? true : '提交时间'.includes(opcInp)" :class="[cueWord.fieldList.indexOf('提交时间') != -1 ? 'selCss' :'']"
|
|
|
@click="addfield('提交时间')">提交时间</div>
|
|
|
|
|
|
<template v-for="(i,index) in fie(chapters)">
|
|
|
- <div :class="[cueWord.fieldList.indexOf(i.json.title) != -1 ? 'selCss' :'']"
|
|
|
- v-if="!opcInp.trim() ? true :i.json.title.includes(opcInp)" @click="addfield(i.json.title)"
|
|
|
+ <div :class="[cueWord.fieldList.indexOf(i.json.title) != -1 ? 'selCss' :'']"
|
|
|
+ v-if="!opcInp.trim() ? true :i.json.title.includes(opcInp)" @click="addfield(i.json.title)"
|
|
|
:key="index+'b'">
|
|
|
|
|
|
<el-tooltip class="item" effect="dark" :content="i.json.title" placement="top">
|
|
@@ -310,12 +310,12 @@
|
|
|
text-overflow: ellipsis;">
|
|
|
{{ i.json.title }}</div>
|
|
|
</el-tooltip>
|
|
|
-
|
|
|
+
|
|
|
</div>
|
|
|
</template>
|
|
|
-
|
|
|
+
|
|
|
</div>
|
|
|
-
|
|
|
+
|
|
|
</div>
|
|
|
<div class="maskCss" v-if="quoteV" @click.stop="quoteV = false,opcInp=''"></div>
|
|
|
|
|
@@ -1535,7 +1535,7 @@
|
|
|
</el-table-column>
|
|
|
<el-table-column
|
|
|
label="操作"
|
|
|
- width="200px"
|
|
|
+ width="250px"
|
|
|
fixed="right"
|
|
|
v-if="isN != 1"
|
|
|
>
|
|
@@ -1546,8 +1546,16 @@
|
|
|
v-if="(examineData && examineData.type == 1) || !examineData"
|
|
|
size="small"
|
|
|
>查看</el-button
|
|
|
+ >
|
|
|
|
|
|
+ <el-button
|
|
|
+ @click="editTest(scope.row)"
|
|
|
+ type="primary"
|
|
|
+ v-if="(examineData && examineData.type == 1) || !examineData"
|
|
|
+ size="small"
|
|
|
+ >编辑</el-button
|
|
|
>
|
|
|
+
|
|
|
<!-- <el-button @click="setWordHtml(scope.row)" type="primary" size="small">导出答题信息</el-button>
|
|
|
<el-button @click="setWordTemplate(scope.row)" type="primary" size="small">word导出</el-button> -->
|
|
|
<el-button
|
|
@@ -2075,7 +2083,7 @@ export default {
|
|
|
fieldList:[]
|
|
|
},
|
|
|
scoList:[],
|
|
|
- quoteV:false,
|
|
|
+ quoteV:false,
|
|
|
openCeVal:false,
|
|
|
LoadingProgress:0,
|
|
|
opQvisible:false,
|
|
@@ -2157,8 +2165,8 @@ export default {
|
|
|
fie(){
|
|
|
return function (val) {
|
|
|
console.log('fie',val);
|
|
|
-
|
|
|
- const con = val.filter(e => [12,11,6,14].indexOf(e.type) == -1)
|
|
|
+
|
|
|
+ const con = val.filter(e => [12,11,6,14].indexOf(e.type) == -1)
|
|
|
return con
|
|
|
}
|
|
|
},
|
|
@@ -2167,7 +2175,7 @@ export default {
|
|
|
return function (val) {
|
|
|
const con = this.scoList.find(u => u.uid === val);
|
|
|
// console.log('con',con);
|
|
|
-
|
|
|
+
|
|
|
return con ? con.sco : '';
|
|
|
}
|
|
|
},
|
|
@@ -2379,7 +2387,7 @@ export default {
|
|
|
Promise.all(forAllList)
|
|
|
.then(values => {
|
|
|
console.log("values", values);
|
|
|
-
|
|
|
+
|
|
|
this.uploadSCo()
|
|
|
|
|
|
setTimeout(() => {
|
|
@@ -2400,7 +2408,7 @@ export default {
|
|
|
// ai评分循环
|
|
|
async loopSco(val){
|
|
|
// console.log('6666',val);
|
|
|
-
|
|
|
+
|
|
|
let userWork =[]
|
|
|
let _fileid = ''
|
|
|
for (let index = 0; index < val.array.length; index++) {
|
|
@@ -2463,10 +2471,10 @@ for (let index = 0; index < val.array.length; index++) {
|
|
|
作业内容中tit是题目,con是用户回答。
|
|
|
根据用户信息与作业内容进行评分。
|
|
|
|
|
|
- #评分资料#
|
|
|
+ #评分资料#
|
|
|
|
|
|
评价标准:${this.cueWord.openCeCon}
|
|
|
-
|
|
|
+
|
|
|
作业内容 ${this.cueWord.fieldList.includes('提交人') ? '提交人:' +val.name :''}
|
|
|
${this.cueWord.fieldList.includes('学段') ? '学段:' +this.getTType(this.teaType[0].id,val.cclassid) :''}
|
|
|
${this.cueWord.fieldList.includes('年级') ? '年级:' +this.getTType(this.teaType[1].id,val.cclassid) :''}
|
|
@@ -2475,16 +2483,16 @@ for (let index = 0; index < val.array.length; index++) {
|
|
|
${this.cueWord.fieldList.includes('教龄') ? '教龄:' +this.getTType(this.teaType[4].id,val.cclassid) :''}
|
|
|
${this.cueWord.fieldList.includes('作业提交时间') ? '作业提交时间:' +val.time :''}
|
|
|
${userWork}
|
|
|
-
|
|
|
+
|
|
|
#输出要求#
|
|
|
根据评价标准对作业内容进行评分,直接输出合计分数!只输出数字,不要输入任何其他无关内容!
|
|
|
|
|
|
#输出格式#
|
|
|
分数
|
|
|
`;
|
|
|
-
|
|
|
+
|
|
|
// console.log('messages',messages);
|
|
|
-
|
|
|
+
|
|
|
let _this = this;
|
|
|
let params = {
|
|
|
assistant_id: "6063369f-289a-11ef-8bf4-12e77c4cb76b",
|
|
@@ -2529,7 +2537,7 @@ for (let index = 0; index < val.array.length; index++) {
|
|
|
} catch (error) {
|
|
|
let ind = this.scoList.findIndex(e=> e.uid == val.userid )
|
|
|
console.log('ind',ind);
|
|
|
-
|
|
|
+
|
|
|
if (ind != -1) {
|
|
|
this.scoList.splice(ind,1,{uid: val.userid ,sco: ''})
|
|
|
}else{
|
|
@@ -2549,7 +2557,7 @@ for (let index = 0; index < val.array.length; index++) {
|
|
|
console.log(error);
|
|
|
});
|
|
|
})
|
|
|
-
|
|
|
+
|
|
|
},
|
|
|
// 获取评分
|
|
|
async getAiSco(){
|
|
@@ -2580,7 +2588,7 @@ for (let index = 0; index < val.array.length; index++) {
|
|
|
this.scoList=[]
|
|
|
}
|
|
|
this.aiscoLoading = false
|
|
|
-
|
|
|
+
|
|
|
console.log('8888888888',res.data[0]);
|
|
|
resolve(1)
|
|
|
})
|
|
@@ -2591,7 +2599,7 @@ for (let index = 0; index < val.array.length; index++) {
|
|
|
console.error(err);
|
|
|
});
|
|
|
})
|
|
|
-
|
|
|
+
|
|
|
},
|
|
|
// 上传评分
|
|
|
uploadSCo(){
|
|
@@ -2661,7 +2669,7 @@ for (let index = 0; index < val.array.length; index++) {
|
|
|
},
|
|
|
// 打开引用字段弹框
|
|
|
quoteShow(){
|
|
|
- this.quoteV = !this.quoteV
|
|
|
+ this.quoteV = !this.quoteV
|
|
|
},
|
|
|
// 添加指令字段
|
|
|
addfield(val){
|
|
@@ -2835,6 +2843,10 @@ for (let index = 0; index < val.array.length; index++) {
|
|
|
this.role
|
|
|
);
|
|
|
},
|
|
|
+ editTest(row){
|
|
|
+ // doTest?cid=721eadc1-087c-11f0-b508-005056924926&tid=66db0a89-0a11-11f0-9261-005056924926&userid=6c56ec0e-2c74-11ef-bee5-005056b86db5&oid=414f2361-ad04-11ed-b13d-005056b86db5&org=0fec3a8a-ad04-11ed-b13d-005056b86db5&type=3&role=0
|
|
|
+ console.log("编辑",row)
|
|
|
+ },
|
|
|
checkDataType(type) {
|
|
|
this.TeachingValue = "";
|
|
|
if (this.stype != type) {
|
|
@@ -2972,25 +2984,54 @@ for (let index = 0; index < val.array.length; index++) {
|
|
|
JSON.parse(JSON.stringify(JSON.parse(this.works[i].courseJson)))
|
|
|
);
|
|
|
console.log(cJson,'===',chapters)
|
|
|
- if (JSON.stringify(cJson) == JSON.stringify(chapters)) {
|
|
|
+ // if (JSON.stringify(cJson) == JSON.stringify(chapters)) {
|
|
|
let _json = this.JSONSetting(
|
|
|
JSON.parse(JSON.stringify(JSON.parse(this.works[i].courseJson)))
|
|
|
);
|
|
|
|
|
|
- _json.forEach((item) => {
|
|
|
- if (item.type == 11) {
|
|
|
- let cid = item.json.answer2;
|
|
|
- let _title = [];
|
|
|
- for (var i = 0; i < cid.length; i++) {
|
|
|
- _title.push(courseTitles[cid[i]]);
|
|
|
+ let _json2 = this.JSONSetting(
|
|
|
+ JSON.parse(JSON.stringify(JSON.parse(JSON.stringify(chapters))))
|
|
|
+ );
|
|
|
+
|
|
|
+ // console.log("json2",_json2)
|
|
|
+
|
|
|
+ // _json.forEach((item) => {
|
|
|
+ // console.log('_jsonItem',item)
|
|
|
+ // if(){
|
|
|
+
|
|
|
+ // }
|
|
|
+ // if (item.type == 11) {
|
|
|
+ // let cid = item.json.answer2;
|
|
|
+ // let _title = [];
|
|
|
+ // for (var i = 0; i < cid.length; i++) {
|
|
|
+ // _title.push(courseTitles[cid[i]]);
|
|
|
+ // }
|
|
|
+ // item.json.answer2 = _title.length ? _title.join(",") : "";
|
|
|
+ // }
|
|
|
+ // if (item.type == 6) {
|
|
|
+ // let courseId = item.json.answer2;
|
|
|
+ // item.json.answer2 = courseTitles[courseId] || "";
|
|
|
+ // }
|
|
|
+ // });
|
|
|
+ _json2.forEach(item=>{
|
|
|
+ let _index = _json.findIndex(i=>(i.type==item.type && i.ttype==item.ttype && i.json.title==item.json.title))
|
|
|
+ if(_index!=-1){
|
|
|
+ item.json = _json[_index].json;
|
|
|
+ if (item.type == 11) {
|
|
|
+ let cid = item.json.answer2;
|
|
|
+ let _title = [];
|
|
|
+ for (var i = 0; i < cid.length; i++) {
|
|
|
+ _title.push(courseTitles[cid[i]]);
|
|
|
+ }
|
|
|
+ item.json.answer2 = _title.length ? _title.join(",") : "";
|
|
|
+ }
|
|
|
+ if (item.type == 6) {
|
|
|
+ let courseId = item.json.answer2;
|
|
|
+ item.json.answer2 = courseTitles[courseId] || "";
|
|
|
}
|
|
|
- item.json.answer2 = _title.length ? _title.join(",") : "";
|
|
|
- }
|
|
|
- if (item.type == 6) {
|
|
|
- let courseId = item.json.answer2;
|
|
|
- item.json.answer2 = courseTitles[courseId] || "";
|
|
|
}
|
|
|
- });
|
|
|
+ })
|
|
|
+ if(JSON.stringify(_json2)==JSON.stringify(this.JSONSetting(JSON.parse(JSON.stringify(chapters)))))continue
|
|
|
// 更新对应的_json对象的answer2
|
|
|
array.push({
|
|
|
courseid: this.works[i].courseid,
|
|
@@ -2999,12 +3040,12 @@ for (let index = 0; index < val.array.length; index++) {
|
|
|
userid: this.works[i].userid,
|
|
|
name: this.works[i].username ? this.works[i].username : "匿名",
|
|
|
time: this.works[i].time,
|
|
|
- array: _json,
|
|
|
+ array: _json2,
|
|
|
cut: 0,
|
|
|
uteaName: this.works[i].uteaName,
|
|
|
courseJson: JSON.parse(this.works[i].courseJson),
|
|
|
});
|
|
|
- }
|
|
|
+ // }
|
|
|
}
|
|
|
|
|
|
let allCourseIds = [];
|