Commit e149a887 by zhaopanyu

zpy 8.31

parent fb05804e
import request from "@/utils/request";
//获取当前最新学年
export function getNewYear(data) {
return request({
url: "/schoolGrade/getNewYear",
method: "get",
data,
});
}
// 查询级部
export function getGrade(schoolYear) {
return request({
url: "/experimentPlan/getGrade/" + schoolYear,
method: "get",
});
}
// 根据级部查询对应班级
export function getClass(id) {
return request({
url: "/experimentPlan/getClass/" + id,
method: "get",
});
}
//新增实验计划
export function addExperimentPlan(data) {
return request({
url: "/experimentPlan/add",
method: "post",
data,
});
}
// 修改实验室
export function updateExperimentPlan(data) {
return request({
url: "/experimentPlan/edit",
method: "put",
data,
});
}
// 查询实验计划列表
export function getExperimentPlan(query) {
return request({
url: "/experimentPlan/list",
params: query,
});
}
// 查询实验计划详细信息
export function getExperimentPlanxq(id) {
return request({
url: "/experimentPlan/" + id,
method: "get",
});
}
// 删除实验室
export function deleteExperimentPlan(id) {
return request({
url: "/experimentPlan/" + id,
method: "post",
});
}
//学科下拉框
export function subExperimentPlan(schoolYear) {
return request({
url: "/experimentPlan/getSub/" + schoolYear,
method: "get",
});
}
//获取当前学期
export function getSemester() {
return request({
url: "/experimentPlan/getSemester",
method: "get",
});
}
import request from "@/utils/request";
// 查看列表
export function getExperimentPlan(query) {
return request({
url: "/experimentPlan/getExperimentList",
method: "get",
params: query,
});
}
// 查看详情
export function getExperimentPlaxq(id) {
return request({
url: "/experimentPlan/" + id,
method: "get",
});
}
import request from "@/utils/request";
// 查看列表
export function getLabClassYear(query) {
return request({
url: "/schoolLabClassYear/getLabClassYear",
method: "get",
params: query,
});
}
// 获取实验室
export function getLabList(query) {
return request({
url: "/schoolLabClassYear/getLabList",
method: "get",
params: query,
});
}
// 分配实验室
export function getAllocationLab(data) {
return request({
url: "/schoolLabClassYear/allocationLab",
method: "post",
data,
});
}
// 查看详情
export function getLabClassYearxq(id) {
return request({
url: "/schoolLabClassYear/getLabClassYear/" + id,
method: "get",
});
}
import request from "@/utils/request";
//新增实验室
export function addSchoolLab(data) {
return request({
url: "/schoolLab/add",
method: "post",
data,
});
}
// 查询实验室列表
export function getSchoolLab(query) {
return request({
url: "/schoolLab/list",
method: "get",
params: query,
});
}
// 查看实验室详情
export function getSchoolLabxq(id) {
return request({
url: "/schoolLab/" + id,
method: "get",
});
}
// 修改实验室
export function updateSchoolLab(data) {
return request({
url: "/schoolLab/edit",
method: "put",
data,
});
}
// 删除实验室
export function deleteSchoolLab(id) {
return request({
url: "/schoolLab/" + id,
method: "post",
});
}
//负责人下拉框
export function departUser() {
return request({
url: "/schoolLab/getLabAdmin",
method: "get",
});
}
//学科下拉框
export function subSchoolLab() {
return request({
url: "/schoolLab/getSub",
method: "get",
});
}
...@@ -2,18 +2,21 @@ ...@@ -2,18 +2,21 @@
<div class="app-container"> <div class="app-container">
<el-form :model="queryForm" ref="queryForm" size="small" :inline="true" label-width="68px"> <el-form :model="queryForm" ref="queryForm" size="small" :inline="true" label-width="68px">
<el-form-item label="学科分类"> <el-form-item label="学科分类">
<el-select v-model="queryForm.subject" placeholder="请选择"> <el-select v-model="queryForm.sub" placeholder="请选择" clearable>
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> <el-option v-for="(item, index) in subList" :key="index" :label="item.dictLabel"
</el-option> :value="item.dictValue"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="实验级部"> <el-form-item label="实验级部">
<el-input v-model="queryForm.name" placeholder="请输入实验名称" clearable></el-input> <el-select v-model="queryForm.gradeId" placeholder="请选择">
<el-option v-for="item in gradeList" :key="item.id" :label="item.gradeName" :value="item.id">
</el-option>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="实验分类"> <el-form-item label="实验分类">
<el-select v-model="queryForm.name" placeholder="请选择"> <el-select v-model="queryForm.experimentClassify" placeholder="请选择" clearable>
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> <el-option v-for="dict in dict.type.experiment_classify" :key="dict.value" :label="dict.label"
</el-option> :value="dict.value" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
...@@ -23,100 +26,143 @@ ...@@ -23,100 +26,143 @@
</el-form> </el-form>
<el-row class="mb8" :gutter="8"> <el-row class="mb8" :gutter="8">
<el-col :span="1.5"> <el-col :span="1.5">
<el-button size="mini" type="primary" icon="el-icon-plus" @click="handleAdd">新增 <el-button size="mini" type="primary" icon="el-icon-plus" @click="handleOption(0)"> 新增
</el-button> </el-button>
<el-button size="mini" type="success" icon="el-icon-download" @click="handleImport">导入 <el-button size="mini" type="success" icon="el-icon-download" @click="handleImport">导入
</el-button> </el-button>
</el-col> </el-col>
</el-row> </el-row>
<el-table :data="tableData" border style="width: 100%"> <el-table :data="tableData" border style="width: 100%">
<el-table-column align="center" type="index" label="序号" width="55" /> <el-table-column align="center" type="index" label="序号" width="55" />
<el-table-column align="center" prop="grade" label="级部" /> <el-table-column align="center" prop="grade" label="级部" />
<el-table-column align="center" prop="name" label="学年" /> <el-table-column align="center" prop="schoolYearSemester" label="学年" />
<el-table-column align="center" prop="address" label="计划时间" /> <el-table-column align="center" prop="plannedTime" label="计划时间" />
<el-table-column align="center" prop="name" label="实验分类" /> <el-table-column align="center" prop="experimentClassify" label="实验分类">
<el-table-column align="center" prop="address" label="实验名称" /> <template slot-scope="{ row }">
<el-table-column align="center" prop="grade" label="学科分类" /> <div>{{ selectDictLabel(dict.type.experiment_classify, row.experimentClassify) }}</div>
<el-table-column align="center" prop="address" label="章节内容" /> </template>
<el-table-column align="center" prop="name" label="是否已预约" /> </el-table-column>
<el-table-column align="center" prop="experimentName" label="实验名称" />
<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="chapterContent" label="章节内容" />
<el-table-column align="center" prop="isAppointment" label="是否已预约" />
<el-table-column align="center" fixed="right" label="操作" width="150"> <el-table-column align="center" fixed="right" label="操作" width="150">
<template slot-scope="scope"> <template slot-scope="{ row }">
<el-button @click="handleEdit(scope.row)" type="text" size="small">修改</el-button> <div>
<el-button @click="handleLook(scope.row)" type="text" size="small">查看</el-button> <el-button type="text" size="small" @click="handleOption(2, row)">查看</el-button>
<el-button @click="handleDelete(scope.row)" type="text" size="small">删除</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>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination v-show="total > 0" :total="total" :page.sync="queryForm.pageNum" :limit.sync="queryForm.pageSize" <pagination v-show="total > 0" :total="total" :page.sync="queryForm.pageNum" :limit.sync="queryForm.pageSize"
@pagination="getList" /> @pagination="getList" />
<!-- 新增/查看 --> <!-- 新增/查看 -->
<el-dialog title="详细信息" :visible.sync="dialogTableVisible" width="60%"> <el-dialog title="详细信息" :visible.sync="dialogTableVisible" width="60%">
<el-form :model="form" ref="form" size="small" label-width="88px"> <el-form :model="form" ref="form" size="small" :rules="rules" label-width="108px">
<el-row> <el-row>
<el-col :span="10"> <el-col :span="10">
<el-form-item label="学科"> <el-form-item label="学科" prop="sub">
<el-input v-model="form.subject" placeholder="请输入" clearable></el-input> <el-select v-model="form.sub" placeholder="请选择" :disabled="nowType === 2" clearable
@change="onGradeChange" style="width: 100%;">
<el-option v-for="(item, index) in subList" :key="index" :label="item.dictLabel"
:value="item.dictValue"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="级部" prop="gradeId">
<el-select v-model="form.gradeId" placeholder="请选择" clearable @change="onGradeChange"
style="width: 100%;" :disabled="nowType === 2">
<el-option v-for="(item, index) in gradeList" :key="index" :label="item.gradeName"
:value="item.id"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="10">
<el-form-item label="学年" prop="schoolYear">
<el-input v-model="form.schoolYear" placeholder="请输入" clearable
:disabled="nowType === 2"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="10">
<el-form-item label="级部"> <el-form-item label="学期" prop="semester">
<el-input v-model="form.grade" placeholder="请输入" clearable></el-input> <el-select v-model="form.semester" placeholder="请选择" clearable style="width: 100%;"
:disabled="nowType === 2">
<el-option label="上学期" value="1"></el-option>
<el-option label="下学期" value="2"></el-option>
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="20"> <el-col :span="20">
<el-form-item label="班级"> <el-form-item label="班级" prop="classId">
<el-radio-group v-model="form.change" style="width: 100%;"> <el-checkbox-group v-model="form.classId" :disabled="nowType === 2">
<el-radio label='0'>1班</el-radio> <el-checkbox v-for="classItem in classList" :key="classItem.classId"
<el-radio label='1'>2班</el-radio> :label="classItem.classId">
<el-radio label='2'>3班</el-radio> {{ classItem.className }}
<el-radio label='3'>4班</el-radio> </el-checkbox>
<el-radio label='4'>5班</el-radio> </el-checkbox-group>
<!-- <el-radio label='5'>6班</el-radio>
<el-radio label='6'>7班</el-radio>-->
</el-radio-group>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="10"> <el-col :span="10">
<el-form-item label="实验分类"> <el-form-item label="实验分类" prop="experimentClassify">
<el-select v-model="queryForm.sort" placeholder="请选择" style="width: 100%;"> <el-select v-model="form.experimentClassify" placeholder="请选择" clearable style="width: 100%;"
<el-option v-for="item in options" :key="item.value" :label="item.label" :disabled="nowType === 2">
:value="item.value"> <el-option v-for="dict in dict.type.experiment_classify" :key="dict.value"
</el-option> :label="dict.label" :value="dict.value" />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="10">
<el-form-item label="实验名称"> <el-form-item label="实验名称" prop="experimentName">
<el-input v-model="form.year" placeholder="请输入" clearable></el-input> <el-input v-model="form.experimentName" placeholder="请输入" clearable
:disabled="nowType === 2"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="20">
<el-form-item label="章节内容" prop="chapterContent">
<el-input v-model="form.chapterContent" placeholder="请输入" clearable
:disabled="nowType === 2"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="10"> <el-col :span="10">
<el-form-item label="章节内容"> <el-form-item label="计划开始时间" prop="plannedStartTime">
<el-input v-model="form.year" placeholder="请输入" clearable></el-input> <el-date-picker v-model="form.plannedStartTime" type="month" placeholder="选择月"
value-format="yyyy-MM" style="width: 100%;" :disabled="nowType === 2">
</el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="10">
<el-form-item label="计划时间"> <el-form-item label="计划结束时间" prop="plannedEndTime">
<el-date-picker v-model="form.time" type="monthrange" range-separator="至" <el-date-picker v-model="form.plannedEndTime" type="month" placeholder="选择月"
start-placeholder="开始月份" end-placeholder="结束月份" value-format="MM" style="width: 100%;"> value-format="yyyy-MM" style="width: 100%;" :disabled="nowType === 2">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="20"> <el-col :span="20">
<el-form-item label="实验用品"> <el-form-item label="实验用品" prop="experimentUseGoods">
<el-input v-model="form.name" type="textarea" placeholder="请输入" clearable></el-input> <el-input v-model="form.experimentUseGoods" type="textarea" placeholder="请输入" clearable
:disabled="nowType === 2"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
...@@ -131,13 +177,34 @@ ...@@ -131,13 +177,34 @@
</template> </template>
<script> <script>
import {
getNewYear,
getGrade,
getClass,
addExperimentPlan,
updateExperimentPlan,
getExperimentPlan,
getExperimentPlanxq,
deleteExperimentPlan,
subExperimentPlan,
getSemester
} from '@/api/smartSchool/gradeWork/laboratoryManagement/experimentalPlan'
export default { export default {
name: 'index', name: 'index',
dicts: ['experiment_classify', 'lab_sub'],
data() { data() {
return { return {
queryForm: { queryForm: {
sub: '',
gradeId: '',
experimentClassify: '',
pageNum: 1,
pageSize: 10,
}, },
classList: [], // 班级列表数据
subList: [],// 学科列表
//级部
gradeList: [],
//表格数据 //表格数据
tableData: [ tableData: [
{ {
...@@ -147,44 +214,231 @@ export default { ...@@ -147,44 +214,231 @@ export default {
//查看弹窗表格 //查看弹窗表格
ExperimentalData: [], ExperimentalData: [],
form: { form: {
id: '',
sub: '',
gradeId: '',
grade: '',
schoolYear: '',
semester: '',
experimentClassify: '',
experimentName: '',
chapterContent: '',
plannedStartTime: '',
plannedEndTime: '',
experimentUseGoods: '',
classId: '',
className: '',
schoolExperimentPlanClassList: [],
}, },
//实验分类下拉框 //实验分类下拉框
options: { options: {
}, },
rules: {
sub: [
{ required: true, message: "学科不能为空", trigger: "blur" }
],
gradeId: [
{ required: true, message: "级部不能为空", trigger: "blur" }
],
schoolYear: [
{ required: true, message: "学年不能为空", trigger: "blur" }
],
semester: [
{ required: true, message: "学期不能为空", trigger: "blur" }
],
experimentClassify: [
{ required: true, message: "实验分类不能为空", trigger: "blur" }
],
experimentName: [
{ required: true, message: "实验名称不能为空", trigger: "blur" }
],
chapterContent: [
{ required: true, message: "章节内容不能为空", trigger: "blur" }
],
plannedStartTime: [
{ required: true, message: "计划开始时间不能为空", trigger: "blur" }
],
plannedEndTime: [
{ required: true, message: "计划结束时间不能为空", trigger: "blur" }
],
experimentUseGoods: [
{ required: true, message: "实验用品不能为空", trigger: "blur" }
],
classId: [
{ required: true, message: "班级不能为空", trigger: "blur" }
],
},
nowType: 0, // 0新增、1修改、2查看
//弹窗 //弹窗
dialogTableVisible: false, dialogTableVisible: false,
total: 0, total: 0,
} }
}, },
created() {
this.getList();
},
methods: { methods: {
getList() { getList() {
getExperimentPlan(this.queryForm).then(response => {
this.tableData = response.rows;
console.log('this.tableData', this.tableData);
this.total = response.total
this.loading = false
})
},
//选择级部自动获取年级
onGradeChange() {
const selectedGrade = this.gradeList.find(grade => grade.id === this.form.gradeId);
if (selectedGrade) {
const gradeValue = selectedGrade.gradeValue;
console.log('selectedGrade', selectedGrade);
if (gradeValue === 1) {
console.log('gradeValue', gradeValue);
this.form.classId = this.classList.map(classItem => classItem.classId); // 默认选中所有班级
console.log('this.form.classId', this.form.classId);
console.log('this.form.schoolExperimentPlanClassList', this.form.schoolExperimentPlanClassList);
} else {
this.form.schoolExperimentPlanClassList = [];
console.log('gradeValue', gradeValue);
this.getClass(selectedGrade.id); // 获取班级列表
}
}
},
//删除按钮操作
handleDelete(id) {
this.$confirm("此操作将永久删除该数据,是否继续?", '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
deleteExperimentPlan(id).then(res => {
if (res.code == 200) {
this.$message.success("删除成功!")
}
this.getList()
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除!'
});
});
}, },
resetQuery() {
this.getList(); //获得当前年份
newYear() {
getNewYear().then((res) => {
this.form.schoolYear = res.schoolYear;
console.log(this.form.schoolYear, typeof this.form.schoolYear);
this.getGrade();
});
}, },
//新增按钮操作 //获取当前学期
handleAdd() { getSemester() {
this.dialogTableVisible = true; getSemester().then((res) => {
this.form.semester = res.semester;
console.log(this.form.semester, typeof this.form.semester);
});
},
//查询级部
getGrade() {
const schoolYear = this.form.schoolYear;
getGrade(schoolYear).then(response => {
this.loading = false;
this.gradeList = response.data;
console.log("this.gradeList", this.gradeList);
if (this.gradeList.length > 0) {
const gradeId = this.gradeList[0].id;
this.getClass(gradeId);
this.getSub(gradeId);
}
});
},
//查询班级
getClass(gradeId) {
getClass(gradeId).then(response => {
this.loading = false;
this.classList = response.data;
console.log('this.classList', this.classList);
});
},
//查询学科
getSub(gradeId) {
subExperimentPlan(gradeId).then(response => {
this.loading = false;
this.subList = response.data;
console.log('this.subList', this.subList);
});
}, },
//删除按钮操作
handleDelete() {
//重置按钮
resetQuery() {
this.queryForm.sub = '';
this.queryForm.gradeId = '';
this.queryForm.experimentClassify = '';
// this.resetForm("queryForm");
this.getList();
}, },
//修改按钮操作
handleEdit() { // 0新增、1修改、2查看
handleOption(type, row) {
this.form = {
id: '',
sub: '',
gradeId: '',
grade: '',
schoolYear: '',
semester: '',
experimentClassify: '',
experimentName: '',
chapterContent: '',
plannedStartTime: '',
plannedEndTime: '',
experimentUseGoods: '',
classId: '',
className: '',
schoolExperimentPlanClassList: [],
}
this.nowType = type;
this.newYear();
this.getSemester();
if (type != 0) {
const id = row.id
getExperimentPlanxq(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.form.classId = response.data.schoolExperimentPlanClassList.map(item => {
return item.classId;
});
}
})
}
})
}
this.dialogTableVisible = true; this.dialogTableVisible = true;
}, },
/** 导入按钮操作 */ /** 导入按钮操作 */
handleImport() { handleImport() {
}, },
//查看按钮操作
handleLook() {
this.dialogTableVisible = true;
},
//取消按钮 //取消按钮
cancel() { cancel() {
...@@ -192,8 +446,33 @@ export default { ...@@ -192,8 +446,33 @@ export default {
}, },
//提交按钮 //提交按钮
submitForm() { submitForm() {
if (Array.isArray(this.form.classId)) {
this.form.schoolExperimentPlanClassList = this.form.classId.map(item => {
return { classId: item }
})
} }
const gradeId = this.form.gradeId
this.form.grade = gradeId == '' ? '' : this.gradeList.find(item => item.id == gradeId).gradeName
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id !== "") {
updateExperimentPlan(this.form).then(response => {
console.log("this.form", this.form);
this.$modal.msgSuccess("修改成功");
this.dialogTableVisible = false;
this.getList();
});
} else {
addExperimentPlan(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.dialogTableVisible = false;
this.getList();
});
}
}
});
},
}, },
} }
</script> </script>
......
...@@ -2,13 +2,13 @@ ...@@ -2,13 +2,13 @@
<div class="app-container"> <div class="app-container">
<el-form :model="queryForm" ref="queryForm" size="small" :inline="true" label-width="88px"> <el-form :model="queryForm" ref="queryForm" size="small" :inline="true" label-width="88px">
<el-form-item label="学科分类"> <el-form-item label="学科分类">
<el-select v-model="queryForm.subject" placeholder="请选择"> <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 v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="计划时间"> <el-form-item label="计划时间">
<el-date-picker v-model="queryForm.time" type="daterange" range-separator="至" start-placeholder="开始日期" <el-date-picker v-model="queryForm.plannedStartTime" type="daterange" range-separator="至" start-placeholder="开始日期"
end-placeholder="结束日期" value-format="yyyy-MM-dd"> end-placeholder="结束日期" value-format="yyyy-MM-dd">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
......
...@@ -2,18 +2,15 @@ ...@@ -2,18 +2,15 @@
<div class="app-container"> <div class="app-container">
<el-form :model="queryForm" ref="queryForm" size="small" :inline="true" label-width="68px"> <el-form :model="queryForm" ref="queryForm" size="small" :inline="true" label-width="68px">
<el-form-item label="学年"> <el-form-item label="学年">
<el-select v-model="queryForm.year" placeholder="请选择"> <el-input v-model="queryForm.schoolYear" placeholder="请输入" clearable></el-input>
<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>
<el-form-item label="实验级部"> <el-form-item label="实验级部">
<el-input v-model="queryForm.name" placeholder="请输入实验名称" clearable></el-input> <el-input v-model="queryForm.grade" placeholder="请输入实验名称" clearable></el-input>
</el-form-item> </el-form-item>
<el-form-item label="实验分类"> <el-form-item label="实验分类">
<el-select v-model="queryForm.name" placeholder="请选择"> <el-select v-model="queryForm.experimentClassify" placeholder="请选择" clearable>
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> <el-option v-for="dict in dict.type.experiment_classify" :key="dict.value" :label="dict.label"
</el-option> :value="dict.value" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
...@@ -24,12 +21,20 @@ ...@@ -24,12 +21,20 @@
<el-table :data="tableData" border style="width: 100%"> <el-table :data="tableData" border style="width: 100%">
<el-table-column align="center" type="index" label="序号" width="55" /> <el-table-column align="center" type="index" label="序号" width="55" />
<el-table-column align="center" prop="grade" label="级部" /> <el-table-column align="center" prop="grade" label="级部" />
<el-table-column align="center" prop="name" label="学年" /> <el-table-column align="center" prop="schoolYear" label="学年" />
<el-table-column align="center" prop="address" label="计划时间" /> <el-table-column align="center" prop="plannedTime" label="计划时间" />
<el-table-column align="center" prop="grade" label="学科分类" /> <el-table-column align="center" prop="sub" label="学科分类">
<el-table-column align="center" prop="name" label="实验分类" /> <template slot-scope="{ row }">
<el-table-column align="center" prop="address" label="实验名称" /> <div>{{ selectDictLabel(dict.type.lab_sub, row.sub) }}</div>
<el-table-column align="center" prop="address" label="章节内容" /> </template>
</el-table-column>
<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="experimentName" label="实验名称" />
<el-table-column align="center" prop="chapterContent" label="章节内容" />
<el-table-column align="center" fixed="right" label="操作" width="150"> <el-table-column align="center" fixed="right" label="操作" width="150">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button @click="handleLook(scope.row)" type="text" size="small">查看</el-button> <el-button @click="handleLook(scope.row)" type="text" size="small">查看</el-button>
...@@ -38,10 +43,9 @@ ...@@ -38,10 +43,9 @@
</el-table> </el-table>
<pagination v-show="total > 0" :total="total" :page.sync="queryForm.pageNum" :limit.sync="queryForm.pageSize" <pagination v-show="total > 0" :total="total" :page.sync="queryForm.pageNum" :limit.sync="queryForm.pageSize"
@pagination="getList" /> @pagination="getList" />
<!-- 查看弹窗 --> <!-- 查看弹窗 -->
<el-dialog title="详细信息" :visible.sync="dialogTableVisible" width="60%"> <el-dialog title="详细信息" :visible.sync="dialogTableVisible" width="60%">
<el-form :model="form" ref="form" size="small" label-width="88px"> <el-form :model="form" ref="form" size="small" label-width="108px" :disabled="isEdit">
<el-row> <el-row>
<el-col :span="10"> <el-col :span="10">
<el-form-item label="级部"> <el-form-item label="级部">
...@@ -50,44 +54,58 @@ ...@@ -50,44 +54,58 @@
</el-col> </el-col>
<el-col :span="10"> <el-col :span="10">
<el-form-item label="学年"> <el-form-item label="学年">
<el-input v-model="form.year" placeholder="请输入" clearable></el-input> <el-input v-model="form.schoolYear" placeholder="请输入" clearable></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="10"> <el-col :span="10">
<el-form-item label="计划时间"> <el-form-item label="计划开始时间" prop="plannedStartTime">
<el-input v-model="form.year" placeholder="请输入" clearable></el-input> <el-date-picker v-model="form.plannedStartTime" type="month" placeholder="选择月"
value-format="yyyy-MM" style="width: 100%;">
</el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="10">
<el-form-item label="学科分类"> <el-form-item label="计划结束时间" prop="plannedEndTime">
<el-input v-model="form.year" placeholder="请输入" clearable></el-input> <el-date-picker v-model="form.plannedEndTime" type="month" placeholder="选择月"
value-format="yyyy-MM" style="width: 100%;">
</el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="10"> <el-col :span="10">
<el-form-item label="实验分类"> <el-form-item label="学科分类" prop="sub">
<el-input v-model="form.year" placeholder="请输入" clearable></el-input> <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-form-item>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="10">
<el-form-item label="实验名称"> <el-form-item label="实验分类">
<el-input v-model="form.year" placeholder="请输入" clearable></el-input> <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-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="20"> <el-col :span="10">
<el-form-item label="实验名称">
<el-input v-model="form.experimentName" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="章节内容"> <el-form-item label="章节内容">
<el-input v-model="form.year" placeholder="请输入" clearable></el-input> <el-input v-model="form.chapterContent" placeholder="请输入" clearable></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
</el-form> </el-form>
<div slot="footer" class="dialog-footer" style="text-align: center;"> <div slot="footer" class="dialog-footer" style="text-align: center;">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel"> 取 消 </el-button> <el-button @click="cancel"> 取 消 </el-button>
</div> </div>
</el-dialog> </el-dialog>
...@@ -96,12 +114,22 @@ ...@@ -96,12 +114,22 @@
</template> </template>
<script> <script>
import {
getExperimentPlan,
getExperimentPlaxq,
} from '@/api/smartSchool/laboratoryManagement/experimentalPlan'
export default { export default {
name: 'index', name: 'index',
dicts: ['experiment_classify', 'lab_sub'],
data() { data() {
return { return {
queryForm: { queryForm: {
pageNum: 1,
pageSize: 10,
schoolYear: '',
grade: '',
experimentClassify: '',
}, },
//表格数据 //表格数据
tableData: [ tableData: [
...@@ -109,8 +137,6 @@ export default { ...@@ -109,8 +137,6 @@ export default {
} }
], ],
//查看弹窗表格
ExperimentalData: [],
form: { form: {
}, },
...@@ -121,28 +147,46 @@ export default { ...@@ -121,28 +147,46 @@ export default {
//弹窗 //弹窗
dialogTableVisible: false, dialogTableVisible: false,
total: 0, total: 0,
isEdit: false,
} }
}, },
created() {
this.getList();
},
methods: { methods: {
getList() { getList() {
getExperimentPlan(this.queryForm).then(response => {
this.tableData = response.rows;
console.log('response', response);
this.total = response.total
this.loading = false
})
}, },
resetQuery() { resetQuery() {
this.queryForm = {
schoolYear: '',
grade: '',
experimentClassify: '',
};
this.getList(); this.getList();
}, },
//查看按钮操作 //查看按钮操作
handleLook() { handleLook(row) {
this.dialogTableVisible = true; this.dialogTableVisible = true;
const id = row.id || this.ids;
getExperimentPlaxq(id).then(response => {
this.form = response.data;
this.isEdit = true;
console.log('this.tableData', this.tableData);
this.loading = false
})
}, },
//取消按钮 //取消按钮
cancel() { cancel() {
this.dialogTableVisible = false; this.dialogTableVisible = false;
}, },
//提交按钮
submitForm() {
}
}, },
} }
</script> </script>
......
...@@ -4,12 +4,13 @@ ...@@ -4,12 +4,13 @@
<el-form-item label="实验级部"> <el-form-item label="实验级部">
<el-input v-model="queryForm.grade" placeholder="请输入"></el-input> <el-input v-model="queryForm.grade" placeholder="请输入"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="实验级部"> <el-form-item label="实验室名称">
<el-input v-model="queryForm.grade" placeholder="请输入"></el-input> <el-input v-model="queryForm.experimentName" placeholder="请输入"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="预约时间段"> <el-form-item label="预约时间段">
<el-date-picker v-model="queryForm.time" type="daterange" range-separator="至" start-placeholder="开始日期" <el-date-picker v-model="queryForm.time" type="daterange" range-separator="至" start-placeholder="开始日期"
end-placeholder="结束日期" value-format="yyyy-MM-dd"> end-placeholder="结束日期" value-format="yyyy-MM-dd"
:value="[queryForm.plannedStartTime, queryForm.plannedEndTime]">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
...@@ -19,15 +20,32 @@ ...@@ -19,15 +20,32 @@
</el-form> </el-form>
<el-table :data="tableData" border style="width: 100%"> <el-table :data="tableData" border style="width: 100%">
<el-table-column align="center" type="index" label="序号" width="55" /> <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="学科">
<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="grade" label="级部" />
<el-table-column align="center" prop="time" label="学年" /> <el-table-column align="center" prop="schoolYear" label="学年" />
<el-table-column align="center" prop="name" label="规划时间" /> <el-table-column align="center" prop="plannedTime" label="计划时间" />
<el-table-column align="center" prop="name" label="实验名称" /> <el-table-column align="center" prop="experimentName" label="实验名称" />
<el-table-column align="center" prop="name" label="实验分类" /> <el-table-column align="center" prop="experimentClassify" label="实验分类">
<el-table-column align="center" prop="time" label="实验用品" /> <template slot-scope="{ row }">
<el-table-column align="center" prop="name" label="实验室" /> <div>{{ selectDictLabel(dict.type.experiment_classify, row.experimentClassify) }}</div>
<el-table-column align="center" prop="name" label="申报状态" /> </template>
</el-table-column>
<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(", ") }}
</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"> <el-table-column align="center" fixed="right" label="操作" width="150">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button @click="handleLook(scope.row)" type="text" size="small">查看</el-button> <el-button @click="handleLook(scope.row)" type="text" size="small">查看</el-button>
...@@ -42,12 +60,15 @@ ...@@ -42,12 +60,15 @@
<el-row :gutter="30"> <el-row :gutter="30">
<el-col :span="10"> <el-col :span="10">
<el-form-item label="申请老师"> <el-form-item label="申请老师">
<el-input v-model="form.subject" placeholder="请输入" clearable /> <el-input v-model="form.applyName" placeholder="请输入" clearable />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="10">
<el-form-item label="实验分类"> <el-form-item label="实验分类">
<el-input v-model="form.name" placeholder="请输入" clearable /> <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-form-item>
</el-col> </el-col>
...@@ -55,12 +76,15 @@ ...@@ -55,12 +76,15 @@
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="10"> <el-col :span="10">
<el-form-item label="实验名称"> <el-form-item label="实验名称">
<el-input v-model="form.year" placeholder="请输入" clearable /> <el-input v-model="form.experimentName" placeholder="请输入" clearable />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="10">
<el-form-item label="学科"> <el-form-item label="学科">
<el-input v-model="form.grade" placeholder="请输入" clearable /> <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-form-item>
</el-col> </el-col>
...@@ -69,7 +93,7 @@ ...@@ -69,7 +93,7 @@
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="20"> <el-col :span="20">
<el-form-item label="章节内容"> <el-form-item label="章节内容">
<el-input v-model="form.name" placeholder="请输入" clearable></el-input> <el-input v-model="form.chapterContent" placeholder="请输入" clearable></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
...@@ -83,23 +107,30 @@ ...@@ -83,23 +107,30 @@
</el-col> </el-col>
<el-col :span="10"> <el-col :span="10">
<el-form-item label="学年"> <el-form-item label="学年">
<el-input v-model="form.year" placeholder="请输入" clearable /> <el-input v-model="form.schoolYear" placeholder="请输入" clearable />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="20"> <el-col :span="20">
<el-form-item label="实验用品"> <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-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="20"> <el-row>
<el-col :span="20"> <el-col :span="10">
<el-form-item label="规划时间"> <el-form-item label="计划开始时间" prop="plannedStartTime">
<el-date-picker v-model="form.time" type="daterange" range-separator="至" <el-date-picker v-model="form.plannedStartTime" type="month" placeholder="选择月"
start-placeholder="开始日期" end-placeholder="结束日期" value-format="yyyy-MM-dd" value-format="yyyy-MM" style="width: 100%;">
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> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -107,17 +138,12 @@ ...@@ -107,17 +138,12 @@
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="24"> <el-col :span="24">
<el-form-item label="实验室选择"> <el-form-item label="实验室选择">
<el-radio-group v-model="form.change"> <!-- <el-checkbox-group v-model="form.schoolLabClassYearRelationList" :disabled="nowType === 2">
<el-radio label='0'>103(空闲)</el-radio> <el-checkbox v-for="classItem in classList" :key="classItem.classId"
<el-radio label='1'>202(使用中)</el-radio> :label="classItem.classId">
<el-radio label='2'>302(使用中)</el-radio> {{ classItem.className }}
<el-radio label='3'>303(使用中)</el-radio> </el-checkbox>
<el-radio label='4'>304(空闲)</el-radio> </el-checkbox-group> -->
<!-- <el-radio label='5'>305(使用中)</el-radio>
<el-radio label='6'>401(空闲)</el-radio>
<el-radio label='7'>402(使用中)</el-radio>
<el-radio label='8'>405(空闲)</el-radio> -->
</el-radio-group>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -137,18 +163,32 @@ ...@@ -137,18 +163,32 @@
</template> </template>
<script> <script>
import {
getLabClassYear,
getLabList,
getAllocationLab,
getLabClassYearxq,
} from '@/api/smartSchool/laboratoryManagement/gradeExperimentapp'
export default { export default {
name: 'index', name: 'index',
dicts: ['experiment_classify', 'lab_sub', 'declare_state'],
data() { data() {
return { return {
queryForm: { queryForm: {
pageNum: 1,
pageSize: 10,
grade: '',
experimentName: '',
plannedStartTime: '',
plannedEndTime: '',
}, },
//表格数据 //表格数据
tableData: [ tableData: [
{
}
], ],
//学科分类 //学科分类
options: { options: {
...@@ -161,20 +201,39 @@ export default { ...@@ -161,20 +201,39 @@ export default {
dialogTableVisible: false, dialogTableVisible: false,
} }
}, },
created() {
this.getList();
},
methods: { methods: {
//表单查询 //表单查询
getList() { getList() {
getLabClassYear(this.queryForm).then(response => {
this.tableData = response.rows
this.total = response.total
this.loading = false
})
}, },
//分配实验室 //分配实验室
handleAllocation() { handleAllocation() {
getLabClassYearxq(this.queryForm).then(response => {
this.form = response.data
console.log('this.form', this.form);
this.loading = false
})
this.dialogTableVisible = true; this.dialogTableVisible = true;
}, },
//查看按钮操作 //查看按钮操作
handleLook() { handleLook(row) {
this.dialogTableVisible = true; this.dialogTableVisible = true;
const id = row.id || this.ids;
getLabClassYearxq(id).then(response => {
this.form = response.data
console.log('this.form', this.form);
this.loading = false
})
}, },
resetQuery() { resetQuery() {
this.getList(); this.getList();
...@@ -184,7 +243,7 @@ export default { ...@@ -184,7 +243,7 @@ export default {
}, },
// 取消按钮 // 取消按钮
cancle() { cancel() {
this.dialogTableVisible = false; this.dialogTableVisible = false;
}, },
......
...@@ -2,15 +2,12 @@ ...@@ -2,15 +2,12 @@
<div class="app-container"> <div class="app-container">
<el-form :model="queryForm" ref="queryForm" size="small" :inline="true" label-width="88px"> <el-form :model="queryForm" ref="queryForm" size="small" :inline="true" label-width="88px">
<el-form-item label="实验室"> <el-form-item label="实验室">
<el-select v-model="form.name" placeholder="请选择"> <el-input v-model="queryForm.labName" placeholder="请输入"></el-input>
<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>
<el-form-item label="实验室状态"> <el-form-item label="实验室状态">
<el-select v-model="form.name" placeholder="请选择"> <el-select v-model="queryForm.labState" placeholder="请选择" clearable>
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> <el-option v-for="dict in dict.type.lab_state" :key="dict.value" :label="dict.label"
</el-option> :value="dict.value" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
...@@ -19,68 +16,88 @@ ...@@ -19,68 +16,88 @@
</el-form-item> </el-form-item>
<el-row class="mb8" :gutter="8"> <el-row class="mb8" :gutter="8">
<el-col :span="1.5"> <el-col :span="1.5">
<el-button size="mini" type="primary" icon="el-icon-plus" @click="handleAdd">新增 <el-button size="mini" type="primary" icon="el-icon-plus" @click="handleOption(0)"> 新增
</el-button> </el-button>
</el-col> </el-col>
</el-row> </el-row>
</el-form> </el-form>
<el-table :data="tableData" border style="width: 100%"> <el-table :data="tableData" style="width: 100%">
<el-table-column align="center" type="index" label="序号" width="55" /> <el-table-column align="center" type="index" label="序号" width="55" />
<el-table-column align="center" prop="grade" label="实验室名称" /> <el-table-column align="center" prop="labName" label="实验室名称" />
<el-table-column align="center" prop="name" label="实验室学科" /> <el-table-column align="center" prop="labSub" label="实验室学科">
<el-table-column align="center" prop="address" label="实验室负责人" /> <template slot-scope="{ row }">
<el-table-column align="center" prop="grade" label="实验室状态" /> <div>{{ selectDictLabel(dict.type.lab_sub, row.labSub) }}</div>
</template>
</el-table-column>
<el-table-column align="center" prop="inChargeName" label="实验室负责人" />
<el-table-column align="center" prop="labUseGoods" label="实验用品" />
<el-table-column align="center" prop="labState" label="实验室状态">
<template slot-scope="{ row }">
<div>{{ selectDictLabel(dict.type.lab_state, row.labState) }}</div>
</template>
</el-table-column>
<el-table-column align="center" fixed="right" label="操作" width="180"> <el-table-column align="center" fixed="right" label="操作" width="180">
<template slot-scope="scope"> <template slot-scope="{ row }">
<el-button @click="handleLook(scope.row)" type="text" size="small">查看</el-button> <div>
<el-button @click="handleEdit(scope.row)" type="text" size="small">修改</el-button> <el-button type="text" size="small" @click="handleOption(2, row)">查看</el-button>
<el-button @click="handleDelete(scope.row)" type="text" size="small">删除</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>
<el-button @click="handleRecord(scope.row)" type="text" size="small">查看记录</el-button> <el-button @click="handleRecord(scope.row)" type="text" size="small">查看记录</el-button>
</div>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination v-show="total > 0" :total="total" :page.sync="queryForm.pageNum" :limit.sync="queryForm.pageSize" <pagination v-show="total > 0" :total="total" :page.sync="queryForm.pageNum" :limit.sync="queryForm.pageSize"
@pagination="getList" /> @pagination="getList" />
<!-- 新增/修改/查看弹窗 --> <!-- 新增/修改/查看弹窗 -->
<el-dialog :title="title" :visible.sync="dialogTableVisible" width="60%"> <el-dialog title="详细信息" :visible.sync="dialogTableVisible" width="60%">
<el-form :model="form" ref="form" size="small" label-width="98px"> <el-form :model="form" ref="form" size="small" :rules="rules" label-width="98px">
<el-row :gutter="30"> <el-row :gutter="30">
<el-col :span="10"> <el-col :span="10">
<el-form-item label="实验名称"> <el-form-item label="实验名称" prop="labName">
<el-input v-model="form.name" placeholder="请输入" clearable></el-input> <el-input v-model="form.labName" placeholder="请输入" clearable
:disabled="nowType === 2"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="10">
<el-form-item label="学科"> <el-form-item label="学科" prop="labSub">
<el-select v-model="form.subject" placeholder="请选择" style="width: 100%;"> <el-select v-model="form.labSub" placeholder="请选择" clearable style="width: 100%;"
<el-option v-for="item in options" :key="item.value" :label="item.label" :disabled="nowType === 2">
:value="item.value"> <el-option v-for="(item, index) in subList" :key="index" :label="item.dictLabel"
</el-option> :value="item.dictValue"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="30"> <el-row :gutter="30">
<el-col :span="10"> <el-col :span="10">
<el-form-item label="负责人"> <el-form-item label="负责人" prop="inChargeId">
<el-input v-model="form.name" placeholder="请输入" clearable></el-input> <el-select v-model="form.inChargeId" placeholder="请选择" style="width: 100%;"
:disabled="nowType === 2">
<el-option v-for="item in adminList" :key="item.userId" :label="item.userName"
:value="item.userId">
</el-option>
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="10">
<el-form-item label="状态"> <el-form-item label="状态" prop="labState">
<el-radio-group v-model="form.states"> <el-radio-group v-model="form.labState" style="width: 100%;" :disabled="nowType === 2">
<el-radio label='0'>良好</el-radio> <el-radio label="1">良好</el-radio>
<el-radio label='1'>正常</el-radio> <el-radio label="2">正常</el-radio>
<el-radio label='2'>待检查</el-radio> <el-radio label="3">待检查</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="30"> <el-row :gutter="30">
<el-col :span="20"> <el-col :span="20">
<el-form-item label="实验用品"> <el-form-item label="实验用品" prop="labUseGoods">
<el-input v-model="form.name" type="textarea" placeholder="请输入" clearable></el-input> <el-input v-model="form.labUseGoods" type="textarea" placeholder="请输入" clearable
:disabled="nowType === 2"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
...@@ -90,6 +107,7 @@ ...@@ -90,6 +107,7 @@
<el-button @click="cancel"> 取 消 </el-button> <el-button @click="cancel"> 取 消 </el-button>
</div> </div>
</el-dialog> </el-dialog>
<!-- 查看记录弹窗 --> <!-- 查看记录弹窗 -->
<el-dialog :title="title" :visible.sync="open" width="80%"> <el-dialog :title="title" :visible.sync="open" width="80%">
<el-form :model="form" ref="form" size="small" label-width="89px"> <el-form :model="form" ref="form" size="small" label-width="89px">
...@@ -152,73 +170,188 @@ ...@@ -152,73 +170,188 @@
</template> </template>
<script> <script>
import {
addSchoolLab,
getSchoolLab,
updateSchoolLab,
deleteSchoolLab,
departUser,
subSchoolLab,
getSchoolLabxq,
} from '@/api/smartSchool/laboratoryManagement/laboratoryManagementlist'
export default { export default {
name: 'index', name: 'index',
dicts: ['lab_state', 'lab_sub'],
data() { data() {
return { return {
queryForm: { queryForm: {
pageNum: 1,
pageSize: 10,
labName: '',
labState: '',
}, },
//表格数据 //表格数据
tableData: [ tableData: [
{
}
], ],
nowType: 0, // 0新增、1修改、2查看
// 弹出层标题 // 弹出层标题
title: '', title: '',
//查看弹窗表格 //查看弹窗表格
ExperimentalData: [], ExperimentalData: [],
form: { form: {
id: '',
labName: '',
labSub: '',
inChargeId: '',
inChargeName: '',
labState: '',
labUseGoods: '',
}, },
//实验分类下拉框 //实验分类下拉框
options: { options: {
}, },
//学科列表
subList: [],
rules: {
labName: [
{ required: true, message: "实验名称不能为空", trigger: "blur" }
],
labSub: [
{ required: true, message: "学科不能为空", trigger: "blur" }
],
inChargeId: [
{ required: true, message: "负责人不能为空", trigger: "blur" }
],
labState: [
{ required: true, message: "状态不能为空", trigger: "blur" }
],
labUseGoods: [
{ required: true, message: "实验用品不能为空", trigger: "blur" }
],
},
//弹窗 //弹窗
dialogTableVisible: false, dialogTableVisible: false,
//查看记录弹窗 //查看记录弹窗
open: false, open: false,
//负责人下拉框
adminList: [],
total: 0, total: 0,
} }
}, },
created() {
this.getList();
},
methods: { methods: {
getList() { getList() {
getSchoolLab(this.queryForm).then(response => {
this.tableData = response.rows
this.total = response.total
this.loading = false
})
}, },
resetQuery() { resetQuery() {
this.queryForm = {
};
this.getList(); this.getList();
}, },
//负责人下拉框
getAdmin() {
departUser().then(res => {
if (res.code === 200) {
this.adminList = res.data;
console.log(this.adminList, 'this.adminList');
}
});
},
//弹窗搜索 //弹窗搜索
getListtc() { getListtc() {
}, },
// 表单重置
reset() {
this.form = {
id: undefined,
labName: undefined,
labSub: undefined,
inChargeId: undefined,
inChargeName: undefined,
labState: undefined,
labUseGoods: undefined,
};
this.resetForm("form");
},
//弹窗重置 //弹窗重置
resetQuerytc() { resetQuerytc() {
this.getListtc(); this.getListtc();
}, },
// 0新增、1修改、2查看
handleOption(type, row) {
//查看按钮操作 this.form = {
handleLook() { id: '',
this.dialogTableVisible = true; labName: '',
this.title = "实验室查看"; labSub: '',
}, inChargeId: '',
//修改按钮操作 inChargeName: '',
handleEdit() { labState: '',
labUseGoods: '',
}
this.nowType = type;
this.getAdmin();
this.getSub();
if (type != 0) {
const id = row.id
getSchoolLabxq(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; this.dialogTableVisible = true;
this.title = "实验室修改";
}, },
//删除按钮操作 //删除按钮操作
handleDelete() { handleDelete(id) {
this.$confirm("此操作将永久删除该数据,是否继续?", '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
deleteSchoolLab(id).then(res => {
if (res.code == 200) {
this.$message.success("删除成功!")
}
this.getList()
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除!'
});
});
}, },
//新增按钮操作 //查询学科
handleAdd() { getSub() {
this.dialogTableVisible = true; subSchoolLab().then(response => {
this.title = "实验室新增"; this.loading = false;
this.subList = response.data;
console.log('this.subList', this.subList);
});
}, },
//查看记录操作 //查看记录操作
handleRecord() { handleRecord() {
this.open = true; this.open = true;
...@@ -227,11 +360,32 @@ export default { ...@@ -227,11 +360,32 @@ export default {
//取消按钮 //取消按钮
cancel() { cancel() {
this.dialogTableVisible = false; this.dialogTableVisible = false;
this.reset();
}, },
//提交按钮 //提交按钮
submitForm() { submitForm: function () {
const inChargeId = this.form.inChargeId
this.form.inChargeName = inChargeId == '' ? '' : this.adminList.find(item => item.userId == inChargeId).userName
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != "") {
updateSchoolLab(this.form).then(response => {
console.log('this.form', this.form);
this.$modal.msgSuccess("修改成功");
this.dialogTableVisible = false;
this.getList();
});
} else {
addSchoolLab(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.dialogTableVisible = false;
this.getList();
});
} }
}
});
},
}, },
......
...@@ -14,7 +14,6 @@ ...@@ -14,7 +14,6 @@
<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> <el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="getList">搜索</el-button> <el-button type="primary" icon="el-icon-search" size="mini" @click="getList">搜索</el-button>
......
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