|
@@ -2,113 +2,133 @@
|
|
<template>
|
|
<template>
|
|
<div class="app-container useLedger">
|
|
<div class="app-container useLedger">
|
|
<div class="page-container useLedger-page" v-if="pageType == 1">
|
|
<div class="page-container useLedger-page" v-if="pageType == 1">
|
|
- <div class="page-form-title-box">
|
|
|
|
|
|
+ <div class="page-form-title-box" :class="searchType ? 'searchType':''">
|
|
<el-form :model="queryParams" class="form-box" ref="queryForm"
|
|
<el-form :model="queryParams" class="form-box" ref="queryForm"
|
|
- :inline="true" style="width:100%;" label-width="90px">
|
|
|
|
- <el-form-item label="">
|
|
|
|
- <el-select style="width:140px;" v-model="queryParams.deptId" placeholder="请选择学院" clearable label-width="80px">
|
|
|
|
- <el-option
|
|
|
|
- v-for="dict in deptList"
|
|
|
|
- :key="dict.deptId"
|
|
|
|
- :label="dict.deptName"
|
|
|
|
- :value="dict.deptId"
|
|
|
|
- ></el-option>
|
|
|
|
- </el-select>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="">
|
|
|
|
- <el-select style="width:140px;" v-model="queryParams.deptId" placeholder="请选择楼栋楼层" clearable label-width="80px">
|
|
|
|
- <el-option
|
|
|
|
- v-for="dict in deptList"
|
|
|
|
- :key="dict.deptId"
|
|
|
|
- :label="dict.deptName"
|
|
|
|
- :value="dict.deptId"
|
|
|
|
- ></el-option>
|
|
|
|
- </el-select>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="">
|
|
|
|
- <el-select v-model="queryParams.state " clearable placeholder="级别" style="width: 140px">
|
|
|
|
- <el-option
|
|
|
|
- v-for="dict in options"
|
|
|
|
- :key="dict.value"
|
|
|
|
- :label="dict.label"
|
|
|
|
- :value="dict.value"
|
|
|
|
|
|
+ :inline="true" style="width:100%;">
|
|
|
|
+ <div>
|
|
|
|
+ <el-form-item label="关键字">
|
|
|
|
+ <el-input
|
|
|
|
+ maxLength="30"
|
|
|
|
+ v-model="queryParams.searchValue"
|
|
|
|
+ placeholder="化学品名/CAS/编码/实验室/房间号/姓名/联系方式"
|
|
|
|
+ style="width: 350px"
|
|
/>
|
|
/>
|
|
- </el-select>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="">
|
|
|
|
- <el-select v-model="queryParams.state " clearable placeholder="选择类别" style="width: 140px">
|
|
|
|
- <el-option
|
|
|
|
- v-for="dict in options"
|
|
|
|
- :key="dict.value"
|
|
|
|
- :label="dict.label"
|
|
|
|
- :value="dict.value"
|
|
|
|
- />
|
|
|
|
- </el-select>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="">
|
|
|
|
- <el-select v-model="queryParams.state " clearable placeholder="选择化学品柜" style="width: 140px">
|
|
|
|
- <el-option
|
|
|
|
- v-for="dict in options"
|
|
|
|
- :key="dict.value"
|
|
|
|
- :label="dict.label"
|
|
|
|
- :value="dict.value"
|
|
|
|
- />
|
|
|
|
- </el-select>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="">
|
|
|
|
- <el-date-picker
|
|
|
|
- v-model="queryParams.time"
|
|
|
|
- size="small"
|
|
|
|
- style="width: 140px"
|
|
|
|
- value-format="yyyy-MM-dd"
|
|
|
|
- type="date"
|
|
|
|
- placeholder="选择领用时间"
|
|
|
|
- ></el-date-picker>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="">
|
|
|
|
- <el-date-picker
|
|
|
|
- v-model="queryParams.time"
|
|
|
|
- size="small"
|
|
|
|
- style="width: 140px"
|
|
|
|
- value-format="yyyy-MM-dd"
|
|
|
|
- type="date"
|
|
|
|
- placeholder="选择归还时间"
|
|
|
|
- ></el-date-picker>
|
|
|
|
- </el-form-item>
|
|
|
|
-
|
|
|
|
- <el-form-item label="">
|
|
|
|
- <el-input
|
|
|
|
- maxLength="30"
|
|
|
|
- v-model="queryParams.searchValue"
|
|
|
|
- placeholder="化学品名/CAS/编码/实验室/房间号/姓名/联系方式"
|
|
|
|
- clearable
|
|
|
|
- style="width: 200px"
|
|
|
|
- />
|
|
|
|
- </el-form-item>
|
|
|
|
- <p class="page-inquire-common-style-button" @click="handleQuery">查询</p>
|
|
|
|
- <p class="page-reset-common-style-button" @click="resetQuery">重置</p>
|
|
|
|
- <el-form-item style="float: right;">
|
|
|
|
- <export-component :exportConfig="exportConfig" v-hasPermiRouter="['demo:demo:demo']"></export-component>
|
|
|
|
- </el-form-item>
|
|
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="学院">
|
|
|
|
+ <el-select style="width:180px;" v-model="queryParams.deptId" placeholder="请选择学院">
|
|
|
|
+ <el-option
|
|
|
|
+ v-for="dict in deptList"
|
|
|
|
+ :key="dict.deptId"
|
|
|
|
+ :label="dict.deptName"
|
|
|
|
+ :value="dict.deptId"
|
|
|
|
+ ></el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="楼栋楼层">
|
|
|
|
+ <el-cascader
|
|
|
|
+ style="width: 180px"
|
|
|
|
+ :props="{value: 'id', label: 'name',children:'buildFloorVoList'}"
|
|
|
|
+ v-model="queryParams.queryParamsData3"
|
|
|
|
+ :options="buildFloorOptions">
|
|
|
|
+ </el-cascader>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <p class="page-inquire-common-style-button" @click="handleQuery">查询</p>
|
|
|
|
+ <p class="page-reset-common-style-button" @click="resetQuery">重置</p>
|
|
|
|
+ <p class="page-add-common-style-button"
|
|
|
|
+ style="float: right;"
|
|
|
|
+ @click="searchToggle"
|
|
|
|
+ v-hasPermiRouter="['demo:demo:add']"
|
|
|
|
+ >{{searchType?'简单搜索':'高级搜索'}}</p>
|
|
|
|
+ <el-form-item style="float: right;">
|
|
|
|
+ <export-component :exportConfig="exportConfig" v-hasPermiRouter="['demo:demo:demo']"></export-component>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </div>
|
|
|
|
+ <div v-if="searchType">
|
|
|
|
+ <el-form-item label="级别">
|
|
|
|
+ <el-select v-model="queryParams.state " placeholder="级别" style="width: 180px">
|
|
|
|
+ <el-option
|
|
|
|
+ v-for="dict in levelOptions"
|
|
|
|
+ :key="dict.value"
|
|
|
|
+ :label="dict.label"
|
|
|
|
+ :value="dict.value"
|
|
|
|
+ />
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="类别">
|
|
|
|
+ <el-select v-model="queryParams.state " placeholder="选择类别" style="width: 180px">
|
|
|
|
+ <el-option
|
|
|
|
+ v-for="dict in categoryOptions"
|
|
|
|
+ :key="dict.value"
|
|
|
|
+ :label="dict.label"
|
|
|
|
+ :value="dict.value"
|
|
|
|
+ />
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="化学品柜">
|
|
|
|
+ <el-select v-model="queryParams.state " placeholder="选择化学品柜" style="width: 180px">
|
|
|
|
+ <el-option
|
|
|
|
+ v-for="dict in options"
|
|
|
|
+ :key="dict.value"
|
|
|
|
+ :label="dict.label"
|
|
|
|
+ :value="dict.value"
|
|
|
|
+ />
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="领用时间">
|
|
|
|
+ <el-date-picker
|
|
|
|
+ :clearable="false"
|
|
|
|
+ v-model="dateRangeA"
|
|
|
|
+ size="small"
|
|
|
|
+ style="width: 220px"
|
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
|
+ type="daterange"
|
|
|
|
+ range-separator="-"
|
|
|
|
+ start-placeholder="开始日期"
|
|
|
|
+ end-placeholder="结束日期"
|
|
|
|
+ ></el-date-picker>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="归还时间">
|
|
|
|
+ <el-date-picker
|
|
|
|
+ :clearable="false"
|
|
|
|
+ v-model="dateRangeB"
|
|
|
|
+ size="small"
|
|
|
|
+ style="width: 220px"
|
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
|
+ type="daterange"
|
|
|
|
+ range-separator="-"
|
|
|
|
+ start-placeholder="开始日期"
|
|
|
|
+ end-placeholder="结束日期"
|
|
|
|
+ ></el-date-picker>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </div>
|
|
</el-form>
|
|
</el-form>
|
|
</div>
|
|
</div>
|
|
<div class="page-content-box">
|
|
<div class="page-content-box">
|
|
- <el-table class="table-box" v-loading="loading" border :data="dataList" @selection-change="handleSelectionChange" ref="multipleTable">
|
|
|
|
- <el-table-column type="selection" width="50" align="center"/>
|
|
|
|
- <el-table-column label="化学品名称" align="left" prop="name" />
|
|
|
|
- <el-table-column label="编码" align="left" prop="name" />
|
|
|
|
- <el-table-column label="CAS" align="left" prop="name" />
|
|
|
|
- <el-table-column label="类别" align="left" prop="name" />
|
|
|
|
- <el-table-column label="级别" align="left" prop="name" />
|
|
|
|
- <el-table-column label="实验室" align="left" prop="name" />
|
|
|
|
- <el-table-column label="安全员" align="left" prop="name" />
|
|
|
|
- <el-table-column label="位置" align="left" prop="name" />
|
|
|
|
- <el-table-column label="领用人" align="left" prop="name" />
|
|
|
|
- <el-table-column label="领用时间" align="left" prop="name" />
|
|
|
|
- <el-table-column label="领用量" align="left" prop="name" />
|
|
|
|
- <el-table-column label="归还时间" align="left" prop="name" />
|
|
|
|
- <el-table-column label="操作人" align="left" prop="name" />
|
|
|
|
- <el-table-column label="操作" align="left" class-name="small-padding fixed-width">
|
|
|
|
|
|
+ <el-table class="table-box" v-loading="loading" border :data="dataList"
|
|
|
|
+ @selection-change="handleSelectionChange" ref="multipleTable" :row-key="getRowKeys">
|
|
|
|
+ <el-table-column type="selection" width="50" fixed :reserve-selection="true" align="center"/>
|
|
|
|
+ <el-table-column label="化学品名称" align="left" fixed width="250" prop="name" />
|
|
|
|
+ <el-table-column label="编码" align="left" width="150" prop="name" />
|
|
|
|
+ <el-table-column label="CAS" align="left" width="150" prop="name" />
|
|
|
|
+ <el-table-column label="类别" align="left" width="160" prop="name" />
|
|
|
|
+ <el-table-column label="级别" align="left" width="100" prop="name" />
|
|
|
|
+ <el-table-column label="实验室" align="left" width="200" prop="name" />
|
|
|
|
+ <el-table-column label="安全员" align="left" width="150" prop="name" />
|
|
|
|
+ <el-table-column label="位置" align="left" width="230" prop="name" />
|
|
|
|
+ <el-table-column label="领用人" align="left" width="100" prop="name" />
|
|
|
|
+ <el-table-column label="领用时间" align="left" width="200" prop="createTime">
|
|
|
|
+ <template slot-scope="scope">
|
|
|
|
+ <span>{{ parseTime(scope.row.createTime) }}</span>
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column label="领用量" align="left" width="100" prop="name" />
|
|
|
|
+ <el-table-column label="归还时间" align="left" width="200" prop="name">
|
|
|
|
+ <template slot-scope="scope">
|
|
|
|
+ <span>{{ parseTime(scope.row.createTime) }}</span>
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column label="操作人" align="left" width="100" prop="name" />
|
|
|
|
+ <el-table-column label="操作" align="left" width="100" class-name="small-padding fixed-width">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
<div class="table-button-box">
|
|
<div class="table-button-box">
|
|
<p class="table-button-null"></p>
|
|
<p class="table-button-null"></p>
|
|
@@ -137,7 +157,7 @@
|
|
import exportComponent from "@/components/exportComponent/exportComponent.vue";
|
|
import exportComponent from "@/components/exportComponent/exportComponent.vue";
|
|
import { iotTypeList,iotTypeDetail,iotTypeAdd,iotTypeUpdate,iotTypeDelete } from "@/api/iotDevice/index";
|
|
import { iotTypeList,iotTypeDetail,iotTypeAdd,iotTypeUpdate,iotTypeDelete } from "@/api/iotDevice/index";
|
|
import infoPage from "./infoPage.vue"
|
|
import infoPage from "./infoPage.vue"
|
|
- import {listDepartments} from "@/api/commonality/noPermission";
|
|
|
|
|
|
+ import { getDeptDropList,systemBuildingGetTreeList,} from "@/api/commonality/permission";
|
|
export default {
|
|
export default {
|
|
name: 'index',
|
|
name: 'index',
|
|
components: {
|
|
components: {
|
|
@@ -148,8 +168,19 @@
|
|
data(){
|
|
data(){
|
|
return{
|
|
return{
|
|
loading:false,
|
|
loading:false,
|
|
- pageType:1,
|
|
|
|
- options:[{label:'启用',value:true},{label:'停用',value:false}],
|
|
|
|
|
|
+ pageType:2,
|
|
|
|
+ //学院
|
|
|
|
+ deptList:[],
|
|
|
|
+ //楼栋楼层
|
|
|
|
+ buildFloorOptions:[],
|
|
|
|
+ //级别
|
|
|
|
+ levelOptions:[],
|
|
|
|
+ //类别
|
|
|
|
+ categoryOptions:[],
|
|
|
|
+ options:[],
|
|
|
|
+ dateRangeA:[],
|
|
|
|
+ dateRangeB:[],
|
|
|
|
+ //查询条件
|
|
queryParams:{
|
|
queryParams:{
|
|
page:1,
|
|
page:1,
|
|
pageSize:20,
|
|
pageSize:20,
|
|
@@ -159,24 +190,31 @@
|
|
},
|
|
},
|
|
dataList:[{}],
|
|
dataList:[{}],
|
|
total:0,
|
|
total:0,
|
|
- deptList:[],
|
|
|
|
//组件传参
|
|
//组件传参
|
|
propsData:{},
|
|
propsData:{},
|
|
|
|
+ //导出配置
|
|
exportConfig:{
|
|
exportConfig:{
|
|
api:'system/user/student/export', //导出接口地址
|
|
api:'system/user/student/export', //导出接口地址
|
|
ids:'', //勾选导出,勾选的IDS
|
|
ids:'', //勾选导出,勾选的IDS
|
|
fileName:'导出文件名', //导出文件的命名
|
|
fileName:'导出文件名', //导出文件的命名
|
|
},
|
|
},
|
|
|
|
+ //搜索状态开关
|
|
|
|
+ searchType:false,
|
|
}
|
|
}
|
|
},
|
|
},
|
|
created(){
|
|
created(){
|
|
|
|
|
|
},
|
|
},
|
|
mounted(){
|
|
mounted(){
|
|
|
|
+ this.getDeptDropList();
|
|
|
|
+ this.systemBuildingGetTreeList();
|
|
//this.getList();
|
|
//this.getList();
|
|
- //this.listDepartments();
|
|
|
|
},
|
|
},
|
|
methods:{
|
|
methods:{
|
|
|
|
+ //搜索切换状态
|
|
|
|
+ searchToggle(){
|
|
|
|
+ this.$set(this,'searchType',!this.searchType);
|
|
|
|
+ },
|
|
/** 搜索按钮操作 */
|
|
/** 搜索按钮操作 */
|
|
handleQuery() {
|
|
handleQuery() {
|
|
this.queryParams.pageNum = 1;
|
|
this.queryParams.pageNum = 1;
|
|
@@ -225,12 +263,6 @@
|
|
this.single = selection.length != 1;
|
|
this.single = selection.length != 1;
|
|
this.multiple = !selection.length;
|
|
this.multiple = !selection.length;
|
|
},
|
|
},
|
|
- //获取学院
|
|
|
|
- listDepartments(){
|
|
|
|
- listDepartments().then(response => {
|
|
|
|
- this.deptList = response.data;
|
|
|
|
- });
|
|
|
|
- },
|
|
|
|
//获取数据列表
|
|
//获取数据列表
|
|
getList(){
|
|
getList(){
|
|
this.$set(this,'loading',true);
|
|
this.$set(this,'loading',true);
|
|
@@ -250,6 +282,55 @@
|
|
this.$set(this,'pageType',1);
|
|
this.$set(this,'pageType',1);
|
|
}
|
|
}
|
|
},
|
|
},
|
|
|
|
+ //查询学院列表
|
|
|
|
+ getDeptDropList(){
|
|
|
|
+ getDeptDropList({deptName:"",level:2,deptType:1}).then(response => {
|
|
|
|
+ this.$set(this, 'deptOptions', response.data)
|
|
|
|
+ });
|
|
|
|
+ },
|
|
|
|
+ //查询楼栋楼层
|
|
|
|
+ systemBuildingGetTreeList(){
|
|
|
|
+ systemBuildingGetTreeList({}).then(response => {
|
|
|
|
+ if (response.data[0]) {
|
|
|
|
+ let list = this.forBuildFloor(response.data);
|
|
|
|
+ let newList = [];
|
|
|
|
+ for(let i=0;i<list.length;i++){
|
|
|
|
+ if(list[i].buildFloorVoList){
|
|
|
|
+ for(let o=0;o<list[i].buildFloorVoList.length;o++){
|
|
|
|
+ if(list[i].buildFloorVoList[o].buildFloorVoList){
|
|
|
|
+ newList.push(list[i].buildFloorVoList[o])
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ console.log('newList========>',newList);
|
|
|
|
+ this.$set(this, 'buildFloorOptions', newList)
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ //处理楼栋楼层数据
|
|
|
|
+ forBuildFloor(list){
|
|
|
|
+ let self = this;
|
|
|
|
+ for(let i=0;i<list.length;i++){
|
|
|
|
+ if(list[i].buildFloorVoList){
|
|
|
|
+ if(list[i].buildFloorVoList[0]){
|
|
|
|
+ list[i].buildFloorVoList = self.forBuildFloor(list[i].buildFloorVoList);
|
|
|
|
+ }else{
|
|
|
|
+ delete list[i].buildFloorVoList;
|
|
|
|
+ }
|
|
|
|
+ }else{
|
|
|
|
+ delete list[i].buildFloorVoList;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return list
|
|
|
|
+ },
|
|
|
|
+ /*===记录勾选数据===
|
|
|
|
+ 需要再el-table 添加 :row-key="getRowKeys"
|
|
|
|
+ 需要在selection 添加 :reserve-selection="true"
|
|
|
|
+ */
|
|
|
|
+ getRowKeys(row) {
|
|
|
|
+ return row.id
|
|
|
|
+ },
|
|
},
|
|
},
|
|
}
|
|
}
|
|
</script>
|
|
</script>
|
|
@@ -258,7 +339,9 @@
|
|
|
|
|
|
.useLedger{
|
|
.useLedger{
|
|
.useLedger-page{
|
|
.useLedger-page{
|
|
-
|
|
|
|
|
|
+ .searchType{
|
|
|
|
+ height:140px;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</style>
|
|
</style>
|