Commit a6c9fac5 by zhaopanyu

zpy 9.11

parent f2e73a86
import request from "@/utils/request";
//教师借用
//借用明细列表
export function getTeacherBorrow(query) {
return request({
url: "/schoolTeacherBorrow/selectInstrumentList",
method: "get",
params: query,
});
}
//新增教师借用
export function addTeacherBorrow(data) {
return request({
url: "/schoolTeacherBorrow/add",
method: "post",
data,
});
}
//查看教师借用列表
export function getTeacherBorrowlist(query) {
return request({
url: "/schoolTeacherBorrow/list",
method: "get",
params: query,
});
}
// 查看教师借用详情
export function getTeacherBorrowlxq(id) {
return request({
url: "/schoolTeacherBorrow/" + id,
method: "get",
});
}
//删除教师借用
export function deleteTeacherBorrow(ids) {
return request({
url: "/schoolTeacherBorrow/" + ids,
method: "delete",
data: ids,
});
}
import request from "@/utils/request";
//仓库仪器借用管理
//仓库仪器管理列表
export function getTeacherBorrow(query) {
return request({
url: "/schoolTeacherBorrow/selectBorrowInstrumentList",
method: "get",
params: query,
});
}
// 查看详情
export function getTeacherBorrowlxq(id) {
return request({
url: "/schoolTeacherBorrow/" + id,
method: "get",
});
}
//办理教师借用信息
export function teacherBorrow(data) {
return request({
url: "/schoolTeacherBorrow/edit",
method: "put",
data,
});
}
//归还教师借用仪器
export function getReturnInstrument(data) {
return request({
url: "/schoolTeacherBorrow/returnInstrument",
method: "post",
data,
});
}
import request from "@/utils/request";
//新增仪器药品分类
export function addInst(data) {
return request({
url: "/schoolInstrumentClassify/add",
method: "post",
data,
});
}
//修改仪器药品分类
export function editInst(data) {
return request({
url: "/schoolInstrumentClassify/edit",
method: "put",
data,
});
}
//查询仪器药品分类列表
export function getList(query) {
return request({
url: "/schoolInstrumentClassify/list",
method: "get",
params: query,
});
}
// 查看仪器药品分类详情
export function getInstxq(id) {
return request({
url: "/schoolInstrumentClassify/" + id,
method: "get",
});
}
//删除仪器药品分类
export function deleteInst(ids) {
return request({
url: "/schoolInstrumentClassify/" + ids,
method: "post",
data: ids,
});
}
import request from "@/utils/request";
//新增仪器
export function addInst(data) {
return request({
url: "/schoolInstrument/add",
method: "post",
data,
});
}
//修改仪器
export function editInst(data) {
return request({
url: "/schoolInstrument/edit",
method: "put",
data,
});
}
//查看仪器列表
export function getList(query) {
return request({
url: "/schoolInstrument/list",
method: "get",
params: query,
});
}
// 查询详情
export function getInstxq(id) {
return request({
url: "/schoolInstrument/" + id,
method: "get",
});
}
//删除仪器
export function deleteInst(ids) {
return request({
url: "/schoolInstrument/" + ids,
method: "delete",
data: ids,
});
}
//查看出入库明细列表
export function getListrk(query) {
return request({
url: "/schoolInstrumentDetail/list",
method: "get",
params: query,
});
}
//仪器库存修改
export function getInstrumentDetail(data) {
return request({
url: "/schoolInstrumentDetail/add",
method: "post",
data,
});
}
......@@ -15,7 +15,13 @@ export function getGrade() {
method: "get",
});
}
//获取级部下拉框(搜索条件);
export function getGradelist() {
return request({
url: "/experimentPlan/getGradeList",
method: "get",
});
}
//新增个人实验申请
export function addExperimentPlan(data) {
return request({
......@@ -39,13 +45,7 @@ export function deleteExperimentPlan(id) {
method: "post",
});
}
// 查询实验计划列表
export function getExperimentPlan(query) {
return request({
url: "/experimentPlan/list",
params: query,
});
}
// 查询个人实验申请列表
export function getApplylist(query) {
return request({
......@@ -55,7 +55,6 @@ export function getApplylist(query) {
});
}
//查看详情
export function getListxq(id) {
return request({
......@@ -63,3 +62,11 @@ export function getListxq(id) {
method: "get",
});
}
//查看详情
export function getResult(data) {
return request({
url: "/schoolTeacherExperimentApply/experimentResult",
method: "post",
data,
});
}
import request from "@/utils/request";
// 查看列表
export function getList(query) {
return request({
url: "/experimentPlan/gradeCountClass",
method: "get",
params: query,
});
}
// 查看班级完成详情
export function getClassDetailsxq(query) {
return request({
url: "/experimentPlan/getGradeClassDetails",
method: "get",
params: query,
});
}
//获取当前学年+学期
export function getSemester() {
return request({
url: "/experimentPlan/getSemester",
method: "get",
});
}
//获取级部下拉框(搜索条件);
export function getGradelist() {
return request({
url: "/experimentPlan/getGradeList",
method: "get",
});
}
import request from "@/utils/request";
// 查看列表
export function getList(query) {
return request({
url: "/experimentPlan/gradeCountExperiment",
method: "get",
params: query,
});
}
// 查看班级完成详情
export function getClassDetailsxq(query) {
return request({
url: "/experimentPlan/getClassDetails",
method: "get",
params: query,
});
}
//获取当前学年+学期
export function getSemester() {
return request({
url: "/experimentPlan/getSemester",
method: "get",
});
}
//获取级部下拉框(搜索条件);
export function getGradelist() {
return request({
url: "/experimentPlan/getGradeList",
method: "get",
});
}
\ No newline at end of file
......@@ -15,3 +15,10 @@ export function getExperimentPlaxq(id) {
method: "get",
});
}
//获取当前学年+学期
export function getSemester() {
return request({
url: "/experimentPlan/getSemester",
method: "get",
});
}
\ No newline at end of file
......@@ -39,3 +39,10 @@ export function deleteCompetition(id) {
method: "post",
});
}
//老师下拉框
export function getTeacher() {
return request({
url: "/schoolLabCompetition/getTeacher",
method: "get",
});
}
......@@ -26,3 +26,10 @@ export function getSemester() {
});
}
//获取级部下拉框(搜索条件);
export function getGradelist() {
return request({
url: "/experimentPlan/getGradeList",
method: "get",
});
}
......@@ -3,9 +3,15 @@ import request from "@/utils/request";
// 查看列表
export function getList(query) {
return request({
url: "/experimentPlan/getExperimentRecord",
url: "/experimentPlan/getCountTeacher",
method: "get",
params: query,
});
}
//获取当前学年+学期
export function getSemester() {
return request({
url: "/experimentPlan/getSemester",
method: "get",
});
}
<template>
<div>
<!-- 搜索条件 -->
<el-form
:model="queryForm"
ref="queryForm"
size="small"
:inline="true"
label-width="68px"
style="margin-left: 15px; margin-top: 10px"
>
<el-form :model="queryForm" ref="queryForm" size="small" :inline="true" label-width="68px"
style="margin-left: 15px; margin-top: 10px">
<el-form-item label="申请人">
<el-input
v-model="queryForm.name"
placeholder="请输入"
clearable
></el-input>
<el-input v-model="queryForm.name" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="借用学科">
<el-select
v-model="queryForm.name"
placeholder="请选择"
clearable
>
<el-select v-model="queryForm.name" placeholder="请选择" clearable>
<el-option> </el-option>
</el-select>
</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-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 style="margin-left: 10px" :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
size="mini"
@click="handAdd()"
v-hasPermi="['system:student:add']"
>新增
<el-button type="primary" size="mini" @click="handAdd()" v-hasPermi="['system:student:add']">新增
</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
size="mini"
:disabled="single"
@click="handleDelete"
>删除
<el-button type="danger" size="mini" :disabled="single" @click="handleDelete">删除
</el-button>
</el-col>
</el-row>
<!-- 表格 -->
<el-table
stripe
:data="tableData"
border
style="width: 98%; margin-left: 15px"
@selection-change="handleSelectionChange"
>
<el-table stripe :data="tableData" border style="width: 98%; margin-left: 15px"
@selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<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="name" label="申请人" />
<el-table-column align="center" prop="name" label="借用状态" />
<el-table-column align="center" prop="name" label="借用明细" />
......@@ -90,48 +45,25 @@
<el-table-column align="center" fixed="right" label="操作">
<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>
<el-button
@click="handleDelete(scope.row)"
type="text"
size="small"
>删除</el-button
>
<el-button @click="handleDelete(scope.row)" type="text" size="small">删除</el-button>
</template>
</el-table-column>
</el-table>
<!-- 详情弹窗 -->
<el-dialog
:title="title"
:visible.sync="dialogTableVisible"
width="40%"
show-close
>
<el-dialog :title="title" :visible.sync="dialogTableVisible" width="40%" show-close>
<el-form :model="form" ref="form" size="small" label-width="110px">
<el-row>
<el-col :span="12">
<el-form-item label="申请人">
<el-input
v-model="form.name"
placeholder="请输入"
clearable
></el-input>
<el-input v-model="form.name" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="借用状态">
<el-input
v-model="form.name"
placeholder="请输入"
clearable
>
<el-input v-model="form.name" placeholder="请输入" clearable>
</el-input>
</el-form-item>
</el-col>
......@@ -139,41 +71,25 @@
<el-row>
<el-col :span="12">
<el-form-item label="借用学科">
<el-input
v-model="form.name"
placeholder="请输入"
clearable
></el-input>
<el-input v-model="form.name" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="申请时间">
<el-input
v-model="form.name"
placeholder="请输入"
clearable
></el-input>
<el-input v-model="form.name" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="借用时间">
<el-input
v-model="form.name"
placeholder="请输入"
clearable
></el-input>
<el-input v-model="form.name" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="归还时间">
<el-input
v-model="form.name"
placeholder="请输入"
clearable
></el-input>
<el-input v-model="form.name" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
......@@ -181,27 +97,10 @@
<el-col>
<el-form-item label="借用明细">
<el-table stripe :data="tableData" border>
<el-table-column
align="center"
type="index"
label="序号"
width="55"
/>
<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" type="index" label="序号" width="55" />
<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>
</el-form-item>
</el-col>
......@@ -209,50 +108,28 @@
<el-row>
<el-col>
<el-form-item label="备注">
<el-input
v-model="form.name"
placeholder="请输入"
type="textarea"
clearable
></el-input>
<el-input v-model="form.name" placeholder="请输入" type="textarea" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-dialog>
<!-- 新增弹窗 -->
<el-dialog
:title="title"
:visible.sync="dialogTableOpen"
width="40%"
show-close
>
<el-dialog :title="title" :visible.sync="dialogTableOpen" width="40%" show-close>
<el-form :model="form" ref="form" size="small" label-width="110px">
<el-row>
<el-col>
<el-form-item label="借用人">
<el-input
v-model="form.name"
placeholder="请输入"
clearable
></el-input>
<el-input v-model="form.name" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col>
<el-form-item label="借用学科">
<el-select
v-model="name"
placeholder="请选择"
style="width: 100%"
>
<el-option
v-for="(option, index) in options"
:key="index"
:label="option"
:value="option"
></el-option>
<el-select v-model="name" placeholder="请选择" style="width: 100%">
<el-option v-for="(option, index) in options" :key="index" :label="option"
:value="option"></el-option>
</el-select>
</el-form-item>
</el-col>
......@@ -262,38 +139,15 @@
<el-col>
<el-form-item label="借用明细">
<el-col :span="1.5" style="margin-bottom: 5px">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handOpenAdd()"
v-hasPermi="['system:student:add']"
>新增
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handOpenAdd()"
v-hasPermi="['system:student:add']">新增
</el-button>
</el-col>
<el-table stripe :data="tableData" border>
<el-table-column
align="center"
type="index"
label="序号"
width="55"
/>
<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" type="index" label="序号" width="55" />
<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>
</el-form-item>
</el-col>
......@@ -301,57 +155,33 @@
<el-row>
<el-col>
<el-form-item label="备注">
<el-input
v-model="form.name"
placeholder="请输入"
type="textarea"
clearable
></el-input>
<el-input v-model="form.name" placeholder="请输入" type="textarea" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer">
<el-button type="primary" @click="submitparentForm"
>确定</el-button
>
<el-button type="primary" @click="submitparentForm">确定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
<!-- 借用明细弹窗 -->
<el-dialog
:title="title"
:visible.sync="dialogTableOpenAdd"
@selection-change="handleSelectionChange"
width="40%"
show-close
>
<el-dialog :title="title" :visible.sync="dialogTableOpenAdd" @selection-change="handleSelectionChange" width="40%"
show-close>
<el-form :model="form" ref="form" size="small" label-width="110px">
<el-row>
<el-col :span="10">
<el-form-item label="仪器名称">
<el-input
v-model="form.name"
placeholder="请输入"
clearable
></el-input>
<el-input v-model="form.name" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="仪器分类">
<el-select
v-model="name"
placeholder="请选择"
style="width: 100%"
>
<el-option
v-for="(option, index) in AAA"
:key="index"
:label="option"
:value="option"
></el-option>
<el-select v-model="name" placeholder="请选择" style="width: 100%">
<el-option v-for="(option, index) in AAA" :key="index" :label="option"
:value="option"></el-option>
</el-select>
</el-form-item>
</el-col>
......@@ -361,36 +191,12 @@
<el-col>
<el-form-item label="借用明细">
<el-table stripe :data="tableData" border>
<el-table-column
type="selection"
width="55"
></el-table-column>
<el-table-column
align="center"
type="index"
label="序号"
width="55"
/>
<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="name"
label="仪器数量"
/>
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column align="center" type="index" label="序号" width="55" />
<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="name" label="仪器数量" />
</el-table>
</el-form-item>
</el-col>
......@@ -398,9 +204,7 @@
</el-form>
<div slot="footer">
<el-button type="primary" @click="submiopenForm"
>确定</el-button
>
<el-button type="primary" @click="submiopenForm">确定</el-button>
<el-button @click="cancelAdd">取 消</el-button>
</div>
</el-dialog>
......@@ -448,16 +252,16 @@ export default {
},
methods: {
// 搜索
getList() {},
getList() { },
// 重置
resetQuery() {},
resetQuery() { },
// 新增
handAdd() {
this.dialogTableOpen = true
this.title = '教师借用新增'
},
// 删除
handleDelete() {},
handleDelete() { },
// 详情
handleLook() {
this.dialogTableVisible = true
......@@ -491,5 +295,4 @@ export default {
}
</script>
<style lang="scss" scoped>
</style>
\ No newline at end of file
<style lang="scss" scoped></style>
\ No newline at end of file
<template>
<div>
<!-- 搜索条件 -->
<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-input
v-model="queryForm.name"
placeholder="请输入"
clearable
></el-input>
<el-input v-model="queryForm.name" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="仪器分类">
<el-select
v-model="queryForm.name"
placeholder="请选择"
clearable
>
<el-select v-model="queryForm.name" placeholder="请选择" clearable>
<el-option> </el-option>
</el-select>
</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-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="handAdd()"
v-hasPermi="['system:student:add']"
>新增
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handAdd()"
v-hasPermi="['system:student:add']">新增
</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['system:student:edit']"
>编辑
<el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
v-hasPermi="['system:student:edit']">编辑
</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
size="mini"
icon="el-icon-view"
:disabled="single"
@click="handleDelete"
>删除
<el-button type="danger" size="mini" icon="el-icon-view" :disabled="single" @click="handleDelete">删除
</el-button>
</el-col>
</el-row>
<!-- 表格 -->
<el-table
:data="tableData"
style="width: 100%"
row-key="name"
border
lazy
:load="load"
:tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
v-model="selectedRows"
@selection-change="handleSelectionChange"
>
<el-table :data="tableData" style="width: 100%" row-key="name" border lazy :load="load"
:tree-props="{ children: 'children', hasChildren: 'hasChildren' }" v-model="selectedRows"
@selection-change="handleSelectionChange">
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column
align="center"
type="index"
label="序号"
width="55"
/>
<el-table-column align="center" type="index" label="序号" width="55" />
<el-table-column prop="name" label="仪器名称" width="180" />
<el-table-column prop="name" label="排序" width="180" />
<el-table-column prop="name" label="是否为消耗品" />
......@@ -105,50 +48,27 @@
<el-table-column align="center" fixed="right" label="操作">
<template slot-scope="scope">
<el-button
@click="handleUpdate(scope.row)"
type="text"
size="small"
>编辑</el-button
>
<el-button @click="handleUpdate(scope.row)" type="text" size="small">编辑</el-button>
<el-button
@click="handleDelete(scope.row)"
type="text"
size="small"
>删除</el-button
>
<el-button @click="handleDelete(scope.row)" type="text" size="small">删除</el-button>
</template>
</el-table-column>
</el-table>
<!-- 弹窗 -->
<el-dialog
:title="title"
:visible.sync="dialogTableVisible"
width="30%"
show-close
>
<el-dialog :title="title" :visible.sync="dialogTableVisible" width="30%" show-close>
<el-form :model="form" ref="form" size="small" label-width="108px">
<el-row>
<el-col :span="20">
<el-form-item label="上级分类">
<el-input
v-model="form.name"
placeholder="请输入"
clearable
></el-input>
<el-input v-model="form.name" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="20">
<el-form-item label="仪器名称">
<el-input
v-model="form.name"
placeholder="请输入"
clearable
>
<el-input v-model="form.name" placeholder="请输入" clearable>
</el-input>
</el-form-item>
</el-col>
......@@ -156,11 +76,7 @@
<el-row>
<el-col :span="20">
<el-form-item label="排序">
<el-input
v-model="form.name"
placeholder="请输入"
clearable
></el-input>
<el-input v-model="form.name" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
......@@ -177,33 +93,21 @@
<el-row>
<el-col :span="20">
<el-form-item label="备注">
<el-input
v-model="form.name"
placeholder="请输入"
type="textarea"
clearable
></el-input>
<el-input v-model="form.name" placeholder="请输入" type="textarea" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer">
<el-button type="primary" @click="submitparentForm"
>确定</el-button
>
<el-button type="primary" @click="submitparentForm">确定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
<!-- 分页 -->
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryForm.pageNum"
:limit.sync="queryForm.pageSize"
@pagination="getList"
/>
<pagination v-show="total > 0" :total="total" :page.sync="queryForm.pageNum" :limit.sync="queryForm.pageSize"
@pagination="getList" />
</div>
</template>
......@@ -247,9 +151,9 @@ export default {
},
methods: {
// 搜索
getList() {},
getList() { },
// 重置
resetQuery() {},
resetQuery() { },
//
load(tree, treeNode, resolve) {
setTimeout(() => {
......@@ -274,7 +178,7 @@ export default {
this.title = '仪器药品编辑'
},
// 删除
handleDelete() {},
handleDelete() { },
// 确定
submitparentForm() {
......@@ -299,6 +203,7 @@ export default {
margin-top: 15px;
margin-left: 10px;
}
.el-table {
margin-left: 10px;
}
......
<template>
<div>
<el-form
:model="queryForm"
ref="queryForm"
size="small"
:inline="true"
label-width="68px"
>
<div class="app-container">
<el-form :model="queryForm" ref="queryForm" size="small" :inline="true" label-width="78px">
<el-form-item label="仪器名称">
<el-input
v-model="queryForm.name"
placeholder="请输入"
clearable
></el-input>
<el-input v-model="queryForm.instrumentName" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="仪器分类">
<el-input
v-model="queryForm.name"
placeholder="请输入实验名称"
clearable
></el-input>
<el-input v-model="queryForm.instrumentTypeId" 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-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="handAdd()"
v-hasPermi="['system:student:add']"
>新增
</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['system:student:edit']"
>编辑
</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="info"
size="mini"
plain
icon="el-icon-view"
:disabled="single"
@click="handleLook"
>详情
</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleOut"
v-hasPermi="['system:student:edit']"
>出库
</el-button>
<el-row class="mb8" :gutter="8">
<el-col :span="1.5" :offset="2.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handAdd()">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="info"
size="mini"
plain
icon="el-icon-view"
:disabled="single"
@click="handleIn"
>入库
</el-button>
<el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single"
@click="handleOut">出库</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
size="mini"
icon="el-icon-view"
:disabled="single"
@click="handleDelete"
>删除
</el-button>
<el-button type="info" size="mini" plain icon="el-icon-view" :disabled="single"
@click="handleIn">入库</el-button>
</el-col>
</el-row>
<!-- 表格 -->
<el-table
stripe
:data="tableData"
border
style="width: 98%"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55" align="center" />
<el-table-column
align="center"
type="index"
label="序号"
width="55"
/>
<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="name" label="仪器数量" />
<!-- 表格 -->
<el-table stripe :data="tableData" border style="width: 98%">
<el-table-column align="center" type="index" label="序号" width="55" />
<el-table-column align="center" prop="instrumentName" label="仪器名称" />
<el-table-column align="center" prop="instrumentTypeName" label="仪器分类" />
<el-table-column align="center" prop="instrumentModel" label="仪器型号" />
<el-table-column align="center" prop="instrumentNum" label="仪器数量" />
<el-table-column align="center" fixed="right" label="操作">
<template slot-scope="scope">
<el-button
@click="handleLook(scope.row)"
type="text"
size="small"
>详情</el-button
><el-button
@click="handleUpdate(scope.row)"
type="text"
size="small"
>编辑</el-button
>
<el-button
@click="handleOut(scope.row)"
type="text"
size="small"
>出库</el-button
><el-button
@click="handleIn(scope.row)"
type="text"
size="small"
>入库</el-button
>
<el-button
@click="handleDelete(scope.row)"
type="text"
size="small"
>删除</el-button
>
<el-button @click="handleLook(scope.row)" type="text" size="small">详情</el-button>
<el-button @click="handleUpdate(scope.row)" type="text" size="small">编辑</el-button>
<el-button @click="handleOut(scope.row)" type="text" size="small">出库</el-button>
<el-button @click="handleIn(scope.row)" type="text" size="small">入库</el-button>
<el-button @click="handleDelete(scope.row)" type="text" size="small">删除</el-button>
</template>
</el-table-column>
</el-table>
<!--仪器修改/新增 弹窗 -->
<el-dialog
:title="title"
:visible.sync="dialogTableVisible"
width="30%"
show-close
>
<!--仪器新增 弹窗 -->
<el-dialog :title="title" :visible.sync="dialogTableVisible" width="30%" show-close>
<el-form :model="form" ref="form" size="small" label-width="108px">
<el-row>
<el-col :span="20">
<el-form-item label="仪器名称">
<el-input
v-model="form.name"
placeholder="请输入"
clearable
></el-input>
<el-input v-model="form.instrumentName" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="20">
<el-form-item label="仪器分类">
<el-select
v-model="form.name"
placeholder="请输入"
clearable
style="width: 100%"
>
<el-option> </el-option>
</el-select>
<el-col :span="16">
<el-form-item label="父分类编码" prop="parentId">
<treeselect v-model="postForm.parentId" :options="assetsList" :normalizer="normalizer"
placeholder="选择分类编码" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="20">
<el-form-item label="仪器型号">
<el-input
v-model="form.name"
placeholder="请输入"
clearable
></el-input>
<el-input v-model="form.instrumentModel" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="20">
<el-form-item label="备注">
<el-input
v-model="form.name"
placeholder="请输入"
type="textarea"
clearable
></el-input>
<el-input v-model="form.remark" placeholder="请输入" type="textarea" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer">
<el-button type="primary" @click="submitparentForm"
>确定</el-button
>
<el-button type="primary" @click="submitparentForm">确定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
<!-- 仪器查看弹窗 -->
<el-dialog
title="仪器查看"
:visible.sync="dialogTablesee"
width="30%"
show-close
>
<el-form :model="form" ref="form" size="small" label-width="108px">
<el-row>
<el-col :span="20">
<el-form-item label="仪器名称">
<el-input
v-model="form.name"
placeholder="请输入"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="20">
<el-form-item label="仪器分类">
<el-select
v-model="form.name"
placeholder="请输入"
clearable
style="width: 100%"
>
<el-option> </el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="20">
<el-form-item label="仪器型号">
<el-input
v-model="form.name"
placeholder="请输入"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="20">
<el-form-item label="备注">
<el-input
v-model="form.name"
placeholder="请输入"
type="textarea"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-dialog>
<!-- 仪器库存修改弹窗 -->
<el-dialog
title="仪器库存"
:visible.sync="dialogTableInventory"
width="30%"
show-close
>
<el-dialog title="仪器库存" :visible.sync="dialogTableInventory" width="30%" show-close>
<el-form :model="form" ref="form" size="small" label-width="108px">
<el-row>
<el-col :span="20">
<el-form-item label="仪器名称">
<el-input v-model="form.name"></el-input>
<el-input v-model="form.instrumentId"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="20">
<el-form-item label="旧库存数量">
<el-input v-model="form.name"> </el-input>
<el-input v-model="form.oldStockNum"> </el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="20">
<el-form-item label="变动类型">
<el-input
v-model="form.name"
placeholder="请输入"
></el-input>
<el-input v-model="form.variationType" placeholder="请输入"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="20">
<el-form-item label="变动数量">
<el-input v-model="form.name"></el-input>
<el-input v-model="form.variationType"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="20">
<el-form-item label="新库存数量">
<el-input v-model="form.name"></el-input>
<el-input v-model="form.newStockNum"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="20">
<el-form-item label="备注">
<el-input
v-model="form.name"
placeholder="请输入"
type="textarea"
clearable
></el-input>
<el-input v-model="form.remark" placeholder="请输入" type="textarea" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer">
<el-button type="primary" @click="submitInventory"
>确定</el-button
>
<el-button type="primary" @click="submitInventory">确定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
<!-- 分页 -->
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryForm.pageNum"
:limit.sync="queryForm.pageSize"
@pagination="getList"
/>
<pagination v-show="total > 0" :total="total" :page.sync="queryForm.pageNum" :limit.sync="queryForm.pageSize"
@pagination="getList" />
</div>
</template>
<script>
import {
addInst,//新增仪器
editInst,//修改仪器
getList,//查看仪器列表
getInstxq,
deleteInst,
getListrk,
getInstrumentDetail
} from '@/api/smartSchool/InstrumentDrugAdministration/instrumentManagement'
import {
getProductCategory,//获取设备分类下拉框
} from '@/api/smartSchool/schoolProperty/classiFication.js'
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
export default {
name: 'instrumentManagement',
components: { Treeselect },
data() {
return {
queryForm: {
......@@ -379,10 +178,9 @@ export default {
},
//表格数据
tableData: [
{
name: 111222
}
],
sbflOptions: {},
title: '',
// 弹窗
form: {},
......@@ -400,11 +198,38 @@ export default {
multiple: true
}
},
created() {
this.getList();
this.enuqLeader();
},
methods: {
// 搜索
getList() {},
getList() {
this.loading = true
getList({ ...this.queryForm }).then(res => {
if (res.code == 200) {
this.total = res.total
this.tableData = res.rows;
console.log(this.tableData);
this.loading = false
}
})
},
//设备分类下拉框
enuqLeader() {
getProductCategory().then(((res) => {
if (res.code == 200) {
this.sbflOptions = res.data;
// console.log('this.sbflOptions', this.sbflOptions);
}
}))
},
// 重置
resetQuery() {},
resetQuery() {
this.getList();
},
// 详情
handleLook(row) {
this.dialogTablesee = true
......@@ -441,26 +266,22 @@ export default {
this.dialogTableInventory = false
},
//删除按钮操作
handleDelete(id) {
this.$confirm('此操作将永久删除该数据,是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
handleDelete(row) {
console.log(row);
this.$modal.confirm('是否确认删除选中数据?').then(() => {
this.$modal.loading('正在处理数据,请稍等...');
return deleteInst(row);
}).then(response => {
this.$modal.closeLoading();
this.$modal.msgSuccess("删除班级成功");
this.getList();
}).catch(error => {
this.$modal.closeLoading();
})
.then(() => {})
.catch(() => {
this.$message({
type: 'info',
message: '已取消删除!'
})
})
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map((item) => item.id)
this.single = selection.length !== 1
this.multiple = !selection.length
}
}
}
</script>
......@@ -470,9 +291,11 @@ export default {
margin-top: 15px;
margin-left: 10px;
}
.el-table {
margin-left: 10px;
}
.el-row {
margin-left: 10px;
}
......
......@@ -4,17 +4,12 @@
<el-form-item label="实验名称">
<el-input v-model="queryForm.experimentName" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="计划开始时间" prop="plannedStartTime">
<el-date-picker v-model="form.startTime" type="month" placeholder="选择月" value-format="yyyy-MM">
<el-form-item label="计划开始时间">
<el-date-picker v-model="queryForm.startTime" type="date" placeholder="选择" value-format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
<el-form-item label="计划结束时间" prop="plannedEndTime">
<el-date-picker v-model="form.endTime" type="month" placeholder="选择月" value-format="yyyy-MM">
<el-date-picker v-model="queryForm.endTime" type="date" placeholder="选择月" value-format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
<el-form-item label="申报状态">
<el-select v-model="queryForm.applyState" placeholder="请选择" clearable>
<el-option v-for="dict in dict.type.declare_state" :key="dict.value" :label="dict.label"
......@@ -28,7 +23,11 @@
</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="学科" />
<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="schoolYearSemester" label="学年" />
<el-table-column align="center" prop="className" label="班级" />
<el-table-column align="center" prop="experimentTime" label="实验时间" />
......@@ -49,22 +48,41 @@
</template>
</el-table-column>
<el-table-column align="center" prop="applyState" label="申报状态" />
<el-table-column align="center" prop="applyState" label="申报状态">
<template slot-scope="{ row }">
<div v-if="row.applyState === '1'">已确认</div>
<div v-else-if="row.applyState === '0'">未确认</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 size="small" type="text" @click="upload.open = true">导入</el-button>
<template v-if="scope.row.applyState === '0'">
<el-button @click="handleLook(scope.row)" type="text" size="small">查看</el-button>
</template>
<template v-else-if="scope.row.applyState === '1' && scope.row.state === '0'">
<div>
<el-button @click="handleLook(scope.row)" type="text" size="small">查看</el-button>
<el-button size="small" type="text" @click="upload.open = true">上传附件</el-button>
</div>
</template>
<template v-else>
<el-button @click="handleLook(scope.row)" type="text" size="small">查看</el-button>
</template>
</template>
</el-table-column>
</el-table>
<!-- 查看弹窗 -->
<el-dialog title="申请信息" :visible.sync="dialogTableVisible" width="60%">
<el-form :model="form" ref="form" size="small" label-width="110px">
<el-form :model="form" ref="form" size="small" label-width="110px" :disabled="isEdit">
<el-row :gutter="30">
<el-col :span="10">
<el-form-item label="学科">
<el-input v-model="form.sub" 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-col>
<el-col :span="10">
......@@ -105,7 +123,10 @@
</el-col>
<el-col :span="10">
<el-form-item label="实验分类">
<el-input v-model="form.experimentClassify" placeholder="请输入" clearable />
<el-select v-model="form.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-col>
</el-row>
......@@ -134,7 +155,7 @@
</el-col>
<el-col :span="10">
<el-form-item label="申报状态">
<el-input v-model="form.state" placeholder="请输入" clearable />
<el-input :value="getStatusText(form.applyState)" disabled placeholder="请输入" clearable />
</el-form-item>
</el-col>
</el-row>
......@@ -180,7 +201,12 @@ export default {
return {
baseUrl: process.env.VUE_APP_BASE_API,
queryForm: {
pageNum: 1,
pageSize: 10,
experimentName: "",
applyState: "",
startTime: "",
endTime: "",
},
accessoryUrl: '',
accessoryName: '',
......@@ -212,6 +238,8 @@ export default {
url:
process.env.VUE_APP_BASE_API + "/common/upload",
},
applyState: '', // 表单是否可以修改、
isEdit: true,
total: 0,
dialogTableVisible: false,
}
......@@ -220,11 +248,19 @@ export default {
this.getList();
},
methods: {
getStatusText(applyState) {
if (applyState === '0') {
return "未确认";
} else if (applyState === '1') {
return "已确认";
}
},
//表单查询
getList() {
getTeacherlabList().then(res => {
getTeacherlabList(this.queryForm).then(res => {
if (res.code == 200) {
this.tableData = res.rows;
this.total = res.total;
this.tableData = res.rows.map(item => {
item.accessoryList = item.schoolAccessoryList; // 将附件信息赋值给accessoryList属性
return item;
......@@ -241,11 +277,20 @@ export default {
getTeacherLab(id).then(response => {
this.form = response.data;
this.fileList = response.data.schoolAccessoryList;
this.isEdit = true;
})
},
resetQuery() {
this.getList();
this.queryForm = {
pageNum: 1,
pageSize: 10,
experimentName: "",
applyState: "",
startTime: "",
endTime: "",
},
this.getList();
},
//提交按钮
submitFileForm(data) {
......
......@@ -25,17 +25,21 @@
</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="学科" />
<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="实验分类">
<el-table-column align="center" prop="sub" label="学科" width="60">
<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="级部" width="100" />
<el-table-column align="center" prop="schoolYearSemester" label="学期" width="120" />
<el-table-column align="center" prop="plannedTime" label="实验时间" width="200" />
<el-table-column align="center" prop="experimentName" label="实验名称" show-overflow-tooltip />
<el-table-column align="center" prop="experimentClassify" label="实验分类" width="90">
<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="chapterContent" label="章节内容" show-overflow-tooltip />
<el-table-column align="center" prop="schoolLabClassYearRelationList" label="实验室">
<template slot-scope="scope">
<div v-if="scope.row.schoolLabClassYearRelationList">
......@@ -43,7 +47,7 @@
</div>
</template>
</el-table-column>
<el-table-column align="center" prop="experimentUseGoods" label="实验用品" />
<el-table-column align="center" prop="experimentUseGoods" label="实验用品" show-overflow-tooltip />
<el-table-column align="center" fixed="right" label="操作" width="150">
<template slot-scope="scope">
<el-button @click="handleApply(scope.row)" type="text" size="small">申请</el-button>
......@@ -52,46 +56,60 @@
</el-table>
<!-- 分配实验室弹窗 -->
<el-dialog title="教师实验室申请" :visible.sync="dialogTableVisible" width="70%">
<el-form :model="form" ref="form" size="small" label-width="100px">
<el-form :model="form" ref="form" size="small" :rules="rules" label-width="100px">
<el-row :gutter="30">
<el-col :span="10">
<el-form-item label="实验名称">
<el-form-item label="实验名称" prop="experimentName">
<el-input v-model="form.experimentName" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="实验内容">
<el-form-item label="实验内容" prop="chapterContent">
<el-input v-model="form.chapterContent" 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.experimentClassify" placeholder="请输入" clearable />
<el-form-item label="实验分类" prop="experimentClassify">
<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-col :span="10">
<el-form-item label="学科">
<el-input v-model="form.sub" placeholder="请输入" clearable />
<el-form-item label="学科" prop="sub">
<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="30">
<el-col :span="10">
<el-form-item label="级部">
<el-form-item label="级部" prop="grade">
<el-input v-model="form.grade" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="学年">
<el-form-item label="学年" prop="schoolYear">
<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-form-item label="学期" prop="semester">
<el-select v-model="form.semester" placeholder="请选择学期" 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="班级" prop="classId">
<el-select v-model="form.classId" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="(item, index) in classData" :key="index" :label="item.className"
:value="item.classId"></el-option>
......@@ -99,27 +117,25 @@
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="节次">
<el-form-item label="节次" prop="section">
<el-select v-model="form.section" placeholder="请选择" clearable style="width: 100%;">
<el-option v-for="dict in dict.type.course_arrange" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="30">
<el-col :span="20">
<el-col :span="10">
<el-form-item label="申请时间" prop="experimentTime">
<el-date-picker v-model="form.experimentTime" type="date" placeholder="选择"
value-format="yyyy-MM-dd" style="width: 100%;" @change="getTeacherLab">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="30">
<el-col :span="20" style="display: flex;">
<el-form-item label="实验室选择">
<el-form-item label="实验室选择" prop="selectedLabId">
<el-radio-group v-model="form.selectedLabId">
<el-radio v-for="classItem in labList" :key="classItem.labId" :label="classItem.labId">
{{ classItem.labName }} - {{ classItem.useState }}
......@@ -131,7 +147,7 @@
</el-row>
<el-row :gutter="30">
<el-col :span="24">
<el-form-item label="备注">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
......@@ -163,17 +179,20 @@ import {
getLabplanxlk,//获取实验名称下拉框
} from '@/api/smartSchool/gradeWork/laboratoryManagement/laboratoryAppointment';
export default {
dicts: ['experiment_classify', 'course_arrange'],
dicts: ['experiment_classify', 'lab_sub', 'course_arrange', 'declare_state'],
name: 'index',
data() {
return {
queryForm: {
pageNum: 1,
pageSize: 10,
declareState: "",
schoolYear: "",
semester: "",
experimentClassify: "",
experimentName: "",
},
//班级
classData: [],
//实验名称
......@@ -196,6 +215,41 @@ export default {
experimentTime: "",
section: "",
},
rules: {
experimentName: [
{ required: true, message: "实验名称不能为空", trigger: "blur" }
],
experimentClassify: [
{ required: true, message: "实验分类不能为空", trigger: "blur" }
],
chapterContent: [
{ required: true, message: "章节内容不能为空", trigger: "blur" }
],
sub: [
{ required: true, message: "学科不能为空", trigger: "blur" }
],
grade: [
{ required: true, message: "级部不能为空", trigger: "blur" }
],
schoolYear: [
{ required: true, message: "学年不能为空", trigger: "blur" }
],
semester: [
{ required: true, message: "学期不能为空", trigger: "blur" }
],
classId: [
{ required: true, message: "班级不能为空", trigger: "blur" }
],
section: [
{ required: true, message: "节次不能为空", trigger: "blur" }
],
experimentTime: [
{ required: true, message: "实验时间不能为空", trigger: "blur" }
],
selectedLabId: [
{ required: true, message: "实验室不能为空", trigger: "blur" }
],
},
total: 0,
dialogTableVisible: false,
}
......@@ -285,32 +339,34 @@ export default {
console.log('response', response);
this.loading = false;
this.getClasslist();
this.dialogTableVisible = true;
});
},
// 表单重置
reset() {
this.form = {
labClassYearId: "",
experimentPlanId: "",
experimentName: "",
chapterContent: "",
experimentClassify: "",
sub: "",
gradeId: "",
grade: "",
schoolYea: "",
this.queryForm = {
pageNum: 1,
pageSize: 10,
declareState: "",
schoolYear: "",
semester: "",
classId: "",
section: "",
experimentTime: "",
labId: "",
remark: "",
};
this.resetForm("form");
experimentClassify: "",
experimentName: "",
},
this.resetForm("queryForm");
},
resetQuery() {
this.getList();
this.queryForm = {
pageNum: 1,
pageSize: 10,
declareState: "",
schoolYear: "",
semester: "",
experimentClassify: "",
experimentName: "",
},
this.getList();
},
/** 提交按钮 */
submitForm() {
......
......@@ -3,7 +3,7 @@
<el-form :model="queryForm" ref="queryForm" size="small" :inline="true" label-width="88px">
<el-form-item label="实验级部">
<el-select v-model="queryForm.gradeId" placeholder="请选择级部" clearable>
<el-option v-for="(item, index) in gradeList" :key="index" :label="item.gradeName"
<el-option v-for="(item, index) in gradeLists" :key="index" :label="item.gradeName"
:value="item.id"></el-option>
</el-select>
</el-form-item>
......@@ -29,53 +29,85 @@
</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="学科" />
<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="plannedTime" label="规划时间" width="200" />
<el-table-column align="center" prop="experimentName" label="实验名称" />
<el-table-column align="center" prop="experimentClassify" 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" prop="schoolTeacherExperimentApplyLabsList" label="实验室" />
<el-table-column align="center" prop="schoolTeacherExperimentApplyLabsList" label="实验室">
<template slot-scope="scope">
<div v-if="scope.row.schoolTeacherExperimentApplyLabsList">
{{ scope.row.schoolTeacherExperimentApplyLabsList.map(lab => lab.labName).join(", ") }}
</div>
</template>
</el-table-column>
<el-table-column align="center" prop="schoolAccessoryList" label="实验结果" />
<el-table-column align="center" prop="declareState" 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" fixed="right" label="操作" width="180">
<template slot-scope="{ row }">
<div>
<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>
<el-button @click="handleResult(scope.row)" type="text" size="small">实验结果</el-button>
</div>
<div v-else-if="['3', '2', '1'].includes(row.declareState) && row.state === '1'">
<el-button type="text" size="small" @click="handleOption(2, row)">查看</el-button>
</div>
<div v-else-if="['3', '2', '1'].includes(row.declareState) && row.state === '0'">
<el-button type="text" size="small" @click="handleOption(2, row)">查看</el-button>
<el-button @click="handleResult(row)" type="text" size="small">实验结果</el-button>
</div>
</template>
</el-table-column>
</el-table>
<!-- 弹窗 -->
<el-dialog title="申请信息" :visible.sync="dialogTableVisible" width="60%">
<el-form :model="form" ref="form" size="small" label-width="110px">
<el-form :model="form" ref="form" size="small" :rules="rules" label-width="110px">
<el-row :gutter="30">
<el-col :span="10">
<el-form-item label="学科">
<el-input v-model="form.sub" placeholder="请输入" clearable />
<el-form-item label="学科" prop="sub">
<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-col :span="10">
<el-form-item label="级部">
<el-input v-model="form.grade" placeholder="请输入" clearable />
<el-form-item label="级部" prop="gradeId">
<el-select v-model="form.gradeId" placeholder="请选择级部" clearable style="width: 100%;">
<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 :gutter="30">
<el-col :span="10">
<el-form-item label="学年">
<el-form-item label="学年" prop="schoolYear">
<el-date-picker v-model="form.schoolYear" type="year" value-format="yyyy" placeholder="选择年"
style="width: 100%;">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="学期">
<el-form-item label="学期" prop="semester">
<el-select v-model="form.semester" placeholder="请选择学期" style="width: 100%;">
<el-option label="上学期" value="1"></el-option>
<el-option label="下学期" value="2"></el-option>
......@@ -102,37 +134,49 @@
</el-row>
<el-row :gutter="30">
<el-col :span="10">
<el-form-item label="实验名称">
<el-form-item label="实验名称" prop="experimentName">
<el-input v-model="form.experimentName" placeholder="请输入" clearable />
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="实验分类">
<el-input v-model="form.experimentClassify" placeholder="请输入" clearable />
<el-form-item label="实验分类" prop="experimentClassify">
<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="30">
<el-col :span="10">
<el-form-item label="实验用品">
<el-form-item label="实验用品" prop="experimentUseGoods">
<el-input v-model="form.experimentUseGoods" placeholder="请输入" clearable />
</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>
<div class="dialog-footer" style="text-align: center;">
<div class="dialog-footer" style="text-align: center;">
<el-button v-if="nowType === 0" type="primary" @click="save">保 存</el-button>
<el-button v-if="nowType === 0 || nowType === 1" type="primary" @click="submitForm">提 交</el-button>
<el-button v-if="nowType === 1" type="primary" @click="savexg">保 存</el-button>
<el-button type="primary" v-if="nowType === 2" @click="cancel">确 定</el-button>
<el-button v-if="nowType === 2" @click="cancel">取 消</el-button>
</div>
</div>
</el-dialog>
<!--查看弹窗 -->
<el-dialog title="申请信息" :visible.sync="open" width="60%">
<el-form :model="form" ref="form" size="small" label-width="110px">
<el-form :model="form" ref="form" size="small" label-width="110px" :disabled="isEdit">
<el-row :gutter="30">
<el-col :span="10">
<el-form-item label="学科">
<el-input v-model="form.sub" 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-col>
<el-col :span="10">
......@@ -197,7 +241,10 @@
</el-col>
<el-col :span="10">
<el-form-item label="实验分类">
<el-input v-model="form.experimentClassify" 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-col>
</el-row>
......@@ -211,11 +258,18 @@
</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>
<el-button type="primary" @click="cancel">取 消</el-button>
</div>
</el-dialog>
<!-- 导入弹出框 -->
<el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body>
<FileUploadlab @input="getFileList" :limit="1" :value="fileList"></FileUploadlab>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitFileForm">确 定</el-button>
<el-button @click="upload.open = false">取 消</el-button>
</div>
</el-dialog>
<pagination v-show="total > 0" :total="total" :page.sync="queryForm.pageNum" :limit.sync="queryForm.pageSize"
@pagination="getList" />
</div>
......@@ -225,26 +279,40 @@
import {
getNewYear,//获取学年+学期
getGrade,// 查询级部
getGradelist,//级部搜索
addExperimentPlan,//新增个人实验申请
updateExperimentPlan,// 修改个人实验申请
deleteExperimentPlan,// 删除个人实验申请
getExperimentPlan,// 查询实验计划列表
getApplylist,// 查询个人实验申请列表
getListxq,//查看详情
getResult,//附件
} from '@/api/smartSchool/classTeacherWork/laboratoryManagement/personalLaboratoryapp';
import FileUploadlab from '@/components/FileUploadlab';
import { getToken } from '@/utils/auth';
export default {
name: 'index',
dicts: ['experiment_classify', 'lab_sub', 'declare_state'],
components: {
FileUploadlab
},
data() {
return {
baseUrl: process.env.VUE_APP_BASE_API,
queryForm: {
pageNum: 1,
pageSize: 10,
gradeId: "",
experimentName: "",
plannedStartTime: "",
plannedEndTime: "",
},
//表格数据
tableData: [
],
fileList: [],
nowType: 0, // 0新增、1编辑、2查看
isEdit: false,
form: {
id: '',
sub: "",
......@@ -258,40 +326,72 @@ export default {
experimentClassify: "",
experimentUseGoods: "",
declareState: "",
state: "",
},
upload: {
// 是否显示弹出层(学生导入)
open: false,
// 弹出层标题(学生导入)
title: '',
// 是否禁用上传
isUploading: false,
// 是否更新已经存在的学生数据
updateSupport: 0,
// 设置上传的请求头部
headers: { Authorization: 'Bearer ' + getToken() },
// 上传的地址
url: process.env.VUE_APP_BASE_API + '/school/student/importData'
},
schoolTeacherExperimentApplyLabsList: [],
//级部
gradeList: [],
gradeLists: [],
total: 0,
dialogTableVisible: false,
open: false,
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" }
],
experimentUseGoods: [
{ required: true, message: "实验用品不能为空", trigger: "blur" }
],
plannedStartTime: [
{ required: true, message: "开始时间不能为空", trigger: "blur" }
],
plannedEndTime: [
{ required: true, message: "结束时间不能为空", trigger: "blur" }
],
},
}
},
created() {
this.getSemesterAndList();
this.getList();
this.getGradelist();
this.getGrade();
},
methods: {
async getSemesterAndList() {
await this.getSemester(); // 等待获取学年和学期信息
this.getList(); // 获取数据列表
},
getSemester() {
return new Promise((resolve, reject) => {
getNewYear()
.then(response => {
this.form.semester = response.semester;
this.form.schoolYear = response.schoolYear + '';
resolve(); // 成功获取学年和学期信息
})
.catch(error => {
console.log(error);
reject(error);
});
});
},
getList() {
getApplylist(this.queryParams)
getApplylist(this.queryForm)
.then(response => {
this.tableData = response.rows;
console.log('response', response);
......@@ -312,6 +412,15 @@ export default {
});
},
//查询级部搜索
getGradelist() {
getGradelist().then(response => {
this.loading = false;
this.gradeLists = response.data;
console.log("this.gradeList", this.gradeList);
});
},
// 0新增、1修改、2查看
handleOption(type, row) {
this.form = {
......@@ -327,8 +436,10 @@ export default {
experimentClassify: "",
experimentUseGoods: "",
declareState: "",
schoolTeacherExperimentApplyLabsList: [],
state: "",
schoolTeacherExperimentApplyLabsList: [], // 添加默认的 schoolTeacherExperimentApplyLabsList 列表
}
this.getSemester();
this.nowType = type;
if (type === 2) {
const id = row.id;
......@@ -346,7 +457,6 @@ export default {
) {
this.schoolTeacherExperimentApplyLabsList = response.data.schoolTeacherExperimentApplyLabsList;
console.log('this.form.schoolTeacherExperimentApplyLabsList', this.schoolTeacherExperimentApplyLabsList);
this.form.schoolTeacherExperimentApplyLabsList = [];
for (let i = 0; i < this.schoolTeacherExperimentApplyLabsList.length; i++) {
const labId = this.schoolTeacherExperimentApplyLabsList[i].labId;
......@@ -356,7 +466,8 @@ export default {
}
}
this.dialogTableVisible = true;
this.open = true;
this.isEdit = true;
}
});
} else if (type === 1) {
......@@ -371,11 +482,63 @@ export default {
});
}
});
this.open = true;
this.dialogTableVisible = true;
}
else if (type === 0) {
this.dialogTableVisible = true;
}
},
getSemester() {
getNewYear()
.then(response => {
this.form.semester = response.semester;
this.form.schoolYear = response.schoolYear + '';
})
},
//上传按钮
getFileList(data) {
console.log('data', data);
this.fileList = data;
if (this.fileList.length !== 0) {
const file = data[0]; // 获取第一个文件的信息
console.log('file', file);
this.accessoryUrl = file.accessoryUrl;
this.accessoryName = file.accessoryName;
setTimeout(() => {
console.log(this.accessoryUrl, this.accessoryName);
}, 100); // 等待100毫秒后再打印
} else {
this.form.accessoryUrl = '';
this.form.accessoryName = '';
}
},
//提交按钮
submitFileForm(data) {
console.log("getFileList", data);
// 将 fileList 中的数据转换成 schoolAccessoryList 格式的数组
const schoolAccessoryList = this.fileList.map(item => ({
accessoryUrl: item.originalFilename,
accessoryName: item.url
}));
// 定义请求的参数对象
const params = {
id: this.form.id,
schoolAccessoryList: schoolAccessoryList
};
// 发送上传文件列表请求
getResult(params).then(response => {
console.log(params);
console.log("schoolAccessoryList", schoolAccessoryList);
});
},
//删除按钮操作
handleDelete(id) {
this.$confirm("此操作将永久删除该数据,是否继续?", '提示', {
......@@ -383,7 +546,7 @@ export default {
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
deleteSchoolLab(id).then(res => {
deleteExperimentPlan(id).then(res => {
if (res.code == 200) {
this.$message.success("删除成功!")
}
......@@ -398,18 +561,139 @@ export default {
},
resetQuery() {
this.getList();
this.queryForm = {
pageNum: 1,
pageSize: 10,
gradeId: "",
experimentName: "",
plannedStartTime: "",
plannedEndTime: "",
},
this.getList();
},
//提交按钮
submitForm() {
// 保存按钮
save() {
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 === "") {
console.log('新增', this.form);
const params = {
sub: this.form.sub,
grade: this.form.grade,
gradeId: this.form.gradeId,
schoolYear: this.form.schoolYear,
semester: this.form.semester,
plannedStartTime: this.form.plannedStartTime,
plannedEndTime: this.form.plannedEndTime,
experimentName: this.form.experimentName,
experimentClassify: this.form.experimentClassify,
experimentUseGoods: this.form.experimentUseGoods,
declareState: '0',
};
addExperimentPlan(params).then(response => {
this.$modal.msgSuccess('保存成功');
this.dialogTableVisible = false;
this.getList();
});
}
}
});
},
// 保存按钮
savexg() {
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 !== "") {
const params = {
id: this.form.id,
sub: this.form.sub,
grade: this.form.grade,
gradeId: this.form.gradeId,
schoolYear: this.form.schoolYear,
semester: this.form.semester,
plannedStartTime: this.form.plannedStartTime,
plannedEndTime: this.form.plannedEndTime,
experimentName: this.form.experimentName,
experimentClassify: this.form.experimentClassify,
experimentUseGoods: this.form.experimentUseGoods,
declareState: '0',
};
updateExperimentPlan(params).then(response => {
this.$modal.msgSuccess('保存成功');
this.dialogTableVisible = false;
this.getList();
});
}
}
});
},
/** 提交按钮 */
submitForm() {
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 !== "") {
// 修改已有数据的逻辑
const params = {
id: this.form.id,
sub: this.form.sub,
grade: this.form.grade,
gradeId: this.form.gradeId,
schoolYear: this.form.schoolYear,
semester: this.form.semester,
plannedStartTime: this.form.plannedStartTime,
plannedEndTime: this.form.plannedEndTime,
experimentName: this.form.experimentName,
experimentClassify: this.form.experimentClassify,
experimentUseGoods: this.form.experimentUseGoods,
declareState: '1',
};
updateExperimentPlan(params).then(response => {
this.$modal.msgSuccess('提交成功');
this.dialogTableVisible = false;
this.getList();
});
} else {
// 新增数据的逻辑
const params = {
sub: this.form.sub,
grade: this.form.grade,
gradeId: this.form.gradeId,
schoolYear: this.form.schoolYear,
semester: this.form.semester,
plannedStartTime: this.form.plannedStartTime,
plannedEndTime: this.form.plannedEndTime,
experimentName: this.form.experimentName,
experimentClassify: this.form.experimentClassify,
experimentUseGoods: this.form.experimentUseGoods,
declareState: '1',
};
addExperimentPlan(params).then(response => {
this.$modal.msgSuccess("提交成功");
this.dialogTableVisible = false;
this.getList();
});
}
}
});
},
//上传附件按钮操作
handleResult() {
this.upload.title = '实验结果'
this.upload.open = true
},
//取消按钮
cancle() {
cancel() {
this.dialogTableVisible = false;
this.open = false;
},
......
<template>
<div class="app-container">
<el-form :model="queryForm" ref="queryForm" size="small" :inline="true" label-width="68px">
<el-form-item label="教师">
<el-input v-model="queryForm.teacher" placeholder="请输入教师" clearable></el-input>
<el-form-item label="实验级部">
<el-select v-model="queryForm.gradeId" placeholder="请选择级部" clearable>
<el-option v-for="(item, index) in gradeLists" :key="index" :label="item.gradeName"
:value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="班级">
<el-input v-model="queryForm.className" placeholder="请选择级部" clearable></el-input>
</el-form-item>
<el-form-item label="学期">
<el-date-picker v-model="queryForm.semester" type="year" value-format="yyyy" placeholder="选择年">
<el-date-picker v-model="queryForm.schoolYear" type="year" value-format="yyyy" placeholder="选择年">
</el-date-picker>
<el-select v-model="queryForm.semester" placeholder="请选择学期">
<el-option label="上学期" value="1"></el-option>
<el-option label="下学期" value="2"></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="getList">搜索</el-button>
......@@ -14,18 +25,45 @@
</el-form-item>
</el-form>
<el-table :data="tableData" border style="width: 100%">
<el-table-column align="center" prop="applyName" label="教师" />
<el-table-column align="center" prop="schoolYear" label="学年" />
<el-table-column align="center" prop="fzcount" label="分组实验" />
<el-table-column align="center" prop="sycount" label="演示实验" />
<el-table-column align="center" prop="sjcount" label="探究实验" />
<el-table-column align="center" prop="ywccount" label="已完成实验数" />
<el-table-column align="center" type="index" label="序号" width="55" />
<el-table-column align="center" prop="grade" label="级部" />
<el-table-column align="center" prop="schoolYearSemester" label="学期" />
<el-table-column align="center" prop="className" label="班级" />
<el-table-column align="center" prop="jhsys" label="计划实验数" />
<el-table-column align="center" prop="ywcsys" label="已完成实验数" />
<el-table-column align="center" prop="ratio" 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>
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" :page.sync="queryForm.pageNum" :limit.sync="queryForm.pageSize"
@pagination="getList" />
<!-- 查看弹窗 -->
<el-dialog title="实验名称:物理研究" :visible.sync="dialogTableVisible" width="80%" height="1000px">
<el-table :data="ExperimentalData" border>
<el-table-column align="center" type="index" label="序号" width="55" />
<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="className" label="学期" />
<el-table-column align="center" prop="className" 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="className" label="实验名称" />
<el-table-column align="center" prop="className" label="实验分类" />
<el-table-column align="center" prop="section" label="章节内容" />
</el-table>
</el-dialog>
</div>
</template>
......@@ -33,37 +71,47 @@
<script>
import {
getList,
getTeacherxq,
getSemester
} from '@/api/smartSchool/laboratoryManagement/leadlaboratoryRecords'
getSemester,
getGradelist,
getClassDetailsxq,
} from '@/api/smartSchool/gradeWork/laboratoryManagement/classDetails'
export default {
dicts: ['experiment_classify', 'lab_sub'],
name: 'index',
data() {
return {
queryForm: {
schoolYear: "",
semester: "",
gradeId: "",
className: "",
pageNum: 1,
pageSize: 10,
},
//表格数据
tableData: [
{
}
],
gradeLists: [],
ExperimentalData: [],
dialogTableVisible: false,
total: 0,
}
},
created() {
this.getSemesterAndList();
this.getGradelist();
this.getSemester();
},
methods: {
async getSemesterAndList() {
await this.getSemester(); // 等待获取学年信息
this.getList(); // 获取默认数据
},
getList() {
const params = {
schoolYear: this.queryForm.schoolYear,
applyName: this.queryForm.applyName,
};
getList(params)
getList(this.queryForm)
.then(response => {
this.tableData = response.rows;
console.log('response', response);
......@@ -79,6 +127,7 @@ export default {
return new Promise((resolve, reject) => {
getSemester()
.then(response => {
this.queryForm.semester = response.semester;
this.queryForm.schoolYear = response.schoolYear + '';
resolve(); // 成功获取学年信息
})
......@@ -88,6 +137,35 @@ export default {
});
});
},
//查询级部搜索
getGradelist() {
getGradelist().then(response => {
this.loading = false;
this.gradeLists = response.data;
});
},
//查看按钮
handleLook(row) {
console.log(row);
// 设置 dialogTableVisible 为 true,显示弹窗
this.dialogTableVisible = true;
// 根据 row 的数据构建请求参数
const params = {
schoolYear: row.schoolYear,
semester: row.semester,
gradeId: row.gradeId,
classId: row.classId
};
console.log(params);
getClassDetailsxq(params).then(response => {
console.log(params);
this.ExperimentalData = response.rows;
this.loading = false;
}).catch(error => {
});
},
resetQuery() {
this.queryForm = {
......
<template>
<div class="app-container">
<el-form :model="queryForm" ref="queryForm" size="small" :inline="true" label-width="68px">
<el-form-item label="学科分类">
<el-select v-model="queryForm.sub" placeholder="请选择" clearable>
<el-option v-for="(item, index) in subList" :key="index" :label="item.dictLabel"
:value="item.dictValue"></el-option>
</el-select>
</el-form-item>
<el-form-item label="实验级部">
<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-form-item label="学期">
<el-date-picker v-model="queryForm.schoolYear" type="year" value-format="yyyy" placeholder="选择年">
</el-date-picker>
<el-select v-model="queryForm.semester" placeholder="请选择学期">
<el-option label="上学期" value="1"></el-option>
<el-option label="下学期" value="2"></el-option>
</el-select>
</el-form-item>
<el-form-item label="实验分类">
<el-select v-model="queryForm.experimentClassify" placeholder="请选择" clearable>
......@@ -19,6 +17,9 @@
: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>
......@@ -28,8 +29,6 @@
<el-col :span="1.5">
<el-button size="mini" type="primary" icon="el-icon-plus" @click="handleOption(0)"> 新增
</el-button>
<el-button size="mini" type="success" icon="el-icon-download" @click="handleImport">导入
</el-button>
</el-col>
</el-row>
<el-table :data="tableData" border style="width: 100%">
......@@ -49,14 +48,24 @@
</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" prop="isAppointment" label="是否已预约">
<template slot-scope="scope">
<span v-if="scope.row.isAppointment === '0'">未预约</span>
<span v-else-if="scope.row.isAppointment === '1'">已预约</span>
</template>
</el-table-column>
<el-table-column align="center" fixed="right" label="操作" width="150">
<template slot-scope="{ row }">
<div>
<div v-if="row.isAppointment === '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>
</el-table>
......@@ -196,11 +205,12 @@ export default {
data() {
return {
queryForm: {
sub: '',
gradeId: '',
experimentClassify: '',
schoolYear: "",
semester: "",
experimentClassify: "",
pageNum: 1,
pageSize: 10,
},
classList: [], // 班级列表数据
subList: [],// 学科列表
......@@ -208,9 +218,7 @@ export default {
gradeList: [],
//表格数据
tableData: [
{
}
],
//查看弹窗表格
ExperimentalData: [],
......@@ -281,21 +289,40 @@ export default {
}
},
created() {
this.getList();
this.getListWithSemester();
this.getGrade();
},
methods: {
getListWithSemester() {
this.getSemester(() => {
this.getList();
});
},
getSemester(callback) {
getSemester().then((res) => {
this.form.semester = res.semester;
this.form.schoolYear = res.schoolYear + '';
this.queryForm.semester = res.semester;
this.queryForm.schoolYear = res.schoolYear + '';
console.log(this.form.semester, typeof this.form.semester);
if (callback && typeof callback === 'function') {
callback();
}
});
},
getList() {
getExperimentPlan(this.queryForm).then(response => {
this.tableData = response.rows;
console.log('this.tableData', this.tableData);
this.total = response.total
this.loading = false
})
this.total = response.total;
this.loading = false;
});
},
//选择级部自动获取年级
onGradeChange() {
const selectedGrade = this.gradeList.find(grade => grade.id === this.form.gradeId);
......@@ -337,21 +364,8 @@ export default {
},
//获得当前年份
newYear() {
getNewYear().then((res) => {
this.form.schoolYear = res.schoolYear;
console.log(this.form.schoolYear, typeof this.form.schoolYear);
});
},
//获取当前学期
getSemester() {
getSemester().then((res) => {
this.form.semester = res.semester;
console.log(this.form.semester, typeof this.form.semester);
});
},
//查询级部
getGrade() {
getGrade().then(response => {
......@@ -384,11 +398,14 @@ export default {
//重置按钮
resetQuery() {
this.queryForm.sub = '';
this.queryForm.gradeId = '';
this.queryForm.experimentClassify = '';
// this.resetForm("queryForm");
this.getList();
this.queryForm = {
schoolYear: "",
semester: "",
experimentClassify: "",
pageNum: 1,
pageSize: 10,
},
this.getList();
},
// 0新增、1修改、2查看
......@@ -411,7 +428,6 @@ export default {
schoolExperimentPlanClassList: [],
}
this.nowType = type;
this.newYear();
this.getSemester();
if (type != 0) {
const id = row.id
......
......@@ -5,8 +5,8 @@
<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-option label="上学期" value="1"></el-option>
<el-option label="下学期" value="2"></el-option>
</el-select>
</el-form-item>
<el-form-item label="实验分类">
......@@ -120,7 +120,7 @@
</el-col>
<el-col :span="8">
<el-form-item label="学科" prop="sub">
<el-input v-model="form.sub" placeholder="请输入" clearable @input="handleChangeSub"
<el-input v-model="form.sub" placeholder="请输入" clearable
:disabled="nowType === 1 || nowType === 2 || nowType === 0" />
</el-form-item>
</el-col>
......@@ -262,16 +262,12 @@ export default {
}
},
created() {
this.getList();
this.getSchholyear();
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 => {
......@@ -286,7 +282,6 @@ export default {
getLabplanxlk().then(response => {
this.tableList = response.data;
console.log('this.tableList', this.tableList);
this.loading = false
})
......@@ -321,12 +316,14 @@ export default {
//获取当前学年+学期
getSchholyear() {
getSemester().then(response => {
console.log(this.form);
// this.form.schoolYear = response.schoolYear;
console.log(response.schoolYear);
this.form.schoolYear = response.schoolYear;
this.form.semester = response.semester;
this.queryForm.schoolYear = response.schoolYear + '';
this.queryForm.semester = response.semester;
})
// 在获取到学年和学期后,调用getList方法进行表单查询
this.getList();
});
},
//删除按钮操作
......@@ -388,7 +385,15 @@ export default {
resetQuery() {
this.getList();
this.queryForm = {
pageNum: 1,
pageSize: 10,
schoolYear: '',
semester: '',
experimentClassify: '',
experimentName: '',
},
this.getList();
},
// 保存按钮
......
<template>
<div class="app-container">
<el-form :model="queryForm" ref="queryForm" size="small" :inline="true" label-width="68px">
<el-form-item label="级部">
<el-input v-model="queryForm.grade" placeholder="请输入级部" clearable></el-input>
<el-form-item label="实验级部">
<el-select v-model="queryForm.gradeId" placeholder="请选择级部" clearable>
<el-option v-for="(item, index) in gradeLists" :key="index" :label="item.gradeName"
:value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="实验名称">
<el-input v-model="queryForm.name" placeholder="请输入实验名称" clearable></el-input>
<el-input v-model="queryForm.experimentName" placeholder="请输入实验名称" clearable></el-input>
</el-form-item>
<el-form-item label="学期">
<el-date-picker v-model="queryForm.year" type="year" value-format="yyyy" placeholder="选择年">
<el-date-picker v-model="queryForm.schoolYear" type="year" value-format="yyyy" placeholder="选择年">
</el-date-picker>
<el-select v-model="queryForm.semester" placeholder="请选择学期">
<el-option label="上学期" value="0"></el-option>
<el-option label="下学期" value="1"></el-option>
<el-select v-model="queryForm.semester" placeholder="请选择学期">
<el-option label="上学期" value="1"></el-option>
<el-option label="下学期" value="2"></el-option>
</el-select>
</el-form-item>
......@@ -41,12 +44,6 @@
<!-- 查看弹窗 -->
<el-dialog title="实验名称:物理研究" :visible.sync="dialogTableVisible" width="80%">
<el-form :model="form" ref="form" size="small" :inline="true" label-width="88px">
<el-form-item label="实验分类">
<el-select v-model="form.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="form.className" placeholder="请输入班级" clearable></el-input>
</el-form-item>
......@@ -94,36 +91,44 @@
import {
getList,
getSemester,
getTeacherxq
} from '@/api/smartSchool/laboratoryManagement/leadlaboratoryCompletion'
getGradelist,
getClassDetailsxq,
} from '@/api/smartSchool/gradeWork/laboratoryManagement/laboratoryDetails'
export default {
name: 'index',
dicts: ['experiment_classify', 'lab_sub'],
data() {
return {
queryForm: {
pageNum: 1,
pageSize: 10,
schoolYear: "",
semester: "",
gradeId: "",
experimentName: "",
},
gradeLists: [],
//表格数据
tableData: [
{
}
],
//查看弹窗表格
ExperimentalData: [],
form: {
},
//实验分类下拉框
options: {
},
//弹窗
dialogTableVisible: false,
total: 0,
}
},
created() {
this.getSemesterAndList();
this.getGradelist();
this.getSemester();
},
methods: {
async getSemesterAndList() {
await this.getSemester(); // 等待获取学年和学期信息
......@@ -157,6 +162,15 @@ export default {
console.log(error);
});
},
//查询级部搜索
getGradelist() {
getGradelist().then(response => {
this.loading = false;
this.gradeLists = response.data;
console.log("this.gradeList", this.gradeList);
});
},
//查看按钮
handleLook(row) {
console.log(row);
......@@ -166,14 +180,12 @@ export default {
// 根据 row 的数据构建请求参数
const params = {
experimentPlanId: row.id,
experimentClassify: this.form.experimentClassify,
className: this.form.className,
startTime: this.form.startTime,
endTime: this.form.endTime,
};
getTeacherxq(params).then(response => {
getClassDetailsxq(params).then(response => {
this.ExperimentalData = response.rows;
this.total = response.total;
this.loading = false;
}).catch(error => {
......@@ -187,22 +199,20 @@ export default {
pageSize: 10,
schoolYear: "",
semester: "",
sub: "",
grade: "",
gradeId: "",
experimentName: "",
};
this.getList();
},
this.getList();
},
//弹窗获取表单
getListtc() {
const params = {
experimentPlanId: this.form.id,
experimentClassify: this.form.experimentClassify,
className: this.form.className,
startTime: this.form.startTime,
endTime: this.form.endTime,
};
getTeacherxq(params).then(response => {
getClassDetailsxq(params).then(response => {
this.ExperimentalData = response.rows;
}).catch(error => {
......@@ -214,12 +224,9 @@ export default {
pageNum: 1,
pageSize: 10,
experimentPlanId: "",
experimentClassify: "",
className: "",
startTime: "",
endTime: "",
};
this.getListtc();
},
......
......@@ -11,7 +11,10 @@
<el-input v-model="queryForm.applyName" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="实验级部">
<el-input v-model="queryForm.grade" placeholder="请输入"></el-input>
<el-select v-model="queryForm.gradeId" placeholder="请选择级部" clearable>
<el-option v-for="(item, index) in gradeLists" :key="index" :label="item.gradeName"
:value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="getList">搜索</el-button>
......@@ -20,7 +23,11 @@
</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="学科" />
<el-table-column align="center" prop="sub" label="学科" width="60">
<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="plannedTime" label="实验时间" />
<el-table-column align="center" prop="experimentName" label="实验名称" />
......@@ -45,41 +52,51 @@
</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>
<el-button v-if="scope.row.declareState === '1' || scope.row.declareState === '2'"
@click="handleLook(scope.row)" type="text" size="small">查看</el-button>
<el-button v-if="scope.row.declareState === '1' || scope.row.declareState === '2'"
@click="handleAllocation(scope.row)" type="text" size="small">分配实验室</el-button>
<el-button v-if="scope.row.declareState === '3'" @click="handleLook(scope.row)" type="text"
size="small">查看</el-button>
</template>
</el-table-column>
</el-table>
<!-- 分配实验室弹窗 -->
<el-dialog title="申请信息" :visible.sync="dialogTableVisible" width="75%">
<el-form :model="form" ref="form" size="small" label-width="110px">
<el-form :model="form" ref="form" size="small" label-width="110px" >
<el-row :gutter="30">
<el-col :span="8">
<el-form-item label="学科">
<el-input v-model="form.sub" placeholder="请输入" clearable />
<el-form-item label="学科" prop="sub">
<el-select v-model="form.sub" placeholder="请选择" clearable style="width: 100%;" :disabled="isEdit">
<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-col :span="8">
<el-form-item label="实验名称">
<el-input v-model="form.experimentName" placeholder="请输入" clearable />
<el-input v-model="form.experimentName" placeholder="请输入" clearable :disabled="isEdit"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="实验分类">
<el-input v-model="form.experimentClassify" placeholder="请输入" clearable />
<el-form-item label="实验分类" prop="experimentClassify">
<el-select v-model="form.experimentClassify" placeholder="请选择" clearable style="width: 100%;" :disabled="isEdit">
<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="30">
<el-col :span="8">
<el-form-item label="学年">
<el-input v-model="form.schoolYear" placeholder="请输入" clearable />
<el-input v-model="form.schoolYear" placeholder="请输入" clearable :disabled="isEdit"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="学期">
<el-select v-model="form.semester" placeholder="请选择学期" style="width: 100%;">
<el-select v-model="form.semester" placeholder="请选择学期" style="width: 100%;" :disabled="isEdit">
<el-option label="上学期" value="1"></el-option>
<el-option label="下学期" value="2"></el-option>
</el-select>
......@@ -87,7 +104,7 @@
</el-col>
<el-col :span="8">
<el-form-item label="级部">
<el-input v-model="form.grade" placeholder="请输入" clearable />
<el-input v-model="form.grade" placeholder="请输入" clearable :disabled="isEdit"/>
</el-form-item>
</el-col>
......@@ -95,7 +112,7 @@
<el-row :gutter="30">
<el-col :span="8">
<el-form-item label="申请老师">
<el-input v-model="form.applyName" placeholder="请输入" clearable />
<el-input v-model="form.applyName" placeholder="请输入" clearable :disabled="isEdit" />
</el-form-item>
</el-col>
<el-col :span="8">
......@@ -142,11 +159,14 @@
</el-dialog>
<!-- 查看 -->
<el-dialog title="申请信息" :visible.sync="open" width="75%">
<el-form :model="form" ref="form" size="small" label-width="110px">
<el-form :model="form" ref="form" size="small" label-width="110px" :disabled="isEdit">
<el-row :gutter="30">
<el-col :span="8">
<el-form-item label="学科">
<el-input v-model="form.sub" placeholder="请输入" clearable />
<el-form-item label="学科" prop="sub">
<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-col :span="8">
......@@ -155,8 +175,11 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="实验分类">
<el-input v-model="form.experimentClassify" placeholder="请输入" clearable />
<el-form-item label="实验分类" prop="experimentClassify">
<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>
......@@ -244,6 +267,9 @@ import {
getExperimentLabs,// 分配实验室
getTeacherapplyxq// 查看详情
} from '@/api/smartSchool/laboratoryManagement/experimentApproval'
import {
getGradelist
} from '@/api/smartSchool/laboratoryManagement/leadlaboratoryCompletion'
export default {
name: 'index',
dicts: ['experiment_classify', 'lab_sub', 'declare_state'],
......@@ -263,6 +289,7 @@ export default {
form: {
},
isEdit: false,
labs: [],
schoolTeacherExperimentApplyLabsList: [],
total: 0,
......@@ -272,6 +299,7 @@ export default {
},
created() {
this.getList();
this.getGradelist();
},
methods: {
//表单查询
......@@ -283,6 +311,15 @@ export default {
this.loading = false
})
},
//查询级部搜索
getGradelist() {
getGradelist().then(response => {
this.loading = false;
this.gradeLists = response.data;
console.log("this.gradeList", this.gradeList);
});
},
//分配实验室
handleAllocation(row) {
this.loading = true;
......@@ -341,10 +378,18 @@ export default {
}
console.log('this.form', this.form);
this.loading = false
this.isEdit = true;
})
},
resetQuery() {
this.getList();
this.queryForm = {
pageNum: 1,
pageSize: 10,
experimentClassify: "",
applyName: "",
grade: "",
},
this.getList();
},
// 保存按钮
save() {
......
......@@ -123,6 +123,8 @@
import {
getExperimentPlan,
getExperimentPlaxq,
getSemester
} from '@/api/smartSchool/laboratoryManagement/experimentalPlan'
export default {
name: 'index',
......@@ -159,16 +161,43 @@ export default {
created() {
this.getList();
this.getSemesterAndList();
},
methods: {
async getSemesterAndList() {
await this.getSemester(); // 等待获取学年和学期信息
this.getList(); // 获取数据列表
},
getSemester() {
return new Promise((resolve, reject) => {
getSemester()
.then(response => {
this.queryForm.semester = response.semester;
this.queryForm.schoolYear = response.schoolYear + '';
resolve(); // 成功获取学年和学期信息
})
.catch(error => {
console.log(error);
reject(error);
});
});
},
getList() {
getExperimentPlan(this.queryForm).then(response => {
this.tableData = response.rows;
console.log('response', response);
this.total = response.total
this.loading = false
})
getExperimentPlan(this.queryForm)
.then(response => {
this.tableData = response.rows;
console.log('response', response);
this.total = response.total;
this.loading = false;
})
.catch(error => {
this.loading = false;
console.log(error);
});
},
resetQuery() {
this.queryForm = {
pageNum: 1,
......
......@@ -24,7 +24,7 @@
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-table v-loading="loading" :data="tableData" stripe>
<el-table border v-loading="loading" :data="tableData" stripe>
<el-table-column fixed="left" label="序号" type="index" width="55" align="center" />
<el-table-column label="学科" align="center" prop="sub">
<template slot-scope="{ row }">
......@@ -65,7 +65,7 @@
<script>
import {
getList,
} from '@/api/smartSchool/laboratoryManagement/leadlaboratoryRecords'
} from '@/api/smartSchool/laboratoryManagement/experimentalRecords'
export default {
dicts: ['experiment_classify', 'lab_sub'],
data() {
......
<template>
<div class="app-container">
<el-form :model="queryForm" ref="queryForm" size="small" :inline="true" label-width="68px">
<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
<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 label="学期">
<el-date-picker v-model="queryForm.schoolYear" type="year" value-format="yyyy" placeholder="选择年">
</el-date-picker>
<el-select v-model="queryForm.semester" placeholder="请选择学期">
<el-option label="上学期" value="1"></el-option>
<el-option label="下学期" value="2"></el-option>
</el-select>
</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 label="实验分类">
<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>
<el-button type="primary" icon="el-icon-search" size="mini" @click="getList">搜索</el-button>
......@@ -59,7 +64,7 @@
</el-table>
<!-- 查看 -->
<el-dialog title="申请信息" :visible.sync="open" width="50%">
<el-form :model="form" ref="form" size="small" label-width="100px">
<el-form :model="form" ref="form" size="small" label-width="100px" :disabled="isEdit">
<el-row :gutter="30">
<el-col :span="10">
<el-form-item label="申请老师">
......@@ -165,13 +170,13 @@
<el-row :gutter="30">
<el-col :span="10">
<el-form-item label="申请老师">
<el-input v-model="postForm.applyName" placeholder="请输入" clearable />
<el-input v-model="postForm.applyName" placeholder="请输入" clearable :disabled="isEdit"/>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="实验分类">
<el-select v-model="postForm.experimentClassify" placeholder="请选择" clearable
style="width: 100%;">
style="width: 100%;" :disabled="isEdit">
<el-option v-for="dict in dict.type.experiment_classify" :key="dict.value"
:label="dict.label" :value="dict.value" />
</el-select>
......@@ -182,12 +187,12 @@
<el-row :gutter="20">
<el-col :span="10">
<el-form-item label="实验名称">
<el-input v-model="postForm.experimentName" placeholder="请输入" clearable />
<el-input v-model="postForm.experimentName" placeholder="请输入" clearable :disabled="isEdit"/>
</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-select v-model="postForm.sub" placeholder="请选择" clearable style="width: 100%;" :disabled="isEdit">
<el-option v-for="dict in dict.type.lab_sub" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
......@@ -199,7 +204,7 @@
<el-row :gutter="20">
<el-col :span="20">
<el-form-item label="章节内容">
<el-input v-model="postForm.chapterContent" placeholder="请输入" clearable></el-input>
<el-input v-model="postForm.chapterContent" placeholder="请输入" clearable :disabled="isEdit"></el-input>
</el-form-item>
</el-col>
</el-row>
......@@ -208,12 +213,12 @@
<el-row :gutter="20">
<el-col :span="10">
<el-form-item label="级部">
<el-input v-model="postForm.grade" placeholder="请输入" clearable />
<el-input v-model="postForm.grade" placeholder="请输入" clearable :disabled="isEdit"/>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="学年">
<el-input v-model="postForm.schoolYear" placeholder="请输入" clearable />
<el-input v-model="postForm.schoolYear" placeholder="请输入" clearable :disabled="isEdit"/>
</el-form-item>
</el-col>
</el-row>
......@@ -277,6 +282,11 @@ import {
getLabClassYearxq,
} from '@/api/smartSchool/laboratoryManagement/gradeExperimentapp'
import {
getSemester
} from '@/api/smartSchool/laboratoryManagement/experimentalPlan'
export default {
name: 'index',
dicts: ['experiment_classify', 'lab_sub', 'declare_state'],
......@@ -285,10 +295,10 @@ export default {
queryForm: {
pageNum: 1,
pageSize: 10,
grade: '',
experimentName: '',
plannedStartTime: '',
plannedEndTime: '',
schoolYear: "",
semester: "",
experimentName: "",
experimentClassify: "",
},
//实验室
......@@ -298,10 +308,7 @@ export default {
tableData: [
],
//学科分类
options: {
},
isEdit: false,
postForm: {
applyName: '',
experimentClassify: '',
......@@ -334,17 +341,40 @@ export default {
}
},
created() {
this.getList();
this.getSemesterAndList();
},
methods: {
//表单查询
getList() {
getLabClassYear(this.queryForm).then(response => {
this.tableData = response.rows
this.total = response.total
this.loading = false
})
async getSemesterAndList() {
await this.getSemester(); // 等待获取学年和学期信息
this.getList(); // 获取数据列表
},
getSemester() {
return new Promise((resolve, reject) => {
getSemester()
.then(response => {
this.queryForm.semester = response.semester;
this.queryForm.schoolYear = response.schoolYear + '';
resolve(); // 成功获取学年和学期信息
})
.catch(error => {
console.log(error);
reject(error);
});
});
},
getList() {
getLabClassYear(this.queryForm)
.then(response => {
this.tableData = response.rows;
console.log('response', response);
this.total = response.total;
this.loading = false;
})
.catch(error => {
this.loading = false;
console.log(error);
});
},
//分配实验室
......@@ -405,12 +435,21 @@ export default {
console.log(this.form.schoolLabClassYearRelationList, '查看 ');
}
console.log('this.form', this.form);
this.isEdit = true;
this.loading = false
})
},
resetQuery() {
this.getList();
this.queryForm = {
pageNum: 1,
pageSize: 10,
schoolYear: "",
semester: "",
experimentName: "",
experimentClassify: "",
},
this.getList();
},
// 保存按钮
save() {
......
......@@ -21,18 +21,31 @@
</el-col>
</el-row>
<el-table v-loading="loading" :data="competitionData" stripe @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55"></el-table-column>
<el-table border v-loading="loading" :data="competitionData" stripe>
<el-table-column fixed="left" label="序号" type="index" width="55" align="center" />
<el-table-column label="学年" align="center" prop="schoolYear" />
<el-table-column label="参赛教师" align="center" prop="teacherName" />
<el-table-column label="参赛课题" align="center" prop="entrySubject" />
<el-table-column label="比赛项目名称" align="center" prop="competitionName" />
<el-table-column label="比赛类型" align="center" prop="competitionType" />
<el-table-column label="比赛级别" align="center" prop="competitionLevel" />
<el-table-column align="center" prop="competitionType" label="比赛类型">
<template slot-scope="{ row }">
<div>{{ selectDictLabel(dict.type.competition_type, row.competitionType) }}</div>
</template>
</el-table-column>
<el-table-column label="比赛级别" align="center" prop="competitionLevel">
<template slot-scope="{ row }">
<div>{{ selectDictLabel(dict.type.competition_level, row.competitionLevel) }}</div>
</template>
</el-table-column>
<el-table-column label="证书照片" align="center" prop="schoolAccessoryList">
<template slot-scope="scope">
<!-- <template slot-scope="scope">
<ListImage :image-url="pev + scope.row.accessoryUrl"></ListImage>
</template> -->
<template slot-scope="scope">
<!-- <ListImage :image-url="pev+scope.row.picUrl"></ListImage> -->
<!-- previewSrcList 开启预览大图的功能。-->
<el-image style="width: 100px; height: 100px" :src="scope.row.url" :preview-src-list="srcList">
</el-image>
</template>
</el-table-column>
<el-table-column label="备注1" align="center" prop="remark1" />
......@@ -40,9 +53,9 @@
<el-table-column label="备注3" align="center" prop="remark3" />
<el-table-column fixed="right" label="操作" align="center" prop="orgname" width="150">
<template slot-scope="{ row }">
<el-button type="text" size="small" @click="handleDelete(row.id)">删除</el-button>
<el-button type="text" size="small" @click="handleOption(1, row)">编辑</el-button>
<el-button type="text" size="small" @click="handleOption(2, row)">查看</el-button>
<el-button type="text" size="small" @click="handleDelete(row.id)">删除</el-button>
</template>
</el-table-column>
</el-table>
......@@ -51,35 +64,43 @@
<!-- 新增、编辑、查看弹窗 -->
<el-dialog title="详细信息" :visible.sync="dialogVisible" width="50%">
<el-form :model="form" ref="form" size="small" label-width="108px">
<el-form :model="form" ref="form" size="small" label-width="108px" :disabled="isEdit">
<el-row>
<el-col :span="10">
<el-form-item label="学年">
<el-input v-model="form.schoolYear" placeholder="请输入" clearable></el-input>
<el-input v-model="form.schoolYear" placeholder="请输入" clearable
:disabled="nowType == 2 ? true : false"></el-input>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="参赛老师">
<el-input v-model="form.teacherName" placeholder="请输入" clearable></el-input>
<el-select v-model="form.teacherName" placeholder="请选择级部" clearable style="width: 100%;"
:disabled="nowType == 2 ? true : false">
<el-option v-for="(item, index) in teacherList" :key="index" :label="item.userName"
:value="item.userId"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="10">
<el-form-item label="参赛课题" prop="entrySubject">
<el-input v-model="form.entrySubject" placeholder="请输入" clearable></el-input>
<el-input v-model="form.entrySubject" placeholder="请输入" clearable
:disabled="nowType == 2 ? true : false"></el-input>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="比赛项目名称" prop="competitionName">
<el-input v-model="form.competitionName" placeholder="请输入" clearable></el-input>
<el-input v-model="form.competitionName" placeholder="请输入" clearable
:disabled="nowType == 2 ? true : false"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="10">
<el-form-item label="比赛类型" prop="competitionType">
<el-select v-model="form.competitionType" placeholder="请选择" clearable style="width: 100%;">
<el-select v-model="form.competitionType" placeholder="请选择" clearable style="width: 100%;"
:disabled="nowType == 2 ? true : false">
<el-option v-for="dict in dict.type.competition_type" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
......@@ -87,7 +108,8 @@
</el-col>
<el-col :span="10">
<el-form-item label="比赛级别">
<el-select v-model="form.competitionLevel" placeholder="请选择" clearable style="width: 100%;">
<el-select v-model="form.competitionLevel" placeholder="请选择" clearable style="width: 100%;"
:disabled="nowType == 2 ? true : false">
<el-option v-for="dict in dict.type.competition_level" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
......@@ -99,7 +121,7 @@
<el-form-item label="证书照片">
<el-upload v-loading="uploadLoading" class="avatar-uploader" action="#" accept="image/*"
:show-file-list="false" :on-success="handleAvatarSuccess" :before-upload="beforeAvatarUpload"
:http-request="uploadImage">
:http-request="uploadImage" :disabled="nowType == 2 ? true : false">
<img v-if="imageUrl" :src="imageUrl" style="width: 178px; height: 178px;" class="avatar" alt="" />
<!-- :preview-src-list="[imageUrl]"-->
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
......@@ -108,19 +130,22 @@
</el-col>
<el-col :span="10">
<el-form-item label="备注1">
<el-input v-model="form.remark1" placeholder="请输入" clearable></el-input>
<el-input v-model="form.remark1" placeholder="请输入" clearable
:disabled="nowType == 2 ? true : false"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="10">
<el-form-item label="备注2">
<el-input v-model="form.remark2" placeholder="请输入" clearable></el-input>
<el-input v-model="form.remark2" placeholder="请输入" clearable
:disabled="nowType == 2 ? true : false"></el-input>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="备注3">
<el-input v-model="form.remark3" placeholder="请输入" clearable></el-input>
<el-input v-model="form.remark3" placeholder="请输入" clearable
:disabled="nowType == 2 ? true : false"></el-input>
</el-form-item>
</el-col>
</el-row>
......@@ -141,13 +166,16 @@ import {
updateCompetition,
getCompetition,
getCompetitionxq,
deleteCompetition
deleteCompetition,
getTeacher
} from '@/api/smartSchool/laboratoryManagement/laboratoryCompetition'
import ListImage from "@/components/ListImage";
import { uploadImage as commonUpload } from '@/api/common'
import picAvatar from '@/views/smartSchool/schoolManage/introduce/schoolInfo/profile/picAvatar'
export default {
dicts: ['competition_type', 'competition_type',
'competition_level'],
components: { picAvatar },
data() {
return {
// 图片路径
......@@ -157,6 +185,11 @@ export default {
pageNum: 1,
pageSize: 10,
},
//获取子组件传来的信息
pic: [],
// 图片路径
imageUrl: undefined,
isEdit: false,
nowType: 0, // 0新增、1修改、2查看
uploadLoading: false,
loading: false,
......@@ -180,11 +213,23 @@ export default {
schoolAccessoryList: '',
},
rules: {}
teacherList: [],
rules: {},
nowType: 0, // 0新增、1编辑、2查看
}
},
watch: {
pic: {
handler(newValue, oldValue) {
console.log('watch----oldValue', oldValue)
console.log('watch----newValue', newValue)
this.isUploadPic = newValue[3]
}
}
},
mounted() {
this.getList();
this.getTeacher();
},
methods: {
//获取列表数据
......@@ -196,7 +241,10 @@ export default {
this.loading = false
})
},
//获取图片信息
getSchoolInfoPic(val) {
this.pic = val
},
// 移除图片
handleRemove() {
this.imageUrl = undefined
......@@ -286,15 +334,22 @@ export default {
Object.keys(this.form).forEach(key => {
if (response.data[key]) {
this.$set(this.form, key, response.data[key]);
}
})
}
})
}
this.dialogVisible = true;
},
//查询老师
getTeacher() {
getTeacher().then(response => {
this.loading = false;
this.teacherList = response.data;
this.dialogVisible = true;
});
},
/** 提交按钮 */
submitForm: function () {
......@@ -338,9 +393,7 @@ export default {
this.dialogVisible = false;
},
handleSelectionChange(val) {
this.isMultiple = val.length == 0 ? false : true
}
},
}
</script>
......
......@@ -24,7 +24,6 @@
</el-form>
<el-table v-loading="loading" :data="tableData" stripe>
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column fixed="left" label="序号" type="index" width="55" align="center" />
<el-table-column label="级部" align="center" prop="grade" />
<el-table-column label="实验名称" align="center" prop="experimentName" />
......@@ -64,7 +63,6 @@
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="getListtc">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuerytc">重置</el-button>
</el-form-item>
</el-form>
<el-table :data="ExperimentalData" border style="width: 100%">
......
......@@ -55,10 +55,17 @@
<el-dialog title="详细信息" :visible.sync="dialogTableVisible" width="60%">
<el-form :model="form" ref="form" size="small" :rules="rules" label-width="98px">
<el-row :gutter="30">
<el-col :span="10">
<el-form-item label="实验名称" prop="labName">
<el-input v-model="form.labName" placeholder="请输入" clearable
:disabled="nowType === 2"></el-input>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="学科" prop="labSub">
<el-select v-model="form.labSub" placeholder="请选择" clearable style="width: 100%;">
<el-select v-model="form.labSub" placeholder="请选择" clearable style="width: 100%;"
:disabled="nowType === 2">
<el-option v-for="(item, index) in subList" :key="index" :label="item.dictLabel"
:value="item.dictValue"></el-option>
</el-select>
......@@ -117,7 +124,7 @@
</el-select>
</el-form-item>
<el-form-item label="班级">
<el-input v-model="formlook.className" placeholder="请输入"></el-input>
<el-input v-model="formlook.className" placeholder="请输入" clearable></el-input>
</el-form-item>
<el-form-item label="开始时间" prop="startTime">
<el-date-picker v-model="formlook.startTime" type="date" placeholder="选择" value-format="yyyy-MM-dd"
......@@ -131,7 +138,6 @@
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="getListtc">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuerytc">重置</el-button>
</el-form-item>
</el-form>
<el-table :data="ExperimentalData" border style="width: 100%">
......@@ -147,8 +153,7 @@
<el-table-column align="center" prop="experimentClassify" label="实验分类" />
<el-table-column align="center" prop="experimentTime" label="实验时间" />
</el-table>
<pagination v-show="totaltc > 0" :total="totaltc" v-model="formlook.pageNum" :limit.sync="formlook.pageSize"
@pagination="getListtc" />
</el-dialog>
</div>
</template>
......@@ -237,7 +242,6 @@ export default {
//负责人下拉框
adminList: [],
total: 0,
totaltc: 0,
//级部
gradeList: [],
}
......@@ -298,7 +302,6 @@ export default {
console.log('实验', params);
getClassDetails(params).then(response => {
this.ExperimentalData = response.rows;
this.totaltc = response.total;
this.loading = false;
});
},
......
......@@ -8,7 +8,10 @@
</el-date-picker>
</el-form-item>
<el-form-item label="实验级部">
<el-input v-model="queryForm.gradeId" placeholder="请输入"></el-input>
<el-select v-model="queryForm.gradeId" placeholder="请选择级部" clearable>
<el-option v-for="(item, index) in gradeLists" :key="index" :label="item.gradeName"
:value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="申请老师">
<el-input v-model="queryForm.applyName" placeholder="请输入"></el-input>
......@@ -62,11 +65,14 @@
</el-table>
<!-- 查看实验室记录 -->
<el-dialog title="申请信息" :visible.sync="dialogTableVisible" width="50%">
<el-form :model="form" ref="form" size="small" label-width="100px">
<el-form :model="form" ref="form" size="small" label-width="100px" :disabled="isEdit">
<el-row :gutter="30">
<el-col :span="8">
<el-form-item label="学科">
<el-input v-model="form.sub" placeholder="请输入" clearable />
<el-form-item label="学科" prop="sub">
<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-col :span="8">
......@@ -104,8 +110,11 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="实验分类">
<el-input v-model="form.experimentClassify" placeholder="请输入" clearable />
<el-form-item label="实验分类" prop="experimentClassify">
<el-select v-model="form.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-col>
......@@ -156,52 +165,59 @@
<el-row :gutter="30">
<el-col :span="8">
<el-form-item label="实验名称">
<el-input v-model="form.experimentName" placeholder="请输入" clearable />
<el-input v-model="form.experimentName" placeholder="请输入" clearable :disabled="isEdit" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="章节内容">
<el-input v-model="form.chapterContent" placeholder="请输入" clearable />
<el-input v-model="form.chapterContent" placeholder="请输入" clearable :disabled="isEdit" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="实验分类">
<el-input v-model="form.experimentClassify" placeholder="请输入" clearable />
<el-form-item label="实验分类" prop="experimentClassify">
<el-select v-model="form.experimentClassify" placeholder="请选择" clearable :disabled="isEdit">
<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="30">
<el-col :span="8">
<el-form-item label="实验室">
<el-input v-model="form.labName" placeholder="请输入" clearable />
<el-input v-model="form.labName" placeholder="请输入" clearable :disabled="isEdit" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="学科">
<el-input v-model="form.sub" placeholder="请输入" clearable />
<el-form-item label="学科" prop="sub">
<el-select v-model="form.sub" placeholder="请选择" clearable style="width: 100%;"
:disabled="isEdit">
<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-col :span="8">
<el-form-item label="级部">
<el-input v-model="form.grade" placeholder="请输入" clearable />
<el-input v-model="form.grade" placeholder="请输入" clearable :disabled="isEdit" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="30">
<el-col :span="8">
<el-form-item label="班级">
<el-input v-model="form.className" placeholder="请输入" clearable />
<el-input v-model="form.className" placeholder="请输入" clearable :disabled="isEdit" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="学年">
<el-input v-model="form.schoolYearSemester" placeholder="请输入" clearable />
<el-input v-model="form.schoolYearSemester" placeholder="请输入" clearable :disabled="isEdit" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="实验时间">
<el-input v-model="form.experimentTime" placeholder="请输入" clearable />
<el-input v-model="form.experimentTime" placeholder="请输入" clearable :disabled="isEdit" />
</el-form-item>
</el-col>
......@@ -210,8 +226,8 @@
<el-row :gutter="30">
<el-col :span="24">
<el-form-item label="实验用品">
<el-input v-model="form.experimentUseGoods" type="textarea" placeholder="请输入"
clearable></el-input>
<el-input v-model="form.experimentUseGoods" type="textarea" placeholder="请输入" clearable
:disabled="isEdit"></el-input>
</el-form-item>
</el-col>
</el-row>
......@@ -232,6 +248,9 @@ import {
getTeacherxq,
updateState,
} from '@/api/smartSchool/laboratoryManagement/teacherApplication'
import {
getGradelist
} from '@/api/smartSchool/gradeWork/laboratoryManagement/classDetails'
export default {
name: 'index',
dicts: ['experiment_classify', 'lab_sub'],
......@@ -243,6 +262,7 @@ export default {
gradeId: "",
applyName: "",
},
gradeLists: [],
schoolAccessoryList: [],
baseUrl: process.env.VUE_APP_BASE_API,
//表格数据
......@@ -257,6 +277,7 @@ export default {
},
total: 0,
isEdit: false,
dialogTableVisible: false,
open: false,
fileList: [],
......@@ -264,6 +285,8 @@ export default {
},
created() {
this.getList();
this.getGradelist();
},
methods: {
//表单查询
......@@ -274,6 +297,14 @@ export default {
this.loading = false
})
},
//查询级部搜索
getGradelist() {
getGradelist().then(response => {
this.loading = false;
this.gradeLists = response.data;
});
},
//查看按钮操作
handleLook(row) {
......@@ -283,7 +314,8 @@ export default {
this.fileList = response.data.schoolAccessoryList;
console.log('this.schoolAccessoryList', this.schoolAccessoryList);
console.log('this.form', this.form);
this.loading = false
this.isEdit = true;
this.loading = false;
})
this.dialogTableVisible = true;
},
......@@ -302,6 +334,7 @@ export default {
getTeacherxq(id).then(response => {
this.form = response.data;
this.fileList = response.data.schoolAccessoryList;
this.isEdit = true;
console.log('this.schoolAccessoryList', this.schoolAccessoryList);
console.log('this.form', this.form);
this.loading = false
......
......@@ -7,8 +7,11 @@
:value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="级部">
<el-input v-model="queryForm.grade" placeholder="请输入级部" clearable></el-input>
<el-form-item label="实验级部">
<el-select v-model="queryForm.gradeId" placeholder="请选择级部" clearable>
<el-option v-for="(item, index) in gradeLists" :key="index" :label="item.gradeName"
:value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="实验名称">
<el-input v-model="queryForm.experimentName" placeholder="请输入实验名称" clearable></el-input>
......@@ -100,7 +103,8 @@
import {
getList,
getSemester,
getTeacherxq
getTeacherxq,
getGradelist
} from '@/api/smartSchool/laboratoryManagement/leadlaboratoryCompletion'
export default {
name: 'index',
......@@ -116,6 +120,7 @@ export default {
grade: "",
experimentName: "",
},
gradeLists: [],
//表格数据
tableData: [
......@@ -131,10 +136,6 @@ export default {
startTime: "",
endTime: "",
},
//实验分类下拉框
options: {
},
//弹窗
dialogTableVisible: false,
total: 0,
......@@ -143,6 +144,7 @@ export default {
created() {
this.getSemesterAndList();
this.getListtc();
this.getGradelist();
},
methods: {
......@@ -178,6 +180,15 @@ export default {
console.log(error);
});
},
//查询级部搜索
getGradelist() {
getGradelist().then(response => {
this.loading = false;
this.gradeLists = response.data;
console.log("this.gradeList", this.gradeList);
});
},
//查看按钮
handleLook(row) {
console.log(row);
......@@ -194,7 +205,6 @@ export default {
};
getTeacherxq(params).then(response => {
this.ExperimentalData = response.rows;
this.total = response.total;
this.loading = false;
}).catch(error => {
......
......@@ -34,7 +34,6 @@
<script>
import {
getList,
getTeacherxq,
getSemester
} from '@/api/smartSchool/laboratoryManagement/leadlaboratoryRecords'
export default {
......@@ -44,6 +43,7 @@ export default {
queryForm: {
pageNum: 1,
pageSize: 10,
semester: "",
schoolYear: "",
applyName: "",
},
......@@ -60,13 +60,20 @@ export default {
},
methods: {
async getSemesterAndList() {
await this.getSemester(); // 等待获取学年信息
this.getList(); // 获取默认数据
try {
await this.getSemester(); // 等待获取学年信息
this.getList(); // 获取默认数据
} catch (error) {
console.log(error);
// 处理错误情况
}
},
getList() {
const params = {
schoolYear: this.queryForm.schoolYear,
applyName: this.queryForm.applyName,
semester: this.queryForm.semester,
};
getList(params)
.then(response => {
......@@ -78,8 +85,10 @@ export default {
.catch(error => {
this.loading = false;
console.log(error);
// 处理错误情况
});
},
getSemester() {
return new Promise((resolve, reject) => {
getSemester()
......@@ -98,11 +107,13 @@ export default {
this.queryForm = {
pageNum: 1,
pageSize: 10,
semester: "",
schoolYear: "",
applyName: "",
};
this.getList();
},
}
},
}
......
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