[feat][v]:新增审核页面并完成接口对接

master
Romesum 5 years ago
parent d7dc800c4c
commit bc876256ea

@ -0,0 +1,79 @@
<template>
<div>
<el-dialog :visible.sync="show" append-to-body :close-on-click-modal="false">
<el-card class="box-card">
<div slot="header" class="clearfix">
<span>审核详情</span>
<el-button style="float: right; padding: 10px 20px" type="danger" @click="refuse"></el-button>
<el-button style="float: right; padding: 10px 20px;margin-right: 20px;" type="primary" @click="commit"></el-button>
</div>
<el-form :model="data">
<el-form-item align="center" label-width="130px" label="创建时间:">
<div style="width: 100%;border: 1px solid;">{{data.create_time}} &nbsp;</div>
</el-form-item>
<el-form-item align="center" label-width="130px" label="申请人:">
<div style="width: 100%;border: 1px solid;">{{data.nickname}} &nbsp;</div>
</el-form-item>
<el-form-item align="center" label-width="130px" label="申请人联系电话:">
<div style="width: 100%;border: 1px solid;">{{data.tel}} &nbsp;</div>
</el-form-item>
<el-form-item align="center" label-width="130px" label="实验室地点:">
<div style="width: 100%;border: 1px solid;">{{data.position}} &nbsp;</div>
</el-form-item>
<el-form-item align="center" label-width="130px" label="课程名称:">
<div style="width: 100%;border: 1px solid;">{{data.course_name}} &nbsp;</div>
</el-form-item>
<el-form-item align="center" label-width="130px" label="使用班级:">
<div style="width: 100%;border: 1px solid;">{{data.classes}} &nbsp;</div>
</el-form-item>
<el-form-item align="center" label-width="130px" label="使用人数:">
<div style="width: 100%;border: 1px solid;">{{data.population}} &nbsp;</div>
</el-form-item>
<el-form-item align="center" label-width="130px" label="申请时间段:">
<div style="width: 100%;border: 1px solid;">{{data.weeks}} &nbsp;</div>
</el-form-item>
<el-form-item align="center" label-width="130px" label="备注:">
<div style="width: 100%;border: 1px solid;">{{data.remind}} &nbsp;</div>
</el-form-item>
</el-form>
</el-card>
</el-dialog>
</div>
</template>
<script>
import {showDialog, showSuccess} from "~/utils/dialog";
import {post} from "~/utils";
export default {
data() {
return {
show: false,
data: {}
}
},
methods: {
async refuse(){
this.$prompt('请输入拒绝的理由', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消'
}).then(async ({ value }) => {
this.data.refuseReason = value
await post('lb/labrecord/refuse',this.data)
showSuccess('已拒绝申请!',this)
}).catch(()=>{})
},
async commit(){
await showDialog('确定同意吗?',this)
await post('lb/labrecord/commit',this.data)
showSuccess('已同意申请!',this)
}
}
}
</script>
<style scoped>
</style>

@ -0,0 +1,84 @@
<template>
<div>
<el-container>
<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>
</div>
</el-header>
<el-table :data="tableData" border ref="mar">
<el-table-column prop="position" label="实验室地点"></el-table-column>
<el-table-column prop="lab_name" label="实验室名称"></el-table-column>
<el-table-column prop="classes" label="授课班级"></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 label="申请时间段" align="center">
<template slot-scope="scope">
{{parseInt(scope.row.year)}}-{{parseInt(scope.row.year)+1}}学年<br>
{{scope.row.semester}}学期<br>
{{scope.row.day}}{{scope.row.time}}节课<br>
{{scope.row.week}}
</template>
</el-table-column>
<el-table-column prop="status" label="状态" align="center">
<template slot-scope="scope">
<el-tag
:type="scope.row.status === 0 ? 'primary' : scope.row.status ===2 ? 'success': 'warning'"
disable-transitions>
{{scope.row.status ===0 ? '待审核' :
scope.row.status ===2 ? '审核通过': '审核失败'}}
</el-tag>
</template>
</el-table-column>
<el-table-column label="操作" width="100px" align="center">
<template slot-scope="scope">
<el-button @click="showDetail(scope.row)" type="primary" size="mini"
:disabled="scope.row.status!==0">审核
</el-button>
</template>
</el-table-column>
</el-table>
</el-main>
</el-container>
<apply-detail-dialog ref="detail"></apply-detail-dialog>
</div>
</template>
<script>
import tb_course from "~/components/tb_course";
import applyDetailDialog from "~/components/manager/applyDetailDialog";
import {get} from "~/utils";
import {arr2shortString} from "~/utils/converter";
export default {
components: {
tb_course,applyDetailDialog
},
data() {
return {
tableData: []
}
},
methods:{
async showDetail(item){
const data = await get('lb/labrecord/getRecordDetail',item)
data.create_time = new Date(data.create_time).toLocaleString( )
data.weeks = arr2shortString(data.weeks)?'第'+arr2shortString(data.weeks)+'周':''
this.$refs.detail.data = data
this.$refs.detail.show = true
}
},
async mounted() {
this.tableData = await get('/lb/labrecord/getRecordList')
}
}
</script>
<style scoped>
</style>

@ -20,10 +20,10 @@ import globalPersonal from "~/components/personal";
import userManage from "~/components/supManager/userManage"; import userManage from "~/components/supManager/userManage";
import labManager from "~/components/supManager/labManage"; import labManager from "~/components/supManager/labManage";
//manager //manager
import check from "~/components/supManager/check"; import check from "~/components/supManager/check";
import applyRecord from "~/pages/manager/applyRecord";
// manager
import managerHome from "~/components/manager/home" import managerHome from "~/components/manager/home"
import managerIndex from "~/components/manager/index"; import managerIndex from "~/components/manager/index";
// 要告诉 vue 使用 vueRouter // 要告诉 vue 使用 vueRouter
@ -89,7 +89,7 @@ const routes = [
component: globalPersonal component: globalPersonal
}, { }, {
path: 'labApply', path: 'labApply',
component: globalPersonal component: applyRecord
},{ },{
path: 'labManager', path: 'labManager',
component: labManager component: labManager

Loading…
Cancel
Save