[feat][V]:完善简化实验室管理页面,并对接接口

master
Romesum 5 years ago
parent 197009d338
commit 7ae2a9894e

@ -5,87 +5,60 @@
width="48%">
<div style="width: 100%;height: 120% ">
<el-form :model="form">
<el-row>
<el-col style="width:45%">
<el-form-item label="位置" style="">
<el-input v-model="form.position" placeholder="位置" class="position" style="width:70%;border-style: outset "></el-input>
<el-form-item label="位置" label-width="100px">
<el-input v-model="form.position" placeholder="位置"></el-input>
</el-form-item>
</el-col>
<el-col style="width:45% ;">
<el-form-item label="地址" style="">
<el-input v-model="form.status" placeholder="地址id" style="width:60% ;left:10%;border-style: outset" ></el-input>
<el-form-item label="实验室名称" label-width="100px">
<el-input v-model="form.name" placeholder="实验室名称"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col style="width:45%">
<el-form-item label="实验室id" style="">
<el-input v-model="form.labId" placeholder="请输入id" style="width:70%;left: -5%;border-style: outset"></el-input>
<!-- <el-col style="width:45%">-->
<!-- <el-form-item label=">-->
<!-- <el-select v-model="form.status" style=";" >-->
<!-- <el-option label="可预约" value="0"></el-option>-->
<!-- <el-option label="不可预约" value="1"></el-option>-->
<!-- <el-option label="故障" value="2"></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<el-form-item label="可容纳人数" label-width="100px">
<el-input v-model="form.capacity" placeholder="输入数量"></el-input>
</el-form-item>
</el-col>
<el-col style="width:45%">
<el-form-item label="实验室名称" style="">
<el-select v-model="form.name" style="border-style: outset;width: 60%;left: 3%" >
<el-option value="509"></el-option>
<el-option value="2"></el-option>
<el-option value="3"></el-option>
<el-option value="4"></el-option>
</el-select>
<el-form-item label="软件" label-width="100px">
<el-input v-model="form.software" placeholder="输入实验室包含的软件"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col style="width:45%">
<el-form-item label="状态"style="">
<el-select v-model="form.status" style="border-style: outset;" >
<el-option label="可预约" value="0"></el-option>
<el-option label="不可预约" value="1"></el-option>
<el-option label="故障" value="2"></el-option>
<el-form-item label="管理员" label-width="100px">
<el-select v-model="form.manager_id" style="width: 100%;">
<div v-for="item in userList">
<el-option :label="item.nickname" :value="item.uid"></el-option>
</div>
</el-select>
</el-form-item>
</el-col>
<el-col style="width:45%">
<el-form-item label="可容量认人数"style="">
<el-input v-model="form.capacity" placeholder="输入数量" style="width:60%;border-style: outset"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col style="width:45%">
<el-form-item label="管理员"style="">
<el-input v-model="form.manager" placeholder="管理员" style="width:70%;left: -1%;;border-style: outset"></el-input>
</el-form-item>
</el-col>
<el-col style="width:45%">
<el-form-item label="管理员id"style="">
<el-input v-model="form.managerId" placeholder="管理员id" style="width:60%;left:6%;border-style: outset"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-form-item label="可申请时间段"style="">
<el-input v-model="form.managerId" placeholder="点击编辑" style="width:80%" @focus="detailTime"></el-input>
</el-form-item>
<el-button type="success" style="width: 120px;text-align: left" icon="el-icon-circle-plus-outline"
@click="showAddLab">新增
<el-button type="success" style="width: 120px;text-align: center" @click="$emit('confirm')">
{{!form.lab_id?'新增':'修改'}}
</el-button>
</el-form>
</div>
</el-dialog>
<el-dialog :visible="setLabTimeDialog" >
<set-lab-time ref="setLabTime"></set-lab-time>
<span slot="footer" class="dialog-footer">
<el-button @click="cancleSetTime"> </el-button>
<el-button type="primary" @click="setTime"> </el-button>
</span>
</el-dialog>
<!-- <el-dialog :visible="setLabTimeDialog">-->
<!-- <set-lab-time ref="setLabTime"></set-lab-time>-->
<!-- <span slot="footer" class="dialog-footer">-->
<!-- <el-button @click="cancleSetTime"> </el-button>-->
<!-- <el-button type="primary" @click="setTime"> </el-button>-->
<!-- </span>-->
<!-- </el-dialog>-->
</div>
</template>
<script>
import setLabTime from "~/components/supManager/setLabTime";
import {get} from "~/utils";
export default {
name:"addLab",
components: {
setLabTime
},
@ -95,35 +68,35 @@
addLabDialog: false,
form: {
position: '',
address:'',
labId:'',
name:'509',
status:'0',
name: '',
capacity: '',
manager:'',
managerId:'',
schedule:[] //
manager_id: 0,
software: ''
},
userList: []
}
},
methods: {
showAddLab(){
this.addLabDialog=false
},
detailTime(){
this.setLabTimeDialog=true
this.form.schedule=[]
},
cancleSetTime(){
this.setLabTimeDialog=false
this.$refs.setLabTime.allWeeksValue=[]
},
// showAddLab() {
// this.addLabDialog = false
// },
// detailTime() {
// this.setLabTimeDialog = true
// this.form.schedule = []
// },
// cancleSetTime() {
// this.setLabTimeDialog = false
// this.$refs.setLabTime.allWeeksValue = []
// },
setTime() {
this.setLabTimeDialog = false
var st = this.$refs.setLabTime
this.form.schedule.push(st.form.year, st.form.semester, st.allWeeksValue)
console.log(this.form.schedule)
}
},
async mounted() {
this.userList = await get('lb/user/getUserList')
}
}
</script>

