diff --git a/src/components/drawers/project/ProjectFaceStu.vue b/src/components/drawers/project/ProjectFaceStu.vue
index 04a59c8e..59c54106 100644
--- a/src/components/drawers/project/ProjectFaceStu.vue
+++ b/src/components/drawers/project/ProjectFaceStu.vue
@@ -180,7 +180,12 @@
-
+
@@ -228,6 +233,7 @@ import ImpStu from "../../../components/drawers/AddLevelImportStu";
import SignQR from "../SignQR.vue";
import * as api from "../../../api/index1";
import TwoDimensionalCode from "../../../components/TwoDimensionalCode";
+import { message } from "ant-design-vue";
export default {
name: "FaceManage",
components: {
@@ -266,6 +272,7 @@ export default {
tableDataTotal: -1,
tableDataTotal2: 0,
selectedRowKeys: [],
+ selectedStudents: [], //选择学员id
projectNameList: [
{
id: 1,
@@ -353,6 +360,7 @@ export default {
state.name = null;
state.projectName2 = null;
state.selectedRowKeys = [];
+ state.selectedStudents = [];
state.currentPage = 1;
state.tableDataTotal = -1;
state.tableDataTotal2 = 0;
@@ -364,11 +372,41 @@ export default {
};
//批量签到
const showCopyModal = () => {
+ if (state.selectedStudents.length === 0) {
+ message.destroy();
+ message.warning("请选择学员");
+ return;
+ }
state.copyModal = true;
};
const closeCopyModal = () => {
state.copyModal = false;
};
+ //批量签到
+ const batchSign = () => {
+ let obj = {
+ courseId: Number(props.projectTaskInfo.courseId),
+ projectId: Number(props.projectTaskInfo.projectId),
+ // routerId: Number(props.projectTaskInfo.projectId),
+ ids: state.selectedStudents,
+ taskId: Number(props.projectTaskInfo.projectTaskId),
+ taskType: Number(props.projectTaskInfo.type),
+ type: 1,
+ // userName: "",
+ };
+ api
+ .attendanceSign(obj, (res) => {
+ console.log("签到结果", res, obj);
+ if (res.data.code === 200) {
+ message.destroy();
+ message.success("批量签到成功");
+ getStudent();
+ }
+ })
+ .catch((err) => {
+ console.log("签到失败", err, obj);
+ });
+ };
// const closeStopModal = () => {
// state.stopModal = false;
@@ -391,13 +429,20 @@ export default {
state.codeType = 2;
};
- const onSelectChange = (selectedRowKeys) => {
- console.log("selectedRowKeys changed: ", selectedRowKeys);
+ const onSelectChange = (selectedRowKeys, e) => {
+ console.log("selectedRowKeys changed: ", selectedRowKeys, e);
state.selectedRowKeys = selectedRowKeys;
+ // state.selectedStudents=e
+ let array = [];
+ for (let i = 0; i < e.length; i++) {
+ array.push(e[i].studentId);
+ }
+ state.selectedStudents = array;
};
//表头清空
const clearLine = () => {
state.selectedRowKeys = [];
+ state.selectedStudents = [];
};
// const getTableData = () => {
// let arr = state.tabledata;
@@ -559,7 +604,72 @@ export default {
customRender: (text) => {
return (
-
+ {
+ console.log("点击签到", e);
+ let obj = {
+ courseId: Number(props.projectTaskInfo.courseId),
+ projectId: Number(props.projectTaskInfo.projectId),
+ // routerId: Number(props.projectTaskInfo.projectId),
+ ids: [text.record.studentId],
+ studentName: text.record.studentName,
+ taskId: Number(props.projectTaskInfo.projectTaskId),
+ taskType: Number(props.projectTaskInfo.type),
+ type: 1,
+ // userName: "",
+ };
+ api
+ .attendanceSign(obj, (res) => {
+ console.log("签到结果", res, obj, e);
+ if (res.data.code === 200) {
+ text.record.signIn = true;
+ }
+ })
+ .catch((err) => {
+ console.log("签到失败", err, obj);
+ text.record.signIn = false;
+ });
+ }}
+ >
+ 签到
+
+ {
+ console.log("点击请假", e, props.datasource);
+ let obj = {
+ courseId: Number(props.projectTaskInfo.courseId),
+ projectId: Number(props.projectTaskInfo.projectId),
+ // routerId: Number(props.projectTaskInfo.projectId),
+ ids: [text.record.studentId],
+ studentName: text.record.studentName,
+ taskId: Number(props.projectTaskInfo.projectTaskId),
+ taskType: Number(props.projectTaskInfo.type),
+ type: 1,
+ };
+ api
+ .attendanceLeave(obj, (res) => {
+ console.log("请假结果", res, obj, e);
+ if (res.data.code === 200) {
+ text.record.leave = true;
+ }
+ })
+ .catch((err) => {
+ console.log("请假结果", err, obj);
+ text.record.leave = false;
+ });
+ }}
+ >
+ 请假
+
+
+
+ {/**
+ {
console.log("点击签到", e);
@@ -589,16 +699,6 @@ export default {
>
签到
- {/**
- {
- console.log("点击签退", e);
- }}
- >
- 签退
-
- */}
{
@@ -628,6 +728,15 @@ export default {
>
请假
+ {
+ console.log("点击签退", e);
+ }}
+ >
+ 签退
+
+ */}
);
},
@@ -728,14 +837,18 @@ export default {
// });
}
- {/* 添加学员弹框关闭,重新获取学员列表 */}
- const AddImpStuvisibleClose = (isget) => {
- console.log('关闭了导入学员弹框',isget)
- {/* 此处操作重新获取学员列表数据 */}
- if(isget){
- getStudent()
- }
+ {
+ /* 添加学员弹框关闭,重新获取学员列表 */
}
+ const AddImpStuvisibleClose = (isget) => {
+ console.log("关闭了导入学员弹框", isget);
+ {
+ /* 此处操作重新获取学员列表数据 */
+ }
+ if (isget) {
+ getStudent();
+ }
+ };
return {
...toRefs(state),
@@ -756,7 +869,8 @@ export default {
changePaginationStu,
exportTaskStu,
clearLine,
- AddImpStuvisibleClose
+ AddImpStuvisibleClose,
+ batchSign,
};
},
};
diff --git a/src/components/drawers/router/RouterFaceStu.vue b/src/components/drawers/router/RouterFaceStu.vue
index a20efce3..f7c5efd2 100644
--- a/src/components/drawers/router/RouterFaceStu.vue
+++ b/src/components/drawers/router/RouterFaceStu.vue
@@ -174,7 +174,12 @@
-
+
@@ -222,6 +227,7 @@ import ImpStu from "../../../components/drawers/AddLevelImportStu";
import SignQR from "../SignQR.vue";
import * as api from "../../../api/index1";
import TwoDimensionalCode from "../../../components/TwoDimensionalCode";
+import { message } from "ant-design-vue";
export default {
name: "FaceManage",
components: {
@@ -260,6 +266,7 @@ export default {
tableDataTotal: -1,
tableDataTotal2: 0,
selectedRowKeys: [],
+ selectedStudents: [], //选择学员id
projectNameList: [
{
id: 1,
@@ -347,6 +354,7 @@ export default {
state.name = null;
state.projectName2 = null;
state.selectedRowKeys = [];
+ state.selectedStudents = [];
state.currentPage = 1;
state.tableDataTotal = -1;
state.tableDataTotal2 = 0;
@@ -359,11 +367,39 @@ export default {
//批量签到
const showCopyModal = () => {
state.copyModal = true;
+ if (state.selectedStudents.length === 0) {
+ message.destroy();
+ message.warning("请选择学员");
+ return;
+ }
};
const closeCopyModal = () => {
state.copyModal = false;
};
-
+ //批量签到
+ const batchSign = () => {
+ let obj = {
+ courseId: Number(props.datasource.courseId),
+ // projectId: 0,
+ routerId: Number(props.datasource.routerId),
+ ids: state.selectedStudents,
+ taskId: Number(props.datasource.routerTaskId),
+ taskType: Number(props.datasource.type),
+ type: 2,
+ };
+ api
+ .attendanceSign(obj, (res) => {
+ console.log("签到结果", res, obj);
+ if (res.data.code === 200) {
+ message.destroy();
+ message.success("批量签到成功");
+ getStudent();
+ }
+ })
+ .catch((err) => {
+ console.log("签到失败", err, obj);
+ });
+ };
// const closeStopModal = () => {
// state.stopModal = false;
// };
@@ -372,13 +408,19 @@ export default {
state.signQRvisible = true;
};
- const onSelectChange = (selectedRowKeys) => {
+ const onSelectChange = (selectedRowKeys, e) => {
console.log("selectedRowKeys changed: ", selectedRowKeys);
state.selectedRowKeys = selectedRowKeys;
+ let array = [];
+ for (let i = 0; i < e.length; i++) {
+ array.push(e[i].studentId);
+ }
+ state.selectedStudents = array;
};
//表头清空
const clearLine = () => {
state.selectedRowKeys = [];
+ state.selectedStudents = [];
};
const tableDataFunc = () => {
@@ -503,7 +545,72 @@ export default {
customRender: (text) => {
return (
-
+ {
+ console.log("点击签到", e);
+ let obj = {
+ courseId: Number(props.datasource.courseId),
+ // projectId: 0,
+ routerId: Number(props.datasource.routerId),
+ ids: [text.record.studentId],
+ studentName: text.record.studentName,
+ taskId: Number(props.datasource.routerTaskId),
+ taskType: Number(props.datasource.type),
+ type: 2,
+ };
+ api
+ .attendanceSign(obj, (res) => {
+ console.log("签到结果", res, obj, e);
+ if (res.data.code === 200) {
+ text.record.signIn = true;
+ }
+ })
+ .catch((err) => {
+ console.log("签到失败", err, obj);
+ text.record.signIn = false;
+ });
+ }}
+ >
+ 签到
+
+ {
+ console.log("点击请假", e, props.datasource);
+ let obj = {
+ courseId: Number(props.datasource.courseId),
+ // projectId: 0,
+ routerId: Number(props.datasource.routerId),
+ ids: [text.record.studentId],
+ studentName: text.record.studentName,
+ taskId: Number(props.datasource.routerTaskId),
+ taskType: Number(props.datasource.type),
+ type: 2,
+ // userName: "",
+ };
+ api
+ .attendanceLeave(obj, (res) => {
+ console.log("请假结果", res, obj, e);
+ if (res.data.code === 200) {
+ text.record.leave = true;
+ }
+ })
+ .catch((err) => {
+ console.log("请假结果", err, obj);
+ text.record.leave = false;
+ });
+ }}
+ >
+ 请假
+
+
+
+ {/**
+ {
let obj = {
@@ -539,17 +646,7 @@ export default {
>
签到
- {/**
- {
- console.log("点击签退", e);
- }}
- >
- 签退
-
- */}
- {
console.log("点击请假", e, props.datasource);
@@ -579,6 +676,15 @@ export default {
>
请假
+ {
+ console.log("点击签退", e);
+ }}
+ >
+ 签退
+
+ */}
);
},
@@ -696,14 +802,18 @@ export default {
state.codeType = 2;
};
- {/* 添加学员弹框关闭,重新获取学员列表 */}
- const AddImpStuvisibleClose = (isget) => {
- console.log('关闭了导入学员弹框',isget)
- {/* 此处操作重新获取学员列表数据 */}
- if(isget){
- getStudent()
- }
+ {
+ /* 添加学员弹框关闭,重新获取学员列表 */
}
+ const AddImpStuvisibleClose = (isget) => {
+ console.log("关闭了导入学员弹框", isget);
+ {
+ /* 此处操作重新获取学员列表数据 */
+ }
+ if (isget) {
+ getStudent();
+ }
+ };
return {
...toRefs(state),
@@ -725,7 +835,8 @@ export default {
exportTaskStu,
clearLine,
qrcodeVisible,
- AddImpStuvisibleClose
+ AddImpStuvisibleClose,
+ batchSign,
};
},
};