This commit is contained in:
fooperage
2023-02-12 20:15:46 +08:00
parent dfc8d8fb72
commit 58238b986a
6 changed files with 184 additions and 153 deletions

View File

@@ -13,10 +13,11 @@
<div class="btnText">添加阶段</div>
</div>
<div class="maincon" style="background-color: #fff">
<draggable v-model="level" chosenClass="chosen" ghostClass="ghost" forceFallback="true" group="stage"
animation="500">
<draggable v-model="level" chosenClass="chosen" ghostClass="ghost" forceFallback="true"
group="stage" animation="500">
<template #item="{ element }">
<div class="items" :class="chooseStageId == element.id ? 'active' : ''" @click="changebgc(element.id)">
<div class="items" :class="chooseStageId == element.id ? 'active' : ''"
@click="changebgc(element.id)">
<div class="items1">
<div class="boxs_left">
<a-popover placement="topLeft" trigger="click">
@@ -107,13 +108,20 @@
<!-- 2022-11-30注释 后面放开 -->
<div class="select" style="margin-right:90px;">
<span>学习模式</span>
<div class="inputbox">
<input type="text" placeholder="按学习时间解锁" style="padding-left:12px;" />
<div class="bottonbox" @click="showModeVisible">
<div class="btnText">切换模式</div>
</div>
<unlock-mode v-model:unlockModeVisible="unlockModeVisible" />
</div>
<!-- <div class="inputbox"> -->
<!-- <input type="text" placeholder="按学习时间解锁" style="padding-left:12px;" /> -->
<a-select v-model:value="unlockMode" ref="select" size="small" style="width: 150px"
disabled>
<a-select-option :value="1">自由学习模式</a-select-option>
<a-select-option :value="2">闯关模式</a-select-option>
<a-select-option :value="3">闯关模式</a-select-option>
</a-select>
<a-button type="primary" size="large" style="margin-left:10px;border-radius: 10px;" @click="showModeVisible">切换模式</a-button>
<!-- <div class="bottonbox" @click="showModeVisible">
<div class="btnText">切换模式</div>
</div> -->
<unlock-mode ref="unlockModeModal" v-model:unlockModeVisible="unlockModeVisible" :objData="projectInfo" @saveUnlock="saveUnlock"/>
<!-- </div> -->
</div>
<div class="line"></div>
<!-- <img class="img2" src="../../assets/images/projectadd/keep.png" />
@@ -138,9 +146,10 @@
</div>
<!-- 添加在线侧弹窗 -->
<div>
<add-online v-model:addonlineVisible="addonlinevisible" @changeData="updateTableData" :isLevel="isLevel"
v-model:edit="edit" v-model:projectId="projectId" v-model:chooseStageId="chooseStageId"
v-model:projectTaskId="projectTaskId" v-model:EditOnlineId="EditOnlineId" />
<add-online v-model:addonlineVisible="addonlinevisible" @changeData="updateTableData"
:isLevel="isLevel" v-model:edit="edit" v-model:projectId="projectId"
v-model:chooseStageId="chooseStageId" v-model:projectTaskId="projectTaskId"
v-model:EditOnlineId="EditOnlineId" />
</div>
<!-- 添加在线侧弹窗 -->
<div class="lin"></div>
@@ -154,10 +163,10 @@
</div>
<!-- 添加面授侧弹窗 -->
<div>
<add-faceteach v-model:addfaceteachVisible="addfaceteachvisible" v-model:EditFaceId="EditFaceId"
v-model:edit="edit" :isLevel="isLevel" v-model:projectId="projectId"
v-model:chooseStageId="chooseStageId" @changeData="updateTableData"
v-model:projectTaskId="projectTaskId" />
<add-faceteach v-model:addfaceteachVisible="addfaceteachvisible"
v-model:EditFaceId="EditFaceId" v-model:edit="edit" :isLevel="isLevel"
v-model:projectId="projectId" v-model:chooseStageId="chooseStageId"
@changeData="updateTableData" v-model:projectTaskId="projectTaskId" />
</div>
<!-- 添加面授侧弹窗 -->
<div class="lin"></div>
@@ -171,9 +180,10 @@
</div>
<!-- 添加案例侧弹窗 -->
<div>
<add-case v-model:addcaseVisible="addcasevisible" @changeData="updateTableData" :isLevel="isLevel"
v-model:edit="edit" v-model:projectId="projectId" v-model:chooseStageId="chooseStageId"
v-model:projectTaskId="projectTaskId" v-model:EditCaseId="EditCaseId" />
<add-case v-model:addcaseVisible="addcasevisible" @changeData="updateTableData"
:isLevel="isLevel" v-model:edit="edit" v-model:projectId="projectId"
v-model:chooseStageId="chooseStageId" v-model:projectTaskId="projectTaskId"
v-model:EditCaseId="EditCaseId" />
</div>
<!-- 添加案例侧弹窗 -->
<div class="lin"></div>
@@ -204,9 +214,10 @@
</div>
<!-- 添加考试侧弹窗 -->
<div>
<add-test v-model:addtestVisible="addtestvisible" @changeData="updateTableData" :isLevel="isLevel"
v-model:edit="edit" v-model:projectId="projectId" v-model:chooseStageId="chooseStageId"
v-model:EditTestId="EditTestId" v-model:projectTaskId="projectTaskId" />
<add-test v-model:addtestVisible="addtestvisible" @changeData="updateTableData"
:isLevel="isLevel" 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>
@@ -220,8 +231,9 @@
</div>
<!-- 添加直播侧弹窗 -->
<div>
<add-live v-model:addliveVisible="addlivevisible" :isLevel="isLevel" @changeData="updateTableData"
v-model:projectId="projectId" v-model:chooseStageId="chooseStageId" v-model:edit="edit"
<add-live v-model:addliveVisible="addlivevisible" :isLevel="isLevel"
@changeData="updateTableData" v-model:projectId="projectId"
v-model:chooseStageId="chooseStageId" v-model:edit="edit"
v-model:EditLiveId="EditLiveId" v-model:projectTaskId="projectTaskId" />
</div>
<!-- 添加直播侧弹窗 -->
@@ -236,9 +248,10 @@
</div>
<!-- 添加外链侧弹窗 -->
<div>
<add-ref v-model:addrefVisible="addrefvisible" :isLevel="isLevel" @changeData="updateTableData"
v-model:projectId="projectId" v-model:chooseStageId="chooseStageId" v-model:edit="edit"
v-model:EditRefId="EditRefId" v-model:projectTaskId="projectTaskId" />
<add-ref v-model:addrefVisible="addrefvisible" :isLevel="isLevel"
@changeData="updateTableData" v-model:projectId="projectId"
v-model:chooseStageId="chooseStageId" v-model:edit="edit" v-model:EditRefId="EditRefId"
v-model:projectTaskId="projectTaskId" />
</div>
<!-- 添加外链侧弹窗 -->
<div class="lin"></div>
@@ -246,25 +259,19 @@
<!-- TODO1216 -->
<div class="item" @click="showDrawerAddDiscuss">
<div class="itcon">
<div class="img">
<img src="../../assets/images/leveladd/tao.png" />
<div class="img">
<img src="../../assets/images/leveladd/tao.png" />
</div>
<div class="text">讨论</div>
</div>
<div class="text">讨论</div>
</div>
<div>
<add-discuss
v-model:adddiscussVisible="adddiscussvisible"
v-model:edit="edit"
:isLevel="isLevel"
v-model:projectId="projectId"
v-model:chooseStageId="chooseStageId"
v-model:EditDiscussId="EditDiscussId"
v-model:projectTaskId="projectTaskId"
@changeData="updateTableData"
/>
<add-discuss v-model:adddiscussVisible="adddiscussvisible" v-model:edit="edit"
:isLevel="isLevel" v-model:projectId="projectId" v-model:chooseStageId="chooseStageId"
v-model:EditDiscussId="EditDiscussId" v-model:projectTaskId="projectTaskId"
@changeData="updateTableData" />
</div>
<div class="lin"></div>
</div>
@@ -278,8 +285,9 @@
<!-- 添加活动侧弹窗 -->
<div>
<add-active v-model:addactiveVisible="addactivevisible" v-model:projectId="projectId"
v-model:EditActiveId="EditActiveId" v-model:projectTaskId="projectTaskId" v-model:edit="edit"
:isLevel="isLevel" v-model:chooseStageId="chooseStageId" @changeData="updateTableData" />
v-model:EditActiveId="EditActiveId" v-model:projectTaskId="projectTaskId"
v-model:edit="edit" :isLevel="isLevel" v-model:chooseStageId="chooseStageId"
@changeData="updateTableData" />
</div>
<!-- 添加活动侧弹窗 -->
<div class="lin"></div>
@@ -293,9 +301,10 @@
</div>
<!-- 添加测评侧弹窗 -->
<div>
<add-eval v-model:addevalVisible="addevalvisible" @changeData="updateTableData" v-model:edit="edit"
:isLevel="isLevel" v-model:projectId="projectId" v-model:chooseStageId="chooseStageId"
v-model:projectTaskId="projectTaskId" v-model:EditEvalId="EditEvalId" />
<add-eval v-model:addevalVisible="addevalvisible" @changeData="updateTableData"
v-model:edit="edit" :isLevel="isLevel" v-model:projectId="projectId"
v-model:chooseStageId="chooseStageId" v-model:projectTaskId="projectTaskId"
v-model:EditEvalId="EditEvalId" />
</div>
<!-- 添加测评侧弹窗 -->
<div class="lin"></div>
@@ -309,41 +318,34 @@
</div>
<!-- 添加评估侧弹窗 -->
<div>
<add-invist v-model:addinvistVisible="addinvistvisible" @changeData="updateTableData" v-model:edit="edit"
:isLevel="isLevel" v-model:projectId="projectId" v-model:chooseStageId="chooseStageId"
v-model:projectTaskId="projectTaskId" v-model:EditInvistId="EditInvistId" />
<add-invist v-model:addinvistVisible="addinvistvisible" @changeData="updateTableData"
v-model:edit="edit" :isLevel="isLevel" v-model:projectId="projectId"
v-model:chooseStageId="chooseStageId" v-model:projectTaskId="projectTaskId"
v-model:EditInvistId="EditInvistId" />
</div>
<div class="lin"></div>
</div>
<!-- TODO1216 -->
<div class="item" @click="showDrawerAddVote">
<div class="itcon">
<div class="img">
<img src="../../assets/images/leveladd/tou.png" />
<div class="item" @click="showDrawerAddVote">
<div class="itcon">
<div class="img">
<img src="../../assets/images/leveladd/tou.png" />
</div>
<div class="text">投票</div>
<div>
<add-vote v-model:addvoteVisible="addvotevisible" @changeData="updateTableData"
@getData="changeVData" v-model:edit="edit" :isLevel="isLevel"
v-model:projectId="projectId" v-model:chooseStageId="chooseStageId"
v-model:projectTaskId="projectTaskId" v-model:EditVoteId="EditVoteId"
v-model:voteId="voteId" v-model:ballotId="ballotId" />
</div>
</div>
</div>
<div class="text">投票</div>
<div>
<add-vote
v-model:addvoteVisible="addvotevisible"
@changeData="updateTableData"
@getData="changeVData"
v-model:edit="edit"
:isLevel="isLevel"
v-model:projectId="projectId"
v-model:chooseStageId="chooseStageId"
v-model:projectTaskId="projectTaskId"
v-model:EditVoteId="EditVoteId"
v-model:voteId="voteId"
v-model:ballotId="ballotId"
/>
</div>
</div>
</div>
</div>
<div class="boom">
<div class="boomcen">
@@ -432,8 +434,8 @@
操作
</div>
</div>
<draggable v-model="tableData" chosenClass="chosen" ghostClass="ghost" forceFallback="true" group="task"
animation="500" @start="onStart" @end="onEnd">
<draggable v-model="tableData" chosenClass="chosen" ghostClass="ghost"
forceFallback="true" group="task" animation="500" @start="onStart" @end="onEnd">
<template #item="{ element }">
<div style="
height: 50px;
@@ -460,7 +462,8 @@
position: absolute;
left: -25px;
"></div>
<a-checkbox :id="element.id" v-model:checked="element.checked" @change="changeRow">
<a-checkbox :id="element.id" v-model:checked="element.checked"
@change="changeRow">
</a-checkbox>
<div style="margin-top: 2px; margin-left: 8px">
{{ element.lei }}
@@ -479,8 +482,9 @@
<div style="width: 120px; text-align: center">
<div class="opat">
<div class="opacationt clearfix">
<a-switch style="margin-left: -50px; margin-top: 3px" v-model:checked="element.checked1"
size="small" active-color="red" @click="changeCourseType(element)" />
<a-switch style="margin-left: -50px; margin-top: 3px"
v-model:checked="element.checked1" size="small"
active-color="red" @click="changeCourseType(element)" />
<div class="showt clearfix">
<div class="bi" :style="{
'z-index': element.checked1 ? 999 : 998,
@@ -494,10 +498,11 @@
</div>
<div style="width: 87px; text-align: center">
{{
element.cretime
?
element.type==1? Math.ceil(Number(element.cretime)/60) + "分钟" : element.cretime + "分钟"
: "-"
element.cretime
?
element.type == 1 ? Math.ceil(Number(element.cretime) / 60) + "分钟" :
element.cretime + "分钟"
: "-"
}}
</div>
<div style="
@@ -507,7 +512,7 @@
">
<div class="opa">
<div class="opacation">
<span v-if="element.type!==5" style="
<span v-if="element.type !== 5" style="
color: #4ea6ff;
margin-right: 25px;
cursor: pointer;
@@ -520,15 +525,14 @@
">
编辑
</span>
<span
v-else
style="
<span v-else style="
color: #4ea6ff;
margin-right: 55px;
cursor: pointer;
">
</span>
<span style="color: #4ea6ff; cursor: pointer" @click="showDelete(element.id)">
<span style="color: #4ea6ff; cursor: pointer"
@click="showDelete(element.id)">
删除
</span>
</div>
@@ -573,13 +577,13 @@
<div class="footbtn">
<div class="btnbox">
<div class="btn btn2" @click="temporaryStorage">
<div class="btnText">暂存</div>
<div class="btnText">暂存</div>
</div>
<div class="btn btn2" @click="submitStorage">
<div class="btnText">确定</div>
<div class="btnText">确定</div>
</div>
<div class="btn btn1" @click="cancelStorage">
<div class="btnText">取消</div>
<div class="btnText">取消</div>
</div>
</div>
</div>
@@ -661,7 +665,8 @@
</a-modal>
</div>
<!-- 确认添加阶段弹窗 -->
<a-modal v-model:visible="confirmModal" :footer="null" :closable="cC" wrapClassName="ConfirmModal" centered="true">
<a-modal v-model:visible="confirmModal" :footer="null" :closable="cC" wrapClassName="ConfirmModal"
centered="true">
<div class="delete">
<div class="del_header"></div>
<div class="del_main">
@@ -685,7 +690,8 @@
</div>
</a-modal>
<!-- 确认取消阶段弹窗 -->
<a-modal v-model:visible="cancelModal" :footer="null" :closable="cC" wrapClassName="ConfirmModal" centered="true">
<a-modal v-model:visible="cancelModal" :footer="null" :closable="cC" wrapClassName="ConfirmModal"
centered="true">
<div class="delete">
<div class="del_header"></div>
<div class="del_main">
@@ -709,7 +715,8 @@
</div>
</a-modal>
<!-- 确认删除任务弹窗 -->
<a-modal v-model:visible="deleteModal" :footer="null" :closable="cC" wrapClassName="ConfirmModal" centered="true">
<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">
@@ -797,7 +804,8 @@
<div class="close_exit" @click="closeDeleteStage"></div>
</div>
<div class="body">
<span style="width:320px;display:flex;justify-content:center;align-items:center;">{{ level.length == 1 ?
<span style="width:320px;display:flex;justify-content:center;align-items:center;">{{
level.length == 1 ?
"当前为最后一个阶段,删除后任务将被移出,为无阶段模式,确认删除阶段吗?" : "您确定要删除此阶段"
}}</span>
</div>
@@ -896,6 +904,8 @@ export default {
//阶段数据
level: [],
stageList: [],
projectInfo: null, // 项目信息
unlockMode: 1, // 学习模式
projectTitle: null,
picUrl: null,
@@ -1161,6 +1171,21 @@ export default {
return columns;
};
const saveUnlock = (num)=>{
console.log('保存操作',num)
state.projectInfo.unlockMode = num
api.editProj(state.projectInfo).then(res=>{
if(res.data.code === 200){
message.success(res.data.msg)
getTask()
}else{
message.error(res.data.msg)
}
}).catch(e=>{
message.error(e.data.msg)
})
}
//获取任务列表
const getTask = async () => {
let obj = {
@@ -1172,6 +1197,8 @@ export default {
if (state.onceChoice) {
let data = res.data.data.stageList;
state.onceChoice = false;
state.projectInfo = res.data.data.projectInfo
state.unlockMode = res.data.data.projectInfo.unlockMode
let arraynew = []
for (let i = 0; i < data.length; i++) {
if (data[i].stageId !== '0') {
@@ -1754,6 +1781,7 @@ export default {
showModal1,
closeCancel,
showDelete,
saveUnlock,
closeDelete,
showChangeModal,
closeChangeModal,