@ -1,143 +1,118 @@
<template>
<div style="width: 100%" >
<el-form :model="form" :inline="true">
<el-form-item label="类型" style="width: 20% ">
<el-select v-model="form.type" style="border-style: outset;" >
<el-option label="安卓实验室" value="0"></el-option>
<el-option label="window实验室" value="1"></el-option>
<el-option label="ios实验室" value="2"></el-option>
</el-select>
</el-form-item>
<el-form-item label="位置" style="width: 20% ;">
<el-select v-model="form.position" style="border-style: outset;" >
<el-option label="旭日楼" value="0"></el-option>
<el-option label="电子楼" value="1"></el-option>
<el-option label="实训楼" value="2"></el-option>
</el-select>
</el-form-item>
<el-form-item label="状态" style="width: 20%">
<el-select v-model="form.status" style="border-style: outset;" >
<el-option label="可预约" value="0"></el-option>
<el-option label="不可预约" value="1"></el-option>
<el-option label="故障" value="2"></el-option>
</el-select>
</el-form-item >
<el-input v-model="search" placeholder="输入关键字搜索" suffix-icon="el-icon-search" style="width: 20%;border-style: outset;"/>
<el-button type="success" style="width: 6%;text-align: left" icon="el-icon-circle-plus-outline"
@click="showAddLab" >新增
</el-button>
<el-button type="success" style="width: 8%;text-align: left" icon="el-icon-circle-plus-outline" @click="showAddLab" >批量操作
</el-button>
</el-form>
<el-form :model="time" :inline="true" style="width: 100%">
<span style="width: 10% ;:-20px">可预约时间段:
</span>
<div style="width: 100%;padding: 20px">
<el-form :model="time" :inline="true" style="width: 100%;margin-top: 30px">
<!-- <span style="width: 10% ;:-20px">可预约时间段:-->
<!-- </span>-->
<el-form-item label="学年" style="width: 20% ;">
<el-select v-model="time.year" style="border-style: outset;" >
<el-select v-model="time.year" style="">
<el-option label="2017-2018" value="0"></el-option>
<el-option label="2018-2019" value="1"></el-option>
<el-option label="2019-2020" value="2"></el-option>
</el-select>
</el-form-item>
<el-form-item label="学期" style="width: 20%">
<el-select v-model="time.semester" style="border-style: outset;" >
<el-select v-model="time.semester" style="">
<el-option label="第一学期" value="0"></el-option>
<el-option label="第二学期" value="1"></el-option>
</el-select>
</el-form-item>
<el-form-item label="周次" style="width: 5%">
</el-form-item >
<el-select v-model="time.day1" style="border-style: outset;;width:5%" >
<el-option label="1" value="0"></el-option>
<el-option label="2" value="1"></el-option>
<el-option label="3" value="0"></el-option>
<el-option label="4" value="1"></el-option>
<el-option label="5" value="0"></el-option>
<el-option label="6" value="1"></el-option>
<el-option label="7" value="0"></el-option>
</el-select>
<span></span>
<el-select v-model="time.day2" style="border-style: outset;;width: 5%" >
<el-option label="1" value="0"></el-option>
<el-option label="2" value="1"></el-option>
<el-option label="3" value="0"></el-option>
<el-option label="4" value="1"></el-option>
<el-option label="5" value="0"></el-option>
<el-option label="6" value="1"></el-option>
<el-option label="7" value="0"></el-option>
</el-select>
<el-form-item label="星期几" style="width: 5%">
</el-form-item >
<el-select v-model="time.day1" style="border-style: outset;;width: 10%" >
<el-option label="星期一" value="0"></el-option>
<el-option label="星期二" value="1"></el-option>
<el-option label="星期三" value="0"></el-option>
<el-option label="星期四" value="1"></el-option>
<el-option label="星期五" value="0"></el-option>
<el-option label="星期六" value="1"></el-option>
<el-option label="星期七" value="0"></el-option>
</el-select>
<el-button type="success" style="width: 6%;text-align: left" icon="el-icon-circle-plus-outline"
@click="showAddLab" >检索
</el-button>
<!-- <el-form-item label="周次" style="width: 5%">-->
<!-- </el-form-item >-->
<!-- <el-select v-model="time.day1" style=";width:5%" >-->
<!-- <el-option label="1" value="0"></el-option>-->
<!-- <el-option label="2" value="1"></el-option>-->
<!-- <el-option label="3" value="0"></el-option>-->
<!-- <el-option label="4" value="1"></el-option>-->
<!-- <el-option label="5" value="0"></el-option>-->
<!-- <el-option label="6" value="1"></el-option>-->
<!-- <el-option label="7" value="0"></el-option>-->
<!-- </el-select>-->
<!-- <span></span>-->
<!-- <el-select v-model="time.day2" style=";width: 5%" >-->
<!-- <el-option label="1" value="0"></el-option>-->
<!-- <el-option label="2" value="1"></el-option>-->
<!-- <el-option label="3" value="0"></el-option>-->
<!-- <el-option label="4" value="1"></el-option>-->
<!-- <el-option label="5" value="0"></el-option>-->
<!-- <el-option label="6" value="1"></el-option>-->
<!-- <el-option label="7" value="0"></el-option>-->
<!-- </el-select>-->
<!-- <el-form-item label="星期几" style="width: 5%">-->
<!-- </el-form-item >-->
<!-- <el-select v-model="time.day1" style=";width: 10%" >-->
<!-- <el-option label="星期一" value="0"></el-option>-->
<!-- <el-option label="星期二" value="1"></el-option>-->
<!-- <el-option label="星期三" value="0"></el-option>-->
<!-- <el-option label="星期四" value="1"></el-option>-->
<!-- <el-option label="星期五" value="0"></el-option>-->
<!-- <el-option label="星期六" value="1"></el-option>-->
<!-- <el-option label="星期七" value="0"></el-option>-->
<!-- </el-select>-->
<!-- <el-button type="success" style="width: 6%;text-align: left" icon="el-icon-circle-plus-outline"-->
<!-- @click="showAddLab" >检索-->
<!-- </el-button>-->
</el-form>
<el-table
:data="tableData"
border
>
<el-table-column
prop="name"
label="实验室名称"
>
</el-table-column>
<el-table-column
prop="address"
label="地点"
>
</el-table-column>
<el-table-column
prop="status"
label="状态"
>
</el-table-column>
<el-table-column
prop="week"
label="可申请周次"
>
</el-table-column>
<el-table-column
prop="manage"
label="管理员"
>
</el-table-column>
<el-table-column
label="操作"
width="300px"
>
<el-row :gutter="20">
<el-col :span="8">
<el-input v-model="search" placeholder="输入关键字搜索" suffix-icon="el-icon-search"/>
</el-col>
<el-col :span="16" style="text-align: left">
<el-button type="success" style="width: 120px;text-align: center" icon="el-icon-circle-plus-outline"
@click="editLab()">新增
</el-button>
</el-col>
</el-row>
<!-- <el-form :model="form">-->
<!-- <el-form-item label="类型" style="width: 20% ">-->
<!-- <el-select v-model="form.type" style="" >-->
<!-- <el-option label="安卓实验室" value="0"></el-option>-->
<!-- <el-option label="window实验室" value="1"></el-option>-->
<!-- <el-option label="ios实验室" value="2"></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="位置" style="width: 20% ;">-->
<!-- <el-select v-model="form.position" style="" >-->
<!-- <el-option label="旭日楼" value="0"></el-option>-->
<!-- <el-option label="电子楼" value="1"></el-option>-->
<!-- <el-option label="实训楼" value="2"></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- <el-input v-model="search" placeholder="输入关键字搜索" suffix-icon="el-icon-search" style="width: 20%;"/>-->
<!-- </el-form>-->
<el-table :data="tableData" border style="margin-top: 20px">
<el-table-column prop="name" label="实验室名称"></el-table-column>
<el-table-column prop="position" label="实验室地点"></el-table-column>
<el-table-column prop="name" label="实验室名称"></el-table-column>
<el-table-column prop="name" label="软件"></el-table-column>
<el-table-column prop="nickname" label="管理员"></el-table-column>
<el-table-column prop="tel" label="管理员联系电话"></el-table-column>
<el-table-column label="操作" width="370px">
<template slot-scope="scope">
<el-button @click="" style="border: lightpink solid 1px " size="small">查看申请详情</el-button>
<el-button @click="" size="small">详细信息</el-button>
<el-button @click="" size="small">查看</el-button>
<el-button @click="editLab(scope.row)" type="primary" size="mini" plain icon="el-icon-edit">编辑
</el-button>
<!-- <el-button @click="deleteLab(scope.row.lab_id)" type="danger" size="mini" plain-->
<!-- icon="el-icon-delete">删除-->
<!-- </el-button>-->
<el-button @click="schedulePreview(scope.row.lab_id)" size="mini" plain>查看课表</el-button>
<el-button @click="editSchedule(scope.row.lab_id)" type="primary" size="mini" icon="el-icon-edit" plain>修改可预约时间段
</el-button>
</template>
</el-table-column>
</el-table>
<add-lab ref="addLab"></add-lab>
<add-lab ref="addLab" @confirm="submit"></add-lab>
</div>
</template>
@ -147,52 +122,84 @@
import {get, post} from "~/utils";
import {showDialog, showFail, showSuccess} from "~/utils/dialog";
export default {
components: {addLab},
data() {
return {
edit:"",
form:{
type:'0',
position:'0',
status:'0',
},
edit: false,
// form: {
// type: '0',
// position: '0',
// status: '0',
// },
time: {
year: '0',
week:'0',
day1:"0",
day2:"16",
semester: '0'
},
search: '',
tableData:[
{ name:"aaaa" , address:"509"}
],
tableData: [],
}
},
methods: {
showAddLab(){
console.log(this.$refs.addLab)
async load() {
this.tableData = await get('/lb/lab/getLabList')
},
//
async editLab(item) {
//
this.edit = !!item
this.$refs.addLab.form = item ? item : {
position: '',
name: '',
capacity: '',
manager_id: ''
}
this.$refs.addLab.addLabDialog = true
this.$router.push('/supManager/index/labManager')
console.log(this.$refs.addLab)
//
this.dialogFormVisible = true
},
async submit() {
this.$refs.addLab.form.capacity = parseInt(this.$refs.addLab.form.capacity)
this.$refs.addLab.form.managerId = this.$refs.addLab.form.manager_id
if (this.$refs.addLab.form.lab_id) {
//
this.$refs.addLab.form.labId = this.$refs.addLab.form.lab_id
await post('lb/lab/updateLab', this.$refs.addLab.form).then(async () => {
await this.load()
showSuccess('编辑成功', this)
}).catch(() => {
showFail('编辑失败', this)
})
} else {
//
await post('lb/lab/addLab', this.$refs.addLab.form).then(async () => {
await this.load()
showSuccess('新增成功', this)
}).catch(() => {
showFail('新增失败', this)
})
}
this.$refs.addLab.addLabDialog = false
},
//
// async editLab(item) {
// //
// this.edit = !!item
// this.userForm = item ? item : {
// nickname: "",
// tel: "",
// email: "",
// username: "",
// office: "",
// position: ''
// }
// //
// this.dialogFormVisible = true
// async deleteLab(labId) {
// await showDialog("", this)
// await post('lb/lab/deleteLab', {labId}).then(async () => {
// await this.load()
// await showSuccess('', this)
// }).catch(err => {
// showFail(',', this)
// })
// },
async schedulePreview() {
await showFail('尚未开发', this)
},
async editSchedule() {
}
},
computed: {
// tableDataComputed() {
@ -207,7 +214,8 @@
},
mounted() {
async mounted() {
await this.load()
// this.tableData=get('/url')
}
}

@ -38,6 +38,8 @@ async function request(url, method, data, params, header = {}) {
} else {
reject(res.data)
}
}).catch(err=>{
reject(err)
})
})
}

Loading…
Cancel
Save