完善申请实验室页面

master
aiyadc 5 years ago
parent 68335bcf5d
commit 9dde8ed89b

@ -9,8 +9,8 @@
<el-radio label="全不选"></el-radio>
</el-radio-group>
</div>
<el-checkbox-group v-model="checkedValue" @change="handleCheckedValueChange">
<el-checkbox-button v-for="item in checkOption" :label="item.value" :key="item.value" style="width: 52px" :disabled="item.isDisable"></el-checkbox-button>
<el-checkbox-group v-model="checkedValue" @change="handleCheckedValueChange" ref="checkBox">
<el-checkbox-button v-for="item in checkOption" :label="item" :key="item" style="width: 52px"></el-checkbox-button>
</el-checkbox-group>
<el-divider></el-divider>
<el-button @click="$emit('add')"></el-button>
@ -20,12 +20,11 @@
</template>
<script>
const allVal=['1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','18'];
const singleVal=['1','3','5','7','9','11','13','15','17'];
const doubleVal=['2','4','6','8','10','12','14','16','18'];
const allVal=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18];
const singleVal=[1,3,5,7,9,11,13,15,17];
const doubleVal=[2,4,6,8,10,12,14,16,18];
export default {
name: "weekSelection",
props:['checkOption'],
data(){
return{
checkedValue:[],
@ -33,7 +32,7 @@
isIndeterminate1:true,
isIndeterminate2:true,
isIndeterminate3:true,
checkOption:[]
checkOption:[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]
}
},
methods:{
@ -51,6 +50,15 @@
this.radioValue=value.length===allVal.length?'all':''
}
},
mounted() {
// console.log(this.$refs.checkBox.$children)
// var weeks=[6,7,8]
// for (let i=0;i<weeks.length;i++){
// console.log(weeks[i])
// this.$refs.checkBox.$children[weeks[i]-1].disabled=true
// }
}
}
</script>

@ -41,15 +41,15 @@
semester: 2,
selectOptions1: [
{
value: '2017',
value: '1718',
label: '2017-2018年'
},
{
value: '2018',
value: '1819',
label: '2018-2019年'
},
{
value: '2019',
value: '1920',
label: '2019-2020年'
}
],

