'完善课程管理页面'

master
aiyadc 5 years ago
parent d88dd2619a
commit a059825303

@ -2,7 +2,7 @@
<div>
<el-table :data="tableData" :span-method="objectSpanMethod" @cell-click="cClick" :cell-style="cStyle">
<el-table :data="tableData" :span-method="objectSpanMethod" @cell-click="cClick" :cell-style="cStyle">
<el-table-column :label="tableLabel"align="center " >
<el-table-column prop="daytime" label="" fixed align="center" width="60"></el-table-column>
<el-table-column prop="time" label="" fixed align="center" width="100"></el-table-column>
@ -27,7 +27,7 @@
props:['tableLabel','courseMessage','cClick','cStyle',],
data(){
return{
item:'',
tableData:[
{daytime:'上午',time:'第一节',Monday:'',Tuesday:'',Wednesday:'',Thursday:'',
Friday:'',Saturday:'',Sunday:''},
@ -57,7 +57,7 @@
};
}
}
}
},
},
mounted() {
// cellStyle:function({row, column, rowIndex, columnIndex}){

@ -2,10 +2,12 @@
<div>
<el-container>
<!-- 标题栏-->
<el-header style="padding: 0">
<nav-bar></nav-bar>
</el-header>
<el-main>
<!-- 表格查询申请记录-->
<el-header>
<div>
<el-input type="text" style="max-width: 400px;float: left" placeholder="请输入查询关键字" ><el-button slot="append" icon="el-icon-search"></el-button></el-input>
@ -28,41 +30,62 @@
width="212">
<template slot-scope="scope">
<el-button @click="" type="text" size="medium" @click="$router.push('/labApplyDetail')"></el-button>
<el-button @click="messageDialog=true" type="text" size="medium">申请</el-button>
<el-button @click="formDialog=true" type="text" size="medium">申请</el-button>
</template>>
</el-table-column>
</el-table>
</el-main>
<el-dialog title="请填写以下申请信息" :visible.sync="messageDialog">
<!-- 填写申请课室表单信息-->
<el-dialog title="请填写以下申请信息" :visible.sync="formDialog" :close-on-click-modal="false">
<el-form :model="form" :inline="true" label-width="100px">
<el-form-item label="地址" ><el-input v-model="form.position"></el-input></el-form-item>
<el-form-item label="申请时间" prop="date"><el-input v-model="form.date"></el-input></el-form-item>
<el-form-item label="实验室名称" ><el-input v-model="form.name"></el-input></el-form-item>
<el-form-item label="姓名" prop="nickname"><el-input v-model="form.nickname"></el-input></el-form-item>
<el-form-item label="手机号" prop="tel"><el-input v-model="form.tel"></el-input></el-form-item>
<el-form-item label="课程名称" prop="course_name"><el-input v-model="form.course_name"></el-input> </el-form-item>
<el-form-item label="使用班级" prop="class"><el-input v-model="form.class"></el-input> </el-form-item>
<el-form-item label="班级人数" prop="population"> <el-input v-model="form.population"></el-input> </el-form-item>
<el-form-item label="申请时间段" prop="time" >
<el-input v-model="form.schedule" placeholder="请点击右侧图标进行设置">
<el-form-item label="地址" >
<el-input v-model="form.position" ></el-input>
</el-form-item>
<el-form-item label="申请时间" prop="date" >
<el-input v-model="form.date"></el-input>
</el-form-item>
<el-form-item label="实验室名称">
<el-input v-model="form.name"></el-input>
</el-form-item>
<el-form-item label="姓名" prop="nickname" :rules="[{ required: true, message: '请输入您的姓名', trigger: 'blur' }]">
<el-input v-model="form.nickname"></el-input>
</el-form-item>
<el-form-item label="手机号" prop="tel" :rules="[
{ required: true, message: '请输入您的手机号', trigger: 'blur' },
{type:'number',message: '请输入11位有效数字',trigger: 'blur'}]">
<el-input v-model="form.tel"></el-input>
</el-form-item>
<el-form-item label="课程名称" prop="course_name" :rules="[{ required: true, message: '请输入课程名称', trigger: 'blur' }]">
<el-input v-model="form.course_name"></el-input>
</el-form-item>
<el-form-item label="使用班级" prop="class" :rules="[{ required: true, message: '请填写使用的班级', trigger: 'blur' }]">
<el-input v-model="form.class"></el-input>
</el-form-item>
<el-form-item label="班级人数" prop="population" :rules="[{ required: true, message: '填写班级人数', trigger: 'blur' }]">
<el-input v-model="form.population"></el-input>
</el-form-item>
<el-form-item label="申请时间段" prop="schedule" :rules="[{ required: true, message: '请选择申请时间段', trigger: 'blur' }]">
<el-input v-model="form.schedule" placeholder="请点击右侧图标进行设置" >
<i slot="suffix" class="el-input__icon el-icon-date" @click="courseDialog=true" style="cursor: pointer"></i>
</el-input></el-form-item>
<el-form-item label="备注" prop="remind"><el-input v-model="form.remind"></el-input></el-form-item>
<el-form-item>
<el-button type="primary" @click="">申请</el-button>
<el-button @click="">重置</el-button>
</el-form-item>
<el-form-item label="备注" prop="remind"><el-input v-model="form.remind" ></el-input></el-form-item>
</el-form>
<div slot="footer">
<el-button type="primary" @click="sendApply"></el-button>
<el-button @click="cancelAppy"></el-button>
</div>
</el-dialog>
<el-dialog :visible.sync="courseDialog" append-to-body>
<tb_course :cClick="cellClick" :cStyle="cellStyle" table-label=""></tb_course>
<!-- 节数选择-->
<el-dialog :visible.sync="courseDialog" append-to-body :close-on-click-modal="false">
<tb_course :cClick="cellClick" :cStyle="cellStyle" table-label="" ref="times"></tb_course>
<span slot="footer" class="dialog-footer">
<el-button @click="cancelSetWeeks"> </el-button>
<el-button type="primary" @click="setWeeks"> </el-button>
</span>
</span>
</el-dialog>
<el-dialog :visible.sync="weekDialog" title="请选择周数" width="400px">
<!-- 周次选择-->
<el-dialog :visible.sync="weekDialog" title="请选择周数" width="400px" :close-on-click-modal="false">
<week-selection @add="addWeek" @cancel="cancelSelection" ref="weekSelection"></week-selection>
</el-dialog>
</el-container>
@ -76,6 +99,8 @@
import tb_course from "~/components/tb_course";
import navBar from "~/components/teacher/navBar";
import weekSelection from "~/components/teacher/weekSelection";
import {get, post, stop} from "~/utils";
import {showDialog, showFail, showSuccess} from "~/utils/dialog";
export default {
name: "applyLab",
components:{
@ -87,7 +112,7 @@
return{
tableData:[{}
],
messageDialog:false,
formDialog:false,
courseDialog:false,
weekDialog:false,
perTargetValue:'',
@ -104,7 +129,8 @@
schedule:'',
remind:''
}
},
}
},
@ -123,10 +149,11 @@
this.weekDialog=true
this.perTargetValue=event.target //targettarget
}
},
addWeek:function () {
console.log(this.$refs.weekSelection)
console.log(this.perTargetValue)
this.weekDialog=false
var targetValue = this.$refs.weekSelection.checkedValue
if(targetValue.length!==0){
@ -149,9 +176,21 @@
setWeeks:function () {
this.form.schedule=this.allWeeksValue.toString()
this.courseDialog=false
console.log(this.$refs.times)
},
cancelSetWeeks:function () {
this.courseDialog=false
},
sendApply:function () {
let form = this.form
post('/lb_teacher_applyLab',{
formData:form
})
this.formDialog=false
},
cancelAppy:function () {
this.formDialog=false
}
},
mounted() {

@ -4,37 +4,34 @@
<time-select style="margin-top: 20px"></time-select>
<div style="margin-bottom: 10px">
<el-row :gutter="20">
<el-col :span="2"><el-button type="success" class="el-icon-circle-plus-outline" style="float: right" @click="dialogAdd=true"></el-button></el-col>
<el-col :span="2"><el-button type="success" class="el-icon-circle-plus-outline" style="float: right" @click="addCourse"></el-button></el-col>
<el-col :span="8" >
<el-input type="text" v-model="search" style="max-width: 400px;float: left" placeholder="请输入查询关键字" ><el-button slot="append" icon="el-icon-search"></el-button></el-input>
</el-col>
</el-row>
</div>
<el-table :data="tableData" border>
<el-table-column
type="selection"
width="55">
</el-table-column>
<el-table-column label="课程编号" prop=""></el-table-column>
<el-table-column label="老师编号" prop=""></el-table-column>
<el-table-column label="课程名称" prop=""></el-table-column>
<el-table-column label="软件名称" prop=""></el-table-column>
<el-table-column label="授课班级" prop=""></el-table-column>
<el-table-column label="授课人数" prop=""></el-table-column>
<el-table-column label="是否有课件" prop=""></el-table-column>
<el-table-column label="备注" prop=""></el-table-column>
<el-table-column label="操作" prop="">
<template slot-scope="scope">
<el-table :data="tableDataComputed" border>
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column label="课程编号" prop="uc_id"></el-table-column>
<el-table-column label="老师编号" prop="u_id"></el-table-column>
<el-table-column label="课程名称" prop="name"></el-table-column>
<el-table-column label="软件名称" prop="software"></el-table-column>
<el-table-column label="授课班级" prop="classes"></el-table-column>
<el-table-column label="授课人数" prop="population"></el-table-column>
<el-table-column label="是否有课件" prop="isHaveDocument"></el-table-column>
<el-table-column label="备注" prop="remind"></el-table-column>
<el-table-column label="操作" >
<template slot-scope="scope" >
<el-button
@click="{}"
@click="editCourse(scope.row)"
type="text"
class="el-icon-edit"
size="small">
编辑
</el-button>
<el-button
@click="{}"
@click="deleteCourse(scope.row)"
type="text"
class="el-icon-delete"
size="small">
@ -44,16 +41,16 @@
</el-table-column>
</el-table>
<el-dialog title="请填写以下申请信息" :visible.sync="dialogAdd">
<el-form :model="form" :inline="true" label-width="100px">
<el-form-item label="课程编号" ><el-input v-model="formData.uc_id"></el-input></el-form-item>
<el-form-item label="老师编号" prop="date"><el-input v-model="formData.u_id"></el-input></el-form-item>
<el-form-item label="课程名称" ><el-input v-model="formData.name"></el-input></el-form-item>
<el-form-item label="软件名称" prop="nickname"><el-input v-model="formData.software"></el-input></el-form-item>
<el-form-item label="授课班级" prop="tel"><el-input v-model="formData.classes"></el-input></el-form-item>
<el-form-item label="授课人数" prop="course_name"><el-input v-model="formData.population"></el-input> </el-form-item>
<el-form-item label="是否有课件" prop="class"><el-input v-model="formData.isHaveDocuments"></el-input></el-form-item>
<el-form-item label="备注" prop="population"> <el-input v-model="formData.remind"></el-input></el-form-item>
<el-dialog :title="edit?'编辑课程信息':'添加课程'" :visible.sync="dialogForm">
<el-form :model="courseForm" :inline="true" label-width="100px" ref="courseForm">
<el-form-item label="课程编号" prop="uc_id" :rules="{ required: true, message: '此处不可为空', trigger: 'blur' }" ><el-input v-model="courseForm.uc_id"></el-input></el-form-item>
<el-form-item label="老师编号" prop="u_id" :rules="{ required: true, message: '此处不可为空', trigger: 'blur' }"><el-input v-model="courseForm.u_id"></el-input></el-form-item>
<el-form-item label="课程名称" prop="name" :rules="{ required: true, message: '此处不可为空', trigger: 'blur' }"><el-input v-model="courseForm.name"></el-input></el-form-item>
<el-form-item label="软件名称" prop="software" :rules="{ required: true, message: '此处不可为空', trigger: 'blur' }"><el-input v-model="courseForm.software"></el-input></el-form-item>
<el-form-item label="授课班级" prop="classes" :rules="{ required: true, message: '此处不可为空', trigger: 'blur' }"><el-input v-model="courseForm.classes"></el-input></el-form-item>
<el-form-item label="授课人数" prop="population" :rules="{ required: true, message: '此处不可为空', trigger: 'blur' }"><el-input v-model="courseForm.population"></el-input> </el-form-item>
<el-form-item label="是否有课件" prop="isHaveDocuments" :rules="{ required: true, message: '此处不可为空', trigger: 'blur' }"><el-input v-model="courseForm.isHaveDocuments"></el-input></el-form-item>
<el-form-item label="备注" prop="remind" :rules="{ required: true, message: '此处不可为空', trigger: 'blur' }"> <el-input v-model="courseForm.remind"></el-input></el-form-item>
<el-form-item>
<el-button type="primary" @click="add"></el-button>
<el-button @click="cancel"></el-button>
@ -66,24 +63,18 @@
<script>
import navBar from "~/components/teacher/navBar";
import timeSelect from "~/components/timeSelect";
import {get, post} from "~/utils";
import {showDialog, showFail, showSuccess} from "~/utils/dialog";
export default {
name: "courseManagement",
components:{navBar,timeSelect},
data(){
return{
search:'',
dialogAdd:false,
tableData:[{
uc_id:'',
u_id:'',
name:'',
software:'',
classes:'',
population:'',
remind:'',
isHaveDocuments:''
}],
formData:{
dialogForm:false,
edit:'',
tableData:[],
courseForm:{
uc_id:'',
u_id:'',
name:'',
@ -96,12 +87,96 @@
}
},
methods:{
async load(){
this.tableData=await get('lb/course/courseManagement')
},
addCourse(){
this.edit=0
this.dialogForm=true
},
editCourse(rowData){
this.edit=1
this.dialogForm=true
this.courseForm=rowData
},
deleteCourse(rowData){
showDialog("确认要删除吗?", this)
post('lb/user/deleteUser', {
uid: rowData.uc_id
}).then(() => {
showSuccess("删除成功", this)
this.load()
}).catch(e => {
showFail("删除失败 " + e.msg, this)
})
},
add:function () {
this.dialogAdd=false
//
this.$refs['courseForm'].validate(async (valid) => {
if (valid) {
//
await showDialog("确定要" + (this.edit ? '编辑' : '新增') + '吗?', this)
//
if (this.edit) {
await post('lb/user/updateUser', {
uc_id:this.courseForm.uc_id,
u_id:this.courseForm.u_id,
name:this.courseForm.name,
software:this.courseForm.software,
classes:this.courseForm.classes,
population:this.courseForm.population,
remind:this.courseForm.remind,
isHaveDocuments:this.courseForm.isHaveDocuments
}).catch(async e => {
await showFail(e.msg, this)
await stop()
})
showSuccess('编辑完成', this)
this.dialogForm=false //
this.load() //
} else {
//
await post('lb/user/addUser', {
nickname: this.userForm.nickname,
tel: this.userForm.tel,
email: this.userForm.email,
username: this.userForm.username,
office: this.userForm.office,
position: parseInt(this.userForm.position),
password: this.userForm.password
}).catch(async e => {
await showFail(e.msg, this)
await stop()
})
showSuccess('新增完成', this)
this.dialogForm=false
this.load() //
}
this.$emit('confirm')
}
})
},
cancel:function () {
this.dialogAdd=false
this.$refs.courseForm.resetFields()
this.dialogForm=false
}
},
computed:{
tableDataComputed(){
return this.tableData.filter(data => !this.search
|| data.uc_id.toLowerCase().includes(this.search.toLowerCase())
|| data.u_id.toLowerCase().includes(this.search.toLowerCase())
|| data.name.toLowerCase().includes(this.search.toLowerCase())
|| data.software.toLowerCase().includes(this.search.toLowerCase())
|| data.classes.toLowerCase().includes(this.search.toLowerCase())
|| data.population.toLowerCase().includes(this.search.toLowerCase())
|| data.remind.toLowerCase().includes(this.search.toLowerCase())
|| data.isHaveDocuments.toLowerCase().includes(this.search.toLowerCase())
)
}
},
mounted() {
this.load()
}
}
</script>

@ -32,6 +32,11 @@
name: '我的课表', func: () => {
this.$router.push('/teacher/myCourse')
}
},
{
name:'课程管理',func:()=>{
this.$router.push('/teacher/courseManagement')
}
}
]
}

@ -21,10 +21,10 @@
</el-table-column>
<el-table-column prop="population" label="人数">
</el-table-column>
<el-table-column prop="course_name" label="课程名称">
</el-table-column>
<el-table-column prop="status" label="状态"></el-table-column>
</el-table>
</el-main>
@ -38,6 +38,7 @@
<script>
import tb_course from "~/components/tb_course";
import navBar from "~/components/teacher/navBar";
import {get} from "~/utils";
export default {
name: "myApplyRecord",
components: {
@ -49,9 +50,14 @@
tableData: [
]
}
},
computed:{
},
mounted() {
console.log(this.$refs.mar)
get('/lb_teacher_myApplyRecord').then((res)=>{
this.tableData=res.data
})
}
}
</script>

@ -5,7 +5,7 @@
<!-- 学年/学期-->
<time-select></time-select>
<!-- 课程表-->
<tb_course :cClick="{}" :cStyle="{}" ref="courseTB" table-label="" abel="我的课表"></tb_course>
<tb_course :cClick="cellClick" :cStyle="tableStyle" ref="courseTB" table-label="" label="我的课表"></tb_course>
</div>
</template>
@ -25,6 +25,12 @@
return {}
},
methods:{
cellClick(){
console.log('click the cell')
},
tableStyle(){
}
},
mounted() {
// //

Loading…
Cancel
Save