mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-20 16:26:45 +08:00
feat:增加面授课成绩录入结业批量结业
This commit is contained in:
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user