feat:获取学员列表 批量删除 单个删除 勾选效果 查询 重置 清空

This commit is contained in:
songwc
2022-11-08 17:22:44 +08:00
48 changed files with 22348 additions and 5322 deletions

View File

@@ -139,7 +139,16 @@
</div>
<!-- 添加作业侧弹窗 -->
<div>
<add-homework v-model:addhomeworkVisible="addhomeworkvisible" />
<add-homework
v-model:addhomeworkVisible="addhomeworkvisible"
@changeData="updateTableData"
:isLevel="false"
v-model:edit="edit"
v-model:projectId="projectId"
v-model:chooseStageId="chooseStageId"
v-model:EditWorkId="EditWorkId"
v-model:projectTaskId="projectTaskId"
/>
</div>
<!-- 添加作业侧弹窗 -->
<div class="lin"></div>
@@ -153,7 +162,16 @@
</div>
<!-- 添加考试侧弹窗 -->
<div>
<add-test v-model:addtestVisible="addtestvisible" />
<add-test
v-model:addtestVisible="addtestvisible"
@changeData="updateTableData"
:isLevel="false"
v-model:edit="edit"
v-model:projectId="projectId"
v-model:chooseStageId="chooseStageId"
v-model:EditTestId="EditTestId"
v-model:projectTaskId="projectTaskId"
/>
</div>
<!-- 添加考试侧弹窗 -->
<div class="lin"></div>
@@ -174,6 +192,7 @@
v-model:chooseStageId="chooseStageId"
v-model:isLiveEdit="isLiveEdit"
v-model:EditLiveId="EditLiveId"
v-model:projectTaskId="projectTaskId"
/>
</div>
<!-- 添加直播侧弹窗 -->
@@ -190,11 +209,13 @@
<div>
<add-ref
v-model:addrefVisible="addrefvisible"
:isLevel="false"
@changeData="updateTableData"
v-model:projectId="projectId"
v-model:chooseStageId="chooseStageId"
v-model:isRefEdit="isRefEdit"
v-model:EditRefId="EditRefId"
v-model:projectTaskId="projectTaskId"
/>
</div>
<!-- 添加外链侧弹窗 -->
@@ -293,6 +314,7 @@
<add-vote
v-model:addvoteVisible="addvotevisible"
@changeData="updateTableData"
@getData="changeVData"
v-model:edit="edit"
v-model:projectId="projectId"
v-model:chooseStageId="chooseStageId"
@@ -306,7 +328,7 @@
<div class="boomcen">
<div class="onerow">
<div class="taskmain">任务列表</div>
<button class="btn" @click="moveTask">移动任务到阶段</button>
<button class="btn" @click="showChangeModal">移动任务到阶段</button>
<div class="edit" @click="deleteTaskAll">
<img
class="editimg"
@@ -500,7 +522,13 @@
margin-right: 25px;
cursor: pointer;
"
@click="decideType(element.lei, element.courseId)"
@click="
decideType(
element.lei,
element.courseId,
element.id
)
"
>
编辑
</span>
@@ -751,6 +779,44 @@
</div>
</div>
</a-modal>
<!-- 移动任务到阶段 -->
<a-modal
style="padding: 0"
:closable="sh"
v-model:visible="visiblene"
:footer="null"
centered="true"
wrapClassName="changeModal"
>
<div class="con">
<div class="header">
<div class="inhe">
<div class="mod"></div>
<div class="tz">选择任务移动到阶段</div>
</div>
</div>
<div class="mid">
<div class="inher">
<div class="cur">已选中{{ selectRow.length }}个任务</div>
<div class="select">
<a-select
v-model:value="curLevel"
style="width: 100%"
placeholder="请选择关卡"
:options="projectNameList4"
@change="selectProjectName4"
allowClear
showSearch
></a-select>
</div>
<div class="btn">
<button class="sameb btn1" @click="closeChangeModal">取消</button>
<button class="sameb btn2" @click="moveTask">确定</button>
</div>
</div>
</div>
</div></a-modal
>
</div>
</template>
@@ -782,8 +848,8 @@ import * as apistage from "../../api/indexStage";
import * as apimove from "../../api/indexMovetask";
import draggable from "vuedraggable";
import { storage } from "../../api/storage";
import { updateExamination, deleteExaminationById } from "@/api/indexExam";
import { updateWorkTaskUsing, deleteWorkTask } from "@/api/indexWork";
import { deleteExaminationById } from "@/api/indexExam";
import { deleteWorkTask } from "@/api/indexWork";
const drawercolumns = [
{
@@ -848,10 +914,17 @@ export default {
: null,
chooseStageId: null,
edit: false,
isRefEdit: 1, //外链编辑
isLiveEdit: 1, //直播编辑
// isRefEdit: 1, //外链编辑
// isLiveEdit: 1, //直播编辑
isRefEdit: false, //外链编辑
isLiveEdit: false, //直播编辑
EditRefId: null, //要编辑的外链的id
EditLiveId: null, //要编辑的直播的id
editDiscussId: null, //要编辑的讨论的id
EditWorkId: null, // 要编辑的作业id
EditTestId: null, // 要编辑的考试id
EditEvalId: null,
projectTaskId: null, // 要编辑的具体任务id
projectNameList: [
{
id: 1,
@@ -991,6 +1064,7 @@ export default {
selectedRowKeys: [],
valuesname: "",
valuesnotice: "",
visiblene: false, //移动任务弹窗
confirmModal: false, //确认添加阶段弹窗
cC: false,
cancelModal: false, //确认取消阶段弹窗
@@ -1002,8 +1076,10 @@ export default {
deleteInvistID: 4, //评估
deleteDiscussID: null, //删除讨论id
deleteActivityID: null, //删除活动id
voteId: "", //删除投票id
deleteID: "",
selectRow: [], //选择行
curLevel: [], //阶段名称
selectAll: 0, //0未选择1全选2部分选择
});
console.log("projectId", state.projectId);
@@ -1209,7 +1285,6 @@ export default {
onClick={() => {
state.editonlinevisible = true;
console.log(text, "编辑text");
editInvistPath();
}}
style="color:#4EA6FF;margin-right:25px;cursor:pointer"
>
@@ -1249,13 +1324,19 @@ export default {
if (leng > 0) {
//获取任务列表
let arr = res.data.data.stageList[0].taskList;
console.log("任务列表", arr);
getTableData(arr);
}
let stagearr = res.data.data.stageList;
console.log(stagearr, 111111);
let arrlist = state.curLevel;
//console.log(stagearr, 111111);
if (stagearr.length > 0) {
getStageData(stagearr);
stagearr.map((value) => {
console.log(value);
arrlist.push();
});
}
//给阶段id赋初始值
state.chooseStageId = leng > 0 ? stagearr[0].stageId : null;
@@ -1275,48 +1356,20 @@ export default {
// }
//获取删除id投票)
const changeVData = (data) => {
console.log("8989", data);
state.voteId = data.voteId;
};
//数据变化
const updateTableData = (data) => {
console.log("添加数据", data);
getTask(data);
};
// 编辑考试
const updateTest = (id) => {
let obj = {
createTime: "",
createUser: 0,
examinationDuration: "",
examinationEndTime: "",
examinationExplain: "",
examinationFlag: "",
examinationId: id || 0,
examinationLimit: "",
examinationName: "",
examinationPaperId: 0,
examinationPaperName: "",
examinationStartTime: "",
examinationTag: "",
passLine: "",
questionArrangement: "",
scoringModel: "",
showAnalysis: "",
showAnswers: "",
updateTime: "",
updateUser: 0,
};
updateExamination(obj)
.then((res) => {
console.log(res);
message.error(`编辑成功`);
})
.catch(() => {
message.error(`编辑失败`);
});
};
// 删除考试
const deleteTest = () => {
let obj = {
examinationId: 0,
examinationId: state.deleteID,
};
deleteExaminationById(obj)
.then((res) => {
@@ -1333,7 +1386,7 @@ export default {
// 删除作业
const deleteWork = () => {
let obj = {
workId: 0,
workId: state.deleteID,
};
deleteWorkTask(obj)
.then((res) => {
@@ -1346,31 +1399,6 @@ export default {
console.log(err);
});
};
// 编辑作业
const updateWork = () => {
let obj = {
createTime: "",
createUser: 0,
submitEndTime: "",
submitStartTime: "",
updateTime: "",
updateUser: 0,
workEnclosureAddress: "",
workFlag: "",
workId: 0,
workName: "",
workRequirement: "",
workTag: "",
};
updateWorkTaskUsing(obj)
.then((res) => {
console.log(res);
})
.catch((err) => {
message.error(`编辑失败${err}`);
});
};
//删除直播
const deleteLiveBroadcast = () => {
@@ -1519,39 +1547,6 @@ export default {
});
};
//编辑测评信息
const editEvalPath = () => {
let obj = {
createTime: "",
createUser: 0,
evaluationEndTime: "",
evaluationFlag: "",
evaluationId: "",
evaluationName: "",
evaluationPictureAddress: "",
evaluationStartTime: "",
evaluationTag: "",
evaluationTypeId: 0,
evaluationTypeName: "",
updateTime: "",
updateUser: 0,
};
apieval
.updateEvaluation(obj)
.then((res) => {
setTimeout(() => {
console.log("修改成功", res);
message.success("修改成功");
}, 1000);
})
.catch((err) => {
console.log("修改失败", err);
// state.createLoading = false;
//重新获取列表
getTask();
});
};
//删除评估测试
const deleteInvistText = () => {
let obj = {
@@ -1610,7 +1605,8 @@ export default {
api
.deleteTask(obj)
.then((res) => {
console.log(res);
console.log(res, "gggggggggggggggg");
// deleteVoteText();
})
.catch((err) => {
console.log(err);
@@ -1620,7 +1616,7 @@ export default {
//删除投票信息
const deleteVoteText = () => {
let obj = {
voteId: "",
voteId: state.voteId,
};
apivote
.deleteVoteMessage(obj)
@@ -1668,6 +1664,12 @@ export default {
getTask();
});
};
const showChangeModal = () => {
state.visiblene = true;
};
const closeChangeModal = () => {
state.visiblene = false;
};
//移动任务到阶段
const moveTask = () => {
let obj = {
@@ -1761,23 +1763,37 @@ export default {
const showDrawerAddCase = () => {
state.addcasevisible = true;
};
const showDrawerAddHomework = () => {
const showDrawerAddHomework = (id, eleId) => {
state.EditWorkId = id;
state.projectTaskId = eleId;
state.addhomeworkvisible = true;
};
const showDrawerAddTest = () => {
const showDrawerAddTest = (id, eleId) => {
state.EditTestId = id;
state.projectTaskId = eleId;
state.addtestvisible = true;
};
const showDrawerAddLive = () => {
state.addlivevisible = true;
};
const showDrawerAddRef = () => {
const showDrawerAddRef = (id, eleId) => {
state.EditRefId = id;
state.projectTaskId = eleId;
state.addrefvisible = true;
};
const showDrawerAddDiscuss = () => {
state.adddiscussvisible = true;
};
const showDrawerAddActive = () => {
//打开编辑讨论的弹窗
const showEditAddDiscuss = (id, eleId) => {
state.editDiscussId = id;
state.projectTaskId = eleId;
state.adddiscussvisible = true;
};
const showDrawerAddActive = (id, eleId) => {
state.addactivevisible = true;
state.editActivityId = id;
state.projectTaskId = eleId;
};
const showDrawerAddEval = () => {
state.addevalvisible = true;
@@ -1875,7 +1891,7 @@ export default {
//打开编辑外链的弹窗
const showEditRefDrawer = (id) => {
state.addrefvisible = true;
state.isRefEdit = 2;
state.isRefEdit = true;
state.EditRefId = id;
};
//打开编辑直播的弹窗
@@ -1884,22 +1900,36 @@ export default {
state.isLiveEdit = 2;
state.EditLiveId = id;
};
//打开测评的弹窗
const showEditEvalDrawer = (id, eleId) => {
console.log("222222222222222222222", id);
state.addevalvisible = true;
state.projectTaskId = eleId;
state.EditRefId = id;
console.log(state.EditRefId);
};
//编辑的按钮
const decideType = (type, id) => {
const decideType = (type, id, eleId) => {
state.edit = true;
console.log(type, id);
if (type == "外链") {
showEditRefDrawer(id);
} else if (type == "直播") {
showEditLiveDrawer(id);
showEditLiveDrawer(id, eleId);
} else if (type == "测评") {
showDrawerAddEval(id);
showEditEvalDrawer(id, eleId);
} else if (type == "评估") {
showDrawerAddInvist(id);
showDrawerAddInvist(id, eleId);
} else if (type == "投票") {
showDrawerAddVote(id);
showDrawerAddVote(id, eleId);
} else if (type == "讨论") {
showDrawerAddDiscuss(id);
showEditAddDiscuss(id, eleId);
} else if (type == "活动") {
showDrawerAddActive(id, eleId);
} else if (type == "作业") {
showDrawerAddHomework(id, eleId);
} else if (type == "考试") {
showDrawerAddTest(id, eleId);
}
};
return {
@@ -1923,6 +1953,7 @@ export default {
showDrawerAddDiscuss,
showDrawerAddActive,
showDrawerAddEval,
showEditEvalDrawer,
showDrawerAddInvist,
showDrawerAddVote,
showConfirm,
@@ -1932,6 +1963,8 @@ export default {
closeCancel,
showDelete,
closeDelete,
showChangeModal,
closeChangeModal,
changebgc,
getTask,
deleteLiveBroadcast,
@@ -1942,7 +1975,6 @@ export default {
deleteActivity,
deleteVoteText,
editActivity,
editEvalPath,
deleteInvistText,
editInvistPath,
editVotePath,
@@ -1950,14 +1982,13 @@ export default {
deleteTask,
editStage,
updateTableData,
changeVData,
changeRow,
selectRowAll,
changeCourseType,
getStageData,
moveTask,
deleteTaskAll,
updateTest,
updateWork,
deleteTest,
deleteWork,
decideType,
@@ -2111,6 +2142,107 @@ export default {
}
}
}
.changeModal {
.ant-modal {
width: 549px !important;
height: 245px !important;
.ant-modal-content {
width: 549px !important;
height: 245px !important;
.ant-modal-body {
padding: 0 !important;
width: 549px !important;
height: 245px !important;
.con {
// background-color: #bfa;
width: 100%;
height: 100%;
.header {
width: 100%;
display: flex;
height: 68px;
position: relative;
justify-content: center;
background: linear-gradient(
rgba(78, 166, 255, 0.2) 0%,
rgba(78, 166, 255, 0) 100%
);
.inhe {
width: 80%;
height: 100%;
display: flex;
justify-content: space-between;
align-items: center;
.mod {
left: 30px;
top: 27px;
position: absolute;
width: 18px;
height: 17px;
background-image: url(../../assets/images/leveladd/mod.png);
}
.tz {
color: #000000;
font-weight: 400;
font-size: 16px;
}
.mg {
width: 20px;
height: 20px;
background-image: url(../../assets/images/basicinfo/close22.png);
background-size: 100% 100%;
cursor: pointer;
}
}
}
.mid {
width: 100%;
display: flex;
height: 100%;
justify-content: center;
.inher {
width: 80%;
height: 100%;
.cur {
color: #6f6f6f;
font-size: 14px;
}
.select {
margin-top: 10px;
}
.btn {
width: 100%;
display: flex;
justify-content: center;
margin-top: 30px;
.sameb {
width: 100px;
height: 40px;
font-size: 14px;
border-radius: 8px;
}
.btn1 {
color: #4ea6ff;
background: #ffffff;
border: 1px solid #4ea6ff;
}
.btn2 {
margin-left: 16px;
border: 0;
color: #ffffff;
background: #4ea6ff;
}
}
}
}
}
}
}
}
}
.info {
width: 78%;
// background-color: lightcoral;