This commit is contained in:
gjz 2025-03-19 10:19:26 +08:00
parent eb5374f7ff
commit 6d4deca501
5 changed files with 123 additions and 54 deletions

View File

@ -56,7 +56,7 @@
<div class="demo-drawer__content">
<el-form label-position="right" ref="ruleForm" :rules="rules" label-width="100px" :model="formItem">
<el-form-item label="校区" prop="SchoolArea">
<el-select v-model="formItem.SchoolArea" placeholder="请选择校区" clearable size="small"
<el-select v-model="formItem.SchoolArea" placeholder="请选择校区" clearable
class="ml-5 seachbox_input">
<el-option v-for="item in CampusList" :key="item.name" :label="item.name"
:value="item.value" />

View File

@ -19,7 +19,7 @@
<div class="seachbox">
<el-input class="ml-5 seachbox_input" v-model.trim="queryParams.clname" placeholder="请输入班级名称"
clearable/>
clearable style="width: 300px;"/>
<!-- <el-select v-model="queryParams.isValid" filterable placeholder="是否在培训期内">
<el-option key="1" label="在培训期内" value="1"></el-option>
<el-option key="-1" label="已过培训期" value="-1"></el-option>
@ -172,12 +172,12 @@
value-format="YYYY-MM-DD"
/>
</el-form-item>
<el-form-item label="教师" prop="counselorsNumber">
<el-form-item label="班主任教师" prop="counselorsNumber">
<!-- <el-input v-model="formItem.TeacherName" readonly placeholder="请选择教师" @click="modelteacher"
autocomplete="off"></el-input> -->
<el-select ref="itemSelectclass" filterable multiple v-model="formItem.counselorsNumber"
placeholder="教师" clearable @change="handleChange">
placeholder="请选择教师" clearable @change="handleChange">
<el-option v-for="item in NewClassList" :key="item.Number" :label="item.Name+'('+item.Number+')'"
:value="item.Number">
</el-option>
@ -716,6 +716,14 @@ export default {
this.$refs[formName].validate((valid) => {
if (valid) {
// let content = this.phoneEditor.txt.text();//
var cn = ''
if(this.formItem.counselorsNumber == '' || this.formItem.counselorsNumber == null || this.formItem.counselorsNumber == undefined){
cn = ''
}else{
cn = this.formItem.counselorsNumber.join(',')
}
let datas = {
ClassinfoId: this.formItem.ClassInfoId,
Name: this.formItem.Name,
@ -733,7 +741,7 @@ export default {
HeadTeacherNum: '',
counselorsNumber: this.formItem.counselorsNumber.join(',')
counselorsNumber: cn
};
console.log(datas);

View File

@ -22,14 +22,14 @@
<el-option v-for="item in majorList" :key="item.name" :label="item.name" :value="item.value" />
</el-select> -->
<el-select v-model="queryParams.classId" placeholder="班级" filterable clearable size="small"
<el-select v-model="queryParams.classId" placeholder="班级" filterable clearable
class="ml-5 seachbox_input">
<el-option v-for="item in classList" :key="item.name" :label="item.name" :value="item.value" />
</el-select>
<el-input v-model.trim="queryParams.sname" placeholder="姓名" clearable class="ml-5 seachbox_input"
size="small" style="margin:0px 20px 0px 0px"></el-input>
style="margin:0px 20px 0px 0px"></el-input>
<el-input v-model.trim="queryParams.phone" placeholder="电话" clearable class="ml-5 seachbox_input"
size="small" style="margin:0px 20px 0px 0px"></el-input>
style="margin:0px 20px 0px 0px"></el-input>
<!-- <el-input v-model.trim="queryParams.Phone" placeholder="电话" class="ml-5 seachbox_input" size="small"
style="margin:0px 20px 0px 0px" clearable></el-input> -->
<el-button class="ml-5" type="primary" @click="gettableinfo(1)">搜索</el-button>
@ -132,24 +132,24 @@
<div class="demo-drawer__content">
<el-form label-position="right" ref="ruleForm" :rules="rules" label-width="100px" :model="formItem">
<p slot="title" style="color: #1ea0ff;border-left: 2px solid #1ea0ff;padding-left: 8px;">基本信息</p>
<el-form-item label="姓名" prop="Name">
<el-input v-model.trim="formItem.Name" placeholder="请输入姓名" autocomplete="off"></el-input>
<el-form-item label="学生姓名" prop="Name">
<el-input v-model.trim="formItem.Name" placeholder="请输入学生姓名" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="班级" prop="classId">
<el-select v-model="formItem.classId" placeholder="请选择班级" filterable clearable
<el-form-item label="学生班级" prop="classId">
<el-select v-model="formItem.classId" placeholder="请选择学生班级" filterable clearable
class="ml-5 seachbox_input" style="width: 100%;">
<el-option v-for="item in classList1" :key="item.name" :label="item.name"
:value="item.value" />
</el-select>
</el-form-item>
<el-form-item label="性别" prop="sex">
<el-select v-model="formItem.sex" placeholder="请选择性别" clearable style="width: 100%;">
<el-form-item label="学生性别" prop="sex">
<el-select v-model="formItem.sex" placeholder="请选择学生性别" clearable style="width: 100%;">
<el-option key="1" label="男" value="1" />
<el-option key="2" label="女" value="2" />
</el-select>
</el-form-item>
<el-form-item label="单位" prop="enterprise">
<el-input v-model.trim="formItem.enterprise" placeholder="请输入单位" autocomplete="off"></el-input>
<el-form-item label="学生单位" prop="enterprise">
<el-input v-model.trim="formItem.enterprise" placeholder="请输入学生单位" autocomplete="off"></el-input>
</el-form-item>
<!-- <el-form-item label="学号" prop="Num">
<el-input v-model.trim="formItem.Num" placeholder="请输入学号" maxlength="20"
@ -186,8 +186,8 @@
</el-select>
</el-form-item> -->
<p slot="title" style="color: #1ea0ff;border-left: 2px solid #1ea0ff;padding-left: 8px;">联系方式</p>
<el-form-item label="电话" prop="Phone">
<el-input v-model.trim="formItem.Phone" placeholder="请输入电话" autocomplete="off" :disabled="isedit"></el-input>
<el-form-item label="手机号码" prop="Phone">
<el-input v-model.trim="formItem.Phone" placeholder="请输入手机号码" autocomplete="off" :disabled="isedit"></el-input>
</el-form-item>
<!-- <el-form-item label="QQ号" prop="QQ">
<el-input v-model.trim="formItem.QQ" placeholder="请输入QQ号" autocomplete="off"></el-input>

View File

@ -16,7 +16,7 @@
style="width:200px; margin:0px 10px 0px 0px "></el-input>
<el-select ref="itemSelectclass" filterable v-model="queryParams.ClassCode"
placeholder="班级" clearable>
<el-option v-for="item in NewClassList" :key="item.name" :label="item.name"
<el-option v-for="item in NewClassLists" :key="item.name" :label="item.name"
:value="item.value">
</el-option>
</el-select>
@ -58,12 +58,12 @@
</el-table-column>
<el-table-column prop="TeacherTitle" align="center" label="教师职称" width="100">
</el-table-column>
<el-table-column prop="IsOutSide" align="center" label="校内/外教师" width="100">
<!-- <el-table-column prop="IsOutSide" align="center" label="校内/外教师" width="100">
<template v-slot="scope">
<el-tag type="success" v-if="!scope.row.IsOutSide">校内教师</el-tag>
<el-tag v-if="scope.row.IsOutSide">校外教师</el-tag>
</template>
</el-table-column>
</el-table-column> -->
<el-table-column prop="DateTime" label="日期" align="center">
</el-table-column>
<el-table-column prop="ClassName" align="left" label="班级名称">
@ -145,29 +145,36 @@
<div class="demo-drawer__content">
<el-form label-position="right" ref="ruleForm" :rules="rules" label-width="150px" :model="formItem">
<!-- 新增__教室 -->
<el-form-item label="请选择教室" prop="ClassroomCode">
<el-select v-model="formItem.ClassroomCode" placeholder="教室" clearable
<el-form-item label="上课教室" prop="ClassroomCode">
<el-select v-model="formItem.ClassroomCode" placeholder="请选择教室" clearable
class="ml-5 seachbox_input">
<el-option v-for="item in AddClassroonList" :key="item.name" :label="item.name"
:value="item.value" />
</el-select>
</el-form-item>
<!-- 新增__按钮--添加专业班级 -->
<el-form-item label="班级" prop="ClassCode">
<el-form-item label="上课班级" prop="ClassCode">
<!-- <el-button type="primary" round @click="Newbox"><el-icon size="20">
<Plus />
</el-icon> </el-button> -->
<el-select ref="itemSelectclass" filterable multiple v-model="formItem.ClassCode"
placeholder="班级" clearable @change="classSelectclasscode">
<el-option v-for="item in NewClassList" :key="item.name" :label="item.name"
placeholder="请选择班级" clearable @change="classSelectclasscode">
<el-option v-for="item in NewClassLists" :key="item.name" :label="item.name"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<!-- 新增__教师姓名 -->
<el-form-item label="教师姓名" prop="TeacherName">
<el-input v-model="formItem.TeacherName" readonly placeholder="请选择教师" @click="modelteacher"
autocomplete="off"></el-input>
<el-form-item label="授课教师" prop="TeacherNumber">
<!-- <el-input v-model="formItem.TeacherName" readonly placeholder="请选择教师" @click="modelteacher"
autocomplete="off"></el-input> -->
<el-select ref="itemSelectclass" filterable multiple v-model="formItem.TeacherNumber"
placeholder="请选择教师" clearable @change="handleChanges">
<el-option v-for="item in NewClassList" :key="item.Number" :label="item.Name+'('+item.Number+')'"
:value="item.Number">
</el-option>
</el-select>
</el-form-item>
<!-- <el-form-item label="校内/外教师" prop="xnw">
<el-radio-group v-model="IsOutSide" @change="handleChange">
@ -175,9 +182,9 @@
<el-radio label="2">校外</el-radio>
</el-radio-group>
</el-form-item> -->
<el-form-item label="职称" prop="TeacherTitle">
<!-- <el-form-item label="职称" prop="TeacherTitle">
<el-input v-model="formItem.TeacherTitle" placeholder="请输入职称" autocomplete="off" disabled></el-input>
</el-form-item>
</el-form-item> -->
<!-- 新增__周次
<el-form-item label="请选择周次" prop="Weeks">
<el-checkbox-group v-model="formItem.Weeks">
@ -199,7 +206,7 @@
}}</el-checkbox>
</el-checkbox-group>
</el-form-item>-->
<el-form-item label="日期" prop="Date">
<el-form-item label="上课日期" prop="Date">
<el-date-picker
v-model="formItem.Date"
type="date"
@ -210,7 +217,7 @@
:disabled-date="disabledDate"
/>
</el-form-item>
<el-form-item label="时间" prop="Time">
<el-form-item label="上课时间" prop="Time">
<div style="width:100%">
<el-time-picker
v-model="formItem.Time"
@ -319,7 +326,7 @@
<el-form-item label="请选择班级" prop="Class">
<el-select ref="itemSelectclass" filterable multiple v-model="formItem.ClassCode"
placeholder="班级" size="small" clearable @change="classSelectclasscode">
<el-option v-for="item in NewClassList" :key="item.name" :label="item.name"
<el-option v-for="item in NewClassLists" :key="item.name" :label="item.name"
:value="item.value">
</el-option>
</el-select>
@ -353,6 +360,7 @@ import {
import { nanoid } from 'nanoid'
import { getsplit } from "@/utils/common.js"
import teacherSelect from "@/components/teacherselect.vue";
import { getTeacherSelectList } from "@/api/collegeinformation.js";
import { getAddClassroonList, postaddinfo, posteditinfo, getNewMajorList, getNewClassList, getdefaultValues, getNewGradeList, getNewCollegeList, getAddWeekList, getAddSectionList, getStatusList, getTeacherNameList, getTermList, getCollegeList, getClassroomList, getWeekList, getSectionList, getTabledata, getSchoolAreaList, getBuildingList, delTeachingLog, getweektime, getedit } from "@/api/teachlog.js"
export default {
name: 'teach-log_index',
@ -516,7 +524,7 @@ export default {
Time: [
{ required: true, message: '时间不能为空', trigger: 'change' },
],
TeacherName: [
TeacherNumber: [
{ required: true, message: '教师不能为空', trigger: 'change' },
],
Weeks: [
@ -547,7 +555,9 @@ export default {
NewCollegeList: [], //-----
NewMajorList: [], //-----
NewGradeList: [], //-----
NewClassList: [], //-----
NewClassLists: [], //-----
NewClassList: [], //-----
//---form
// Form: {
// College: '', //---
@ -635,7 +645,7 @@ export default {
});
} else if (data == 10){
this.$message({
message: '上课时间安排不合理课程间隔需大于15分钟',
message: '上课时间安排不合理课程间隔需大于10分钟',
type: 'error'
});
} else {
@ -905,7 +915,7 @@ export default {
getAddClassroonListinfo(signal) {
getAddClassroonList(
{
rCode: this.formItem.BuildingCode || '',
rCode: '',
signal: 'b',
}
).then((res) => {
@ -1110,7 +1120,7 @@ export default {
classSelectclasscode(e) {
//
let obj = {};
/* obj = this.NewClassList.find((item) => { // 这里的userList就是上面遍历的数据源
/* obj = this.NewClassLists.find((item) => { // 这里的userList就是上面遍历的数据源
return item.value === e; //
});
this.formItem.ClassCode = obj.value;
@ -1127,7 +1137,7 @@ export default {
majorCode: 'e3649c',
grade: '',
}).then((res) => {
this.NewClassList = res
this.NewClassLists = res
}).catch((err) => {
// console.log('');
})
@ -1253,7 +1263,6 @@ export default {
geteditdeails(id) {
//
getedit({ gtid: id }).then((res) => {
let data = res;
//
@ -1296,6 +1305,8 @@ export default {
CourceCode: data.CourceCode,
CourceType: data.CourceType == "" ? "必修" : data.CourceType,
IsByDate:data.IsByDate==true?'1':'2',
TeacherNumber:data.TeacherNumber == undefined ? '' : data.TeacherNumber.replace(/"([^"]*)"/, '$1').split(',')
// SchoolArea: '', //
// Term: '', //
// College: '', //
@ -1394,6 +1405,12 @@ export default {
this.formItem.TeacherNumber = ''
this.formItem.TeacherTitle = ''
},
handleChanges(e) {
if (this.formItem.TeacherNumber.length > 3) {
this.formItem.TeacherNumber.pop();
this.$message.warning('最多只能选择3名教师');
}
},
submitForm(formName) {
//
let vm = this;
@ -1413,6 +1430,17 @@ export default {
this.classformItem.MajorCode = new Array(this.formItem.ClassCode.length).fill('e3649c').join(',')
console.log(this.formItem.Date);
console.log(this.formItem.Time);
const arrT = this.formItem.TeacherNumber
const objT = this.NewClassList
const commonElements = arrT.map(number =>
objT.find(obj => obj.Number === number)
).filter(Boolean);
const namesString = commonElements.map(obj => obj.Name).join(', ');
this.formItem.TeacherTitle = commonElements[0].Title
let datas = {
AcademicNumber: '', //
@ -1432,8 +1460,8 @@ export default {
Grade: "", //
IsValid: vm.formItem.IsValid, //
xnw:'1',
TeacherNumber: this.IsOutSide == '1' ? vm.formItem.TeacherNumber : '', //
TeacherName: vm.formItem.TeacherName, //
//TeacherNumber: this.IsOutSide == '1' ? vm.formItem.TeacherNumber : '', //
//TeacherName: vm.formItem.TeacherName, //
TeachingLogId: 0,
IsOutSide: this.IsOutSide == '1' ? false : true,
@ -1442,7 +1470,9 @@ export default {
Time: `${this.formItem.Time[0]}-${this.formItem.Time[1]}`,
IsByDate: this.formItem.IsByDate == '1' ? true : false,
TimeInterval:0,
TeachingForm:0
TeachingForm:0,
TeacherNumber:this.formItem.TeacherNumber == undefined ? '' : this.formItem.TeacherNumber.join(','),
TeacherName: namesString, //
};
postaddinfo(datas).then((res) => {
let data = res;
@ -1614,6 +1644,19 @@ export default {
this.classformItem.MajorCode = new Array(this.formItem.ClassCode.length).fill('e3649c').join(',')
const arrT = this.formItem.TeacherNumber
const objT = this.NewClassList
const commonElements = arrT.map(number =>
objT.find(obj => obj.Number === number)
).filter(Boolean);
const namesString = commonElements.map(obj => obj.Name).join(', ');
this.formItem.TeacherTitle = commonElements[0].Title
let datas = {
AcademicNumber: vm.formItem.AcademicNumber, //
YearTerm: vm.formItem.YearTerm, //
@ -1634,15 +1677,19 @@ export default {
Grade: vm.formItem.Grade, //
IsValid: vm.formItem.IsValid, //
xnw:'1',
TeacherNumber: vm.formItem.TeacherNumber, //
TeacherName: vm.formItem.TeacherName, //
//TeacherNumber: vm.formItem.TeacherNumber, //
//TeacherName: vm.formItem.TeacherName, //
TeachingLogId: vm.formItem.TeachingLogId,
IsOutSide: this.IsOutSide == '1' ? false : true,
TeacherTitle: vm.formItem.TeacherTitle,
TeacherTitle: this.formItem.TeacherTitle,
Date: this.formItem.Date,
Time: `${this.formItem.Time[0]}-${this.formItem.Time[1]}`,
IsByDate: this.formItem.IsByDate == '1' ? true : false,
TeacherNumber:this.formItem.TeacherNumber == undefined ? '' : this.formItem.TeacherNumber.join(','),
TeacherName: namesString, //
};
posteditinfo(datas).then((res) => {
let data = res;
@ -1772,6 +1819,11 @@ export default {
type: 'error'
});
} else if (data == 19) {
this.$message({
message: '日期有误',
type: 'error'
});
} else {
this.$message({
message: '修改失败',
@ -1807,6 +1859,14 @@ export default {
mounted() {
this.Initialization()
this.getNewClassListinfo('');
getTeacherSelectList({
Name:'',
Number:'',
expertType:'0'
}).then((res) => {
this.NewClassList = res
})
},
activated() {

View File

@ -123,23 +123,24 @@
<div class="demo-drawer__content">
<el-form label-position="right" ref="ruleForm" :rules="rules" label-width="6.25rem" :model="formItem">
<p slot="title" style="color: #1ea0ff;border-left: .125rem solid #1ea0ff;padding-left: .5rem;">基本信息</p>
<el-form-item label="姓名" prop="Name">
<el-input v-model.trim="formItem.Name" placeholder="请输入姓名" autocomplete="off"></el-input>
<el-form-item label="教师姓名" prop="Name">
<el-input v-model.trim="formItem.Name" placeholder="请输入教师姓名" autocomplete="off"></el-input>
</el-form-item>
<!-- <el-form-item label="工号" prop="Title">
<el-input v-model.trim="formItem.Title" placeholder="请输入工号" maxlength="20"
autocomplete="off" readonly></el-input>
</el-form-item> -->
<el-form-item label="类型" prop="expertType">
<el-select v-model="formItem.expertType" placeholder="类型" clearable style="width: 100%;">
<el-form-item label="教师类型" prop="expertType">
<el-select v-model="formItem.expertType" placeholder="请选择教师类型" clearable style="width: 100%;">
<el-option key="1" label="校内" value="1" />
<el-option key="2" label="校外" value="2" />
<el-option key="3" label="政府机关" value="3" />
<el-option key="4" label="高校" value="4" />
<el-option key="0" label="无" value="0" />
</el-select>
</el-form-item>
<el-form-item label="职务/职称" prop="Title">
<el-input v-model.trim="formItem.Title" placeholder="请输入职务/职称" maxlength="20"
<el-input v-model.trim="formItem.Title" placeholder="请输入职务/职称"
autocomplete="off"></el-input>
</el-form-item>
<!-- <el-form-item label="请选择学校" prop="schoolId">
@ -162,8 +163,8 @@
</el-select>
</el-form-item> -->
<p slot="title" style="color: #1ea0ff;border-left: .125rem solid #1ea0ff;padding-left: .5rem;">联系方式</p>
<el-form-item label="电话" prop="Phone">
<el-input v-model.trim="formItem.Phone" placeholder="请输入电话" autocomplete="off"></el-input>
<el-form-item label="手机号码" prop="Phone">
<el-input v-model.trim="formItem.Phone" placeholder="请输入手机号码" autocomplete="off"></el-input>
</el-form-item>
<!-- <el-form-item label="QQ号" prop="QQ">
<el-input v-model.trim="formItem.QQ" placeholder="请输入QQ号" autocomplete="off"></el-input>