feat:增加学习路径id以及项目id

This commit is contained in:
李晓鸽
2022-11-04 15:50:19 +08:00
13 changed files with 5397 additions and 4700 deletions

View File

@@ -175,7 +175,7 @@
<div>
<add-homework
flag="0"
routerTaskId="ListChoosedId"
:workId="editID"
v-model:addhomeworkVisible="addhomeworkvisible"
/>
</div>
@@ -190,12 +190,16 @@
</div>
<!-- 添加考试侧弹窗 -->
<div>
<add-test v-model:addtestVisible="addtestvisible" />
<add-test
:workId="editID"
@clearEditData="clearEditData"
v-model:addtestVisible="addtestvisible"
/>
</div>
<div class="lin"></div>
</div>
<div class="item">
<div class="itcon">
<div class="itcon" @click="showDrawerAddLive">
<div class="img">
<img src="../../assets/images/leveladd/zhi.png" />
</div>
@@ -204,7 +208,7 @@
<div class="lin"></div>
</div>
<div class="item">
<div class="itcon">
<div class="itcon" @click="showDrawerAddRef">
<div class="img">
<img src="../../assets/images/leveladd/wai.png" />
</div>
@@ -212,7 +216,7 @@
</div>
<div class="lin"></div>
</div>
<div class="item">
<div class="item" @click="showDrawerAddDiscuss">
<div class="itcon">
<div class="img">
<img src="../../assets/images/leveladd/tao.png" />
@@ -221,7 +225,7 @@
</div>
<div class="lin"></div>
</div>
<div class="item">
<div class="item" @click="showDrawerAddActive">
<div class="itcon">
<div class="img">
<img src="../../assets/images/leveladd/huo.png" />
@@ -241,6 +245,7 @@
<add-eval
v-model:addevalVisible="addevalvisible"
v-model:edit="edit"
v-model:learn="learn"
/>
</div>
<!-- 添加测评侧弹窗 -->
@@ -255,7 +260,10 @@
<div class="text">评估</div>
<!-- 添加评估侧弹窗 -->
<div>
<add-invist v-model:addinvistVisible="addinvistvisible" />
<add-invist
v-model:addinvistVisible="addinvistvisible"
@changeData="updateTableData"
/>
</div>
<!-- 添加评估侧弹窗 -->
</div>
@@ -269,13 +277,16 @@
<div class="text">投票</div>
<!-- 添加投票侧弹窗 -->
<div>
<add-vote v-model:addvoteVisible="addvotevisible" />
<add-vote
v-model:addvoteVisible="addvotevisible"
@changeData="updateTableData"
/>
</div>
<!-- 添加投票侧弹窗 -->
</div>
<div class="lin"></div>
</div>
<div class="item">
<div class="item" @click="showDrawerAddVote">
<div class="itcon">
<div class="img">
<img
@@ -311,6 +322,7 @@
:loading="tableDataTotal === -1 ? true : false"
expandRowByClick="true"
@expand="expandTable"
:customRow="handleClickRow"
:pagination="false"
:row-selection="{
columnWidth: 30,
@@ -512,6 +524,19 @@
<add-stu v-model:AddSvisible="AddSvisible" />
<!-- 导入学员抽屉 -->
<imp-stu v-model:AddImpStuvisible="AddImpStuvisible" />
<!-- 添加讨论侧弹窗 -->
<div>
<add-discuss
v-model:adddiscussVisible="adddiscussvisible"
v-model:isStudiscuss="isStudiscuss"
/>
</div>
<!-- 添加讨论侧弹窗 -->
<!-- 添加活动侧弹窗 -->
<div>
<add-active v-model:addactiveVisible="addactivevisible" />
</div>
<!-- 添加活动侧弹窗 -->
<!-- 批量删除学员弹窗 -->
<a-modal
v-model:visible="deleteAll"
@@ -542,6 +567,43 @@
</div>
</div>
</a-modal>
<!-- 添加直播抽屉 -->
<add-live v-model:addliveVisible="addlivevisible" />
<add-ref
v-model:addrefVisible="addrefvisible"
v-model:routerId="routerId"
/>
<!-- 是否确认删除任务弹窗 -->
<!-- 确认删除阶段弹窗 -->
<a-modal
v-model:visible="deleteModal"
:footer="null"
:closable="cC"
wrapClassName="ConfirmModal"
centered="true"
>
<div class="delete">
<div class="del_header"></div>
<div class="del_main">
<div class="header">
<div class="icon"></div>
<span>提示</span>
<div class="close_exit" @click="closeConfirm"></div>
</div>
<div class="body">
<span>您确定要删除此任务吗</span>
</div>
<div class="del_btnbox">
<div class="del_btn btn1">
<div class="btnText" @click="closeConfirm">取消</div>
</div>
<div class="del_btn btn2">
<div class="btnText" @click="deleteLevelTask">确定</div>
</div>
</div>
</div>
</div>
</a-modal>
</div>
</template>
@@ -551,26 +613,35 @@ import AddStu from "../../components/drawers/AddLevelAddStu";
import ImpStu from "../../components/drawers/AddLevelImportStu";
import AddHomework from "../../components/drawers/AddHomework.vue";
import AddTest from "../../components/drawers/AddTest.vue";
import AddDiscuss from "../../components/drawers/AddDiscuss.vue";
import AddActive from "../../components/drawers/AddActive.vue";
import AddEval from "../../components/drawers/AddEval.vue";
import AddInvist from "../../components/drawers/AddInvist.vue";
import AddVote from "../../components/drawers/AddVote.vue";
import AddLive from "../../components/drawers/AddLive.vue";
import AddRef from "../../components/drawers/AddRef.vue";
import * as api from "../../api/indexLevel";
import { GetRouterDetail, RouterDeleteTask } from "../../api/indexTask";
import { message } from "ant-design-vue";
import { storage } from "../../api/storage";
export default {
name: "LevelAddDetail",
components: {
AddStu,
ImpStu,
AddHomework,
AddDiscuss,
AddActive,
AddTest,
AddEval,
AddInvist,
AddVote,
AddLive,
AddRef,
},
setup() {
const state = reactive({
routerId: localStorage.getItem("routerId"),
routerId: storage.get("routerId")?storage.get("routerId"):null,
level: [
{
chapterId: "1",
@@ -582,6 +653,7 @@ export default {
{
key: 1,
lei: "在线",
routerTaskId: 0,
// state: "已发布",
creater: "管理者课程",
// pubtime: "2022-07-20 14:00:03",
@@ -765,18 +837,28 @@ export default {
visible: false,
AddSvisible: false, //添加学员抽屉
AddImpStuvisible: false, //导入学员抽屉
addlivevisible: false, //添加直播抽屉
addrefvisible: false, //添加外链抽屉
modal: false,
clos: false,
stm_hs: false,
deleteAll: false,
closeDeleteAll: false,
deleteModal: false, // 删除弹窗
deleteID: "", // 要删除的任务的id
editID: "", // 要编辑的任务id
cC: false,
value1: "",
value2: "",
selectedRowKeys: [],
edit: false, //是否点击编辑
learn: 0,
gqxy_hs: true,
isactive: 0,
projectChecked: null, //项目单选框
adddiscussvisible: false, //讨论抽屉
isStudiscuss: false,
addactivevisible: false, //活动抽屉
addhomeworkvisible: false,
addtestvisible: false,
addevalvisible: false,
@@ -786,7 +868,13 @@ export default {
// 表示当前触发列表的id,用来发送编辑和删除
ListChoosedId: 0,
});
const showDrawerAddDiscuss = () => {
state.adddiscussvisible = true;
state.isStudiscuss = true;
};
const showDrawerAddActive = () => {
state.addactivevisible = true;
};
//新建关卡
const editChapter = () => {
if (!state.value1) return message.warning("请输入关卡名称");
@@ -847,6 +935,7 @@ export default {
//测试评估投票抽屉
const showDrawerAddEval = () => {
state.addevalvisible = true;
state.learn = 1;
};
const showDrawerAddInvist = () => {
state.addinvistvisible = true;
@@ -865,25 +954,19 @@ export default {
creater: element.name,
cretime: element.duration,
checked1: element.flag,
routerTaskId: element.routerTaskId,
};
});
};
const getDetail = (index) => {
GetRouterDetail(92)
.then((res) => {
state.level = res.data.data.chapterList;
console.log(state.level);
if (index == 0) {
// state.tableData[1] = {
// key: 2,
// lei: "在线",
// creater: "管理者课程",
// cretime: "60",
// checked1: true,
// }
dataAssignment(0);
}
state.deleteModal = false;
})
.catch((err) => {
message.error(err);
@@ -1007,15 +1090,15 @@ export default {
// width: 100,
align: "center",
scopedSlots: { customRender: "action" }, //引入的插槽
customRender: () => {
customRender: (e) => {
return (
<div class="opa">
<div class="opacation">
<span
style="color:#4EA6FF;margin-right:25px;cursor:pointer"
onClick={() => {
state.edit = true;
state.addevalvisible = true;
state.editID = e.record.routerTaskId;
state.addhomeworkvisible = true;
}}
>
编辑
@@ -1023,7 +1106,7 @@ export default {
<span
style="color:#4EA6FF;cursor:pointer"
onClick={() => {
deleteLevelTask();
showDeleteModal(e.record.routerTaskId);
}}
>
删除
@@ -1257,6 +1340,15 @@ export default {
const delete_exit = () => {
state.deleteAll = false;
};
const showDeleteModal = (id) => {
state.deleteID = id;
state.deleteModal = true;
};
const closeConfirm = () => {
state.deleteModal = false;
state.deleteID = "";
state.editID = "";
};
const deleteLevelTask = () => {
RouterDeleteTask(state.listChoosedId)
.then((res) => {
@@ -1268,6 +1360,23 @@ export default {
});
};
const showDrawerAddLive = () => {
state.addlivevisible = true;
};
const showDrawerAddRef = () => {
state.addrefvisible = true;
};
const closeDeleteModel = () => {
state.deleteModal = false;
state.deleteID = "";
};
// 子组件触发的清空 editid 事件
const clearEditData = () => {
state.editID = "";
getDetail(0);
};
return {
...toRefs(state),
tableDataFunc,
@@ -1285,6 +1394,7 @@ export default {
gqxy_hShow,
showDeleteALLModal,
delete_exit,
closeConfirm,
drawertableColumns,
editChapter,
// updateChapter,
@@ -1294,12 +1404,129 @@ export default {
showDrawerAddInvist,
showDrawerAddVote,
deleteLevelTask,
showDrawerAddLive,
showDrawerAddRef,
closeDeleteModel,
clearEditData,
showDrawerAddDiscuss,
showDrawerAddActive,
};
},
};
</script>
<style lang="scss">
.ConfirmModal {
.ant-modal {
width: 424px !important;
height: 258px !important;
.ant-modal-content {
width: 424px !important;
height: 258px !important;
.ant-modal-body {
width: 424px !important;
height: 258px !important;
padding: 0 !important;
.delete {
z-index: 999;
width: 424px;
height: 258px;
background: #ffffff;
box-shadow: 0px 1px 35px 0px rgba(118, 136, 166, 0.21);
border-radius: 4px;
// position: absolute;
// left: 50%;
// top: 10%;
// transform: translate(-50%, -50%);
.del_header {
position: absolute;
width: calc(100%);
height: 40px;
background: linear-gradient(
rgba(78, 166, 255, 0.2) 0%,
rgba(78, 166, 255, 0) 100%
);
}
.del_main {
width: 100%;
position: relative;
.header {
display: flex;
align-items: center;
padding-top: 20px;
padding-left: 26px;
font-size: 16px;
.icon {
width: 16px;
height: 16px;
margin-right: 10px;
background-image: url(@/assets/images/coursewareManage/QR.png);
background-size: 100% 100%;
}
.close_exit {
position: absolute;
right: 42px;
cursor: pointer;
width: 20px;
height: 20px;
background-image: url(@/assets/images/coursewareManage/close.png);
background-size: 100% 100%;
}
}
.body {
width: 100%;
margin: 34px auto 56px auto;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
// background-color: red;
position: relative;
.back {
position: absolute;
top: 30px;
font-size: 12px;
font-weight: 400;
color: #666666;
}
}
.del_btnbox {
display: flex;
margin: 30px auto;
justify-content: center;
.del_btn {
width: 100px;
height: 40px;
background: rgba(64, 158, 255, 0);
border-radius: 8px;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
cursor: pointer;
.btnText {
font-size: 14px;
font-weight: 400;
line-height: 40px;
}
}
.btn1 {
border: 1px solid rgba(64, 158, 255, 1);
color: #4ea6ff;
margin-right: 14px;
}
.btn2 {
background-color: #4ea6ff;
color: #ffffff;
}
}
}
}
}
}
}
}
.clearfix:after,
.clearfix:before {
content: " ";