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

master
Romesum 5 years ago
parent 197009d338
commit 7ae2a9894e

@ -5,125 +5,98 @@
width="48%"> width="48%">
<div style="width: 100%;height: 120% "> <div style="width: 100%;height: 120% ">
<el-form :model="form"> <el-form :model="form">
<el-row>
<el-col style="width:45%"> <el-form-item label="位置" label-width="100px">
<el-form-item label="位置" style=""> <el-input v-model="form.position" placeholder="位置"></el-input>
<el-input v-model="form.position" placeholder="位置" class="position" style="width:70%;border-style: outset "></el-input>
</el-form-item> </el-form-item>
</el-col>
<el-col style="width:45% ;"> <el-form-item label="实验室名称" label-width="100px">
<el-form-item label="地址" style=""> <el-input v-model="form.name" placeholder="实验室名称"></el-input>
<el-input v-model="form.status" placeholder="地址id" style="width:60% ;left:10%;border-style: outset" ></el-input>
</el-form-item> </el-form-item>
</el-col> <!-- <el-col style="width:45%">-->
</el-row> <!-- <el-form-item label=">-->
<el-row> <!-- <el-select v-model="form.status" style=";" >-->
<el-col style="width:45%"> <!-- <el-option label="可预约" value="0"></el-option>-->
<el-form-item label="实验室id" style=""> <!-- <el-option label="不可预约" value="1"></el-option>-->
<el-input v-model="form.labId" placeholder="请输入id" style="width:70%;left: -5%;border-style: outset"></el-input> <!-- <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-form-item>
</el-col>
<el-col style="width:45%"> <el-form-item label="软件" label-width="100px">
<el-form-item label="实验室名称" style=""> <el-input v-model="form.software" placeholder="输入实验室包含的软件"></el-input>
<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> </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-select>
</el-form-item> </el-form-item>
</el-col> <el-button type="success" style="width: 120px;text-align: center" @click="$emit('confirm')">
<el-col style="width:45%"> {{!form.lab_id?'新增':'修改'}}
<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> </el-button>
</el-form> </el-form>
</div> </div>
</el-dialog> </el-dialog>
<el-dialog :visible="setLabTimeDialog" > <!-- <el-dialog :visible="setLabTimeDialog">-->
<set-lab-time ref="setLabTime"></set-lab-time> <!-- <set-lab-time ref="setLabTime"></set-lab-time>-->
<span slot="footer" class="dialog-footer"> <!-- <span slot="footer" class="dialog-footer">-->
<el-button @click="cancleSetTime"> </el-button> <!-- <el-button @click="cancleSetTime"> </el-button>-->
<el-button type="primary" @click="setTime"> </el-button> <!-- <el-button type="primary" @click="setTime"> </el-button>-->
</span> <!-- </span>-->
</el-dialog> <!-- </el-dialog>-->
</div> </div>
</template> </template>
<script> <script>
import setLabTime from "~/components/supManager/setLabTime"; import setLabTime from "~/components/supManager/setLabTime";
import {get} from "~/utils";
export default { export default {
name:"addLab", components: {
components:{
setLabTime setLabTime
}, },
data(){ data() {
return{ return {
setLabTimeDialog:false, setLabTimeDialog: false,
addLabDialog:false, addLabDialog: false,
form:{ form: {
position:'', position: '',
address:'', name: '',
labId:'', capacity: '',
name:'509', manager_id: 0,
status:'0', software: ''
capacity:'',
manager:'',
managerId:'',
schedule:[] //
}, },
userList: []
} }
}, },
methods:{ methods: {
showAddLab(){ // showAddLab() {
this.addLabDialog=false // this.addLabDialog = false
}, // },
detailTime(){ // detailTime() {
this.setLabTimeDialog=true // this.setLabTimeDialog = true
this.form.schedule=[] // this.form.schedule = []
}, // },
cancleSetTime(){ // cancleSetTime() {
this.setLabTimeDialog=false // this.setLabTimeDialog = false
this.$refs.setLabTime.allWeeksValue=[] // this.$refs.setLabTime.allWeeksValue = []
}, // },
setTime(){ setTime() {
this.setLabTimeDialog=false this.setLabTimeDialog = false
var st=this.$refs.setLabTime var st = this.$refs.setLabTime
this.form.schedule.push(st.form.year,st.form.semester,st.allWeeksValue) this.form.schedule.push(st.form.year, st.form.semester, st.allWeeksValue)
console.log(this.form.schedule) console.log(this.form.schedule)
} }
},
async mounted() {
this.userList = await get('lb/user/getUserList')
} }
} }
</script> </script>

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

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

Loading…
Cancel
Save