feat:修改版本号

This commit is contained in:
lixg
2022-12-09 08:52:11 +08:00
12 changed files with 990 additions and 887 deletions

View File

@@ -141,6 +141,28 @@ export default defineComponent({
}); });
</script> </script>
<style lang="scss"> <style lang="scss">
//.ant-modal {
//
// .ant-modal-content {
// background-image: linear-gradient(
// 180deg, rgba(103, 64, 255, .2), rgba(166, 168, 255, 0), rgba(166, 168, 255, 0)) !important;
// border-radius: 4px;
//
// .ant-modal-body {
// .ant-btn {
// border-radius: 8px;
// width: 100px;
// height: 40px;
// }
//
// .ant-btn-primary {
// background: #4ea6ff;
// color: #fff;
// }
// }
// }
//}
#app { #app {
// font-family: MicrosoftYaHei, Microsoft YaHei, Avenir, Helvetica, Arial, // font-family: MicrosoftYaHei, Microsoft YaHei, Avenir, Helvetica, Arial,
// sans-serif; // sans-serif;

View File

@@ -71,7 +71,13 @@ export const queryEvaluationDetailById = (obj) =>
"Content-Type": "application/x-www-form-urlencoded;charset=UTF-8", "Content-Type": "application/x-www-form-urlencoded;charset=UTF-8",
}, },
}); });
export const queryEvaluationMessageById = (obj) =>
http.post("/evaluation/queryEvaluationMessageById", obj, {
headers: {
token: "123",
"Content-Type": "application/x-www-form-urlencoded;charset=UTF-8",
},
});
//修改测评信息 //修改测评信息
export const updateEvaluation = (obj) => export const updateEvaluation = (obj) =>
http.post("/evaluation/updateEvaluation", obj); http.post("/evaluation/updateEvaluation", obj);

4
src/api/student.js Normal file
View File

@@ -0,0 +1,4 @@
import http from "./config";
export const studentDelAll = (params) => http.get('/admin/student/del', {params})

View File

