fix:修改面授作业在线考试投票测评管理直播活动考勤 feat:新增查看作业 签到二维码 导出成绩

This commit is contained in:
Ggysh-7
2022-11-17 18:47:54 +08:00
parent 8d0cb128a1
commit 7ba791b51c
14 changed files with 1636 additions and 566 deletions

View File

@@ -15,7 +15,7 @@
@click="closeDrawer"
/>
</div>
<div class="main">
<div class="main" style="padding-right:10px">
<div class="endtime">起止时间2022-07-21 14:00 2022-7-30 14:00</div>
<div class="search">
<div class="sealeft">
@@ -62,10 +62,10 @@
<div class="img1"></div>
<div class="wz">导出数据</div>
</div>
<div class="btn btn2" @click="showModal">
<div class="btn btn2" @click="showEHWorkModal" style="margin-right:20px">
<div class="wz">导出作业</div>
</div>
<div class="btn btn2" @click="showModal">
<div class="btn btn2" @click="showEScoreModal">
<div class="wz">导入成绩</div>
</div>
</div>
@@ -101,29 +101,10 @@
<button class="btn2">确定</button>
</div>
<a-modal
v-model:visible="visible"
:closable="close"
:footer="null"
wrapClassName="WorkManage"
centered="true"
>
<div class="header">
<div class="inheader">
<div class="left">提示</div>
<div class="right" @click="closeModal"></div>
</div>
</div>
<div class="main">
<div class="check"></div>
<div class="text">作业导出完成请在下载中心查看</div>
<div class="btn">
<button class="btn1 sabtn" @click="closeModal">取消</button>
<button class="btn2 sabtn">查看</button>
</div>
</div>
</a-modal>
<!-- 导出作业弹窗 -->
<EHWork v-model:exportHWorkvisible="exportHWorkvisible"/>
<!-- 导出成绩抽屉 -->
<EScore v-model:eScorevisible="eScorevisible"/>
<!-- 作业详情抽屉 -->
<work-detail v-model:WDvisible="WDvisible" />
</div>
@@ -132,11 +113,17 @@
<script>
import { toRefs, reactive, onMounted } from "vue";
import EHWork from "./ExportHWork.vue"
import EScore from "./ExportScore.vue"
import WorkDetail from "../drawers/WorkDetail.vue";
import * as api from "../../api/index";
export default {
name: "WorkManage",
components: { WorkDetail },
components: {
WorkDetail,
EHWork,
EScore,
},
props: {
Wvisible: {
type: Boolean,
@@ -155,8 +142,8 @@ export default {
setup(props, ctx) {
const state = reactive({
name: null,
visible: false, //导出数据弹窗
close: false, //导出弹窗的关闭按钮
exportHWorkvisible:false, //导出作业弹窗
eScorevisible:false, //导入成绩抽屉
WDvisible: false, //作业详情
pageNo: 1,
pageSize: 10,
@@ -180,18 +167,16 @@ export default {
label: "已完成",
},
],
tabledata: [
// {
// key: 1,
// userName: "哈哈",
// deptName: "产品部",
// jobName: "产品经理",
// comp: "好好学习",
// time: "-",
// state: "未完成",
// },
],
tabledata: [],
tablecolumns: [
{
title: "工号",
dataIndex: "workNum",
key: "workNum",
width: 50,
align: "left",
className: "h head",
},
{
title: "姓名",
dataIndex: "userName",
@@ -217,13 +202,21 @@ export default {
className: "h",
},
{
title: "课程成绩",
title: "作业成绩",
dataIndex: "score",
key: "score",
width: 60,
align: "center",
className: "h",
},
{
title: "评分",
dataIndex: "testscore",
key: "testscore",
width: 60,
align: "center",
className: "h",
},
{
title: "任务状态",
dataIndex: "status",
@@ -232,8 +225,44 @@ export default {
align: "center",
className: "h",
},
{
title: "操作",
dataIndex: "operation",
key: "operation",
width: 100,
align: "center",
className: "h",
},
],
});
//作业管理列表操作
const ListOpera = () => {
let arr = state.tabledata;
console.log(arr,'-=-=-=-=-=-=-=-=--=-==----=-=-=-');
arr.map((value) => {
value.operation = (
<div
style={{
display: "flex",
alignItems: "center",
justifyContent: "center",
}}
>
<div
class="operation"
onClick={() => {
console.log(state.tabledata,'++++++++++++');
}}
>
查看
</div>
</div>
);
});
state.tabledata = arr;
console.log(state.tabledata,'-----------');
};
ListOpera();
const selectProjectName = (value, index) => {
console.log("value", value, index);
state.projectName = value;
@@ -241,15 +270,15 @@ export default {
const closeDrawer = () => {
ctx.emit("update:Wvisible", false);
};
const showModal = () => {
state.visible = true;
};
const closeModal = () => {
state.visible = false;
const showEHWorkModal = () => {
state.exportHWorkvisible = true;
};
const showWorkDetail = () => {
state.WDvisible = true;
};
const showEScoreModal = ()=> {
state.eScorevisible = true;
}
const onChange = (pageNumber) => {
console.log("Page: ", pageNumber);
};
@@ -326,8 +355,8 @@ export default {
...toRefs(state),
selectProjectName,
closeDrawer,
showModal,
closeModal,
showEHWorkModal,
showEScoreModal,
showWorkDetail,
onChange,
getManageList,
@@ -339,19 +368,6 @@ export default {
</script>
<style lang="scss">
// .drawerStyle {
// .ant-drawer-content-wrapper {
// // max-width: 1000px;
// .ant-drawer-header {
// display: none !important;
// }
// .ant-drawer-body {
// padding: 0;
// }
// }
// }
//作业管理弹窗
.WorkManage {
.ant-modal {
width: 473px;
@@ -400,13 +416,10 @@ export default {
}
.main {
// background-color: red;
width: 100%;
// height: 100%;
margin-top: 32px;
display: flex;
flex-direction: column;
// justify-content: center;
align-items: center;
overflow-y: auto;
padding-right: 10px;
@@ -453,198 +466,5 @@ export default {
}
}
}
//作业管理弹窗
.WorkManage {
.drawerMain {
min-width: 550px;
margin: 0px 32px 0px 32px;
overflow-x: auto;
display: flex;
flex-direction: column;
.header {
height: 73px;
border-bottom: 1px solid #e8e8e8;
display: flex;
justify-content: space-between;
align-items: center;
// background-color: red;
margin-bottom: 20px;
.headerTitle {
font-size: 18px;
font-weight: 600;
color: #333333;
line-height: 25px;
// margin-left: 24px;
}
}
.main {
width: 100%;
height: 100%;
// margin-bottom: 30px;
// background-color: #bfa;
overflow-y: auto;
.endtime {
font-size: 16px;
font-weight: 500;
color: #333333;
}
.search {
width: 100%;
display: flex;
flex-wrap: wrap;
margin-top: 20px;
justify-content: space-between;
.sealeft {
display: flex;
flex-wrap: wrap;
.namecon {
display: flex;
flex-wrap: nowrap;
margin-bottom: 10px;
.name {
margin-top: 8px;
white-space: nowrap;
}
}
}
.btns {
display: flex;
flex-wrap: nowrap;
.btn {
cursor: pointer;
width: 100px;
height: 40px;
border-radius: 8px;
display: flex;
justify-content: center;
align-items: center;
.img1 {
width: 15px;
height: 17px;
background-image: url(../../assets/images/courseManage/search0.png);
background-size: 100% 100%;
margin-right: 7px;
}
.img2 {
width: 16px;
height: 18px;
background-image: url(../../assets/images/courseManage/reset1.png);
background-size: 100% 100%;
margin-right: 7px;
}
}
.btn1 {
background: #409eff;
color: #ffffff;
}
.btn2 {
background: #ffffff;
color: #388be1;
border: 1px solid #388be1;
}
}
}
.btnss {
display: flex;
flex-wrap: nowrap;
.btn {
cursor: pointer;
width: 130px;
height: 40px;
border-radius: 8px;
display: flex;
justify-content: center;
align-items: center;
.img1 {
width: 17px;
height: 16px;
background-image: url(../../assets/images/coursewareManage/export1.png);
background-size: 100% 100%;
margin-right: 7px;
}
}
.btn1 {
background: #409eff;
color: #ffffff;
}
.btn2 {
background: #ffffff;
color: #388be1;
border: 1px solid #388be1;
}
}
.tab {
th.h {
background-color: #eff4fc !important;
}
.ant-table-tbody
> tr:hover:not(.ant-table-expanded-row):not(.ant-table-row-selected)
> td {
background: #f6f9fd;
}
.tableBox {
.pa {
// left: 0;
margin-top: 15px;
width: 100%;
// height: 20px;
// background-color: red;
display: flex;
justify-content: center;
// position: absolute;
// bottom: 20px;
.ant-pagination-prev,
.ant-pagination-next,
.ant-pagination-item,
.ant-pagination-options {
margin-bottom: 10px;
}
}
}
}
}
.btnn {
height: 72px;
width: 100%;
position: absolute;
bottom: 0;
background-color: #fff;
left: 0;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0px 1px 35px 0px rgba(118, 136, 166, 0.16);
.btn1 {
width: 100px;
height: 40px;
border: 1px solid #4ea6ff;
border-radius: 8px;
color: #4ea6ff;
background-color: #fff;
cursor: pointer;
}
.btn2 {
cursor: pointer;
width: 100px;
height: 40px;
background: #409eff;
border-radius: 8px;
border: 0;
margin-left: 15px;
color: #fff;
}
}
}
}
</style>