@ -7,6 +7,8 @@
<nav-bar></nav-bar>
</el-header>
<el-main>
<!-- /和学期-->
<time-select ref="timeSelection"></time-select>
<!-- 表格查询申请记录-->
<el-header>
<div>
@ -39,16 +41,12 @@
<!-- 填写申请课室表单信息-->
<el-dialog title="请填写以下申请信息" :visible.sync="formDialog" :close-on-click-modal="false">
<el-form :model="form" :inline="true" label-width="100px">
<el-form :model="form" :inline="true" label-width="100px" ref="courseForm">
<el-form-item label="课程名称" prop="course_name" :rules="[{ required: true, message: '请输入课程名称', trigger: 'blur' }]">
<el-select v-model="form.course_name" @change="">
<el-option v-for="item in courseOption" :key="item.uc_id" :label="item.course_name"></el-option>
<el-select v-model="form.course_name">
<el-option v-for="item in courseOption" :key="item.uc_id" :label="item.name" :value="item.uc_id"></el-option>
</el-select>
</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="地址" >
<el-input v-model="form.position" disabled></el-input>
</el-form-item>
@ -72,24 +70,25 @@
<el-form-item label="班级人数" prop="population" :rules="[{ required: true, message: '填写班级人数', trigger: 'blur' }]">
<el-input v-model="form.population" disabled></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 label="备注" prop="remind"><el-input v-model="form.remind" placeholder="请输入备注"></el-input></el-form-item>
</el-form>
<div slot="footer">
<el-button type="primary" @click="sendApply"></el-button>
<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 :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>
<div><p style="color: deeppink" v-html="tips"></p></div>
</el-dialog>
<!-- 周次选择-->
<!-- checkbox:周次选择-->
<el-dialog :visible.sync="weekDialog" title="请选择周数" width="400px" :close-on-click-modal="false" >
<week-selection @add="addWeek" @cancel="cancelSelection" ref="weekSelection" :check-option="checkOptioin"></week-selection>
<week-selection @add="addWeek" @cancel="cancelSelection" ref="weekSelection" ></week-selection>
</el-dialog>
</el-container>
@ -102,6 +101,7 @@
import tb_course from "~/components/tb_course";
import navBar from "~/components/teacher/navBar";
import weekSelection from "~/components/teacher/weekSelection";
import timeSelect from "~/components/timeSelect";
import {get, post, stop} from "~/utils";
import {showDialog, showFail, showSuccess} from "~/utils/dialog";
export default {
@ -109,7 +109,8 @@
components:{
tb_course,
navBar,
weekSelection
weekSelection,
timeSelect
},
data(){
return{
@ -117,15 +118,17 @@
lab:{},
tableData:[{}],
checkOptioin :[],
checkOption :[],
formDialog:false,
courseDialog:false,
weekDialog:false,
perTargetValue:'',
aWeekValue:[],
allWeeksValue:[],
tips:"已添加时间段:",
form:{
position:'',
name:'',
@ -136,7 +139,7 @@
class:'',
population:'',
schedule:'',
remind:''
remind:''
},
courseOption:[]
}
@ -152,96 +155,30 @@
//isFull,forisFull绿
},
//
cellClick:function (row, column, cell, event) {
//()使disable
let position = this.lab.position
let rowIndex = row.index
let columIndex = column.index
var weeks=get('',{position,rowIndex,columIndex}) //:
this.checkOption=weeks
//
// this.checkOption=[
// {
// value:'1',
// isDisable:false
// },
// {
// value:'2',
// isDisable:false
// },
// {
// value:'3',
// isDisable:false
// },
// {
// value:'4',
// isDisable:false
// },
// {
// value:'5',
// isDisable:false
// },
// {
// value:'6',
// isDisable:false
// },
// {
// value:'7',
// isDisable:false
// },
// {
// value:'8',
// isDisable:false
// },
// {
// value:'9',
// isDisable:false
// },
// {
// value:'10',
// isDisable:false
// },{
// value:'11',
// isDisable:false
// },{
// value:'12',
// isDisable:false
// },{
// value:'13',
// isDisable:false
// },{
// value:'14',
// isDisable:false
// },{
// value:'15',
// isDisable:false
// },{
// value:'16',
// isDisable:false
// },{
// value:'17',
// isDisable:false
// },{
// value:'18',
// isDisable:false
// },
// ]
cellClick(row, column, cell, event) {
console.log(row.index)
console.log(column.index)
if (this.weekDialog=false){this.weekDialog=true}
else {this.weekDialog=false}
this.aWeekValue.push(row.index,column.index)
//()使disable
// let position = this.lab.position
// let rowIndex = row.index
// let columIndex = column.index
// var weeks=get('',{position,rowIndex,columIndex}) //rowIndexcolumIndex:
// var weeks=[6,7,8]
// for (let i=0;i<weeks.length;i++){
// console.log(weeks[i])
// // this.$refs.weekSelection.$refs.children[weeks[i]].disabled=true
// }
// console.log(row.index)
// console.log(column.index)
if (column.label!='') {
console.log(event);
// event.target.textContent='' //
this.tips=""
this.weekDialog=true
this.perTargetValue=event.target //targettarget
}
},
//
toMyRecord(){
this.$router.push('/teacher/myApplyRecord/'+this.user.u_id) //user.u_id
},
//
//
clickLabApply(row){
this.lab=row
this.formDialog=true
@ -253,29 +190,66 @@
},
//
selectChange(){
this.courseOption = get('',this.u_id) //id
this.form.position= this.lab.position //
this.form.name= this.lab.name //
// this.form.position= this.lab.position //
// this.form.name= this.lab.name //
this.form.date=d.getFullYear()+'/'+(d.getMonth()+1)+'/'+d.getDate() //
this.form.nickname= this.user.nickname //
this.form.tel= this.user.tel //
this.form.class= this.courseOption.class //
this.form.population= this.courseOption.population //
// this.form.nickname= this.user.nickname //
// this.form.tel= this.user.tel //
// this.form.class= this.courseOption.class //
// this.form.population= this.courseOption.population //
},
//
addWeek:function () {
async addWeek() {
this.weekDialog=false
var targetValue = this.$refs.weekSelection.checkedValue
await showDialog("确认设置此时间段吗?",this)
if(targetValue.length!==0){
this.perTargetValue.textContent='【'+targetValue+'】周'
this.allWeeksValue.push(targetValue)
this.aWeekValue.push(targetValue) //[rowIndex,column,targetValue]
this.allWeeksValue.push(this.aWeekValue) //allWeeksValue
this.perTargetValue.style.backgroundColor='lightyellow'
for (let i=0;i<this.allWeeksValue.length;i++){
for (let j=i+1;j<this.allWeeksValue.length;j++){
if (this.allWeeksValue[i][0]===this.allWeeksValue[j][0]&&this.allWeeksValue[i][1]===this.allWeeksValue[j][1]){
this.allWeeksValue.splice(i,1)
}
}
}
for (let k=0;k<this.allWeeksValue.length;k++){
// console.log(this.allWeeksValue[k][2])
if (this.allWeeksValue[k][2]!==[]){
this.tips+='星期'+this.allWeeksValue[k][1]+'、第'+this.allWeeksValue[k][0]+'节、所选周数'+this.allWeeksValue[k][2]+";"+'</br>'
}
}
}
this.aWeekValue=[]
this.$refs.weekSelection.checkedValue=[] //
// console.log(this.allWeeksValue)
},
//
cancelSelection:function () {
console.log('已取消')
//
async cancelSelection() {
for (let i=0;i<this.allWeeksValue.length;i++){
if (this.aWeekValue[0]===this.allWeeksValue[i][0] && this.aWeekValue[1]===this.allWeeksValue[i][1]){
this.allWeeksValue.splice(i,1)
console.log(this.allWeeksValue)
}
}
this.aWeekValue=[]
//
if(this.allWeeksValue.length!==0){
for (let k=0;k<this.allWeeksValue.length;k++){
if (this.allWeeksValue[k][2]!==[]){
this.tips='星期'+this.allWeeksValue[k][1]+'、第'+this.allWeeksValue[k][0]+'节、所选周数'+this.allWeeksValue[k][2]+';'+'</br>'
}
}
}else {
this.tips='已添加周数:无'
}
this.perTargetValue.style.backgroundColor=''
this.perTargetValue.textContent=''
//allWeeksValue
@ -286,30 +260,72 @@
},
//
setWeeks:function () {
this.form.schedule=this.allWeeksValue.toString()
console.log(this.allWeeksValue)
post('/lb_teacher_applyLab',{
weeks:this.allWeeksValue,
year:this.$refs.timeSelection.year,
semester:this.$refs.timeSelection.semester,
position:this.from.position,
name:this.form.name,
date: this.form.date,
nickname:this.form.nickname,
tel:this.form.tel,
course_name:this.form.course_name,
class:this.form.class,
population:this.form.population,
remind:this.form.remind
})
// this.form.schedule=this.allWeeksValue.toString()
this.courseDialog=false
console.log(this.$refs.times)
this.tips='已添加时间段'
// console.log(this.$refs.times)
},
//
cancelSetWeeks:function () {
this.allWeeksValue=[]
this.form.schedule=""
this.tips='已添加时间段'
this.courseDialog=false
console.log(this.allWeeksValue)
},
sendApply:function () {
let form = this.form
post('/lb_teacher_applyLab',{
formData:form
})
alert('这里本来要验证的,为了方便查看表格,暂无设置,需要验证请把代码行注释解除掉')
this.courseDialog=true
// this.$refs.courseForm.validate(()=>{
// if (vailid){
// this.courseDialog=true
// }
// })
this.formDialog=false
},
cancelAppy:function () {
this.formDialog=false
},
//
toMyRecord(){
this.$router.push('/teacher/myApplyRecord/'+this.user.u_id) //user.u_id
}
},
//mouted
mounted() {
console.log(this.$refs.detailtb)
this.user=get('') //
this.courseOption = get('',this.u_id) //id
//
this.courseOption=[{
year: '1819',
semester: '2',
uc_id: '12345677',
name: '软件工程',
software: 'Webstorm',
classes: '6班',
population: '41',
isHaveDocuments: '1',
remind: '无',
}]
// console.log(this.$refs.detailtb)
console.log('this is mouted')
console.log(this.$refs.weekSelection)
var d = new Date()
}

@ -121,7 +121,17 @@
dialogForm: false,
edit: '',
user: {},
tableData: [],
tableData: [{
year: '1819',
semester: '2',
uc_id: '12345677',
name: '林大池',
software: 'Webstorm',
classes: '6班',
population: '41',
isHaveDocuments: '1',
remind: '无',
}],
courseForm: {
year: '',
semester: '',

Loading…
Cancel
Save