feat:taskoage所有二维码整理成一个弹窗,在线抽屉动态获取选项数,学习路径关联项目抽屉接口还没调试好

This commit is contained in:
Ggysh-7
2022-11-16 13:09:30 +08:00
parent 633ec2d6bf
commit 87db2fab4d
7 changed files with 808 additions and 902 deletions

View File

@@ -59,10 +59,10 @@
<div class="mntc_left"> <div class="mntc_left">
<div class="notice_icon"></div> <div class="notice_icon"></div>
<span style="color: rgba(0, 0, 0, 0.65); margin-right: 17px" <span style="color: rgba(0, 0, 0, 0.65); margin-right: 17px"
>已选择 <span style="color: #388be1">4</span> </span >已选择 <span style="color: #388be1">{{RowsNum}}</span> </span
> >
<span style="color: rgba(0, 0, 0, 0.65)" <span style="color: rgba(0, 0, 0, 0.65)"
>列表选项总计<span>14</span> </span >列表选项总计<span>{{tableDataTotal}}</span> </span
> >
</div> </div>
<div class="mntc_right"> <div class="mntc_right">
@@ -169,7 +169,8 @@ export default {
time: undefined, time: undefined,
assessmentId:null, assessmentId:null,
assessmentName:"", assessmentName:"",
tableData: [ ], RowsNum: 0,
tableData: [],
currentPage: 1, currentPage: 1,
tableDataTotal: 0, tableDataTotal: 0,
pageSize: 10, pageSize: 10,
@@ -183,7 +184,7 @@ export default {
}; };
const tableDataFunc = () => { const tableDataFunc = () => {
const columns = [ const columns = [
{ {
title: "课程编号", title: "课程编号",
dataIndex: "num", dataIndex: "num",
key: "num", key: "num",
@@ -230,10 +231,24 @@ export default {
return columns; return columns;
}; };
const rowSelection = { const rowSelection = {
checkStrictly: false,
onSelectAll: (selected) => {
console.log(selected);
if (selected == true) {
state.RowsNum = state.tableDataTotal
} else {
state.RowsNum = 0
}
},
onSelect: (selectedRows, selected, selectedRowKeys) => { onSelect: (selectedRows, selected, selectedRowKeys) => {
console.log( console.log(
"selectedRowKeys", selectedRowKeys, "selectedRows", selectedRows, "selected", selected); "selectedRowKeys", selectedRowKeys, "selectedRows", selectedRows, "selected", selected);
console.log(selectedRows.assessmentId); console.log(selectedRows.assessmentId);
if (selected == true) {
state.RowsNum++
} else {
state.RowsNum--
}
state.assessmentId = selectedRows.assessmentId; state.assessmentId = selectedRows.assessmentId;
state.assessmentName = selectedRows.name; state.assessmentName = selectedRows.name;
}, },

View File

@@ -239,9 +239,10 @@ export default {
} }
// for (let i = 0; i < state.questions.length; i++) { // for (let i = 0; i < state.questions.length; i++) {
// for (let k = 0; k < state.questions[i].options.length; k++) { // for (let k = 0; k < state.questions[i].options.length; k++) {
// // console.log('1111111111111111', state.questions); // console.log('1111111111111111', state.questions);
// // console.log('2222222222222222', state.questions[i].options); // console.log('2222222222222222', state.questions[i]);
// console.log(' state.questions[i].inputV', state.questions[i].inputV,);
// console.log('state.questions[i].options[k].opvalue',state.questions[i].options[k].opvalue)
// } // }
// } // }
let obj = { let obj = {

View File

@@ -70,6 +70,10 @@
<div class="img2"></div> <div class="img2"></div>
<div class="wz">导出数据</div> <div class="wz">导出数据</div>
</div> </div>
<div class="btn btn2">
<div class="img2"></div>
<div class="wz">导出作业</div>
</div>
</div> </div>
<div class="line"> <div class="line">
<div class="inline"> <div class="inline">
@@ -362,7 +366,7 @@ export default {
let timer; let timer;
onMounted(() => { onMounted(() => {
setTimeout(() => { setTimeout(() => {
// getManageList(); getManageList();
}, 1000); }, 1000);
timer = setInterval(() => { timer = setInterval(() => {
state.open = false; state.open = false;

View File

@@ -219,10 +219,6 @@ export default {
const onChange = (pageNumber) => { const onChange = (pageNumber) => {
console.log("Page: ", pageNumber); console.log("Page: ", pageNumber);
}; };
// watch(props.visible, ()=>{
// getManageList()
// },{immediate:true});
//获取任务管理列表 //获取任务管理列表
const getManageList = () => { const getManageList = () => {
let obj = { let obj = {
@@ -237,7 +233,6 @@ export default {
api api
.taskStudentList(obj) .taskStudentList(obj)
.then((res) => { .then((res) => {
console.log("csscas成功");
state.pageNo = res.data.data.pageNo; state.pageNo = res.data.data.pageNo;
state.pageSize = res.data.data.pageSize; state.pageSize = res.data.data.pageSize;
state.pageSize = res.data.data.pageSize; state.pageSize = res.data.data.pageSize;
@@ -291,7 +286,7 @@ export default {
let timer; let timer;
onMounted(() => { onMounted(() => {
setTimeout(() => { setTimeout(() => {
// getManageList(); getManageList();
}, 500); }, 500);
timer = setInterval(() => { timer = setInterval(() => {
state.open = false; state.open = false;

View File

@@ -65,6 +65,9 @@
<div class="btn btn2" @click="showModal"> <div class="btn btn2" @click="showModal">
<div class="wz">导出作业</div> <div class="wz">导出作业</div>
</div> </div>
<div class="btn btn2" @click="showModal">
<div class="wz">导入成绩</div>
</div>
</div> </div>
<div class="tab" style="margin-top: 20px; margin-bottom: 100px"> <div class="tab" style="margin-top: 20px; margin-bottom: 100px">
<a-table <a-table
@@ -312,7 +315,7 @@ export default {
onMounted(() => { onMounted(() => {
setTimeout(() => { setTimeout(() => {
// getManageList(); getManageList();
}, 1000); }, 1000);
}); });
return { return {

File diff suppressed because it is too large Load Diff

View File

@@ -419,23 +419,7 @@
<div <div
class="operation" class="operation"
style="cursor: pointer" style="cursor: pointer"
:style="{ @click=" showCopyModal(item.type)"
display:
item.type == '6' ||
item.type == '9' ||
item.type == '2'
? 'flex'
: 'none',
}"
@click="
item.type == '2'
? showCopyModal(item.type)
: item.type == '6'
? showzhibModal(item.type)
: item.type == '9'
? showhuodModal(item.type)
: null
"
> >
二维码 二维码
</div> </div>
@@ -1082,60 +1066,33 @@
:projectTaskId="projectTaskId" :projectTaskId="projectTaskId"
/> />
<!-- 考试管理抽屉 --> <!-- 考试管理抽屉 -->
<test-manage <test-manage v-model:TMvisible.sync="TMvisible" v-if="TMvisible" :title="showTestText" :projectTaskId="projectTaskId" />
v-model:TMvisible.sync="TMvisible"
v-if="Wvisible"
:title="showTestText"
:projectTaskId="projectTaskId"
/>
<!-- 批量面授报名 --> <!-- 批量面授报名 -->
<task-imp-stu v-model:TaskFaceImpStuvisible="TaskFaceImpStuvisible" /> <task-imp-stu v-model:TaskFaceImpStuvisible="TaskFaceImpStuvisible" />
<!-- 概览无数据-项目发布弹窗 --> <!-- 概览无数据-项目发布弹窗 -->
<div> <div>
<a-modal <a-modal v-model:visible="pubproject" :title="null" @ok="closeModal" :footer="null" :closable="false" :centered="true"
v-model:visible="pubproject" wrapClassName="pubproject" width="679px" height="437px">
:title="null" <div class="modalHeader" style="
@ok="closeModal" width: 100%;
:footer="null" height: 68px;
:closable="false" display: flex;
:centered="true" align-items: center;
wrapClassName="pubproject" justify-content: space-between;
width="679px" ">
height="437px"
>
<div
class="modalHeader"
style="
width: 100%;
height: 68px;
display: flex;
align-items: center;
justify-content: space-between;
"
>
<div class="headerLeft" style="margin-left: 32px"> <div class="headerLeft" style="margin-left: 32px">
<span style="width: 15px; height: 15px" <span style="width: 15px; height: 15px"><img src="../../assets/images/taskpage/pub.png" /></span>
><img src="../../assets/images/taskpage/pub.png" <span class="headerLeftText" style="font-size: 16px; margin-left: 10px">项目发布</span>
/></span>
<span
class="headerLeftText"
style="font-size: 16px; margin-left: 10px"
>项目发布</span
>
</div> </div>
<div style="cursor: pointer; margin-right: 32px" @click="closeModal"> <div style="cursor: pointer; margin-right: 32px" @click="closeModal">
<img <img style="width: 22px; height: 22px" src="../../assets/images/basicinfo/close22.png" />
style="width: 22px; height: 22px"
src="../../assets/images/basicinfo/close22.png"
/>
</div> </div>
</div> </div>
<div class="modalMain"> <div class="modalMain">
<div class="projectname">管理者进阶-腾飞班1</div> <div class="projectname">管理者进阶-腾飞班1</div>
<div class="projecttime"> <div class="projecttime">
<span class="timeti">项目时间</span <span class="timeti">项目时间</span><span class="timeme">2022/08/01-2022/08/30</span>
><span class="timeme">2022/08/01-2022/08/30</span>
</div> </div>
<div class="projectbox"> <div class="projectbox">
<div class="promessage"> <div class="promessage">
@@ -1152,12 +1109,8 @@
<span class="sendtext">发送项目通知</span> <span class="sendtext">发送项目通知</span>
</div> </div>
<div class="ckb"> <div class="ckb">
<a-checkbox v-model:checked="checked1" <a-checkbox v-model:checked="checked1"><span class="sendpeo">发给老师</span></a-checkbox>
><span class="sendpeo">发给老师</span></a-checkbox <a-checkbox v-model:checked="checked2"><span class="sendpeo">发给学员</span></a-checkbox>
>
<a-checkbox v-model:checked="checked2"
><span class="sendpeo">发给学员</span></a-checkbox
>
</div> </div>
<div class="pubtn"> <div class="pubtn">
<a-button class="pubtn1" @click="closeModal">取消</a-button> <a-button class="pubtn1" @click="closeModal">取消</a-button>
@@ -1165,228 +1118,181 @@
</div> </div>
</div> </div>
</a-modal> </a-modal>
</div> </div>
<!-- 概览无数据-项目发布弹窗 --> <!-- 概览无数据-项目发布弹窗 -->
<!-- 学员-创建小组弹窗 --> <!-- 学员-创建小组弹窗 -->
<div> <div>
<a-modal <a-modal v-model:visible="stugroup" :title="null" @ok="closeModal2" :footer="null" :closable="false" :centered="true"
v-model:visible="stugroup" wrapClassName="doublepro" width="624px" height="332px">
:title="null" <div class="modalHeader" style="
@ok="closeModal2" width: 100%;
:footer="null" height: 68px;
:closable="false" display: flex;
:centered="true" align-items: center;
wrapClassName="doublepro" justify-content: space-between;
width="624px" ">
height="332px" <div class="headerLeft" style="margin-left: 32px">
> <span class="headerLeftText" style="font-size: 16px">创建小组</span>
<div
class="modalHeader"
style="
width: 100%;
height: 68px;
display: flex;
align-items: center;
justify-content: space-between;
"
>
<div class="headerLeft" style="margin-left: 32px">
<span class="headerLeftText" style="font-size: 16px">创建小组</span>
</div>
<div style="cursor: pointer; margin-right: 32px" @click="closeModal2">
<img
style="width: 22px; height: 22px"
src="../../assets/images/basicinfo/close22.png"
/>
</div>
</div>
<div class="modalMain">
<div class="name">
<div class="star" style="margin-top: -4px">
<img
style="width: 10px; height: 10px"
src="../../assets/images/basicinfo/asterisk.png"
/>
</div> </div>
<div class="inname">小组名称:</div> <div style="cursor: pointer; margin-right: 32px" @click="closeModal2">
<div class="in"> <img style="width: 22px; height: 22px" src="../../assets/images/basicinfo/close22.png" />
<a-input
v-model:value="valueaddg"
placeholder="请输入小组名称"
style="border-radius: 8px; height: 40px"
/>
</div> </div>
</div> </div>
<div class="name"> <div class="modalMain">
<div class="star" style="margin-top: -4px"> <div class="name">
<img <div class="star" style="margin-top: -4px">
style="width: 10px; height: 10px; margin-left: 15px" <img style="width: 10px; height: 10px" src="../../assets/images/basicinfo/asterisk.png" />
src="../../assets/images/basicinfo/asterisk.png" </div>
/> <div class="inname">小组名称:</div>
<div class="in">
<a-input v-model:value="valueaddg" placeholder="请输入小组名称" style="border-radius: 8px; height: 40px" />
</div>
</div> </div>
<div class="inname">小组长:</div> <div class="name">
<div class="in"> <div class="star" style="margin-top: -4px">
<a-input <img style="width: 10px; height: 10px; margin-left: 15px" src="../../assets/images/basicinfo/asterisk.png" />
v-model:value="valueaddm" </div>
placeholder="请输入小组长" <div class="inname">小组长:</div>
style="border-radius: 8px; height: 40px" <div class="in">
/> <a-input v-model:value="valueaddm" placeholder="请输入小组长" style="border-radius: 8px; height: 40px" />
</div>
</div>
<div class="pubtn">
<a-button class="pubtn1" @click="closeModal2">取消</a-button>
<a-button class="pubtn2" @click="createG">确定</a-button>
</div> </div>
</div> </div>
<div class="pubtn"> </a-modal>
<a-button class="pubtn1" @click="closeModal2">取消</a-button> </div>
<a-button class="pubtn2" @click="createG">确定</a-button> <!-- 学员-创建小组弹窗 -->
<!-- 取消学员弹窗 -->
<div>
<a-modal v-model:visible="canclestu" :footer="null" :closable="close" wrapClassName="canclestu" centered="true"
@cancel="closeModal1">
<div class="delete">
<div class="del_header"></div>
<div class="del_main">
<div class="header">
<div class="icon1"></div>
<span>提示</span>
</div>
<div class="body">
<span>您是否授予此学员优秀学员称号</span>
</div>
<div class="del_btnbox">
<div class="del_btn btn1">
<div class="btnText" @click="cancelyou">取消</div>
</div>
<div class="del_btn btn2">
<div class="btnText" @click="closeModal1">确定</div>
</div>
</div>
</div>
</div> </div>
</div> </a-modal>
</a-modal> </div>
</div> <!-- 取消学员弹窗 -->
<!-- 学员-创建小组弹窗 --> <!-- 优秀学员弹窗 -->
<!-- 取消学员弹窗 --> <div>
<div> <a-modal v-model:visible="canclestu1" :footer="null" :closable="close" wrapClassName="canclestu1" centered="true">
<a-modal <div class="delete">
v-model:visible="canclestu" <div class="del_header"></div>
:footer="null" <div class="del_main">
:closable="close" <div class="header">
wrapClassName="canclestu" <div class="icon1"></div>
centered="true" <span>提示</span>
@cancel="closeModal1" </div>
> <div class="body">
<span>您是否取消此学员优学员称号</span>
</div>
<div class="del_btnbox">
<div class="del_btn btn1">
<div class="btnText" @click="cancelcanyou">取消</div>
</div>
<div class="del_btn btn2">
<div class="btnText" @click="closeModal3">确定</div>
</div>
</div>
</div>
</div>
</a-modal>
</div>
<!-- 取消学员弹窗 -->
<!-- 删除学员弹窗 -->
<div>
<a-modal v-model:visible="deleteOneStu" :footer="null" :closable="close" wrapClassName="canclestu1" centered="true">
<div class="delete">
<div class="del_header"></div>
<div class="del_main">
<div class="header">
<div class="icon1"></div>
<span>提示</span>
</div>
<div class="body">
<span>您确定要删除此学员吗</span>
</div>
<div class="del_btnbox">
<div class="del_btn btn1">
<div class="btnText" @click="closeDeleteOne">取消</div>
</div>
<div class="del_btn btn2">
<div class="btnText" @click="closeDeleteOneConfirm">确定</div>
</div>
</div>
</div>
</div>
</a-modal>
</div>
<!-- 删除学员弹窗 -->
<!-- 删除弹窗 -->
<div>
<a-modal v-model:visible="delete_hs" :footer="null" :closable="closableQR" wrapClassName="DelModal"
style="margin-top: 400px" @cancel="delete_exit">
<div class="delete" :style="{ display: delete_hs ? 'block' : 'none' }">
<div class="del_header"></div>
<div class="del_main">
<div class="header">
<div class="del-icon"></div>
<span>提示</span>
<div class="close_exit" @click="delete_exit"></div>
</div>
<div class="body">
<span>您确定要删除此课程吗</span>
</div>
<div class="del_btnbox">
<div class="del_btn btn1">
<div class="btnText" @click="delete_exit">取消</div>
</div>
<div class="del_btn btn2">
<div class="btnText" @click="delete_exit">确定</div>
</div>
</div>
</div>
</div>
</a-modal>
</div>
<!-- 删除弹窗 -->
<!-- 管理二维码 -->
<a-modal v-model:visible="copyModal" :footer="null" :closable="closeCopy" wrapClassName="facemanageModal"
centered="true">
<div class="delete"> <div class="delete">
<div class="del_header"></div> <div class="del_header"></div>
<div class="del_main"> <div class="del_main">
<div class="header"> <div class="header">
<div class="icon1"></div> <div class="icon"></div>
<span>提示</span> <span v-if="QRtype == '1'">在线管理</span>
</div> <span v-if="QRtype == '2'">面授管理</span>
<div class="body"> <span v-if="QRtype == '3'">案例管理</span>
<span>您是否授予此学员优秀学员称号</span> <span v-if="QRtype == '4'">作业管理</span>
</div> <span v-if="QRtype == '5'">考试管理</span>
<div class="del_btnbox"> <span v-if="QRtype == '6'">直播管理</span>
<div class="del_btn btn1"> <span v-if="QRtype == '7'">外链管理</span>
<div class="btnText" @click="cancelyou">取消</div> <span v-if="QRtype == '8'">讨论管理</span>
</div> <span v-if="QRtype == '9'">活动管理</span>
<div class="del_btn btn2"> <span v-if="QRtype == '10'">测评管理</span>
<div class="btnText" @click="closeModal1">确定</div> <span v-if="QRtype == '11'">评估管理</span>
</div> <span v-if="QRtype == '12'">投票管理</span>
</div>
</div>
</div>
</a-modal>
</div>
<!-- 取消学员弹窗 -->
<!-- 优秀学员弹窗 -->
<div>
<a-modal
v-model:visible="canclestu1"
:footer="null"
:closable="close"
wrapClassName="canclestu1"
centered="true"
>
<div class="delete">
<div class="del_header"></div>
<div class="del_main">
<div class="header">
<div class="icon1"></div>
<span>提示</span>
</div>
<div class="body">
<span>您是否取消此学员优学员称号</span>
</div>
<div class="del_btnbox">
<div class="del_btn btn1">
<div class="btnText" @click="cancelcanyou">取消</div>
</div>
<div class="del_btn btn2">
<div class="btnText" @click="closeModal3">确定</div>
</div>
</div>
</div>
</div>
</a-modal>
</div>
<!-- 取消学员弹窗 -->
<!-- 删除学员弹窗 -->
<div>
<a-modal
v-model:visible="deleteOneStu"
:footer="null"
:closable="close"
wrapClassName="canclestu1"
centered="true"
>
<div class="delete">
<div class="del_header"></div>
<div class="del_main">
<div class="header">
<div class="icon1"></div>
<span>提示</span>
</div>
<div class="body">
<span>您确定要删除此学员吗</span>
</div>
<div class="del_btnbox">
<div class="del_btn btn1">
<div class="btnText" @click="closeDeleteOne">取消</div>
</div>
<div class="del_btn btn2">
<div class="btnText" @click="closeDeleteOneConfirm">确定</div>
</div>
</div>
</div>
</div>
</a-modal>
</div>
<!-- 删除学员弹窗 -->
<!-- 删除弹窗 -->
<div>
<a-modal
v-model:visible="delete_hs"
:footer="null"
:closable="closableQR"
wrapClassName="DelModal"
style="margin-top: 400px"
@cancel="delete_exit"
>
<div class="delete" :style="{ display: delete_hs ? 'block' : 'none' }">
<div class="del_header"></div>
<div class="del_main">
<div class="header">
<div class="del-icon"></div>
<span>提示</span>
<div class="close_exit" @click="delete_exit"></div>
</div>
<div class="body">
<span>您确定要删除此课程吗</span>
</div>
<div class="del_btnbox">
<div class="del_btn btn1">
<div class="btnText" @click="delete_exit">取消</div>
</div>
<div class="del_btn btn2">
<div class="btnText" @click="delete_exit">确定</div>
</div>
</div>
</div>
</div>
</a-modal>
</div>
<!-- 删除弹窗 -->
<!-- 面授管理二维码 -->
<a-modal
v-model:visible="copyModal"
:footer="null"
:closable="closeCopy"
wrapClassName="facemanageModal"
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="closeCopyModal"></div> <div class="close_exit" @click="closeCopyModal"></div>
</div> </div>
<div class="body"> <div class="body">
@@ -1401,62 +1307,6 @@
</div> </div>
</div> </div>
</a-modal> </a-modal>
<!-- 直播管理二维码 -->
<a-modal
v-model:visible="zhibModal"
:footer="null"
:closable="closeCopy"
wrapClassName="facemanageModal"
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="closezhibModal"></div>
</div>
<div class="body">
<div><img src="../../assets/images/taskpage/erweima.png" /></div>
</div>
<div class="footerr">
<div class="onload">下载二维码</div>
<div class="onloadpx">200*200</div>
<div class="onloadpx">400*400</div>
<div class="onloadpx">800*800</div>
</div>
</div>
</div>
</a-modal>
<!-- 活动管理二维码 -->
<a-modal
v-model:visible="huodModal"
:footer="null"
:closable="closeCopy"
wrapClassName="facemanageModal"
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="closehuodModal"></div>
</div>
<div class="body">
<div><img src="../../assets/images/taskpage/erweima.png" /></div>
</div>
<div class="footerr">
<div class="onload">下载二维码</div>
<div class="onloadpx">200*200</div>
<div class="onloadpx">400*400</div>
<div class="onloadpx">800*800</div>
</div>
</div>
</div>
</a-modal>
<!-- 批量删除弹窗 --> <!-- 批量删除弹窗 -->
<div> <div>
<a-modal <a-modal
@@ -1661,7 +1511,7 @@ export default {
copyModal: false, //面授二维码弹窗 copyModal: false, //面授二维码弹窗
closeCopy: false, //面授二维码关闭图标 closeCopy: false, //面授二维码关闭图标
zhibModal: false, //直播二维码弹窗 zhibModal: false, //直播二维码弹窗
QRtype: "", //二维码标题
huodModal: false, //活动二维码弹窗 huodModal: false, //活动二维码弹窗
allDelete: false, //批量删除弹窗 allDelete: false, //批量删除弹窗
pubproject: false, pubproject: false,
@@ -2406,8 +2256,33 @@ export default {
state.stugroup = false; state.stugroup = false;
} }
}; };
const showCopyModal = () => { const showCopyModal = (itemtype) => {
state.copyModal = true; state.copyModal = true;
if (itemtype == "1") {
state.QRtype = "1"
} else if (itemtype == "2") {
state.QRtype = "2"
} else if (itemtype == "3") {
state.QRtype = "3"
} else if (itemtype == "4") {
state.QRtype = "4"
} else if (itemtype == "5") {
state.QRtype = "5"
} else if (itemtype == "6") {
state.QRtype = "6"
} else if (itemtype == "7") {
state.QRtype = "7"
} else if (itemtype == "8") {
state.QRtype = "8"
} else if (itemtype == "9") {
state.QRtype = "9"
} else if (itemtype == "10") {
state.QRtype = "10"
} else if (itemtype == "11") {
state.QRtype = "11"
} else if (itemtype == "12") {
state.QRtype = "12"
}
}; };
const closeCopyModal = () => { const closeCopyModal = () => {
state.copyModal = false; state.copyModal = false;