@@ -24,7 +24,7 @@
<div class="file_img"></div> <div class="file_img"></div>
<div class="file_detail"> <div class="file_detail">
<div class="file_name"> <div class="file_name">
<span style="color: #6f6f6f">{{ item.name }}</span> <span style="color: #6f6f6fwidth:200px;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;">{{ item.name }}</span>
</div> </div>
<!-- <div class="file_size">--> <!-- <div class="file_size">-->
<!-- <span style="color: #999ba3">{{ item.size }}</span>--> <!-- <span style="color: #999ba3">{{ item.size }}</span>-->
@@ -167,21 +167,21 @@ function del(i) {
.updataxq { .updataxq {
position: absolute; position: absolute;
right: 2px; right: -62px;
top: -30px; top: -30px;
color: #57c887; color: #57c887;
} }
.updataxq1 { .updataxq1 {
position: absolute; position: absolute;
right: 2px; right: -62px;
top: -30px; top: -30px;
color: #388be1; color: #388be1;
} }
.updataxq2 { .updataxq2 {
position: absolute; position: absolute;
right: 2px; right: -62px;
top: -30px; top: -30px;
color: #ff7474; color: #ff7474;
} }

View File

@@ -237,14 +237,14 @@ export default {
.then((res) => { .then((res) => {
message.destroy() message.destroy()
message.success("获取测评信息成功"); message.success("获取测评信息成功");
state.inputV1 = res.data.data.evaluationName state.inputV1 = res.data.data.evaluationName;
state.evaluationTypeName = res.data.data.evaluationTypeName state.evaluationTypeName = res.data.data.evaluationTypeName;
state.evaluationTypeId = res.data.data.evaluationTypeId; state.evaluationTypeId = res.data.data.evaluationTypeId;
state.time = res.data.data.evaluationStartTime ? [ state.time = res.data.data.evaluationStartTime ? [
dayjs(res.data.data.evaluationStartTime, "YYYY-MM-DD"), dayjs(res.data.data.evaluationStartTime, "YYYY-MM-DD"),
dayjs(res.data.data.evaluationEndTime, "YYYY-MM-DD"), dayjs(res.data.data.evaluationEndTime, "YYYY-MM-DD"),
] : undefined; ] : undefined;
state.description = res.data.data.evaluationExplain state.description = res.data.data.evaluationExplain;
}) })
.catch((err) => { .catch((err) => {
message.destroy() message.destroy()

View File

@@ -352,11 +352,9 @@
<div class="signbox"> <div class="signbox">
<span style="margin-right: 3px">已选考试:</span> <span style="margin-right: 3px">已选考试:</span>
</div> </div>
<div class="btnbox" @click="showDrawerAddTest"> <div class="btnbox">
<a-tag closable color="processing" @close="logT"> <a-tag closable color="processing" @close="logT">
<span style="font-size: 14px; line-height: 33px">{{ <span style="font-size: 14px; line-height: 33px">{{testName}}</span>
testName
}}</span>
</a-tag> </a-tag>
</div> </div>
</div> </div>
@@ -396,10 +394,15 @@ import { debounce } from "lodash-es";
import { queryFaceDetailById, editPlan } from "../../api/indexFace"; import { queryFaceDetailById, editPlan } from "../../api/indexFace";
import dayjs from "dayjs"; import dayjs from "dayjs";
import AssessmentList from "../drawers/ AssessmentList.vue"; import AssessmentList from "../drawers/ AssessmentList.vue";
// import { toDate } from "../../api/method";、 // import { toDate } from "../../api/method";、
import { addTempTask } from "../../api/indexTaskadd"; import { addTempTask } from "../../api/indexTaskadd";
import ProjectManager from "@/components/project/ProjectManagerNew"; import ProjectManager from "@/components/project/ProjectManagerNew";
import { detail } from "../../api/indexCourse";
import { queryAppraiseDetailById } from "../../api/indexInvist";
import {queryWorkDetailById} from "@/api/indexWork";
import {queryExaminationDetailById} from "@/api/indexExam";
export default { export default {
name: "AddFaceteach", name: "AddFaceteach",
components: { components: {
@@ -495,6 +498,7 @@ export default {
EditTestId: null, EditTestId: null,
EditWorkId: null, EditWorkId: null,
workName: null, workName: null,
testName: null,
assessmentVisible: false, assessmentVisible: false,
needEval: false, needEval: false,
onlySign: false, onlySign: false,
@@ -588,7 +592,6 @@ export default {
state.before = result.beforeStart; state.before = result.beforeStart;
state.afterStartValue = result.afterStart; state.afterStartValue = result.afterStart;
state.fileList = JSON.parse(result.attach); state.fileList = JSON.parse(result.attach);
state.EditWorkId = result.homeWorkId;
state.onlySign = state.onlySign =
result.completeType.split(",")[0] == "1" ? true : false; result.completeType.split(",")[0] == "1" ? true : false;
state.completeLeave = state.completeLeave =
@@ -602,7 +605,19 @@ export default {
state.EditWorkId = result.homeWorkId; state.EditWorkId = result.homeWorkId;
state.assessmentId = result.evaluateId; state.assessmentId = result.evaluateId;
state.needEval = result.evaluateId; state.needEval = result.evaluateId;
detail({offcourseId:result.offcourseId}).then((res)=>{
state.chooseCourseName =res.data.data.name;
});
queryAppraiseDetailById({assessmentId:result.evaluateId}).then((res)=>{
state.assessmentName =res.data.data.assessmentName;
});
queryWorkDetailById({workId:result.homeWorkId}).then((res)=>{
state.workName = res.data.data.workName;
});
queryExaminationDetailById({ examinationId: result.testId }).then((res)=>{
state.testName = res.data.data.examinationName;
});
console.log("state=======", state); console.log("state=======", state);
}); });
}; };

View File

@@ -338,6 +338,7 @@ import { fileUp } from "../../api/indexEval";
import AssessmentList from "../drawers/ AssessmentList.vue"; import AssessmentList from "../drawers/ AssessmentList.vue";
import { debounce } from "lodash-es"; import { debounce } from "lodash-es";
import ProjectManager from "@/components/project/ProjectManagerNew"; import ProjectManager from "@/components/project/ProjectManagerNew";
import { queryAppraiseDetailById } from "../../api/indexInvist";
// import { useRouter } from "vue-router"; // import { useRouter } from "vue-router";
function getBase64(img, callback) { function getBase64(img, callback) {
@@ -519,6 +520,9 @@ export default {
value: res.data.data.liveTeacherId || "", value: res.data.data.liveTeacherId || "",
label: res.data.data.liveTeacherName || "", label: res.data.data.liveTeacherName || "",
}; };
queryAppraiseDetailById({assessmentId:res.data.data.assessmentId}).then((res)=>{
state.assessmentName =res.data.data.assessmentName;
});
}) })
.catch(() => { .catch(() => {
//message.error(`查询失败`); //message.error(`查询失败`);

View File

@@ -554,6 +554,7 @@ export default {
console.log("formState.testName", state.testName); console.log("formState.testName", state.testName);
localStorage.setItem("stageId", props.chooseStageId); localStorage.setItem("stageId", props.chooseStageId);
localStorage.setItem("chapterId", props.isactive); localStorage.setItem("chapterId", props.isactive);
state.addLoading = false;
resetForm(); resetForm();
}; };
const closeDrawer2 = () => { const closeDrawer2 = () => {
@@ -561,6 +562,7 @@ export default {
ctx.emit("update:edit", false); ctx.emit("update:edit", false);
ctx.emit("update:addtestVisible", false); ctx.emit("update:addtestVisible", false);
resetForm(); resetForm();
state.addLoading = false;
}; };
const afterVisibleChange = () => { const afterVisibleChange = () => {
console.log("props", props); console.log("props", props);
@@ -597,7 +599,6 @@ export default {
state.paperName = res.data.data.examinationTestName; state.paperName = res.data.data.examinationTestName;
// state.paperId= // state.paperId=
state.paperId = res.data.data.examinationTestId; state.paperId = res.data.data.examinationTestId;
state.paperName = res.data.data.examinationTestName;
if ( if (
res.data.data.examinationEndTime && res.data.data.examinationEndTime &&
res.data.data.examinationStartTime res.data.data.examinationStartTime
@@ -617,6 +618,7 @@ export default {
}; };
const updateTest = () => { const updateTest = () => {
//state.addLoading = true;updateTask //state.addLoading = true;updateTask
let obj = { let obj = {
examinationDuration: formState.examinationDuration, examinationDuration: formState.examinationDuration,
examinationEndTime: dayjs(formState.choosedTime[1]).format( examinationEndTime: dayjs(formState.choosedTime[1]).format(
@@ -656,7 +658,7 @@ export default {
message.destroy(); message.destroy();
return message.warning("请输入考试时长"); return message.warning("请输入考试时长");
} }
state.addLoading = true;
if (props.edit) { if (props.edit) {
// 编辑任务 // 编辑任务
updateExamination(obj) updateExamination(obj)
@@ -685,6 +687,8 @@ export default {
state.EditTestId = res.data.data.examinationId; state.EditTestId = res.data.data.examinationId;
if (props.faceLevel) { if (props.faceLevel) {
state.EditTestId = res.data.data.examinationId; state.EditTestId = res.data.data.examinationId;
closeDrawer();
} else { } else {
if (props.isLevel == 1) { if (props.isLevel == 1) {
let editObj1 = { let editObj1 = {
@@ -701,7 +705,7 @@ export default {
console.log("props.edit", props.edit); console.log("props.edit", props.edit);
message.success(`${props.edit ? "编辑" : "新增"}任务成功`); message.success(`${props.edit ? "编辑" : "新增"}任务成功`);
ctx.emit("changeData", false); ctx.emit("changeData", false);
state.addLoading = false;
closeDrawer(); closeDrawer();
}) })
.catch(() => { .catch(() => {

View File

@@ -221,7 +221,7 @@
</div> </div>
</a-radio-group> </a-radio-group>
</div> </div>
<!--
<div class="b_sup" :style="{ display: bs_hs ? 'block' : 'none' }"> <div class="b_sup" :style="{ display: bs_hs ? 'block' : 'none' }">
<div class="ofmb_items"> <div class="ofmb_items">
<div class="signbox"> <div class="signbox">
@@ -257,7 +257,7 @@
</div> </div>
</a-radio-group> </a-radio-group>
</div> </div>
</div> --> </div>
<div class="b_footer"> <div class="b_footer">
<div class="btn btn5" @click="of_exit1"> <div class="btn btn5" @click="of_exit1">
<div class="btnText">取消</div> <div class="btnText">取消</div>
@@ -2979,28 +2979,6 @@ const columns6 = [
return index + 1 + pageNum; return index + 1 + pageNum;
}, },
}, },
{
title: "创建人",
dataIndex: "createName",
key: "createName",
width: "10%",
align: "center",
ellipsis: true,
customRender: ({ text }) => {
return text ? text : "-";
},
},
{
title: "教师名称",
dataIndex: "teacher",
key: "teacher",
width: "10%",
align: "center",
ellipsis: true,
customRender: ({ text }) => {
return text ? text : "-";
},
},
{ {
title: "课程名称", title: "课程名称",
dataIndex: "organization", dataIndex: "organization",
@@ -3023,6 +3001,21 @@ const columns6 = [
return text ? text : "-"; return text ? text : "-";
}, },
}, },
{
title: "教师名称",
dataIndex: "teacher",
key: "teacher",
width: "10%",
align: "center",
ellipsis: true,
customRender: ({ text }) => {
return text ? text : "-";
},
},
{ {
title: "开始时间", title: "开始时间",
dataIndex: "starttime", dataIndex: "starttime",
@@ -3046,6 +3039,17 @@ const columns6 = [
// return text ? getdateToTime(text * 1000) : "-"; // return text ? getdateToTime(text * 1000) : "-";
return text ? text : "-"; return text ? text : "-";
}, },
},
{
title: "创建人",
dataIndex: "createName",
key: "createName",
width: "10%",
align: "center",
ellipsis: true,
customRender: ({ text }) => {
return text ? text : "-";
},
}, },
{ {
title: "操作", title: "操作",
@@ -3361,7 +3365,7 @@ export default defineComponent({
faceManageTab: "1", faceManageTab: "1",
of_hs: false, of_hs: false,
hideshow: true, hideshow: true,
bs_hs: true, bs_hs: false,
ft_hs: false, ft_hs: false,
lookMs: false, lookMs: false,
om_1: false, om_1: false,
@@ -4741,7 +4745,7 @@ export default defineComponent({
completeType: item.completeType, completeType: item.completeType,
endTime: new Date(item.endTime) / 1000, endTime: new Date(item.endTime) / 1000,
evalFlag: item.evalFlag, evalFlag: item.evalFlag,
name: '复制'+item.name, name: item.name+'1',
signFlag: item.signFlag, //是否允许未报名的签到:1是0否 signFlag: item.signFlag, //是否允许未报名的签到:1是0否
//signWordFlag: item.signWordFlag, //签到是否需要口令:1是0否 //signWordFlag: item.signWordFlag, //签到是否需要口令:1是0否
teacherId: item.teacherId, teacherId: item.teacherId,
@@ -4765,7 +4769,7 @@ export default defineComponent({
}); });
const postData = { const postData = {
offcourseId: null, //不传代表新增 offcourseId: null, //不传代表新增
name: '复制'+item.name, name: item.name+'1',
picUrl: item.picUrl, picUrl: item.picUrl,
targetUser: item.targetUser, targetUser: item.targetUser,
meaning: item.meaning, meaning: item.meaning,

View File

@@ -666,6 +666,16 @@ export default defineComponent({
: "-"; : "-";
console.log("state.auditDescription", state.auditDescription); console.log("state.auditDescription", state.auditDescription);
} }
api2.auditList(obj).then((res)=>{
if(res.data.data.rows &&res.data.data.rows.length > 0){
let i =res.data.data.rows.length ;
state.auditDescription = res.data.data.rows[i-1].description?res.data.data.rows[i-1].description :"-";
console.log("state.auditDescription",state.auditDescription);
}
})
} }
state.qdms_inputV1 = item.name; state.qdms_inputV1 = item.name;
@@ -678,7 +688,13 @@ export default defineComponent({
state.qdms_inputV6 = item.intro; state.qdms_inputV6 = item.intro;
state.member = { value: item.teacherId, name: item.teacher }; state.member = { value: item.teacherId, name: item.teacher };
valueHtml.value = item.outline; valueHtml.value = item.outline;
state.attach = item.attach; let arrss = item.attach.split(',')
let str =''
for(let i=0;i<arrss.length;i++){
i == arrss.length -1 ? str += arrss[i].slice(arrss[i].lastIndexOf('/')+1) : str += arrss[i].slice(arrss[i].lastIndexOf('/')+1) + ','
}
console.log(str)
state.attach = str;
}; };
const handleTagChange = () => { const handleTagChange = () => {

View File

@@ -635,6 +635,7 @@
<span class="th">{{ stuTotal }}</span> <span class="th">{{ stuTotal }}</span>
<span class="yi"> </span> <span class="yi"> </span>
</div> </div>
<div class="clear" @click="clearChooseStu">清空</div>
</div> </div>
<div class="tableBox" style="margin-top: 30px"> <div class="tableBox" style="margin-top: 30px">
<a-table <a-table
@@ -1288,6 +1289,7 @@ import * as api from "../../api/index1";
import { editRoutered } from "../../api/indexLearningPath"; import { editRoutered } from "../../api/indexLearningPath";
import { codeUrl } from "../../api/method"; import { codeUrl } from "../../api/method";
import TwoDimensionalCode from "../../components/TwoDimensionalCode.vue"; import TwoDimensionalCode from "../../components/TwoDimensionalCode.vue";
// import * as student from "@/api/student";
export default { export default {
name: "LevelAdd", name: "LevelAdd",
components: { components: {
@@ -2307,9 +2309,22 @@ export default {
}; };
state.codeInfo = obj; state.codeInfo = obj;
}; };
//清空所选的学员
const clearChooseStu = () => {
Modal.confirm({
title: '确定清空所有学员吗?', onOk: async () => {
state.addAuthList = []
// student.studentDelAll({id: state.routerId, type: 2})
// state.tabledata = []
// state.tableDataTotal = 0;
}, bodyStyle: 'margin-top:70%'
});
};
return { return {
...toRefs(state), ...toRefs(state),
...toRefs(levelList), ...toRefs(levelList),
clearChooseStu,
showDeleteALLModal, showDeleteALLModal,
closeDeleteALLModal, closeDeleteALLModal,
tableDataFunc, tableDataFunc,
@@ -2369,6 +2384,14 @@ export default {
}; };
</script> </script>
<style lang="scss"> <style lang="scss">
.clear {
cursor: pointer;
font-size: 14px;
color: #387df7;
line-height: 24px;
position: absolute;
right: 60px;
}
.pub { .pub {
.ant-modal { .ant-modal {
.ant-modal-body { .ant-modal-body {

View File

@@ -3,7 +3,7 @@
<div class="taskpage"> <div class="taskpage">
<div class="addhead" style="flex-shrink: 0"> <div class="addhead" style="flex-shrink: 0">
<div class="leftimg"> <div class="leftimg">
<img class="img" :src="picUrl" /> <img class="img" :src="picUrl"/>
</div> </div>
<div class="imgfor"> <div class="imgfor">
<div class="forz">{{ name }}</div> <div class="forz">{{ name }}</div>
@@ -171,7 +171,7 @@
<div class="line"></div> <div class="line"></div>
<router-link to="/projectmanage"> <router-link to="/projectmanage">
<div style="display: flex"> <div style="display: flex">
<img class="img2" src="../../assets/images/leveladd/back.png" /> <img class="img2" src="../../assets/images/leveladd/back.png"/>
<div class="return">返回</div> <div class="return">返回</div>
</div> </div>
</router-link> </router-link>
@@ -208,13 +208,13 @@
style="background: linear-gradient(180deg, #fef3dd, #fffaf0)" style="background: linear-gradient(180deg, #fef3dd, #fffaf0)"
> >
<div class="leftt"> <div class="leftt">
<img src="../../assets/images/taskpage/left1.png" /> <img src="../../assets/images/taskpage/left1.png"/>
</div> </div>
<div class="photo"> <div class="photo">
<img src="../../assets/images/taskpage/picture1.png" /> <img src="../../assets/images/taskpage/picture1.png"/>
</div> </div>
<div class="rightt"> <div class="rightt">
<img src="../../assets/images/taskpage/right1.png" /> <img src="../../assets/images/taskpage/right1.png"/>
</div> </div>
<div class="centerbox" style="color: rgba(255, 182, 78, 1)"> <div class="centerbox" style="color: rgba(255, 182, 78, 1)">
添加任务 添加任务
@@ -227,13 +227,13 @@
style="background: linear-gradient(180deg, #ddeaff, #f0f8fe)" style="background: linear-gradient(180deg, #ddeaff, #f0f8fe)"
> >
<div class="leftt"> <div class="leftt">
<img src="../../assets/images/taskpage/left2.png" /> <img src="../../assets/images/taskpage/left2.png"/>
</div> </div>
<div class="photo"> <div class="photo">
<img src="../../assets/images/taskpage/picture2.png" /> <img src="../../assets/images/taskpage/picture2.png"/>
</div> </div>
<div class="rightt"> <div class="rightt">
<img src="../../assets/images/taskpage/right2.png" /> <img src="../../assets/images/taskpage/right2.png"/>
</div> </div>
<div class="centerbox" style="color: rgba(78, 166, 255, 1)"> <div class="centerbox" style="color: rgba(78, 166, 255, 1)">
添加学员 添加学员
@@ -639,13 +639,13 @@
v-if="taskSyllabus.length == 0" v-if="taskSyllabus.length == 0"
> >
<div class="leftt"> <div class="leftt">
<img src="../../assets/images/taskpage/left2.png" /> <img src="../../assets/images/taskpage/left2.png"/>
</div> </div>
<div class="photo"> <div class="photo">
<img src="../../assets/images/taskpage/picture8.png" /> <img src="../../assets/images/taskpage/picture8.png"/>
</div> </div>
<div class="rightt"> <div class="rightt">
<img src="../../assets/images/taskpage/right2.png" /> <img src="../../assets/images/taskpage/right2.png"/>
</div> </div>
<div class="centerbox" style="color: rgba(78, 166, 255, 1)"> <div class="centerbox" style="color: rgba(78, 166, 255, 1)">
创建任务 创建任务
@@ -668,13 +668,13 @@
style="background: linear-gradient(180deg, #fef3dd, #fffaf0)" style="background: linear-gradient(180deg, #fef3dd, #fffaf0)"
> >
<div class="leftt"> <div class="leftt">
<img src="../../assets/images/taskpage/left1.png" /> <img src="../../assets/images/taskpage/left1.png"/>
</div> </div>
<div class="photo"> <div class="photo">
<img src="../../assets/images/taskpage/picture1.png" /> <img src="../../assets/images/taskpage/picture1.png"/>
</div> </div>
<div class="rightt"> <div class="rightt">
<img src="../../assets/images/taskpage/right1.png" /> <img src="../../assets/images/taskpage/right1.png"/>
</div> </div>
<div class="centerbox" style="color: rgba(255, 182, 78, 1)"> <div class="centerbox" style="color: rgba(255, 182, 78, 1)">
添加任务 添加任务
@@ -772,18 +772,18 @@
</div> </div>
<div class="groupright"> <div class="groupright">
<div class="btn1" @click="searchStu"> <div class="btn1" @click="searchStu">
<img src="../../assets/images/courseManage/search0.png" /> <img src="../../assets/images/courseManage/search0.png"/>
<span class="btn1text">搜索</span> <span class="btn1text">搜索</span>
</div> </div>
<div class="btn2" @click="resetCancel"> <div class="btn2" @click="resetCancel">
<img src="../../assets/images/courseManage/reset1.png" /> <img src="../../assets/images/courseManage/reset1.png"/>
<span class="btn2text">重置</span> <span class="btn2text">重置</span>
</div> </div>
</div> </div>
</div> </div>
<div class="second2" style="margin-top: 20px"> <div class="second2" style="margin-top: 20px">
<div class="btn1" @click="showStuAdd"> <div class="btn1" @click="showStuAdd">
<img src="../../assets/images/courseManage/add0.png" /> <img src="../../assets/images/courseManage/add0.png"/>
<span class="btn1text">添加学员</span> <span class="btn1text">添加学员</span>
</div> </div>
<!-- 2022-11-30注释 后面放开 --> <!-- 2022-11-30注释 后面放开 -->
@@ -792,12 +792,12 @@
<span class="btn2text">导入学员</span> <span class="btn2text">导入学员</span>
</div> --> </div> -->
<div class="btn2" @click="showAllDelete"> <div class="btn2" @click="showAllDelete">
<img src="../../assets/images/projectadd/delete.png" /> <img src="../../assets/images/projectadd/delete.png"/>
<span class="btn2text">批量删除</span> <span class="btn2text">批量删除</span>
</div> </div>
</div> </div>
<div class="talk"> <div class="talk">
<img class="im" src="../../assets/images/leveladd/gan.png" /> <img class="im" src="../../assets/images/leveladd/gan.png"/>
<div class="xu"> <div class="xu">
<span class="yi">已选择</span> <span class="yi">已选择</span>
<div style="width: 5px; display: inline-block"></div> <div style="width: 5px; display: inline-block"></div>
@@ -860,18 +860,18 @@
</div> </div>
<div class="groupright"> <div class="groupright">
<div class="btn1" @click="searchGroup"> <div class="btn1" @click="searchGroup">
<img src="../../assets/images/courseManage/search0.png" /> <img src="../../assets/images/courseManage/search0.png"/>
<span class="btn1text">搜索</span> <span class="btn1text">搜索</span>
</div> </div>
<div class="btn2" @click="resetGroupName"> <div class="btn2" @click="resetGroupName">
<img src="../../assets/images/courseManage/reset1.png" /> <img src="../../assets/images/courseManage/reset1.png"/>
<span class="btn2text">重置</span> <span class="btn2text">重置</span>
</div> </div>
</div> </div>
</div> </div>
<div class="second2"> <div class="second2">
<div class="btn1" @click="showModal2(1, null)"> <div class="btn1" @click="showModal2(1, null)">
<img src="../../assets/images/courseManage/add0.png" /> <img src="../../assets/images/courseManage/add0.png"/>
<span class="btn1text">创建小组</span> <span class="btn1text">创建小组</span>
</div> </div>
<!-- 2022-12-2注释 后面放开 --> <!-- 2022-12-2注释 后面放开 -->
@@ -911,7 +911,7 @@
<div class="leader">组长:{{ item.leaderName }}</div> <div class="leader">组长:{{ item.leaderName }}</div>
<div class="grocenter"> <div class="grocenter">
<div class="leader1">进度</div> <div class="leader1">进度</div>
<a-progress :percent="item.completeRatio" /> <a-progress :percent="item.completeRatio"/>
</div> </div>
<div <div
class="grofooter" class="grofooter"
@@ -1280,7 +1280,7 @@
:title="showFaceText" :title="showFaceText"
/> />
<!-- 学员(小组管理)创建小组抽屉 --> <!-- 学员(小组管理)创建小组抽屉 -->
<subset-manage v-model:Svisible="subsetVisivle" /> <subset-manage v-model:Svisible="subsetVisivle"/>
<!-- 学员管理-添加学员抽屉 --> <!-- 学员管理-添加学员抽屉 -->
<!-- <stu-add v-model:Stuvisible="Stuvisible" /> --> <!-- <stu-add v-model:Stuvisible="Stuvisible" /> -->
<!-- 添加学员抽屉 --> <!-- 添加学员抽屉 -->
@@ -1293,7 +1293,7 @@
:type="2" :type="2"
/> />
<!-- 学员管理-导入学员抽屉 --> <!-- 学员管理-导入学员抽屉 -->
<import-stu v-model:Importvisible="Importvisible" /> <import-stu v-model:Importvisible="Importvisible"/>
<!-- 查看学员 传入查看学员的id--> <!-- 查看学员 传入查看学员的id-->
<see-stu <see-stu
v-model:Seevisible="Seevisible" v-model:Seevisible="Seevisible"
@@ -1316,9 +1316,9 @@
v-model:projectId="projectId" v-model:projectId="projectId"
/> />
<!-- 面授学员抽屉 --> <!-- 面授学员抽屉 -->
<face-stu v-model:FSvisible="FSvisible" /> <face-stu v-model:FSvisible="FSvisible"/>
<!-- 活动考勤抽屉 --> <!-- 活动考勤抽屉 -->
<active-attendance v-model:AAvisible="AAvisible" :title="showkaoqinText" /> <active-attendance v-model:AAvisible="AAvisible" :title="showkaoqinText"/>
<!-- 作业管理抽屉 --> <!-- 作业管理抽屉 -->
<work-manage <work-manage
v-model:Wvisible="Wvisible" v-model:Wvisible="Wvisible"
@@ -1333,7 +1333,7 @@
:itemsType="itemstype" :itemsType="itemstype"
/> />
<!-- 批量面授报名 --> <!-- 批量面授报名 -->
<task-imp-stu v-model:TaskFaceImpStuvisible="TaskFaceImpStuvisible" /> <task-imp-stu v-model:TaskFaceImpStuvisible="TaskFaceImpStuvisible"/>
<!-- 概览(无数据)-项目发布弹窗 --> <!-- 概览(无数据)-项目发布弹窗 -->
<div> <div>
@@ -1392,7 +1392,7 @@
</div> </div>
</div> </div>
<div class="send"> <div class="send">
<a-switch v-model:checked="checked" size="small" /> <a-switch v-model:checked="checked" size="small"/>
<span class="sendtext">发送项目通知</span> <span class="sendtext">发送项目通知</span>
</div> </div>
<div class="ckb"> <div class="ckb">
@@ -1656,7 +1656,7 @@
</a-modal> </a-modal>
</div> </div>
<!-- 编辑项目弹窗 --> <!-- 编辑项目弹窗 -->
<proj-set v-model:editHs="editHs" v-model:projectId="projectId" /> <proj-set v-model:editHs="editHs" v-model:projectId="projectId"/>
<!-- 发布弹窗 --> <!-- 发布弹窗 -->
<a-modal <a-modal
@@ -1738,7 +1738,7 @@
class="aeLoading" class="aeLoading"
:style="{ display: projectPubLoading ? 'flex' : 'none' }" :style="{ display: projectPubLoading ? 'flex' : 'none' }"
> >
<a-spin :spinning="projectPubLoading" /> <a-spin :spinning="projectPubLoading"/>
</div> </div>
</a-modal> </a-modal>
@@ -1880,10 +1880,9 @@
</div> </div>
</template> </template>
<script> <script>
import { reactive, toRefs, onMounted, watch, computed } from "vue"; import {reactive, toRefs, onMounted, watch, computed} from "vue";
import { useRoute } from "vue-router"; import {useRoute} from "vue-router";
import { useRouter } from "vue-router"; import {useRouter} from "vue-router";
// import { CaretRightOutlined } from "@ant-design/icons-vue";
import TimeManage from "../../components/drawers/TimeManage"; import TimeManage from "../../components/drawers/TimeManage";
import FaceManage from "../../components/drawers/FaceManage"; import FaceManage from "../../components/drawers/FaceManage";
import SubsetManage from "../../components/drawers/SubsetManage"; import SubsetManage from "../../components/drawers/SubsetManage";
@@ -1892,19 +1891,18 @@ import ActiveAttendance from "../../components/drawers/ActiveAttendance";
import WorkManage from "../../components/drawers/WorkManage"; import WorkManage from "../../components/drawers/WorkManage";
import FaceStu from "../../components/drawers/FaceStu"; import FaceStu from "../../components/drawers/FaceStu";
import TestManage from "../../components/drawers/TestManage"; import TestManage from "../../components/drawers/TestManage";
// import StuAdd from "../../components/drawers/StuAdd";
import ProjCheckShip from "../../components/drawers/ProjCheckPower"; import ProjCheckShip from "../../components/drawers/ProjCheckPower";
import ImportStu from "../../components/drawers/ImportStu"; import ImportStu from "../../components/drawers/ImportStu";
import SeeStu from "../../components/drawers/SeeStu"; import SeeStu from "../../components/drawers/SeeStu";
import ChangeGroup from "../../components/drawers/ChangeGroup"; import ChangeGroup from "../../components/drawers/ChangeGroup";
import NoticePub from "../../components/drawers/NoticePub"; import NoticePub from "../../components/drawers/NoticePub";
import NoticeHis from "../../components/drawers/NoticeHis"; import NoticeHis from "../../components/drawers/NoticeHis";
// import ProjectScore from "../../components/drawers/ProjectScore";
import TaskImpStu from "../../components/drawers/TaskFaceIn"; import TaskImpStu from "../../components/drawers/TaskFaceIn";
import { storage } from "../../api/storage"; import {storage} from "../../api/storage";
import * as api from "../../api/index1"; import * as api from "../../api/index1";
import * as apis from "../../api/index"; import * as apis from "../../api/index";
import * as apiproj from "../../api/index"; import * as apiproj from "../../api/index";
import * as student from "../../api/student";
import { import {
getProjStu, getProjStu,
deleteStu, deleteStu,
@@ -1913,18 +1911,19 @@ import {
editGroup, editGroup,
topStudent, topStudent,
} from "../../api/indexProjStu"; } from "../../api/indexProjStu";
import { message } from "ant-design-vue"; import {message, Modal} from "ant-design-vue";
import * as apitl from "../../api/index"; import * as apitl from "../../api/index";
import { getTask } from "../../api/indexTaskadd"; import {getTask} from "../../api/indexTaskadd";
import { editProj } from "../../api/indexTaskadd"; import {editProj} from "../../api/indexTaskadd";
import { toDate, codeUrl } from "../../api/method"; import {toDate, codeUrl} from "../../api/method";
import projSet from "../../components/Modals/projSet"; import projSet from "../../components/Modals/projSet";
import { overview } from "../../api/indexProjStu"; import {overview} from "../../api/indexProjStu";
import TwoDimensionalCode from "../../components/TwoDimensionalCode.vue"; import TwoDimensionalCode from "../../components/TwoDimensionalCode.vue";
import { useStore } from "vuex"; import {useStore} from "vuex";
import ProjectLevel from "@/components/project/ProjectLevel"; import ProjectLevel from "@/components/project/ProjectLevel";
import TrainClass from "@/components/project/TrainClass"; import TrainClass from "@/components/project/TrainClass";
import ProjectManager from "@/components/project/ProjectManagerNew"; import ProjectManager from "@/components/project/ProjectManagerNew";
export default { export default {
name: "taskPage", name: "taskPage",
components: { components: {
@@ -2021,23 +2020,23 @@ export default {
projectTaskId: "", //项目任务任务id projectTaskId: "", //项目任务任务id
//进度排行学员 //进度排行学员
rankjindu: [ rankjindu: [
{ value: "学员", label: "学员" }, {value: "学员", label: "学员"},
{ value: "小组", label: "小组" }, {value: "小组", label: "小组"},
], ],
valuestu1: "学员", valuestu1: "学员",
//进度排行阶段 //进度排行阶段
rankjieduan: [{ value: "第一阶段", label: "第一阶段" }], rankjieduan: [{value: "第一阶段", label: "第一阶段"}],
valuestu2: "第一阶段", valuestu2: "第一阶段",
//积分排行 //积分排行
rankxuefen: [ rankxuefen: [
{ value: "学员", label: "学员" }, {value: "学员", label: "学员"},
{ value: "小组", label: "小组" }, {value: "小组", label: "小组"},
], ],
valuestu3: "学员", valuestu3: "学员",
//学时排行 //学时排行
rankxueshi: [ rankxueshi: [
{ value: "学员", label: "学员" }, {value: "学员", label: "学员"},
{ value: "小组", label: "小组" }, {value: "小组", label: "小组"},
], ],
valuestu4: "学员", valuestu4: "学员",
visible: false, //时间管理 visible: false, //时间管理
@@ -2185,21 +2184,21 @@ export default {
if (text.record.rank == "1") { if (text.record.rank == "1") {
return ( return (
<img <img
style={{ width: 24, height: 24 }} style={{width: 24, height: 24}}
src={require("../../assets/images/taskpage/one.png")} src={require("../../assets/images/taskpage/one.png")}
/> />
); );
} else if (text.record.rank == "2") { } else if (text.record.rank == "2") {
return ( return (
<img <img
style={{ width: 24, height: 24 }} style={{width: 24, height: 24}}
src={require("../../assets/images/taskpage/two.png")} src={require("../../assets/images/taskpage/two.png")}
/> />
); );
} else if (text.record.rank == "3") { } else if (text.record.rank == "3") {
return ( return (
<img <img
style={{ width: 24, height: 24 }} style={{width: 24, height: 24}}
src={require("../../assets/images/taskpage/three.png")} src={require("../../assets/images/taskpage/three.png")}
/> />
); );
@@ -2292,21 +2291,21 @@ export default {
if (text.record.rank == "1") { if (text.record.rank == "1") {
return ( return (
<img <img
style={{ width: 24, height: 24 }} style={{width: 24, height: 24}}
src={require("../../assets/images/taskpage/one.png")} src={require("../../assets/images/taskpage/one.png")}
/> />
); );
} else if (text.record.rank == "2") { } else if (text.record.rank == "2") {
return ( return (
<img <img
style={{ width: 24, height: 24 }} style={{width: 24, height: 24}}
src={require("../../assets/images/taskpage/two.png")} src={require("../../assets/images/taskpage/two.png")}
/> />
); );
} else if (text.record.rank == "3") { } else if (text.record.rank == "3") {
return ( return (
<img <img
style={{ width: 24, height: 24 }} style={{width: 24, height: 24}}
src={require("../../assets/images/taskpage/three.png")} src={require("../../assets/images/taskpage/three.png")}
/> />
); );
@@ -2399,21 +2398,21 @@ export default {
if (text.record.rank == "1") { if (text.record.rank == "1") {
return ( return (
<img <img
style={{ width: 24, height: 24 }} style={{width: 24, height: 24}}
src={require("../../assets/images/taskpage/one.png")} src={require("../../assets/images/taskpage/one.png")}
/> />
); );
} else if (text.record.rank == "2") { } else if (text.record.rank == "2") {
return ( return (
<img <img
style={{ width: 24, height: 24 }} style={{width: 24, height: 24}}
src={require("../../assets/images/taskpage/two.png")} src={require("../../assets/images/taskpage/two.png")}
/> />
); );
} else if (text.record.rank == "3") { } else if (text.record.rank == "3") {
return ( return (
<img <img
style={{ width: 24, height: 24 }} style={{width: 24, height: 24}}
src={require("../../assets/images/taskpage/three.png")} src={require("../../assets/images/taskpage/three.png")}
/> />
); );
@@ -3178,7 +3177,7 @@ export default {
// width: 60, // width: 60,
align: "center", align: "center",
className: "h", className: "h",
scopedSlots: { customRender: "action" }, //引入的插槽 scopedSlots: {customRender: "action"}, //引入的插槽
customRender: (text) => { customRender: (text) => {
// console.log(text); // console.log(text);
return ( return (
@@ -3498,8 +3497,12 @@ export default {
}; };
//清空所选的学员 //清空所选的学员
const clearChooseStu = () => { const clearChooseStu = () => {
state.selectedRowKeys = []; Modal.confirm({
state.choosed = 0; title: '确定清空所有学员吗?', onOk: async () => {
state.tabledata = []
student.studentDelAll({id: state.projectId, type: 1})
}, bodyStyle: 'margin-top:70%'
});
}; };
//学员重置 //学员重置
const resetCancel = () => { const resetCancel = () => {
@@ -3719,7 +3722,7 @@ export default {
//start---------项目概览 //start---------项目概览
// 获取项目概览 // 获取项目概览
const getOverview = () => { const getOverview = () => {
overview({ projectId: state.projectId }) overview({projectId: state.projectId})
.then((res) => { .then((res) => {
Object.keys(res.data.data.projectInfoOverview).forEach((item) => { Object.keys(res.data.data.projectInfoOverview).forEach((item) => {
levelList.projectInfoOverview[item] = levelList.projectInfoOverview[item] =
@@ -3778,7 +3781,7 @@ export default {
}); });
}; };
const handleChange = ({ file, fileList }) => { const handleChange = ({file, fileList}) => {
let list = []; let list = [];
if (file.status !== "uploading") { if (file.status !== "uploading") {
console.log("上传的list", fileList); console.log("上传的list", fileList);
@@ -5724,6 +5727,7 @@ export default {
margin-left: 12px; margin-left: 12px;
margin-right: 50px; margin-right: 50px;
width: 120px; width: 120px;
.iconame { .iconame {
//position: absolute; //position: absolute;
color: #4f5156; color: #4f5156;
@@ -5776,6 +5780,7 @@ export default {
flex-grow: 1; flex-grow: 1;
margin-right: 50px; margin-right: 50px;
width: 100px; width: 100px;
.timetext { .timetext {
font-size: 14px; font-size: 14px;
color: #999ba3; color: #999ba3;