Commit ee66686b by zhaopanyu

zpy 9.4

parent 438a1537
import request from "@/utils/request";
// 查看实验室安排列表
export function getLabplan(query) {
return request({
url: "/schoolLabClassYear/getTeacherLabList",
params: query,
});
}
//新增年级实验室预约
export function addLabplan(data) {
return request({
url: "/schoolLabClassYear/add",
method: "post",
data,
});
}
// 修改年级实验室预约
export function updateLabplan(data) {
return request({
url: "/schoolLabClassYear/edit",
method: "put",
data,
});
}
//删除年级实验室预约
export function deleteLabplan(id) {
return request({
url: "/schoolLabClassYear/" + id,
method: "post",
});
}
// 查询年级实验室预约列表
export function getLabplanlist(query) {
return request({
url: "/schoolLabClassYear/list",
method: "get",
params: query,
});
}
// 查询年级实验室详细信息
export function getLabplanxq(id) {
return request({
url: "/schoolLabClassYear/" + id,
method: "get",
});
}
//获取当前学年+学期
export function getSemester() {
return request({
url: "/experimentPlan/getSemester",
method: "get",
});
}
import request from "@/utils/request";
//获取实验名称下拉框
export function getLabplanxlk(query) {
return request({
url: "/schoolLabClassYear/getLab",
method: "get",
params: query,
});
}
//新增年级实验室预约
export function addLabplan(data) {
return request({
url: "/schoolLabClassYear/add",
method: "post",
data,
});
}
// 修改年级实验室预约
export function updateLabplan(data) {
return request({
url: "/schoolLabClassYear/edit",
method: "put",
data,
});
}
//删除年级实验室预约
export function deleteLabplan(id) {
return request({
url: "/schoolLabClassYear/" + id,
method: "post",
});
}
// 查询年级实验室预约列表
export function getLabplanlist(query) {
return request({
url: "/schoolLabClassYear/list",
method: "get",
params: query,
});
}
// 查询年级实验室详细信息
export function getLabplanxq(id) {
return request({
url: "/schoolLabClassYear/" + id,
method: "get",
});
}
//获取当前学年+学期
export function getSemester() {
return request({
url: "/experimentPlan/getSemester",
method: "get",
});
}
......@@ -9,11 +9,10 @@ export function getLabClassYear(query) {
});
}
// 获取实验室
export function getLabList(query) {
export function getLabList(plannedStartTime, plannedEndTime) {
return request({
url: "/schoolLabClassYear/getLabList",
url: `/schoolLabClassYear/getLabList?plannedStartTime=${plannedStartTime}&plannedEndTime=${plannedEndTime}`,
method: "get",
params: query,
});
}
// 分配实验室
......
import request from "@/utils/request";
// 实验室管理-教师申请列表
export function getTeacherlist(query) {
return request({
url: "/schoolTeacherLabApply/getTeacherLabApplyList",
method: "get",
params: query,
});
}
// 查看详情
export function getTeacherxq(id) {
return request({
url: "/schoolTeacherLabApply/" + id,
method: "get",
});
}
// 审批确认
export function updateState(data) {
return request({
url: "/schoolTeacherLabApply/updateState",
method: "put",
data,
});
}
<template>
<div class="app-container">
<el-form :model="queryForm" ref="queryForm" size="small" :inline="true" label-width="88px">
<el-form-item label="学科分类">
<el-select v-model="queryForm.sub" placeholder="请选择">
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="计划时间">
<el-date-picker v-model="queryForm.plannedStartTime" type="daterange" range-separator="至" start-placeholder="开始日期"
end-placeholder="结束日期" value-format="yyyy-MM-dd">
<el-form :model="queryForm" ref="queryForm" size="small" :inline="true" label-width="68px">
<el-form-item label="学期">
<el-date-picker v-model="queryForm.schoolYear" type="year" value-format="yyyy" placeholder="选择年" clearable>
</el-date-picker>
<el-select v-model="queryForm.semester" placeholder="请选择学期" clearable>
<el-option label="上学期" value="0"></el-option>
<el-option label="下学期" value="1"></el-option>
</el-select>
</el-form-item>
<el-form-item label="实验分类">
<el-select v-model="queryForm.classification" placeholder="请选择">
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
</el-option>
<el-select v-model="queryForm.experimentClassify" placeholder="请选择" clearable>
<el-option v-for="dict in dict.type.experiment_classify" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="实验名称">
<el-input v-model="queryForm.experimentName" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="getList">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleOption(0)">新增</el-button>
</el-col>
</el-row>
<el-table :data="tableData" border style="width: 100%">
<el-table-column align="center" type="index" label="序号" width="55" />
<el-table-column align="center" prop="subject" label="学科" />
<el-table-column align="center" prop="grade" label="学年" />
<el-table-column align="center" prop="time" label="级部" />
<el-table-column align="center" prop="name" label="实验时间" />
<el-table-column align="center" prop="name" label="节次" />
<el-table-column align="center" prop="name" label="实验名称" />
<el-table-column align="center" prop="grade" label="实验分类" />
<el-table-column align="center" prop="time" label="实验室" />
<el-table-column align="center" prop="name" label="实验用品" />
<el-table-column align="center" prop="name" label="章节内容" />
<el-table-column align="center" prop="time" label="申请教师" />
<el-table-column align="center" prop="name" label="申报状态" />
<el-table-column align="center" fixed="right" label="操作" width="150">
<el-table-column align="center" prop="sub" label="学科">
<template slot-scope="{ row }">
<div>{{ selectDictLabel(dict.type.lab_sub, row.sub) }}</div>
</template>
</el-table-column>
<el-table-column align="center" prop="grade" label="级部" />
<el-table-column align="center" prop="schoolYearSemester" label="学年" />
<el-table-column align="center" prop="plannedTime" label="计划时间" />
<el-table-column align="center" prop="experimentName" label="实验名称" />
<el-table-column align="center" prop="experimentClassify" label="实验分类">
<template slot-scope="{ row }">
<div>{{ selectDictLabel(dict.type.experiment_classify, row.experimentClassify) }}</div>
</template>
</el-table-column>
<el-table-column align="center" prop="chapterContent" label="章节内容" />
<el-table-column align="center" prop="declareState" label="申报状态">
<template slot-scope="{ row }">
<div>{{ selectDictLabel(dict.type.declare_state, row.declareState) }}</div>
</template>
</el-table-column>
<el-table-column align="center" label="实验室">
<template slot-scope="scope">
<el-button @click="handleEdit(scope.row)" type="text" size="small">修改</el-button>
<el-button @click="handleLook(scope.row)" type="text" size="small">查看</el-button>
<el-button @click="handleDelete(scope.row)" type="text" size="small">删除</el-button>
<div v-if="scope.row.schoolLabClassYearRelationList">
{{ scope.row.schoolLabClassYearRelationList.map(lab => lab.labName).join(", ") }}
</div>
</template>
</el-table-column>
<el-table-column align="center" prop="experimentUseGoods" label="实验用品" />
<el-table-column align="center" fixed="right" label="操作" width="150">
<template slot-scope="{ row }">
<div v-if="row.declareState === '0'">
<el-button type="text" size="small" @click="handleOption(2, row)">查看</el-button>
<el-button type="text" size="small" @click="handleOption(1, row)">修改</el-button>
<el-button type="text" size="small" @click="handleDelete(row.id)">删除</el-button>
</div>
<div v-else>
<el-button type="text" size="small" @click="handleOption(2, row)">查看</el-button>
</div>
</template>
</el-table-column>
......@@ -50,69 +79,82 @@
<el-dialog title="申请信息" :visible.sync="dialogTableVisible" width="70%">
<el-form :model="form" ref="form" size="small" label-width="110px">
<el-row :gutter="30">
<el-col :span="10">
<el-col :span="8">
<el-form-item label="实验名称">
<el-select v-model="queryForm.subject" placeholder="请选择" style="width: 100%;">
<el-option v-for="item in options" :key="item.value" :label="item.label"
:value="item.value">
</el-option>
<el-select v-model="form.experimentName" clearable style="width: 100%;" @change="getName">
<el-option v-for="item in tableList" :key="item.id" :value="item.experimentName"
:label="item.experimentName"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="10">
<el-col :span="8">
<el-form-item label="章节内容">
<el-input v-model="form.name" placeholder="请输入" clearable />
<el-input v-model="form.chapterContent" placeholder="请输入" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="30">
<el-col :span="10">
<el-col :span="8">
<el-form-item label="级部">
<el-input v-model="form.grade" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="10">
</el-row>
<el-row :gutter="30">
<el-col :span="8">
<el-form-item label="学年">
<el-input v-model="form.grade" placeholder="请输入" clearable />
<el-input v-model="form.schoolYear" placeholder="请输入" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="30">
<el-col :span="10">
<el-form-item label="学科">
<el-input v-model="form.content" placeholder="请输入" clearable />
<el-col :span="8">
<el-form-item label="学期">
<el-select v-model="form.semester" placeholder="请选择学期" clearable style="width: 100%;">
<el-option label="上学期" value="1"></el-option>
<el-option label="下学期" value="2"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="实验分类">
<el-input v-model="form.grade" placeholder="请输入" clearable />
<el-col :span="8">
<el-form-item label="学科">
<el-input v-model="form.sub" placeholder="请输入" clearable @input="handleChangeSub" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="30">
<el-col :span="16">
<el-form-item label="实验时间">
<el-date-picker v-model="form.time" type="daterange" range-separator="至"
start-placeholder="开始日期" end-placeholder="结束日期" value-format="yyyy-MM-dd"
style="width: 100%;">
<el-col :span="8">
<el-form-item label="实验分类">
<el-input v-model="form.experimentClassify" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="计划开始时间" prop="plannedStartTime">
<el-date-picker v-model="form.plannedStartTime" type="date" placeholder="选择"
value-format="yyyy-MM-dd" style="width: 100%;">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="计划结束时间" prop="plannedEndTime">
<el-date-picker v-model="form.plannedEndTime" type="date" placeholder="选择"
value-format="yyyy-MM-dd" style="width: 100%;">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="30">
<el-col :span="20">
<el-col :span="24">
<el-form-item label="实验用品">
<el-input v-model="form.name" type="textarea" placeholder="请输入" clearable></el-input>
<el-input v-model="form.experimentUseGoods" type="textarea" placeholder="请输入"
clearable></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<span slot="footer" class="dialog-footer" style="text-align: center;">
<el-button type="primary" @click="submitForm">确 认</el-button>
<el-button type="primary" @click="cancle">取 消</el-button>
<el-button type="primary" @click="save">保 存</el-button>
<el-button type="primary" @click="submitForm">提 交</el-button>
<!-- <el-button type="primary" @click="submitForm">提交</el-button> -->
</span>
<!-- <span slot="footer" class="dialog-footer">
<el-button type="primary" @click="cancle">取 消</el-button>
......@@ -125,52 +167,256 @@
</template>
<script>
import {
getLabplanxlk,//获取实验名称下拉框
addLabplan,//新增年级实验室预约
updateLabplan,// 修改年级实验室预约
deleteLabplan,//删除年级实验室预约
getLabplanlist,// 查询年级实验室预约列表
getLabplanxq,// 查询年级实验室详细信息
getSemester,//获取当前学年+学期
} from '@/api/smartSchool/gradeWork/laboratoryManagement/laboratoryAppointment'
export default {
name: 'index',
dicts: ['experiment_classify', 'lab_sub', 'declare_state'],
data() {
return {
queryForm: {
schoolYear: '',
semester: '',
experimentClassify: '',
experimentName: '',
},
//实验名称下拉框
tableList: [],
//表格数据
tableData: [
{
}
],
tableData: [],
//学科分类
options: {
},
nowType: 0, // 0新增、1修改、2查看
form: {
id: '',
experimentPlanId: '',
experimentName: '',
gradeId: '',
grade: '',
schoolYear: '',
semester: '',
sub: '',
experimentClassify: '',
chapterContent: '',
plannedStartTime: '',
plannedEndTime: '',
experimentUseGoods: '',
declareState: '',
},
total: 0,
dialogTableVisible: false,
}
},
created() {
this.getList();
this.getExperimentName();
},
methods: {
handleChangeSub() {
this.form.sub = this.selectDictLabel(this.dict.type.lab_sub, this.form.sub);
console.log('this.form.sub', this.form.sub);
},
//表单查询
getList() {
getLabplanlist(this.queryForm).then(response => {
this.tableData = response.rows;
this.total = response.total;
console.log('this.tableData', this.tableData);
this.loading = false
})
},
// 获取实验名称下拉框
getExperimentName() {
getLabplanxlk().then(response => {
this.tableList = response.data;
console.log('this.tableList', this.tableList);
this.loading = false
})
},
//选择实验名称自动带出信息
getName() {
const selectedExperiment = this.tableList.find(experiment => experiment.experimentName === this.form.experimentName);
//查看按钮操作
handleLook() {
this.dialogTableVisible = true;
if (selectedExperiment) {
this.selectedExperiment = selectedExperiment; // 确保将选中的实验赋值给 selectedExperiment
// 将实验的字段赋值给表单字段
this.form.experimentPlanId = selectedExperiment.chapterContent?.id || "";
this.form.chapterContent = selectedExperiment.chapterContent || "";
this.form.grade = selectedExperiment.grade || "";
this.form.gradeId = selectedExperiment.gradeId || "";
this.form.schoolYear = selectedExperiment.schoolYear || "";
this.form.sub = selectedExperiment.sub || "";
this.form.experimentClassify = selectedExperiment.experimentClassify || "";
} else {
// 如果没有找到匹配的实验,可以将表单字段重置为默认值或空字符串
this.form.experimentPlanId = "";
this.form.chapterContent = "";
this.form.grade = "";
this.form.gradeId = "";
this.form.schoolYear = "";
this.form.sub = "";
this.form.experimentClassify = "";
}
},
//获取当前学年+学期
getSchholyear() {
getSemester().then(response => {
console.log(this.form);
// this.form.schoolYear = response.schoolYear;
console.log(response.schoolYear);
this.form.semester = response.semester;
})
},
//删除按钮操作
handleDelete(id) {
this.$confirm("此操作将永久删除该数据,是否继续?", '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
deleteLabplan(id).then(res => {
if (res.code == 200) {
this.$message.success("删除成功!")
}
this.getList()
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除!'
});
});
},
// 0新增、1修改、2查看
handleOption(type, row) {
this.form = {
id: '',
experimentPlanId: '',
experimentName: '',
gradeId: '',
grade: '',
schoolYear: '',
semester: '',
sub: '',
experimentClassify: '',
chapterContent: '',
plannedEndTime: '',
plannedStartTime: '',
experimentUseGoods: '',
declareState: '',
}
this.nowType = type;
this.getSchholyear();
if (type != 0) {
const id = row.id
getLabplanxq(id).then(response => {
if (response.code == 200) {
console.log(response);
Object.keys(this.form).forEach(key => {
if (response.data[key]) {
this.$set(this.form, key, response.data[key]);
}
})
}
})
}
this.dialogTableVisible = true;
},
resetQuery() {
this.getList();
},
//提交按钮
submitForm() {
// 保存按钮
save() {
// const grade = this.form.grade
// this.form.gradeId = grade == '' ? '' : this.tableList.find(item => item.grade == grade).gradeName
this.$refs['form'].validate(valid => {
if (valid) {
if (this.form.id != null) {
const params = {
experimentPlanId: this.selectedExperiment.id,
experimentName: this.form.experimentName,
plannedStartTime: this.form.plannedStartTime,
plannedEndTime: this.form.plannedEndTime,
experimentUseGoods: this.form.experimentUseGoods,
grade: this.form.grade,
gradeId: this.form.gradeId,
semester: this.form.semester,
sub: this.form.sub,
experimentClassify: this.form.experimentClassify,
chapterContent: this.form.chapterContent,
schoolYear: this.form.schoolYear,
declareState: '0',
};
addLabplan(params).then(response => {
this.$modal.msgSuccess('保存成功');
this.dialogTableVisible = false;
this.getList();
});
}
}
});
},
//分配按钮操作
allocation() {
/** 提交按钮 */
submitForm() {
this.$refs['form'].validate(valid => {
if (valid) {
if (this.form.id != null) {
const params = {
experimentPlanId: this.selectedExperiment.id,
experimentName: this.form.experimentName,
plannedStartTime: this.form.plannedStartTime,
plannedEndTime: this.form.plannedEndTime,
experimentUseGoods: this.form.experimentUseGoods,
grade: this.form.grade,
gradeId: this.form.gradeId,
semester: this.form.semester,
sub: this.form.sub,
experimentClassify: this.form.experimentClassify,
chapterContent: this.form.chapterContent,
schoolYear: this.form.schoolYear,
declareState: '1',
};
addLabplan(params).then(response => {
this.$modal.msgSuccess('保存成功');
this.dialogTableVisible = false;
this.getList();
});
}
}
});
},
//取消按钮
cancle() {
this.dialogTableVisible = false;
......
<template>
<div class="app-container">
<el-form :model="queryForm" ref="queryForm" size="small" :inline="true" label-width="88px">
<el-form-item label="实验级部">
<el-input v-model="queryForm.grade" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="实验室名称">
<el-input v-model="queryForm.experimentName" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="预约时间段">
<el-date-picker v-model="queryForm.time" type="daterange" range-separator="至" start-placeholder="开始日期"
end-placeholder="结束日期" value-format="yyyy-MM-dd"
:value="[queryForm.plannedStartTime, queryForm.plannedEndTime]">
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="getList">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-table :data="tableData" border style="width: 100%">
<el-table-column align="center" type="index" label="序号" width="55" />
<el-table-column align="center" prop="sub" label="学科">
<template slot-scope="{ row }">
<div>{{ selectDictLabel(dict.type.lab_sub, row.sub) }}</div>
</template>
</el-table-column>
<el-table-column align="center" prop="grade" label="级部" />
<el-table-column align="center" prop="schoolYear" label="学年" />
<el-table-column align="center" prop="plannedTime" label="计划时间" />
<el-table-column align="center" prop="experimentName" label="实验名称" />
<el-table-column align="center" prop="experimentClassify" label="实验分类">
<template slot-scope="{ row }">
<div>{{ selectDictLabel(dict.type.experiment_classify, row.experimentClassify) }}</div>
</template>
</el-table-column>
<el-table-column align="center" prop="experimentUseGoods" label="实验用品" />
<el-table-column align="center" label="实验室">
<template slot-scope="scope">
<div v-if="scope.row.schoolLabClassYearRelationList">
{{ scope.row.schoolLabClassYearRelationList.map(lab => lab.labName).join(", ") }}
</div>
</template>
</el-table-column>
<el-table-column align="center" prop="declareState" label="申报状态">
<template slot-scope="{ row }">
<div>{{ selectDictLabel(dict.type.declare_state, row.declareState) }}</div>
</template>
</el-table-column>
<el-table-column align="center" fixed="right" label="操作" width="150">
<template slot-scope="scope">
<el-button @click="handleLook(scope.row)" type="text" size="small">查看</el-button>
<el-button @click="handleAllocation(scope.row)" type="text" size="small">分配实验室</el-button>
</template>
</el-table-column>
</el-table>
<!-- 查看 -->
<el-dialog title="申请信息" :visible.sync="open" width="50%">
<el-form :model="form" ref="form" size="small" label-width="100px">
<el-row :gutter="30">
<el-col :span="10">
<el-form-item label="申请老师">
<el-input v-model="form.applyName" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="实验分类">
<el-select v-model="form.experimentClassify" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.experiment_classify" :key="dict.value"
:label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="10">
<el-form-item label="实验名称">
<el-input v-model="form.experimentName" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="学科">
<el-select v-model="form.sub" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.lab_sub" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="20">
<el-form-item label="章节内容">
<el-input v-model="form.chapterContent" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="10">
<el-form-item label="级部">
<el-input v-model="form.grade" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="学年">
<el-input v-model="form.schoolYear" placeholder="请输入" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="20">
<el-form-item label="实验用品">
<el-input v-model="form.experimentUseGoods" type="textarea" placeholder="请输入"
clearable></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="10">
<el-form-item label="计划开始时间" prop="plannedStartTime">
<el-date-picker v-model="form.plannedStartTime" type="date" placeholder="选择"
value-format="yyyy-MM-dd" style="width: 100%;">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="计划结束时间" prop="plannedEndTime">
<el-date-picker v-model="form.plannedEndTime" type="date" placeholder="选择"
value-format="yyyy-MM-dd" style="width: 100%;">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="24">
<el-form-item label="实验室选择">
<el-checkbox-group v-model="form.schoolLabClassYearRelationList">
<el-checkbox v-for="classItem in schoolLabClassYearRelationList" :key="classItem.labId"
:label="classItem.labId">
{{ classItem.labName }}
</el-checkbox>
</el-checkbox-group>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer" style="text-align: center;">
<el-button @click="cancel"> 保 存 </el-button>
</div>
</el-dialog>
<!-- 分配实验室弹窗 -->
<el-dialog title="申请信息" :visible.sync="dialogTableVisible" width="50%">
<el-form :model="postForm" ref="postForm" size="small" label-width="100px">
<el-row :gutter="30">
<el-col :span="10">
<el-form-item label="申请老师">
<el-input v-model="postForm.applyName" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="实验分类">
<el-select v-model="postForm.experimentClassify" placeholder="请选择" clearable
style="width: 100%;">
<el-option v-for="dict in dict.type.experiment_classify" :key="dict.value"
:label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="10">
<el-form-item label="实验名称">
<el-input v-model="postForm.experimentName" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="学科">
<el-select v-model="postForm.sub" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.lab_sub" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="20">
<el-form-item label="章节内容">
<el-input v-model="postForm.chapterContent" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="10">
<el-form-item label="级部">
<el-input v-model="postForm.grade" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="学年">
<el-input v-model="postForm.schoolYear" placeholder="请输入" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="20">
<el-form-item label="实验用品">
<el-input v-model="postForm.experimentUseGoods" type="textarea" placeholder="请输入"
clearable></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="10">
<el-form-item label="计划开始时间" prop="plannedStartTime">
<el-date-picker v-model="postForm.plannedStartTime" type="date" placeholder="选择"
value-format="yyyy-MM-dd" style="width: 100%;">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="计划结束时间" prop="plannedEndTime">
<el-date-picker v-model="postForm.plannedEndTime" type="date" placeholder="选择"
value-format="yyyy-MM-dd" style="width: 100%;">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="24">
<el-form-item label="实验室选择">
<el-checkbox-group v-model="postForm.schoolLabClassYearRelationList">
<el-checkbox v-for="classItem in labs" :key="classItem.labId" :label="classItem.labId">
{{ classItem.labName }}
</el-checkbox>
</el-checkbox-group>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer" style="text-align: center;">
<el-button @click="submitForm"> 保 存 </el-button>
<el-button type="primary" @click="submitForm">提 交</el-button>
</div>
</el-dialog>
<pagination v-show="total > 0" :total="total" :page.sync="queryForm.pageNum" :limit.sync="queryForm.pageSize"
@pagination="getList" />
</div>
</template>
<script>
import {
getLabClassYear,
getLabList,
getAllocationLab,
getLabClassYearxq,
} from '@/api/smartSchool/laboratoryManagement/gradeExperimentapp'
export default {
name: 'index',
dicts: ['experiment_classify', 'lab_sub', 'declare_state'],
data() {
return {
queryForm: {
pageNum: 1,
pageSize: 10,
grade: '',
experimentName: '',
plannedStartTime: '',
plannedEndTime: '',
},
//实验室
labs: [],
schoolLabClassYearRelationList: [],
//表格数据
tableData: [
],
//学科分类
options: {
},
postForm: {
applyName: '',
experimentClassify: '',
experimentName: '',
sub: '',
chapterContent: '',
grade: '',
schoolYear: '',
experimentUseGoods: '',
plannedStartTime: '',
plannedEndTime: '',
schoolLabClassYearRelationList: [],
},
form: {
applyName: '',
experimentClassify: '',
experimentName: '',
sub: '',
chapterContent: '',
grade: '',
schoolYear: '',
experimentUseGoods: '',
plannedStartTime: '',
plannedEndTime: '',
schoolLabClassYearRelationList: [],
},
total: 0,
dialogTableVisible: false,
open: false,
}
},
created() {
this.getList();
},
methods: {
//表单查询
getList() {
getLabClassYear(this.queryForm).then(response => {
this.tableData = response.rows
this.total = response.total
this.loading = false
})
},
//分配实验室
handleAllocation(row) {
this.loading = true;
const id = row.id || this.ids;
getLabClassYearxq(id).then(response => {
this.postForm = response.data;
console.log('this.form', this.form);
this.postForm.applyName = response.data.applyName;
this.postForm.experimentClassify = response.data.experimentClassify;
this.postForm.experimentName = response.data.experimentName;
this.postForm.sub = response.data.sub;
this.postForm.chapterContent = response.data.chapterContent;
this.postForm.grade = response.data.grade;
this.postForm.schoolYear = response.data.schoolYear;
this.postForm.experimentUseGoods = response.data.experimentUseGoods;
this.postForm.plannedStartTime = response.data.plannedStartTime;
this.postForm.plannedEndTime = response.data.plannedEndTime;
this.loading = false;
const plannedStartTime = this.postForm.plannedStartTime
const plannedEndTime = this.postForm.plannedEndTime
getLabList(plannedStartTime, plannedEndTime).then(response => {
this.labs = response.data;
console.log(this.labs, 'this.labs');
this.loading = false;
});
});
this.dialogTableVisible = true;
},
//查看按钮操作
handleLook(row) {
this.open = true;
const id = row.id || this.ids;
getLabClassYearxq(id).then(response => {
this.form = response.data;
if (response.data.schoolLabClassYearRelationList) { // 判断 schoolLabClassYearRelationList 存在且不为空
this.schoolLabClassYearRelationList = response.data.schoolLabClassYearRelationList;
console.log('this.form.schoolLabClassYearRelationList', this.form.schoolLabClassYearRelationList);
}
console.log('this.form.schoolLabClassYearRelationList', this.form.schoolLabClassYearRelationList);
this.form.schoolLabClassYearRelationList = [];
for (let i = 0; i < this.schoolLabClassYearRelationList.length; i++) {
const labId = this.schoolLabClassYearRelationList[i].labId;
if (this.form.schoolLabClassYearRelationList) { // 判断 schoolLabClassYearRelationList 存在且不为空
this.form.schoolLabClassYearRelationList.push(labId);
console.log(this.form.schoolLabClassYearRelationList, '查看 ');
}
}
console.log('this.form', this.form);
this.loading = false
})
},
resetQuery() {
this.getList();
},
/** 保存按钮 */
submitForm() {
this.$refs['postForm'].validate(valid => {
if (valid) {
if (this.postForm.id != null) {
const params = {
id: this.postForm.id,
plannedStartTime: this.postForm.plannedStartTime,
plannedEndTime: this.postForm.plannedEndTime,
experimentUseGoods: this.postForm.experimentUseGoods,
declareState: '2',
schoolLabClassYearRelationList: [],
};
// 将已选择的实验室ID添加到params对象中
for (let i = 0; i < this.postForm.schoolLabClassYearRelationList.length; i++) {
const labId = this.postForm.schoolLabClassYearRelationList[i];
params.schoolLabClassYearRelationList.push({ labId: labId });
}
getAllocationLab(params).then(response => {
console.log(params, params);
this.$modal.msgSuccess('保存成功');
this.open = false;
this.getList();
});
}
}
});
},
// 取消按钮
cancel() {
this.dialogTableVisible = false;
},
},
}
</script>
<style lang="scss" scoped></style>
\ No newline at end of file
......@@ -37,10 +37,12 @@
<el-table-column align="center" prop="experimentUseGoods" label="实验用品" />
<el-table-column align="center" label="实验室">
<template slot-scope="scope">
<!-- 构造一个新的字符串列表,然后将它们用逗号分隔 -->
{{ scope.row.schoolLabClassYearRelationList.map(lab => lab.labName).join(", ") }}
<div v-if="scope.row.schoolLabClassYearRelationList">
{{ scope.row.schoolLabClassYearRelationList.map(lab => lab.labName).join(", ") }}
</div>
</template>
</el-table-column>
<el-table-column align="center" prop="declareState" label="申报状态">
<template slot-scope="{ row }">
<div>{{ selectDictLabel(dict.type.declare_state, row.declareState) }}</div>
......@@ -49,13 +51,14 @@
<el-table-column align="center" fixed="right" label="操作" width="150">
<template slot-scope="scope">
<el-button @click="handleLook(scope.row)" type="text" size="small">查看</el-button>
<el-button @click="handleAllocation(scope.row)" type="text" size="small">分配实验室</el-button>
<el-button v-if="scope.row.declareState !== '3'" @click="handleAllocation(scope.row)" type="text"
size="small">分配实验室</el-button>
</template>
</el-table-column>
</el-table>
<!-- 分配实验室弹窗 -->
<el-dialog title="申请信息" :visible.sync="dialogTableVisible" width="50%">
<!-- 查看 -->
<el-dialog title="申请信息" :visible.sync="open" width="50%">
<el-form :model="form" ref="form" size="small" label-width="100px">
<el-row :gutter="30">
<el-col :span="10">
......@@ -122,15 +125,118 @@
<el-row>
<el-col :span="10">
<el-form-item label="计划开始时间" prop="plannedStartTime">
<el-date-picker v-model="form.plannedStartTime" type="month" placeholder="选择月"
value-format="yyyy-MM" style="width: 100%;">
<el-date-picker v-model="form.plannedStartTime" type="date" placeholder="选择"
value-format="yyyy-MM-dd" style="width: 100%;">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="计划结束时间" prop="plannedEndTime">
<el-date-picker v-model="form.plannedEndTime" type="date" placeholder="选择"
value-format="yyyy-MM-dd" style="width: 100%;">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="24">
<el-form-item label="实验室选择">
<el-checkbox-group v-model="form.schoolLabClassYearRelationList">
<el-checkbox v-for="classItem in schoolLabClassYearRelationList" :key="classItem.labId"
:label="classItem.labId">
{{ classItem.labName }}
</el-checkbox>
</el-checkbox-group>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer" style="text-align: center;">
<el-button @click="cancel"> 取 消 </el-button>
</div>
</el-dialog>
<!-- 分配实验室弹窗 -->
<el-dialog title="申请信息" :visible.sync="dialogTableVisible" width="50%">
<el-form :model="postForm" ref="postForm" size="small" label-width="100px">
<el-row :gutter="30">
<el-col :span="10">
<el-form-item label="申请老师">
<el-input v-model="postForm.applyName" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="实验分类">
<el-select v-model="postForm.experimentClassify" placeholder="请选择" clearable
style="width: 100%;">
<el-option v-for="dict in dict.type.experiment_classify" :key="dict.value"
:label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="10">
<el-form-item label="实验名称">
<el-input v-model="postForm.experimentName" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="学科">
<el-select v-model="postForm.sub" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.lab_sub" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="20">
<el-form-item label="章节内容">
<el-input v-model="postForm.chapterContent" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="10">
<el-form-item label="级部">
<el-input v-model="postForm.grade" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="学年">
<el-input v-model="postForm.schoolYear" placeholder="请输入" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="20">
<el-form-item label="实验用品">
<el-input v-model="postForm.experimentUseGoods" type="textarea" placeholder="请输入"
clearable></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="10">
<el-form-item label="计划开始时间" prop="plannedStartTime">
<el-date-picker v-model="postForm.plannedStartTime" type="date" placeholder="选择"
value-format="yyyy-MM-dd" style="width: 100%;">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="计划结束时间" prop="plannedEndTime">
<el-date-picker v-model="form.plannedEndTime" type="month" placeholder="选择月"
value-format="yyyy-MM" style="width: 100%;">
<el-date-picker v-model="postForm.plannedEndTime" type="date" placeholder="选择"
value-format="yyyy-MM-dd" style="width: 100%;">
</el-date-picker>
</el-form-item>
</el-col>
......@@ -138,12 +244,11 @@
<el-row :gutter="20">
<el-col :span="24">
<el-form-item label="实验室选择">
<!-- <el-checkbox-group v-model="form.schoolLabClassYearRelationList" :disabled="nowType === 2">
<el-checkbox v-for="classItem in classList" :key="classItem.classId"
:label="classItem.classId">
{{ classItem.className }}
<el-checkbox-group v-model="postForm.schoolLabClassYearRelationList">
<el-checkbox v-for="classItem in labs" :key="classItem.labId" :label="classItem.labId">
{{ classItem.labName }}- {{ classItem.useState }}
</el-checkbox>
</el-checkbox-group> -->
</el-checkbox-group>
</el-form-item>
</el-col>
......@@ -151,7 +256,7 @@
</el-form>
<div slot="footer" class="dialog-footer" style="text-align: center;">
<el-button @click="cancel"> 保 存 </el-button>
<el-button @click="save"> 保 存 </el-button>
<el-button type="primary" @click="submitForm">提 交</el-button>
</div>
......@@ -186,6 +291,9 @@ export default {
plannedEndTime: '',
},
//实验室
labs: [],
schoolLabClassYearRelationList: [],
//表格数据
tableData: [
......@@ -194,11 +302,35 @@ export default {
options: {
},
postForm: {
applyName: '',
experimentClassify: '',
experimentName: '',
sub: '',
chapterContent: '',
grade: '',
schoolYear: '',
experimentUseGoods: '',
plannedStartTime: '',
plannedEndTime: '',
schoolLabClassYearRelationList: [],
},
form: {
applyName: '',
experimentClassify: '',
experimentName: '',
sub: '',
chapterContent: '',
grade: '',
schoolYear: '',
experimentUseGoods: '',
plannedStartTime: '',
plannedEndTime: '',
schoolLabClassYearRelationList: [],
},
total: 0,
dialogTableVisible: false,
open: false,
}
},
created() {
......@@ -209,28 +341,69 @@ export default {
getList() {
getLabClassYear(this.queryForm).then(response => {
this.tableData = response.rows
this.total = response.total
this.loading = false
})
},
//分配实验室
handleAllocation() {
getLabClassYearxq(this.queryForm).then(response => {
this.form = response.data
console.log('this.form', this.form);
this.loading = false
})
this.dialogTableVisible = true;
handleAllocation(row) {
this.loading = true;
const id = row.id || this.ids;
getLabClassYearxq(id).then(response => {
this.postForm = response.data;
// 清空已经选择的实验室
this.selectedLabs = [];
for (let i = 0; i < this.postForm.schoolLabClassYearRelationList.length; i++) {
const labId = this.postForm.schoolLabClassYearRelationList[i].labId;
this.selectedLabs.push(labId);
}
// console.log('this.form', this.form);
this.postForm.applyName = response.data.applyName;
this.postForm.experimentClassify = response.data.experimentClassify;
this.postForm.experimentName = response.data.experimentName;
this.postForm.sub = response.data.sub;
this.postForm.chapterContent = response.data.chapterContent;
this.postForm.grade = response.data.grade;
this.postForm.schoolYear = response.data.schoolYear;
this.postForm.experimentUseGoods = response.data.experimentUseGoods;
this.postForm.plannedStartTime = response.data.plannedStartTime;
this.postForm.plannedEndTime = response.data.plannedEndTime;
this.postForm.schoolLabClassYearRelationList = this.selectedLabs; // 仅将已经选择的实验室作为关联数据提交
this.loading = false;
const plannedStartTime = this.postForm.plannedStartTime
const plannedEndTime = this.postForm.plannedEndTime
getLabList(plannedStartTime, plannedEndTime).then(response => {
const labs = response.data;
this.labs = labs.filter(lab => lab.useState === "空闲"); // 根据状态筛选出空闲的实验室
// console.log(this.labs, 'this.labs');
// 这里不再需要循环添加实验室关联数据
this.loading = false;
});
});
this.dialogTableVisible = true;
},
//查看按钮操作
handleLook(row) {
this.dialogTableVisible = true;
this.open = true;
const id = row.id || this.ids;
getLabClassYearxq(id).then(response => {
this.form = response.data
this.form = response.data;
if (response.data.schoolLabClassYearRelationList) { // 判断 schoolLabClassYearRelationList 存在且不为空
this.schoolLabClassYearRelationList = response.data.schoolLabClassYearRelationList;
console.log('this.form.schoolLabClassYearRelationList', this.form.schoolLabClassYearRelationList);
}
this.form.schoolLabClassYearRelationList = [];
for (let i = 0; i < this.schoolLabClassYearRelationList.length; i++) {
const labId = this.schoolLabClassYearRelationList[i].labId;
const labName = this.schoolLabClassYearRelationList[i].labName;
this.form.schoolLabClassYearRelationList.push(labId, labName);
console.log(this.form.schoolLabClassYearRelationList, '查看 ');
}
console.log('this.form', this.form);
this.loading = false
})
......@@ -238,13 +411,75 @@ export default {
resetQuery() {
this.getList();
},
//提交按钮
submitForm() {
// 保存按钮
save() {
this.$refs['postForm'].validate(valid => {
if (valid) {
if (this.postForm.id != null) {
const selectedLabs = []; // 临时数组
for (let i = 0; i < this.labs.length; i++) {
const labId = this.labs[i].labId;
const labName = this.labs[i].labName;
if (this.postForm.schoolLabClassYearRelationList.includes(labId)) { // 判断是否选中
selectedLabs.push({ labId: labId, labName: labName }); // 将选中的实验室push进临时数组
}
}
const params = {
id: this.postForm.id,
plannedStartTime: this.postForm.plannedStartTime,
plannedEndTime: this.postForm.plannedEndTime,
experimentUseGoods: this.postForm.experimentUseGoods,
declareState: '2',
schoolLabClassYearRelationList: selectedLabs, // 将临时数组赋值给params.schoolLabClassYearRelationList
};
getAllocationLab(params).then(response => {
this.$modal.msgSuccess('保存成功');
this.open = false;
this.getList();
});
}
}
});
},
/** 提交按钮 */
submitForm() {
this.$refs['postForm'].validate(valid => {
if (valid) {
if (this.postForm.id != null) {
const params = {
id: this.postForm.id,
plannedStartTime: this.postForm.plannedStartTime,
plannedEndTime: this.postForm.plannedEndTime,
experimentUseGoods: this.postForm.experimentUseGoods,
declareState: '3',
schoolLabClassYearRelationList: [],
};
for (let i = 0; i < this.labs.length; i++) {
const labId = this.labs[i].labId;
const labName = this.labs[i].labName;
if (this.postForm.schoolLabClassYearRelationList.includes(labId)) { // 判断是否选中
params.schoolLabClassYearRelationList.push({ labId: labId, labName: labName }); // 将选中的实验室push进数组
}
}
getAllocationLab(params).then(response => {
console.log(params, params);
this.$modal.msgSuccess('提交成功');
this.open = false;
this.getList();
});
}
}
});
},
// 取消按钮
cancel() {
this.dialogTableVisible = false;
this.open = false;
},
},
......
<template>
<div class="app-container">
<el-form :model="queryForm" ref="queryForm" size="small" :inline="true" label-width="88px">
<el-form-item label="学科分类">
<el-input v-model="queryForm.class" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="预约时间段">
<el-date-picker v-model="queryForm.time" type="daterange" range-separator="至" start-placeholder="开始日期"
end-placeholder="结束日期" value-format="yyyy-MM-dd">
......@@ -12,6 +9,9 @@
<el-form-item label="实验级部">
<el-input v-model="queryForm.grade" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="申请老师">
<el-input v-model="queryForm.applyName" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="getList">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
......@@ -19,17 +19,18 @@
</el-form>
<el-table :data="tableData" border style="width: 100%">
<el-table-column align="center" type="index" label="序号" width="55" />
<el-table-column align="center" prop="subject" label="学科" />
<el-table-column align="center" prop="sub" label="学科" />
<el-table-column align="center" prop="grade" label="级部" />
<el-table-column align="center" prop="time" label="学年" />
<el-table-column align="center" prop="time" label="班级" />
<el-table-column align="center" prop="name" label="实验时间" />
<el-table-column align="center" prop="name" label="节次" />
<el-table-column align="center" prop="name" label="实验名称" />
<el-table-column align="center" prop="time" label="实验分类" />
<el-table-column align="center" prop="name" label="实验室" />
<el-table-column align="center" prop="content" label="章节内容" />
<el-table-column align="center" prop="name" label="申报状态" />
<el-table-column align="center" prop="schoolYear" label="学年" />
<el-table-column align="center" prop="className" label="班级" />
<el-table-column align="center" prop="experimentTime" label="实验时间" />
<el-table-column align="center" prop="section" label="节次" />
<el-table-column align="center" prop="experimentName" label="实验名称" />
<el-table-column align="center" prop="experimentClassify" label="实验分类" />
<el-table-column align="center" prop="labName" label="实验室" />
<el-table-column align="center" prop="chapterContent" label="章节内容" />
<el-table-column align="center" prop="applyName" label="申请老师" />
<el-table-column align="center" prop="applyState" label="申报状态" />
<el-table-column align="center" fixed="right" label="操作" width="150">
<template slot-scope="scope">
<el-button @click="handleLook(scope.row)" type="text" size="small">查看</el-button>
......@@ -37,73 +38,171 @@
</template>
</el-table-column>
</el-table>
<!-- 分配实验室弹窗 -->
<!-- 查看实验室记录 -->
<el-dialog title="申请信息" :visible.sync="dialogTableVisible" width="50%">
<el-form :model="form" ref="form" size="small" label-width="100px">
<el-row :gutter="30">
<el-col :span="10">
<el-form-item label="审批名称">
<el-input v-model="form.name" placeholder="请输入" clearable />
<el-col :span="8">
<el-form-item label="学科">
<el-input v-model="form.sub" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="章节内容">
<el-input v-model="form.content" placeholder="请输入" clearable />
<el-col :span="8">
<el-form-item label="级部">
<el-input v-model="form.grade" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="学年">
<el-input v-model="form.schoolYear" placeholder="请输入" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="30">
<el-col :span="10">
<el-col :span="8">
<el-form-item label="班级">
<el-input v-model="form.className" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="节次">
<el-input v-model="form.section" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="实验时间">
<el-input v-model="form.experimentTime" placeholder="请输入" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="30">
<el-col :span="8">
<el-form-item label="实验名称">
<el-input v-model="form.labName" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="实验分类">
<el-input v-model="form.year" placeholder="请输入" clearable />
<el-input v-model="form.experimentClassify" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="10">
<el-col :span="8">
<el-form-item label="实验室">
<el-input v-model="form.grade" placeholder="请输入" clearable />
<el-input v-model="form.labName" placeholder="请输入" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="30">
<el-col :span="8">
<el-form-item label="章节内容">
<el-input v-model="form.chapterContent" placeholder="请输入" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="30">
<el-col :span="8">
<el-form-item label="附件">
<li class="el-upload-list__item ele-upload-list__item-content" v-for="file in fileList"
:key="file.id">
<el-link :href="`${baseUrl}${file.accessoryUrl}`" :underline="false" target="_blank">
<span class="el-icon-document"> {{ file.accessoryName }} </span>
</el-link>
</li>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="30">
<el-col :span="10">
<el-col :span="20">
<el-form-item label="实验用品">
<el-input v-model="form.experimentUseGoods" type="textarea" placeholder="请输入"
clearable></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer" style="text-align: center;">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button type="primary" @click="cancle">取 消</el-button>
</div>
</el-dialog>
<!-- 审批老师申请预约 -->
<el-dialog title="申请信息" :visible.sync="open" width="50%">
<el-form :model="form" ref="form" size="small" label-width="100px">
<el-row :gutter="30">
<el-col :span="8">
<el-form-item label="学科">
<el-input v-model="form.year" placeholder="请输入" clearable />
<el-input v-model="form.sub" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="10">
<el-col :span="8">
<el-form-item label="级部">
<el-input v-model="form.grade" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="学年">
<el-input v-model="form.schoolYear" placeholder="请输入" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="30">
<el-col :span="10">
<el-col :span="8">
<el-form-item label="班级">
<el-input v-model="form.year" placeholder="请输入" clearable />
<el-input v-model="form.className" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="学年">
<el-input v-model="form.grade" placeholder="请输入" clearable />
<el-col :span="8">
<el-form-item label="节次">
<el-input v-model="form.section" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="实验时间">
<el-input v-model="form.experimentTime" placeholder="请输入" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="30">
<el-col :span="10">
<el-form-item label="节次">
<el-input v-model="form.year" placeholder="请输入" clearable />
<el-col :span="8">
<el-form-item label="实验名称">
<el-input v-model="form.labName" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="实验时间">
<el-input v-model="form.grade" placeholder="请输入" clearable />
<el-col :span="8">
<el-form-item label="实验分类">
<el-input v-model="form.experimentClassify" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="实验室">
<el-input v-model="form.labName" placeholder="请输入" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="30">
<el-col :span="8">
<el-form-item label="章节内容">
<el-input v-model="form.chapterContent" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="附件">
<el-input v-model="form.schoolAccessoryList" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="30">
<el-col :span="20">
<el-form-item label="实验用品">
<el-input v-model="form.name" type="textarea" placeholder="请输入" clearable></el-input>
<el-input v-model="form.experimentUseGoods" type="textarea" placeholder="请输入"
clearable></el-input>
</el-form-item>
</el-col>
</el-row>
......@@ -113,13 +212,17 @@
<el-button type="primary" @click="cancle">取 消</el-button>
</div>
</el-dialog>
<pagination v-show="total > 0" :total="total" :page.sync="queryForm.pageNum" :limit.sync="queryForm.pageSize"
@pagination="getList" />
</div>
</template>
<script>
import {
getTeacherlist,
getTeacherxq,
updateState,
} from '@/api/smartSchool/laboratoryManagement/teacherApplication'
export default {
name: 'index',
data() {
......@@ -127,11 +230,11 @@ export default {
queryForm: {
},
schoolAccessoryList: [],
baseUrl: process.env.VUE_APP_BASE_API,
//表格数据
tableData: [
{
}
],
//学科分类
options: {
......@@ -142,22 +245,38 @@ export default {
},
total: 0,
dialogTableVisible: false,
open: false,
fileList: [],
}
},
created() {
this.getList();
},
methods: {
//表单查询
getList() {
getTeacherlist(this.queryForm).then(response => {
this.tableData = response.rows;
this.total = response.total
this.loading = false
})
},
//审批
handleApprove() {
this.dialogTableVisible = true;
this.open = true;
},
//查看按钮操作
handleLook() {
handleLook(row) {
const id = row.id || this.ids;
getTeacherxq(id).then(response => {
this.form = response.data;
this.fileList = response.data.schoolAccessoryList;
console.log('this.schoolAccessoryList', this.schoolAccessoryList);
console.log('this.form', this.form);
this.loading = false
})
this.dialogTableVisible = true;
},
resetQuery() {
this.getList();
......
......@@ -23,6 +23,7 @@
<el-table :data="tableData" border style="width: 100%">
<el-table-column align="center" type="index" label="序号" width="55" />
<el-table-column align="center" prop="grade" label="级部" />
<el-table-column align="center" prop="name" label="实验名称" />
<el-table-column align="center" prop="name" label="学期" />
<el-table-column align="center" prop="address" label="总班级数" />
<el-table-column align="center" prop="grade" label="已完成班级数" />
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment