This commit is contained in:
gjz 2025-02-13 15:44:36 +08:00
parent 5483242ee8
commit e0a2e4d70e
8 changed files with 104 additions and 89 deletions

View File

@ -174,7 +174,12 @@ export function GetweekList(params) {
** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** */
export function GetClassAttendancesByDate(params) {
return axios({
url: `/api/GetClassAttendancesByDate`,
params
})
}
/**
//获取周次更新数据

View File

@ -56,7 +56,7 @@
</el-table-column>
<el-table-column prop="CollegeName" align="center" label="所在学院">
</el-table-column>
<el-table-column prop="Type_string" align="center" label="人员类型">
<el-table-column prop="Title" align="center" label="职称">
</el-table-column>
</el-table>
@ -288,7 +288,6 @@ export default {
params
}).then((res) => {
// debugger;
let data1 = res;
if (data1) {

View File

@ -4,11 +4,15 @@
<template>
<div>
<el-card>
<div class="seachbox">
<div class="seachbox" style="display: flex;align-items: center;">
<el-input class="ml-5 seachbox_input" v-model.trim="queryParams.clname" placeholder="请输入班级名称"
<el-input class="ml-5 seachbox_input" v-model.trim="queryParams.className" placeholder="请输入班级名称"
clearable size="small" />
<el-button type="primary" @click="getclassinfoDatainfo(pageobj.pageNum)" class="seachboxadd">
<div style="width: 390px;">
<el-date-picker v-model="queryParams.Date" value-format="YYYY-MM-DD" type="daterange"
range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"/>
</div>
<el-button type="primary" @click="getclassinfoDatainfo(pageobj.pageNum)" class="seachboxadd" style="margin-left: 10px;">
搜索
</el-button>
@ -18,22 +22,20 @@
<!-- <el-table-column type="selection" width="55" align="center" /> -->
<el-table-column prop="ClassName" label="班级名称" align="center">
</el-table-column>
<el-table-column prop="AttendanceNumber" label="出勤" align="center">
<el-table-column prop="AttendanceNumber" label="出勤人次" align="center">
</el-table-column>
<el-table-column prop="WithOutNumber" align="center" label="缺勤">
<el-table-column prop="WithOutNumber" align="center" label="缺勤人次">
</el-table-column>
<el-table-column prop="WithOutNumber" align="center" label="出勤率">
<!-- a = item.AttendanceNumber + item.WithOutNumber;
b = ((item.AttendanceNumber / a) * 100).toFixed(2); -->
<template #default="scope">
<span>{{ (scope.row.AttendanceNumber / (scope.row.AttendanceNumber + scope.row.WithOutNumber) * 100).toFixed(2) == 'NaN' ? '0' : (scope.row.AttendanceNumber / (scope.row.AttendanceNumber + scope.row.WithOutNumber) * 100).toFixed(2) +'%' }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="150" fixed="right">
<template #default="scope">
<!-- <el-row class="rowcenter">
<Edit-Button permission="ClassesColumns:Edit" content="编辑"
@clicknative="editclassitem(scope.row)"></Edit-Button>
<Delete-Button permission="ClassesColumns:Delete" @confirm="delclassitem(scope.row)"
content="删除"></Delete-Button>
</el-row> -->
<el-row class="rowcenter">
<Details-Button @clicknative="goSpecifiedPage(scope.row.ClassInfoId)" content="详情"></Details-Button>
</el-row>
</template>
</el-table-column>
@ -58,7 +60,7 @@
import E from 'wangeditor';
import { getDefaultTime } from "@/utils/common.js"
import teacherSelect from "@/components/teacherselect.vue";
import { GetWeekClassAttendances } from "@/api/atten-information";
import { GetClassAttendancesByDate } from "@/api/atten-information";
//import { getclassinfoData, getCourseinfoData, delClassinfo, delCourseinfo, getStudentlevel, postClassInfoAddinfo, postClassInfoeditinfo, getClassInfodetail, postCourseInfoAddinfo, postCourseInfoeditinfo, getCourseInfodetail } from "@/api/collegeinformation.js";
export default {
name: "classandcourse",
@ -81,7 +83,8 @@ export default {
collegeNam: '',
queryParams: {
clname: '',
className: '',
Date:'',
coursename: '',
type: 0,
},
@ -171,6 +174,29 @@ export default {
},
methods: {
goSpecifiedPage(classinfoid) {
//debugger
let arg = {
collegeId: 1,
majorId: 1,
classinfoid,
month: '',
week: '',
semester: "",
};
/* if (this.$route.query.date) {
// arg['date'] = this.$route.query.date;
arg["startDate"] = this.$route.query.date;
arg["endDate"] = this.$route.query.date;
} */
// this.removesessionContextData("attenClassDetails"); //session
this.$router.push({
name: "attenClassDetails",
query: {
...arg,
},
});
},
modelteacher() {
this.activwshow = 1;
this.teachershow = true;
@ -285,7 +311,6 @@ export default {
},
editclassitem(info) {
//
debugger
this.isedit1 = true;
this.drawerform1 = true;
this.getlevecolegelist();//
@ -501,7 +526,6 @@ export default {
CounselorNum: '',
};
debugger
console.log(datas);
postClassInfoeditinfo(datas).then((res) => {
@ -809,19 +833,16 @@ export default {
// table
getclassinfoDatainfo(pageNum) {
// debugger
this.pageobj.pageNum = pageNum;
GetWeekClassAttendances({
/* oldTotal: this.pageobj.oldTotal,
oldCurrent: this.pageobj.oldCurrent,
pageSize: this.pageobj.pageSize,
pageNum: pageNum,
classname: this.queryParams.clname,
majorname: '培训班', */
week: 1, //
majorId:'1' //
GetClassAttendancesByDate({
className: this.queryParams.className,
StartTime: this.queryParams.Date && this.queryParams.Date.length > 0 ? this.$moment(this.queryParams.Date[0]).format(
"YYYY-MM-DD"
) : '',
EndTime: this.queryParams.Date && this.queryParams.Date.length > 0 ? this.$moment(this.queryParams.Date[1]).format(
"YYYY-MM-DD"
) : '',
}).then((res) => {
debugger
let data = res;
if (data.length > 0) {
this.pageobj.Total = data[0].total;

View File

@ -3,7 +3,7 @@
<el-row style="line-height: 62px; padding: 0 30px">
<el-col :span="19">
<p class="page_p">
<span class="page_p_txt">考勤信息详情 - 课程名称{{ coursename }}</span>
<span class="page_p_txt">考勤信息详情 - 课程名称{{ coursenameNew }}</span>
<!-- <span class="page_p_txt">班级考勤信息详情</span> -->
</p>
</el-col>
@ -21,7 +21,7 @@
</el-col>
</el-row>
<el-row style="padding: 0 20px; margin-top: 10px">
<el-col :span="4">
<!-- <el-col :span="4">
<el-select v-model="queryform.collegeId" @change="selectCollege" placeholder="学院名称" filterable disabled>
<el-option v-for="item in collegeList" :key="item.name" :label="item.name" :value="item.value" />
</el-select>
@ -31,7 +31,7 @@
disabled>
<el-option v-for="item in majorList" :key="item.name" :label="item.name" :value="item.value" />
</el-select>
</el-col>
</el-col> -->
<el-col :span="4" style="margin-left: 15px">
<el-select v-model="queryform.classinfoid" @change="selectClass" placeholder="班级名称" filterable>
<el-option v-for="item in classList" :key="item.name" :label="item.name" :value="item.value" />
@ -39,9 +39,14 @@
</el-col>
<el-col :span="4" style="margin-left: 15px">
<el-select v-model="queryform.courseNum" @change="selectCourse" placeholder="课程" filterable clearable>
<el-option v-for="item in courseList" :key="item.name" :label="item.name" :value="item.value" />
<el-option v-for="item in courseList" :key="item.value" :label="item.name" :value="item.value" />
</el-select>
</el-col>
<el-col :lg="4" :sm="6" style="margin-left: 15px">
<el-date-picker v-model="queryform.timerange" format="YYYY/MM/DD" value-format="YYYY/MM/DD" type="daterange"
@change="selecttimerange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期">
</el-date-picker>
</el-col>
</el-row>
<el-row style="padding: 0 20px; margin-top: 10px">
<!-- <el-col :span="4">
@ -53,7 +58,7 @@
>{{ item.name }}</Option>
</el-select>
</el-col> -->
<el-col :span="4">
<!-- <el-col :span="4">
<el-select v-model="queryform.monthNum" @change="selectMonth" placeholder="月份">
<el-option v-for="item in monthList" :key="item.name" :label="item.name" :value="item.value" />
</el-select>
@ -62,19 +67,15 @@
<el-select v-model="queryform.weekNum" @change="selectWeek" placeholder="周次">
<el-option v-for="item in weekList" :key="item.name" :label="item.name" :value="item.value" />
</el-select>
</el-col>
<el-col :lg="4" :sm="6" style="margin-left: 15px">
<el-date-picker v-model="queryform.timerange" format="YYYY/MM/DD" value-format="YYYY/MM/DD" type="daterange"
@change="selecttimerange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期">
</el-date-picker>
</el-col>
</el-col> -->
</el-row>
<el-row style="margin-top: 10px" ref="row">
<el-col :span="24" class="padding-left-10">
<el-card class="mCard">
<h2 class="card_h2">{{ className }}</h2>
<!-- <div class="card_txt">专业名称{{majorname}} 教室名称西苑校区闻道楼5楼507 日期2019年12月12日</div> -->
<div class="card_txt">专业名称{{ majorname }}</div>
<!-- <div class="card_txt">专业名称{{ majorname }}</div> -->
<el-row>
<!-- 左侧 -->
<el-col :lg="10" :sm="24">
@ -262,6 +263,7 @@ export default {
ctableLoading: false,
editInlineData: [],
coursename: "",
coursenameNew: "全部课程",
coursevalue: "",
CourseData: [],
isShow: false,
@ -334,7 +336,7 @@ export default {
term = "",
month = "",
week = "",
signal = 2,
signal = 1,
} = options;
// debugger
GetClassAbsenceTop10({
@ -550,18 +552,15 @@ export default {
endTime: this.queryform.timerange[1] ? this.queryform.timerange[1] : "",
month: this.queryform.monthNum,
week: this.queryform.weekNum,
Signal: this.queryform.timerange[0] ? 1 : 2,
Signal: 1,
};
GetClassAbsenceCourceList(params).then((res) => {
try {
let datas = res;
this.courseList = []
this.courseList = datas;
// this.getAllDatas();
} catch (err) {
// console.log(err);
}
})
.catch((err) => {
this.$message({
@ -667,11 +666,11 @@ export default {
if (this.queryform.monthNum !== "") {
units = "month";
dateUs = this.queryform.monthNum;
signal = 2;
signal = 1;
} else if (this.queryform.weekNum !== "") {
units = "week";
dateUs = this.queryform.weekNum;
signal = 2;
signal = 1;
} else if (
typeof this.queryform.timerange[0] !== "undefined" &&
this.queryform.timerange[0] !== ""
@ -852,7 +851,7 @@ export default {
week: this.queryform.weekNum,
month: this.queryform.monthNum,
term: this.semesterNum,
Signal: 2,
Signal: 1,
};
if (
typeof vm.$route.query.startDate !== "undefined" &&
@ -1309,6 +1308,8 @@ export default {
},
//
selectCourse: debounce(function (params) {
const selected = this.courseList.find(option => option.value === params);
this.coursenameNew = selected.name
// const { value } = params;
// this.queryform.courseNum = value;
let arg = {
@ -1355,38 +1356,15 @@ export default {
getClassInfo(classinfoid) {
// debugger
//let url = `api/AttendanceInfo/GetClassAbsenceTotalStatistics`;
let params = "";
if (this.queryform.monthNum !== "") {
params = {
var params = {
classId: classinfoid,
courceId: this.queryform.courseNum || 0,
startTime: "",
endTime: "",
month: this.queryform.monthNum,
week: "",
Signal: 2,
};
} else if (this.queryform.weekNum !== "") {
params = {
classId: classinfoid,
courceId: this.queryform.courseNum || 0,
startTime: "",
endTime: "",
month: "",
week: this.queryform.weekNum,
Signal: 2, //123
};
} else if (typeof this.queryform.timerange[0] !== "undefined") {
params = {
classId: classinfoid,
courceId: this.queryform.courseNum || 0,
startTime: this.queryform.timerange[0],
endTime: this.queryform.timerange[1],
startTime: '',
endTime: '',
month: "",
week: "",
Signal: 1,
};
}
GetClassAbsenceTotalStatistics(params).then((res) => {
let datas = res[0];

View File

@ -17,7 +17,7 @@
</el-col> -->
</el-row>
<el-row ref="row" style="padding: 0 30px" class="selects">
<el-col :span="4">
<!-- <el-col :span="4">
<el-select v-model="collegeId" @change="selectCollege" filterable placeholder="学院名称" disabled>
<el-option v-for="item in collegeList" :key="item.name" :label="item.name" :value="item.value" />
@ -27,7 +27,7 @@
<el-select v-model="majorId" @change="selectMajor" filterable placeholder="专业名称" disabled>
<el-option v-for="item in majorList" :key="item.name" :label="item.name" :value="item.value" />
</el-select>
</el-col>
</el-col> -->
<el-col :span="4" style="margin-left: 15px">
<el-select v-model="classinfoid" @change="selectClasss" filterable placeholder="班级名称">
<el-option v-for="item in classList" :key="item.name" :label="item.name" :value="item.value" />

View File

@ -503,6 +503,7 @@ export default {
this.glyformItem.TeacherNamenum = data.Name + "-" + data.Number;
this.glyformItem.LinkManName = data.Name;//
this.glyformItem.Number = data.Number;//
this.glyformItem.PhoneNum = data.Phone
this.teachershow = false;
},
getglyinfo(id) {

View File

@ -117,7 +117,7 @@
<el-drawer v-model="drawerform1" :title="drawerformtitle1" :append-to-body="false">
<!-- 新增修改班级左侧框 -->
<div class="demo-drawer__content">
<el-form label-position="right" ref="ruleForm" :rules="rules" label-width="100px" :model="formItem">
<el-form label-position="right" ref="ruleForm" :rules="rules" label-width="120px" :model="formItem">
<!-- <el-form-item label="学院名称" prop="collegeId">
<el-select v-model="formItem.collegeId" filterable placeholder="请选择学院" @change="classmajorList"
:disabled="formItem.collegeId ? true : false">
@ -151,7 +151,7 @@
<el-input v-model.trim="formItem.Counselor" placeholder="新增-单位"
autocomplete="off"></el-input>
</el-form-item> -->
<el-form-item label="培训开始时间" prop="ClassRemark">
<el-form-item label="培训开始时间" prop="TrainingStartTime">
<el-date-picker
v-model="formItem.TrainingStartTime"
type="date"
@ -159,7 +159,7 @@
value-format="YYYY-MM-DD"
/>
</el-form-item>
<el-form-item label="培训结束时间" prop="ClassRemark">
<el-form-item label="培训结束时间" prop="TrainingEndTime">
<el-date-picker
v-model="formItem.TrainingEndTime"
type="date"
@ -167,12 +167,12 @@
value-format="YYYY-MM-DD"
/>
</el-form-item>
<el-form-item label="老师(校内)" prop="ClassRemark">
<el-form-item label="教师" prop="TeacherName">
<el-input v-model="formItem.TeacherName" readonly placeholder="请选择教师" @click="modelteacher"
autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="备注" prop="ClassRemark">
<el-input v-model.trim="formItem.ClassRemark" placeholder="新增-请输入班主任工号"
<el-input v-model.trim="formItem.ClassRemark" placeholder=""
autocomplete="off"></el-input>
</el-form-item>
</el-form>
@ -324,6 +324,15 @@ export default {
{ required: true, message: '请输入班级名称', trigger: 'blur' },
//{ min: 3, max: 5, message: ' 3 5 ', trigger: 'blur' }
],
TeacherName: [
{ required: true, message: '请选择教师', trigger: 'blur' },
],
TrainingStartTime: [
{ required: true, message: '请选择培训开始时间', trigger: 'blur' },
],
TrainingEndTime: [
{ required: true, message: '请选择培训结束时间', trigger: 'blur' },
],
collegeId: [
{ required: true, message: '请选择学院', trigger: 'blur' },
//{ min: 3, max: 5, message: ' 3 5 ', trigger: 'blur' }
@ -476,7 +485,6 @@ export default {
},
editclassitem(info) {
//
debugger
this.isedit1 = true;
this.drawerform1 = true;
this.getlevecolegelist();//
@ -679,7 +687,7 @@ export default {
let datas = {
ClassinfoId: this.formItem.ClassInfoId,
Name: this.formItem.Name,
HeadTeacherNum: this.formItem.HeadTeacherNum,
//HeadTeacherNum: this.formItem.HeadTeacherNum,
TrainingStartTime: this.formItem.TrainingStartTime,
TrainingEndTime: this.formItem.TrainingEndTime,
@ -690,6 +698,8 @@ export default {
collegeId:1,
MajorId: 1,
CounselorNum: '',
HeadTeacherNum: this.formItem.TeacherNumber
};
debugger

View File

@ -633,10 +633,10 @@ export default {
event.target.name = "file";
vm.$forceUpdate();
}).catch((err) => {
this.$message({
/* this.$message({
message: '请求失败!',
type: 'error'
});
}); */
});
},
daortanshows() {
@ -659,6 +659,7 @@ export default {
// debugger;
this.formItem.TeacherName = data.Name;//
this.formItem.TeacherNumber = data.Number;//
this.formItem.TeacherTitle = data.Title
this.teachershow = false;
},