feat:增加面授课成绩录入结业批量结业

This commit is contained in:
lixg
2023-02-01 17:31:29 +08:00
parent 8beb086909
commit 511f8cced3
7 changed files with 386 additions and 131 deletions

View File

@@ -316,37 +316,110 @@
<template #bodyCell="{ record, column }">
<template v-if="column.key === 'operation'">
<a-space :size="0">
<a-button v-if="record.status===0 || record.status===-1 || !record.kkty" @click="() => handleEdit(record, String(record.courseform))" type="link">编辑</a-button>
<a-button block v-if="record.status===2" @click="() => handleStart(record, String(record.courseform))" type="link">开课</a-button>
<a-button v-if="record.status===2" @click="() => handleLook(record, String(record.courseform))" type="link">查看</a-button>
<a-button v-if="record.status===2" @click="() => handleGuan22(record, String(record.courseform))" type="link">管理</a-button>
<a-button
v-if="
record.status === 0 || record.status === -1 || !record.kkty
"
@click="() => handleEdit(record, String(record.courseform))"
type="link"
>编辑</a-button
>
<a-button
block
v-if="record.status === 2"
@click="() => handleStart(record, String(record.courseform))"
type="link"
>开课</a-button
>
<a-button
v-if="record.status === 2"
@click="() => handleLook(record, String(record.courseform))"
type="link"
>查看</a-button
>
<a-button
v-if="record.status === 2"
@click="() => handleGuan22(record, String(record.courseform))"
type="link"
>管理</a-button
>
<div className="tableSelect" style="margin-left: 0">
<a-select value="授权" dropdownClassName="tabledropdown">
<a-select-option value="权限名单" label="权限名单">
<TableModelStudent :types="[10,11,12]" :id="record.offcourseId">权限名单</TableModelStudent>
<TableModelStudent
:types="[10, 11, 12]"
:id="record.offcourseId"
>权限名单</TableModelStudent
>
</a-select-option>
<a-select-option value="查看权" label="查看权">
<CommonStudent :type="10" :id="record.offcourseId">查看权</CommonStudent>
<CommonStudent :type="10" :id="record.offcourseId"
>查看权</CommonStudent
>
</a-select-option>
<a-select-option value="管理权" label="管理权">
<CommonStudent :type="11" :id="record.offcourseId">管理权</CommonStudent>
<CommonStudent :type="11" :id="record.offcourseId"
>管理权</CommonStudent
>
</a-select-option>
</a-select>
</div>
<div className="tableSelect">
<a-select value="更多" dropdownClassName="tabledropdown">
<a-select-option value="复制" label="复制">
<a-button @click="() => handleCopy(record, String(record.courseform))" type="link">复制</a-button>
<a-button
@click="
() => handleCopy(record, String(record.courseform))
"
type="link"
>复制</a-button
>
</a-select-option>
<a-select-option v-if="record.status===1" value="撤回" label="撤回">
<a-button @click="() => handleRejectExit(record, String(record.courseform))" type="link">撤回</a-button>
<a-select-option
v-if="record.status === 1"
value="撤回"
label="撤回"
>
<a-button
@click="
() =>
handleRejectExit(record, String(record.courseform))
"
type="link"
>撤回</a-button
>
</a-select-option>
<a-select-option v-if="record.status===2" value="停用" label="停用">
<a-button v-if="record.status===2 && record.kkty" @click="() => handleStop(record, String(record.courseform))" type="link">停用</a-button>
<a-button v-if="record.status===2 && !record.kkty" @click="() => handleOpen(record, String(record.courseform))" type="link">启用</a-button>
<a-select-option
v-if="record.status === 2"
value="停用"
label="停用"
>
<a-button
v-if="record.status === 2 && record.kkty"
@click="
() => handleStop(record, String(record.courseform))
"
type="link"
>停用</a-button
>
<a-button
v-if="record.status === 2 && !record.kkty"
@click="
() => handleOpen(record, String(record.courseform))
"
type="link"
>启用</a-button
>
</a-select-option>
<a-select-option value="删除" label="删除">
<a-button @click="() => handleDelete(record, String(record.courseform))" type="link" danger>删除</a-button>
<a-button
@click="
() => handleDelete(record, String(record.courseform))
"
type="link"
danger
>删除</a-button
>
</a-select-option>
</a-select>
</div>
@@ -1122,9 +1195,42 @@
:isgetStudent="isgetStudent"
>
<template #extension="{ data: { record } }">
<a-button v-if="record.source === 4 && record.status === 1" @click="() => {record.status = 0;auditStudent(record);}" type="link">审核通过</a-button>
<a-button v-if="record.source === 4 && record.status === 1" @click="() => {record.status = 2;auditStudent(record);}" type="link">拒绝</a-button>
<a-button v-if="record.source === 4 && (record.status === 0 || record.status === 2)" @click="() => {record.status = 1;auditStudent(record);}" type="link">撤回</a-button>
<a-button
v-if="record.source === 4 && record.status === 1"
@click="
() => {
record.status = 0;
auditStudent(record);
}
"
type="link"
>审核通过</a-button
>
<a-button
v-if="record.source === 4 && record.status === 1"
@click="
() => {
record.status = 2;
auditStudent(record);
}
"
type="link"
>拒绝</a-button
>
<a-button
v-if="
record.source === 4 &&
(record.status === 0 || record.status === 2)
"
@click="
() => {
record.status = 1;
auditStudent(record);
}
"
type="link"
>撤回</a-button
>
</template>
</TableStudent>
</div>
@@ -1452,11 +1558,11 @@
</div>
</div>
<div class="qrm_btnbox">
<div class="qrm_btn btn1">
<div class="btnText" @click="graduate_exit">取消</div>
<div class="qrm_btn btn1" @click="graduate_exit">
<div class="btnText">取消</div>
</div>
<div class="qrm_btn btn2">
<div class="btnText" @click="handleJie">确定</div>
<div class="qrm_btn btn2" @click="handleJie">
<div class="btnText">确定</div>
</div>
</div>
</div>
@@ -1721,15 +1827,10 @@ import { useStore } from "vuex";
const columns1 = [
{
title: "课程编号",
width: 100,
dataIndex: "num",
key: "num",
width: 130,
dataIndex: "offcourseNumber",
key: "offcourseNumber",
align: "center",
customRender: ({ index, record }) => {
const pageNum =
Number(record.pageNo) - 1 > 0 ? (Number(record.pageNo) - 1) * 10 : 0;
return index + 1 + pageNum;
},
},
{
title: "名称",
@@ -1790,7 +1891,7 @@ const columns1 = [
{
title: "学习人数",
width: 130,
dataIndex: "stunum",
dataIndex: "studentCnt",
key: "4",
align: "center",
customRender: ({ text }) => {
@@ -2098,7 +2199,6 @@ const columns6 = [
return text ? text : "-";
},
},
// 新加学员数
{
title: "学员数",
dataIndex: "studentCnt",
@@ -2385,18 +2485,19 @@ export default defineComponent({
customRender: ({ record }) => {
return (
<div class="racona">
{record.workScore ? (
{record.workScore === -2 ? (
"-"
) : record.workScore ? (
<span>{record.workScore}</span>
) : (
// <span
// style={{ color: "#4EA6FF", cursor: "pointer" }}
// onClick={() => {
// handlJoinStu(record);
// }}
// >
// 成绩录入
// </span>
<span></span>
<span
style={{ color: "#4EA6FF", cursor: "pointer" }}
onClick={() => {
handlJoinStu(record);
}}
>
成绩录入
</span>
)}
</div>
);
@@ -2426,15 +2527,35 @@ export default defineComponent({
key: "8",
align: "center",
},
// 2023-1-12 隐藏 后面放开
// {
// title: "结业状态",
// width: "15%",
// dataIndex: "completionStatus",
// key: "8",
// align: "center",
// customRender: ({ record }) => <div>{{1:'结业'}[record.completionStatus] || '-'}</div>,
// },
{
title: "结业状态",
width: "15%",
dataIndex: "completionStatus",
key: "8",
align: "center",
customRender: ({ record }) => {
return (
<div>
{record.finishStatus == 1 &&
record.workScore != -2 &&
record.signStatus == 1 ? (
<div
style={{ color: "#4EA6FF", cursor: "pointer" }}
onClick={() => {
handleOverStu(record);
}}
>
结业
</div>
) : record.completionStatus == 1 ? (
<div>已结业</div>
) : (
<div>-</div>
)}
</div>
);
},
},
],
shipType: 1,
addLoading: false,
@@ -2688,6 +2809,7 @@ export default defineComponent({
regisCom: false,
comLeave: false,
studentId: 0,
homeWorkId: null,
studentItem: {},
addOnlineCoursevisible: false, //新建面授弹窗
@@ -3080,6 +3202,7 @@ export default defineComponent({
endTime: endTime,
beginTime: startTime,
});
console.log("获取面授课列表", res);
const { rows, total, pageNo } = res.data.data;
console.log(res.data.data);
state.tableDataTotal1 = total;
@@ -3191,7 +3314,7 @@ export default defineComponent({
state.scoreId = itm.id;
};
const handleOverStu = (itm) => {
console.log(itm);
console.log("点击结业", itm);
state.studentId = itm.studentId;
state.studentItem = itm;
@@ -3964,7 +4087,7 @@ export default defineComponent({
state.kk_eidt = true;
};
const handelGuan = (itm) => {
console.log(676766);
console.log("开课信息", itm);
state.offcourseId = itm.offcourseId;
state.offcoursePlanId = itm.offcoursePlanId;
state.studentId = itm.studentId;
@@ -3977,6 +4100,7 @@ export default defineComponent({
state.sm_hs = true;
// getTableDate2();
state.homeWorkId = itm.homeWorkId;
};
const sm_exit = () => {
state.sm_hs = false;
@@ -4061,16 +4185,18 @@ export default defineComponent({
if (state.rg_hs) {
if (state.piliang) {
api1.updateStudent({
score: state.lrcj_inputV1,
id: state.scoreId,
workScore: state.lrcj_inputV1,
workId: state.homeWorkId,
studentId: state.studentId,
});
getTableDate2();
delete_exit1();
} else {
api1
.updateStudent({
score: state.lrcj_inputV1,
id: state.scoreId,
workScore: state.lrcj_inputV1,
workId: state.homeWorkId,
studentId: state.studentId,
})
.then((res) => {
console.log("成绩录入", res);
@@ -4090,17 +4216,20 @@ export default defineComponent({
};
const handleJie = async () => {
if (state.graduate_hs) {
handleStudent({
offcoursePlanId: state.offcoursePlanId,
score: "",
studentIds: [state.studentId],
type: 2,
}).then((res) => {
if (res.data.code === 200) {
getTableDate2();
delete_exit1();
}
});
// state.studentItem.id
// console.log("state.studentItem.id", state.studentItem.id);
api1
.batchUpdateStatus({
completionStatus: 1,
ids: [state.studentItem?.id],
// status: 1,
})
.then((res) => {
if (res.data.code === 200) {
getTableDate2();
delete_exit1();
}
});
}
};
//确认复制
@@ -7459,24 +7588,24 @@ export default defineComponent({
margin-bottom: 20px;
}
.tableSelect {
position: relative;
.hoverList {
display: none;
}
&:hover {
.hoverList {
display: block;
position: absolute;
top: 20px;
left: -20px;
background: #fff;
box-sizing: border-box;
// padding: 20px;
color: #000000;
}
}
}
.tableSelect {
position: relative;
.hoverList {
display: none;
}
&:hover {
.hoverList {
display: block;
position: absolute;
top: 20px;
left: -20px;
background: #fff;
box-sizing: border-box;
// padding: 20px;
color: #000000;
}
}
}
// ::v-deep .w-e-toolbar {
// .w-e-bar-item {