dedsudiyu 2 år sedan
förälder
incheckning
194c61dd87
20 ändrade filer med 465 tillägg och 211 borttagningar
  1. 17 1
      src/views/comprehensive/laboratoryManagement/subject/deviceList.vue
  2. 3 5
      src/views/medicUniversity-3_1/chemicalManagement/chemicalLibrary/CabinetManagement/smartLock.vue
  3. 36 9
      src/views/medicUniversity-3_1/chemicalManagement/chemicalLibrary/ChemicalInfo/addPage.vue
  4. 88 40
      src/views/medicUniversity-3_1/chemicalManagement/chemicalLibrary/ChemicalInfo/listPage.vue
  5. 21 11
      src/views/medicUniversity-3_1/chemicalManagement/chemicalProcurement/approvalProcess/index.vue
  6. 9 1
      src/views/medicUniversity-3_1/chemicalManagement/chemicalProcurement/purchaseRequisition/addPage.vue
  7. 13 10
      src/views/medicUniversity-3_1/chemicalManagement/chemicalProcurement/purchaseRequisition/approvalPage.vue
  8. 4 2
      src/views/medicUniversity-3_1/chemicalManagement/chemicalProcurement/purchaseRequisition/draftPage.vue
  9. 17 5
      src/views/medicUniversity-3_1/chemicalManagement/chemicalProcurement/purchaseRequisition/editPage.vue
  10. 4 1
      src/views/medicUniversity-3_1/chemicalManagement/chemicalProcurement/purchaseRequisition/index.vue
  11. 40 21
      src/views/medicUniversity-3_1/chemicalManagement/chemicalProcurement/purchaseRequisition/listPage.vue
  12. 4 3
      src/views/medicUniversity-3_1/chemicalManagement/deviceManagement/smartLocker/index.vue
  13. 122 46
      src/views/studentViews/chemicalManagement/studentChemicalInfo/addPage.vue
  14. 4 18
      src/views/studentViews/chemicalManagement/studentChemicalInfo/index.vue
  15. 9 1
      src/views/studentViews/chemicalManagement/studentPurchaseRequisition/addPage.vue
  16. 10 6
      src/views/studentViews/chemicalManagement/studentPurchaseRequisition/approvalPage.vue
  17. 4 2
      src/views/studentViews/chemicalManagement/studentPurchaseRequisition/draftPage.vue
  18. 17 5
      src/views/studentViews/chemicalManagement/studentPurchaseRequisition/editPage.vue
  19. 4 1
      src/views/studentViews/chemicalManagement/studentPurchaseRequisition/index.vue
  20. 39 23
      src/views/studentViews/chemicalManagement/studentPurchaseRequisition/listPage.vue

+ 17 - 1
src/views/comprehensive/laboratoryManagement/subject/deviceList.vue

@@ -90,7 +90,7 @@
         </div>
         <p class="add-for-p-two" @click="addData(4)"><i class="el-icon-plus"></i>添加摄像头</p>
       </div>
-      <el-dialog :title="title" :visible.sync="addType" width="500px" append-to-body>
+      <el-dialog :title="title" :visible.sync="addType" v-if="addType" width="500px" append-to-body>
         <el-form ref="form" :model="form" :rules="rules" label-width="110px">
           <div v-if="upType == 1 || upType == 5">
             <el-form-item label="传感器类型" prop="type">
@@ -499,12 +499,28 @@ import { getSensorList } from "@/api/laboratory/sensor";
             });
           }else if(type == 2){
             this.title = '新增一体机';
+            this.$set(this,'form',{
+              name:"",
+              pcType:"",
+              hardwareNum:"",
+            });
           }else if(type == 3){
             this.title = '新增控制设备';
             this.form.hardwareType = 1;
             this.disabledType = false;
+            this.$set(this,'form',{
+              type:"",
+              hardwareType:"",
+              relayCode:"",
+              bit:"",
+              configName:"",
+              configStatus:"",
+            });
           }else if(type == 4){
             this.title = '新增摄像头';
+            this.$set(this,'form',{
+              hardwareNum:"",
+            });
           }
           this.addType = true;
           this.upType = type;

+ 3 - 5
src/views/medicUniversity-3_1/chemicalManagement/chemicalLibrary/CabinetManagement/smartLock.vue

@@ -44,11 +44,9 @@
           <el-table-column label="智能柜锁编号" align="center" prop="hardwareNum"/>
           <el-table-column label="柜锁名称" align="center" prop="name" width="150"/>
           <el-table-column label="位置" align="center" prop="posi" width="400"/>
-          <el-table-column label="设备状态" align="center" prop="status" width="100">
-            <template slot-scope="scope">{{scope.row.status == 3||scope.row.status == 4?'在线':'离线'}}</template>
-          </el-table-column>
-          <!--<el-table-column label="操作最大时长" align="center" prop="operateTime" width="120">-->
-            <!--<template slot-scope="scope">{{scope.row.operateTime?scope.row.operateTime+'分钟':''}}</template>-->
+          <!--sass后放开-->
+          <!--<el-table-column label="设备状态" align="center" prop="status" width="100">-->
+            <!--<template slot-scope="scope">{{scope.row.status == 3||scope.row.status == 4?'在线':'离线'}}</template>-->
           <!--</el-table-column>-->
           <el-table-column label="关联时间" align="center" prop="joinCabinetTime" width="160"/>
           <el-table-column label="操作人" align="center" prop="createBy" width="120"/>

+ 36 - 9
src/views/medicUniversity-3_1/chemicalManagement/chemicalLibrary/ChemicalInfo/addPage.vue

@@ -48,11 +48,10 @@
             <el-input-number
               :precision="2"
               :step="0.01" :max="10000"
-              style="width:220px;"
+              style="width:210px;"
               v-model="formData.criticality"
               placeholder="请输入临界量"
-              clearable
-              size="small"/>
+              clearable/>
           </el-form-item>
         </div>
         <div class="form-min-box">
@@ -84,17 +83,19 @@
             </el-select>
           </el-form-item>
           <el-form-item label="单位:" prop="chemicalUnit" label-width="100px">
-            <el-select v-model="formData.chemicalUnit" clearable placeholder="请选择单位" style="width:220px;">
+            <el-select v-model="formData.chemicalUnit" clearable placeholder="请选择单位" style="width:210px;">
               <el-option label="g" value="g"></el-option>
             </el-select>
           </el-form-item>
         </div>
-        <div class="form-el-checkbox-group">
+        <div class="form-el-checkbox-group" style="max-width:1380px;">
           <el-form-item label="属性:" prop="classifyAttribute">
-            <el-checkbox-group v-model="formData.classifyAttribute" style="margin-top:2px;flex:1;">
-              <el-checkbox v-for="item in optionsListTwo" :label="item.dictValue"
-                           :key="item.dictValue">{{item.dictLabel}}</el-checkbox>
-            </el-checkbox-group>
+            <div style="padding:10px 20px 4px; border:1px solid #dedede;">
+              <el-checkbox-group v-model="formData.classifyAttribute" style="margin-top:2px;flex:1;">
+                <el-checkbox v-for="item in optionsListTwo" :label="item.dictValue"
+                             :key="item.dictValue">{{item.dictLabel}}</el-checkbox>
+              </el-checkbox-group>
+            </div>
           </el-form-item>
         </div>
         <!--<div class="form-min-box">-->
@@ -396,4 +397,30 @@
       }
     }
   }
+  .num-input-item{
+    .num-input-min-box{
+      display: flex;
+      .el-input-number__increase{
+        display: none;
+      }
+      .el-input-number__decrease{
+        display: none;
+      }
+      input{
+        padding:0 20px!important;
+        border-top-right-radius: 0;
+        border-bottom-right-radius: 0;
+      }
+      .num-title-span{
+        display: inline-block;
+        width:40px;
+        height:40px;
+        text-align: center;
+        border: 1px solid #DCDFE6;
+        border-left:none;
+        border-top-right-radius: 4px;
+        border-bottom-right-radius: 4px;
+      }
+    }
+  }
 </style>

+ 88 - 40
src/views/medicUniversity-3_1/chemicalManagement/chemicalLibrary/ChemicalInfo/listPage.vue

@@ -112,27 +112,51 @@
                   <p @click="addList(index,bigIndex)">+添加</p>
                 </div>
                 <div class="for-min-box" v-for="(minItem,minIndex) in bigItem.list">
-                  <el-form-item label="容器容量规格" label-width="120px" :prop="'maxList.'+ index +'.chemicalJoinCabinetSonList.'+bigIndex+'.list.'+minIndex+'.chemicalAmount'" :rules="rules.chemicalAmount">
-                    <el-input
-                      style="width:150px;"
-                      maxlength="5"
-                      onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')"
-                      v-model="minItem.chemicalAmount"
-                      placeholder="请输入"
-                      size="small">
-                      <template slot="append">g</template>
-                    </el-input>
+                  <el-form-item class="num-input-item" label="容器容量规格" label-width="120px" :prop="'maxList.'+ index +'.chemicalJoinCabinetSonList.'+bigIndex+'.list.'+minIndex+'.chemicalAmount'" :rules="rules.chemicalAmount">
+                    <!--<el-input-->
+                      <!--style="width:150px;"-->
+                      <!--maxlength="5"-->
+                      <!--onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')"-->
+                      <!--v-model="minItem.chemicalAmount"-->
+                      <!--placeholder="请输入"-->
+                      <!--size="small">-->
+                      <!--<template slot="append">g</template>-->
+                    <!--</el-input>-->
+                    <div class="num-input-min-box">
+                      <el-input-number
+                        style="width:110px;"
+                        min=""
+                        :max="1000"
+                        :precision="2"
+                        :step="0.01"
+                        v-model="minItem.chemicalAmount"
+                        placeholder="请输入">
+                      </el-input-number>
+                      <p class="num-title-span">g</p>
+                    </div>
                   </el-form-item>
-                  <el-form-item label="容器重量规格" label-width="120px" :prop="'maxList.'+ index +'.chemicalJoinCabinetSonList.'+bigIndex+'.list.'+minIndex+'.tare'" :rules="rules.tare">
-                    <el-input
-                      style="width:150px;"
-                      maxlength="5"
-                      onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')"
-                      v-model="minItem.tare"
-                      placeholder="请输入"
-                      size="small">
-                      <template slot="append">g</template>
-                    </el-input>
+                  <el-form-item class="num-input-item" label="容器重量规格" label-width="120px" :prop="'maxList.'+ index +'.chemicalJoinCabinetSonList.'+bigIndex+'.list.'+minIndex+'.tare'" :rules="rules.tare">
+                    <!--<el-input-->
+                      <!--style="width:150px;"-->
+                      <!--maxlength="5"-->
+                      <!--onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')"-->
+                      <!--v-model="minItem.tare"-->
+                      <!--placeholder="请输入"-->
+                      <!--size="small">-->
+                      <!--<template slot="append">g</template>-->
+                    <!--</el-input>-->
+                    <div class="num-input-min-box">
+                      <el-input-number
+                        style="width:110px;"
+                        min=""
+                        :max="9999"
+                        :precision="2"
+                        :step="0.01"
+                        v-model="minItem.tare"
+                        placeholder="请输入">
+                      </el-input-number>
+                      <p class="num-title-span">g</p>
+                    </div>
                   </el-form-item>
                   <el-form-item label="存放数量" label-width="90px" :prop="'maxList.'+ index +'.chemicalJoinCabinetSonList.'+bigIndex+'.list.'+minIndex+'.storageNum'" :rules="rules.storageNum" class="el-form-item-button-box">
                     <el-input-number
@@ -163,27 +187,51 @@
                   <p @click="addList(index)">+添加</p>
                 </div>
                 <div class="for-min-box" v-for="(bigItem,bigIndex) in item.list">
-                  <el-form-item label="容器容量规格" label-width="120px" :prop="'maxList.'+ index +'.list.'+ bigIndex+'.chemicalAmount'" :rules="rules.chemicalAmount">
-                    <el-input
-                      style="width:150px;"
-                      maxlength="5"
-                      onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')"
-                      v-model="bigItem.chemicalAmount"
-                      placeholder="请输入"
-                      size="small">
-                      <template slot="append">g</template>
-                    </el-input>
+                  <el-form-item class="num-input-item" label="容器容量规格" label-width="120px" :prop="'maxList.'+ index +'.list.'+ bigIndex+'.chemicalAmount'" :rules="rules.chemicalAmount">
+                    <!--<el-input-->
+                      <!--style="width:150px;"-->
+                      <!--maxlength="5"-->
+                      <!--onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')"-->
+                      <!--v-model="bigItem.chemicalAmount"-->
+                      <!--placeholder="请输入"-->
+                      <!--size="small">-->
+                      <!--<template slot="append">g</template>-->
+                    <!--</el-input>-->
+                    <div class="num-input-min-box">
+                      <el-input-number
+                        style="width:110px;"
+                        min=""
+                        :max="1000"
+                        :precision="2"
+                        :step="0.01"
+                        v-model="bigItem.chemicalAmount"
+                        placeholder="请输入">
+                      </el-input-number>
+                      <p class="num-title-span">g</p>
+                    </div>
                   </el-form-item>
-                  <el-form-item label="容器重量规格" label-width="120px" :prop="'maxList.'+ index +'.list.'+ bigIndex+'.tare'" :rules="rules.tare">
-                    <el-input
-                      style="width:150px;"
-                      maxlength="5"
-                      onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')"
-                      v-model="bigItem.tare"
-                      placeholder="请输入"
-                      size="small">
-                      <template slot="append">g</template>
-                    </el-input>
+                  <el-form-item class="num-input-item" label="容器重量规格" label-width="120px" :prop="'maxList.'+ index +'.list.'+ bigIndex+'.tare'" :rules="rules.tare">
+                    <!--<el-input-->
+                      <!--style="width:150px;"-->
+                      <!--maxlength="5"-->
+                      <!--onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')"-->
+                      <!--v-model="bigItem.tare"-->
+                      <!--placeholder="请输入"-->
+                      <!--size="small">-->
+                      <!--<template slot="append">g</template>-->
+                    <!--</el-input>-->
+                    <div class="num-input-min-box">
+                      <el-input-number
+                        style="width:110px;"
+                        min=""
+                        :max="9999"
+                        :precision="2"
+                        :step="0.01"
+                        v-model="bigItem.tare"
+                        placeholder="请输入">
+                      </el-input-number>
+                      <p class="num-title-span">g</p>
+                    </div>
                   </el-form-item>
                   <el-form-item label="存放数量" label-width="90px" :prop="'maxList.'+ index +'.list.'+ bigIndex+'.storageNum'" :rules="rules.storageNum" class="el-form-item-button-box">
                     <el-input-number

+ 21 - 11
src/views/medicUniversity-3_1/chemicalManagement/chemicalProcurement/approvalProcess/index.vue

@@ -24,7 +24,7 @@
           <div class="process-text-box">
             <img src="@/assets/ZDimages/medicUniversity-3_1/icon_splc_fqr.png">
             <p>审批人</p>
-            <i class="el-icon-close" @click="listDelButton"></i>
+            <i class="el-icon-close" @click="listDelButton(index)"></i>
           </div>
           <div class="process-name-box" @click="openDialogButton(index)">
             <p class="process-name-p">{{!item.actAudituserInfo[0]?'请选择审批人':(item.actAudituserInfo[0]&&!item.actAudituserInfo[1]?item.actAudituserInfo[0].nickName:(item.actAudituserInfo[1]?'已选择'+item.actAudituserInfo.length+'人':''))}}</p>
@@ -95,10 +95,11 @@
           <pagination :page-sizes="[20, 30, 40, 50]"
             v-show="total>0"
             :total="total"
+            :pager-count="5"
             layout="total, prev, pager, next"
             :page.sync="queryParams.pageNum"
             :limit.sync="queryParams.pageSize"
-            @pagination="getUserList"
+            @pagination="getUserList()"
           />
         </div>
         <div class="radio-box">
@@ -157,7 +158,8 @@
           pageSize:20,
         },
         //数据数量
-        total:20,
+        total:0,
+        deptId:"",
       }
     },
     created() {
@@ -170,6 +172,10 @@
       //提交
       submitForm(){
         let self = this;
+        if(!this.dataList[0]){
+          this.msgError('至少添加一个审批流程')
+          return
+        }
         self.$confirm('确认要提交吗?', "警告", {
           confirmButtonText: "确定",
           cancelButtonText: "取消",
@@ -251,7 +257,9 @@
       titleClick(index){
         let self = this;
         this.getCatalogListOne(this.titleList[index].id);
-        this.getUserList(this.titleList[index].id);
+        this.$set(this.queryParams,'pageNum',1);
+        this.$set(this,'deptId',this.titleList[index].id);
+        this.getUserList();
         let list = [];
         let data = JSON.parse(JSON.stringify(self.titleList))
         for(let i=index;i>=0;i--){
@@ -263,7 +271,9 @@
       deptClick(item){
         this.titleList.push(item);
         this.getCatalogListOne(item.id);
-        this.getUserList(item.id);
+        this.$set(this.queryParams,'pageNum',1);
+        this.$set(this,'deptId',item.id);
+        this.getUserList();
       },
       // 查询目录
       getCatalogListOne(id){
@@ -279,26 +289,26 @@
         });
       },
       // 查询人员列表
-      getUserList(deptId){
+      getUserList(){
         this.queryParamsData = JSON.parse(JSON.stringify(this.queryParams));
-        this.queryParamsData.deptId = deptId;
+        this.queryParamsData.deptId = this.deptId;
         listUser(this.queryParamsData).then(response => {
           this.userList = response.rows;
+          this.total = response.total;
           this.checkDataProcess();
         });
       },
       handleQuery() {
-        this.queryParamsData.pageNum = 1;
-        this.queryParamsData.pageSize = 20;
+        this.$set(this.queryParamsData,'pageNum',1);
         this.queryParams = JSON.parse(JSON.stringify(this.queryParamsData));
-        this.getUserList("");
-        this.getCatalogList("");
+        this.getUserList();
       },
       // 编辑人员页面开启
       openDialogButton(index){
         let self = this;
         this.$set(this.queryParamsData,'nickName',"");
         this.$set(this.queryParams,'nickName',"");
+        this.$set(this,'deptId',"");
         this.getCatalogList("");
         this.getUserList("");
         this.$set(this,'userDialogRightList',JSON.parse(JSON.stringify(this.dataList[index])));

+ 9 - 1
src/views/medicUniversity-3_1/chemicalManagement/chemicalProcurement/purchaseRequisition/addPage.vue

@@ -109,6 +109,13 @@
       multipleTableList:{},
     },
     data(){
+      const nonZero = (rule, value, callback) => {
+        if(value<=0){
+          callback(new Error("请输入本次申购量"));
+        }else{
+          callback();
+        }
+      };
       return{
         loading:false,
         formData:{
@@ -131,7 +138,8 @@
           ],
           applyNum:[
             { required: true, message: '请输入本次申购量', trigger: 'blur' },
-            { required: true, message: "请输入本次申购量", validator: this.spaceJudgment, trigger: "blur" }
+            { required: true, message: "请输入本次申购量", validator: this.spaceJudgment, trigger: "blur" },
+            { required: true, message: "请输入本次申购量", validator: nonZero, trigger: "blur" },
           ],
         },
         //实验室列表

+ 13 - 10
src/views/medicUniversity-3_1/chemicalManagement/chemicalProcurement/purchaseRequisition/approvalPage.vue

@@ -3,7 +3,7 @@
     <div class="approvalPage-min" v-if="pageType == 1">
       <div class="title-box">
         <p>化学品申购</p>
-        <p class="reset-button-one button-p" @click="backPage">返回</p>
+        <p class="reset-button-one button-p" @click="backPage(0)">返回</p>
         <!--已拒绝/已撤销时显示-->
         <p class="inquire-button-one button-p" v-if="(dataInfo.approvalStatus==2||dataInfo.approvalStatus==3)&&approvalPagePropsData.myDataType==1" @click="goEditPage">编辑</p>
       </div>
@@ -329,7 +329,7 @@
           };
           approvalTask(obj).then(response => {
             this.msgSuccess(response.msg);
-            this.backPage();
+            this.backPage(1);
           });
         }).catch(() => {})
       },
@@ -350,7 +350,7 @@
         //   };
         // approvalRefuse(obj).then(response => {
         //   this.msgSuccess(response.msg);
-        //   this.backPage();
+        //   this.backPage(1);
         // });
         // }).catch(() => {})
         let obj = {
@@ -359,7 +359,7 @@
         };
         approvalRefuse(obj).then(response => {
           this.msgSuccess(response.msg);
-          this.backPage();
+          this.backPage(1);
         });
       },
       //获取审批详情
@@ -597,8 +597,12 @@
         }
       },
       //返回
-      backPage(){
-        this.$parent.pageToggle(1);
+      backPage(type){
+        if(type == 0){
+          this.$parent.pageToggle(0);
+        }else if(type == 1){
+          this.$parent.pageToggle(1);
+        }
       },
       goEditPage(){
         let obj = {
@@ -657,15 +661,14 @@
           }
           //属性列表
           let list = response.data.classifyAttribute.split(',');
-          console.log("list",list);
           let newText = '';
           for(let o=0;o<list.length;o++){
             for(let i=0;i<self.optionsListTwo.length;i++){
-              if(list[o] == self.optionsList[i].dictValue){
+              if(list[o] == self.optionsListTwo[i].dictValue){
                 if(o == 0){
-                  newText = self.optionsList[i].dictLabel
+                  newText = self.optionsListTwo[i].dictLabel
                 }else{
-                  newText = newText + ',' +self.optionsList[i].dictLabel
+                  newText = newText + ',' +self.optionsListTwo[i].dictLabel
                 }
               }
             }

+ 4 - 2
src/views/medicUniversity-3_1/chemicalManagement/chemicalProcurement/purchaseRequisition/draftPage.vue

@@ -114,7 +114,9 @@
     methods: {
       //编辑页面
       pageToggle(type,id){
-        if(type == 1){
+        if(type == 0){
+          this.pageType = 1;
+        }else if(type == 1){
           this.pageType = 1;
           this.resetQuery();
         }else if(type == 2){
@@ -210,7 +212,7 @@
       },
       //返回
       backPage(){
-        this.$parent.pageToggle(1);
+        this.$parent.pageToggle(0);
       },
     }
   }

+ 17 - 5
src/views/medicUniversity-3_1/chemicalManagement/chemicalProcurement/purchaseRequisition/editPage.vue

@@ -4,7 +4,7 @@
     <div class="editPage-min" v-if="pageType == 1">
       <div class="title-box">
         <p>化学品申购</p>
-        <p class="reset-button-one" @click="backPage"><i class="el-icon-arrow-left"></i>返回</p>
+        <p class="reset-button-one" @click="backPage(0)"><i class="el-icon-arrow-left"></i>返回</p>
       </div>
       <div class="page-max-box scrollbar-box">
         <el-form :model="formData" ref="form" :inline="true" :rules="rules">
@@ -115,6 +115,13 @@
       editPagePropsData:{},
     },
     data(){
+      const nonZero = (rule, value, callback) => {
+        if(value<=0){
+          callback(new Error("请输入本次申购量"));
+        }else{
+          callback();
+        }
+      };
       return{
         pageType:1,
         loading:false,
@@ -138,7 +145,8 @@
           ],
           applyNum:[
             { required: true, message: '请输入本次申购量', trigger: 'blur' },
-            { required: true, message: "请输入本次申购量", validator: this.spaceJudgment, trigger: "blur" }
+            { required: true, message: "请输入本次申购量", validator: this.spaceJudgment, trigger: "blur" },
+            { required: true, message: "请输入本次申购量", validator: nonZero, trigger: "blur" },
           ],
         },
         //实验室列表
@@ -248,7 +256,7 @@
               }
               addHxpapply(upObj).then(response => {
                 self.msgSuccess(response.msg);
-                self.backPage();
+                self.backPage(1);
               });
             }).then(() => {
             }).catch(() => {});
@@ -256,8 +264,12 @@
         })
       },
       //返回
-      backPage(){
-        this.$parent.pageToggle(1);
+      backPage(type){
+        if(type == 0){
+          this.$parent.pageToggle(0);
+        }else if(type == 1){
+          this.$parent.pageToggle(1);
+        }
       },
       // 机柜选中
       selectCabinet(index,minIndex,val){

+ 4 - 1
src/views/medicUniversity-3_1/chemicalManagement/chemicalProcurement/purchaseRequisition/index.vue

@@ -214,7 +214,10 @@
     methods: {
       //操作
       pageToggle(type,row){
-        if(type == 1){
+        if(type == 0){
+          //返回列表
+          this.pageType = 1;
+        }else if(type == 1){
           //返回列表重置搜索项
           this.pageType = 1;
           this.resetQuery();

+ 40 - 21
src/views/medicUniversity-3_1/chemicalManagement/chemicalProcurement/purchaseRequisition/listPage.vue

@@ -89,6 +89,7 @@
     },
     data(){
       return{
+        tableMsgErrorType:false,
         // 遮罩层
         loading:false,
         //页面状态
@@ -187,37 +188,55 @@
       },
       //返回
       backPage(){
-        this.$parent.pageToggle(1);
+        this.$parent.pageToggle(0);
       },
       // 多选框选中数据
       handleSelectionChange(selection) {
         let self = this;
-        let list = JSON.parse(JSON.stringify(this.multipleTableList))
+        this.$refs.multipleTable.clearSelection();
+        let list = [];
         for(let i=0;i<selection.length;i++){
-          let num = 0;
-          for(let o=0;o<list.length;o++){
-            if(selection[i].id == list[o].id){
-              num++
-            }
-          }
-          if(num == 0){
+          if(i>19){
+            self.$refs.multipleTable.toggleRowSelection(selection[i],false);
+          }else{
             list.push(selection[i])
+            self.$refs.multipleTable.toggleRowSelection(selection[i],true);
           }
         }
-        if(list.length<=20){
-          this.selectedNum = selection.length;
-          this.userIds = selection.map(item => item.id)
-          this.$set(this,'multipleTableList',selection);
-          this.multiple = !selection.length
-        }else{
-          this.$refs.multipleTable.clearSelection();
-          setTimeout(function(){
-            for(let i=0;i<20;i++){
-              self.$refs.multipleTable.toggleRowSelection(self.multipleTableList[i],true);
-            }
-          },50);
+        this.$set(this,'multipleTableList',list);
+        if (selection.length>20){
           this.msgError("一次最多可申购20个化学品")
         }
+
+
+
+
+        // let list = JSON.parse(JSON.stringify(this.multipleTableList))
+        // for(let i=0;i<selection.length;i++){
+        //   let num = 0;
+        //   for(let o=0;o<list.length;o++){
+        //     if(selection[i].id == list[o].id){
+        //       num++
+        //     }
+        //   }
+        //   if(num == 0){
+        //     list.push(selection[i])
+        //   }
+        // }
+        // if(list.length<=20){
+        //   this.selectedNum = selection.length;
+        //   this.userIds = selection.map(item => item.id)
+        //   this.$set(this,'multipleTableList',selection);
+        //   this.multiple = !selection.length
+        // }else{
+        //   this.$refs.multipleTable.clearSelection();
+        //   setTimeout(function(){
+        //     for(let i=0;i<20;i++){
+        //       self.$refs.multipleTable.toggleRowSelection(self.multipleTableList[i],true);
+        //     }
+        //   },50);
+        //   this.msgError("一次最多可申购20个化学品")
+        // }
       },
       /*===记录勾选数据===
         需要再el-table 添加  :row-key="getRowKeys"

+ 4 - 3
src/views/medicUniversity-3_1/chemicalManagement/deviceManagement/smartLocker/index.vue

@@ -84,9 +84,10 @@
         <el-table-column label="柜锁名称" align="center" prop="name" width="180"/>
         <el-table-column label="学院" align="center" prop="deptName" width="160"/>
         <el-table-column label="位置" align="center" prop="posi" width="250" show-overflow-tooltip/>
-        <el-table-column label="设备状态" align="center" prop="status" width="100">
-          <template slot-scope="scope">{{scope.row.status == 3||scope.row.status == 4?'在线':'离线'}}</template>
-        </el-table-column>
+        <!--sass后放开-->
+        <!--<el-table-column label="设备状态" align="center" prop="status" width="100">-->
+          <!--<template slot-scope="scope">{{scope.row.status == 3||scope.row.status == 4?'在线':'离线'}}</template>-->
+        <!--</el-table-column>-->
         <el-table-column label="关联化学品柜" align="center" prop="cabinetName" width="160"/>
         <el-table-column label="锁柜ID" align="center" prop="lockId" width="100"/>
         <el-table-column label="摄像头IP" align="center" prop="ipAddress" width="200"/>

+ 122 - 46
src/views/studentViews/chemicalManagement/studentChemicalInfo/addPage.vue

@@ -12,7 +12,7 @@
             clearable/>
         </el-form-item>
         <el-form-item label="化学品分类" prop="chemicalClassify" label-width="90px">
-          <el-select v-model="queryParamsData.chemicalClassify" clearable placeholder="请选择状态">
+          <el-select v-model="queryParamsData.chemicalClassify" clearable placeholder="请选择化学品分类">
             <el-option
               v-for="item in optionsListOne"
               :key="item.id"
@@ -22,7 +22,7 @@
           </el-select>
         </el-form-item>
         <el-form-item label="属性" prop="classifyAttribute" label-width="50px">
-          <el-select v-model="queryParamsData.classifyAttribute" clearable placeholder="请选择状态">
+          <el-select v-model="queryParamsData.classifyAttribute" clearable placeholder="请选择属性">
             <el-option
               v-for="item in optionsListTwo"
               :key="item.dictValue"
@@ -109,27 +109,51 @@
                   <p @click="addList(index,bigIndex)">+添加</p>
                 </div>
                 <div class="for-min-box" v-for="(minItem,minIndex) in bigItem.list">
-                  <el-form-item label="容器容量规格" label-width="120px" :prop="'maxList.'+ index +'.chemicalJoinCabinetSonList.'+bigIndex+'.list.'+minIndex+'.chemicalAmount'" :rules="rules.chemicalAmount">
-                    <el-input
-                      style="width:150px;"
-                      maxlength="5"
-                      onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')"
-                      v-model="minItem.chemicalAmount"
-                      placeholder="请输入"
-                      size="small">
-                      <template slot="append">g</template>
-                    </el-input>
+                  <el-form-item class="num-input-item" label="容器容量规格" label-width="120px" :prop="'maxList.'+ index +'.chemicalJoinCabinetSonList.'+bigIndex+'.list.'+minIndex+'.chemicalAmount'" :rules="rules.chemicalAmount">
+                    <!--<el-input-->
+                      <!--style="width:150px;"-->
+                      <!--maxlength="5"-->
+                      <!--onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')"-->
+                      <!--v-model="minItem.chemicalAmount"-->
+                      <!--placeholder="请输入"-->
+                      <!--size="small">-->
+                      <!--<template slot="append">g</template>-->
+                    <!--</el-input>-->
+                    <div class="num-input-min-box">
+                      <el-input-number
+                        style="width:110px;"
+                        min=""
+                        :max="1000"
+                        :precision="2"
+                        :step="0.01"
+                        v-model="minItem.chemicalAmount"
+                        placeholder="请输入">
+                      </el-input-number>
+                      <p class="num-title-span">g</p>
+                    </div>
                   </el-form-item>
-                  <el-form-item label="容器重量规格" label-width="120px" :prop="'maxList.'+ index +'.chemicalJoinCabinetSonList.'+bigIndex+'.list.'+minIndex+'.tare'" :rules="rules.tare">
-                    <el-input
-                      style="width:150px;"
-                      maxlength="5"
-                      onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')"
-                      v-model="minItem.tare"
-                      placeholder="请输入"
-                      size="small">
-                      <template slot="append">g</template>
-                    </el-input>
+                  <el-form-item class="num-input-item" label="容器重量规格" label-width="120px" :prop="'maxList.'+ index +'.chemicalJoinCabinetSonList.'+bigIndex+'.list.'+minIndex+'.tare'" :rules="rules.tare">
+                    <!--<el-input-->
+                      <!--style="width:150px;"-->
+                      <!--maxlength="5"-->
+                      <!--onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')"-->
+                      <!--v-model="minItem.tare"-->
+                      <!--placeholder="请输入"-->
+                      <!--size="small">-->
+                      <!--<template slot="append">g</template>-->
+                    <!--</el-input>-->
+                    <div class="num-input-min-box">
+                      <el-input-number
+                        style="width:110px;"
+                        min=""
+                        :max="9999"
+                        :precision="2"
+                        :step="0.01"
+                        v-model="minItem.tare"
+                        placeholder="请输入">
+                      </el-input-number>
+                      <p class="num-title-span">g</p>
+                    </div>
                   </el-form-item>
                   <el-form-item label="存放数量" label-width="90px" :prop="'maxList.'+ index +'.chemicalJoinCabinetSonList.'+bigIndex+'.list.'+minIndex+'.storageNum'" :rules="rules.storageNum" class="el-form-item-button-box">
                     <el-input-number
@@ -160,33 +184,59 @@
                   <p @click="addList(index)">+添加</p>
                 </div>
                 <div class="for-min-box" v-for="(bigItem,bigIndex) in item.list">
-                  <el-form-item label="容器容量规格" label-width="120px" :prop="'maxList.'+ index +'.list.'+ bigIndex+'.chemicalAmount'" :rules="rules.chemicalAmount">
-                    <el-input
-                      style="width:150px;"
-                      maxlength="5"
-                      onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')"
-                      v-model="bigItem.chemicalAmount"
-                      placeholder="请输入"
-                      size="small">
-                      <template slot="append">g</template>
-                    </el-input>
+                  <el-form-item class="num-input-item" label="容器容量规格" label-width="120px" :prop="'maxList.'+ index +'.list.'+ bigIndex+'.chemicalAmount'" :rules="rules.chemicalAmount">
+                    <!--<el-input-->
+                      <!--style="width:150px;"-->
+                      <!--maxlength="5"-->
+                      <!--onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')"-->
+                      <!--v-model="bigItem.chemicalAmount"-->
+                      <!--placeholder="请输入"-->
+                      <!--size="small">-->
+                      <!--<template slot="append">g</template>-->
+                    <!--</el-input>-->
+                    <div class="num-input-min-box">
+                      <el-input-number
+                        style="width:110px;"
+                        min=""
+                        :max="1000"
+                        :precision="2"
+                        :step="0.01"
+                        v-model="bigItem.chemicalAmount"
+                        placeholder="请输入">
+                      </el-input-number>
+                      <p class="num-title-span">g</p>
+                    </div>
                   </el-form-item>
-                  <el-form-item label="容器重量规格" label-width="120px" :prop="'maxList.'+ index +'.list.'+ bigIndex+'.tare'" :rules="rules.tare">
-                    <el-input
-                      style="width:150px;"
-                      maxlength="5"
-                      onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')"
-                      v-model="bigItem.tare"
-                      placeholder="请输入"
-                      size="small">
-                      <template slot="append">g</template>
-                    </el-input>
+                  <el-form-item class="num-input-item" label="容器重量规格" label-width="120px" :prop="'maxList.'+ index +'.list.'+ bigIndex+'.tare'" :rules="rules.tare">
+                    <!--<el-input-->
+                      <!--style="width:150px;"-->
+                      <!--maxlength="5"-->
+                      <!--onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')"-->
+                      <!--v-model="bigItem.tare"-->
+                      <!--placeholder="请输入"-->
+                      <!--size="small">-->
+                      <!--<template slot="append">g</template>-->
+                    <!--</el-input>-->
+                    <div class="num-input-min-box">
+                      <el-input-number
+                        style="width:110px;"
+                        min=""
+                        :max="9999"
+                        :precision="2"
+                        :step="0.01"
+                        v-model="bigItem.tare"
+                        placeholder="请输入">
+                      </el-input-number>
+                      <p class="num-title-span">g</p>
+                    </div>
                   </el-form-item>
                   <el-form-item label="存放数量" label-width="90px" :prop="'maxList.'+ index +'.list.'+ bigIndex+'.storageNum'" :rules="rules.storageNum" class="el-form-item-button-box">
                     <el-input-number
                       style="width:150px;"
-                      :min="1"
-                      :max="1000"
+                      min=""
+                      :max="9999"
+                      :precision="2"
+                      :step="0.01"
                       v-model="bigItem.storageNum"
                       placeholder="请输入">
                     </el-input-number>
@@ -385,7 +435,7 @@
               hxpChemicalJoinCabinet(obj).then(response => {
                 self.dialogType = false;
                 self.msgSuccess(response.msg)
-                self.resetQuery();
+                self.$parent.pageToggle(1);
               });
             }else{
               self.msgError('请添加规格')
@@ -519,7 +569,7 @@
         });
       },
       backPage(){
-        this.$parent.pageToggle(1);
+        this.$parent.pageToggle(0);
       },
       //获取数据列表
       getList(){
@@ -720,4 +770,30 @@
       }
     }
   }
+  .num-input-item{
+    .num-input-min-box{
+      display: flex;
+      .el-input-number__increase{
+        display: none;
+      }
+      .el-input-number__decrease{
+        display: none;
+      }
+      input{
+        padding:0 20px!important;
+        border-top-right-radius: 0;
+        border-bottom-right-radius: 0;
+      }
+      .num-title-span{
+        display: inline-block;
+        width:40px;
+        height:40px;
+        text-align: center;
+        border: 1px solid #DCDFE6;
+        border-left:none;
+        border-top-right-radius: 4px;
+        border-bottom-right-radius: 4px;
+      }
+    }
+  }
 </style>

+ 4 - 18
src/views/studentViews/chemicalManagement/studentChemicalInfo/index.vue

@@ -88,10 +88,6 @@
           pageNum:1,
           pageSize:20,
         },
-        // 查询
-        selectList:[],
-        //查询历史记录
-        recordList:[],
       };
     },
     created() {
@@ -99,12 +95,14 @@
     },
     mounted(){
       this.getList();
-      this.getRecord();
     },
     methods: {
       pageToggle(type){
-        if(type == 1){
+        if(type == 0){
           this.pageType = 1;
+        }else if(type == 1){
+          this.pageType = 1;
+          this.resetQuery();
         }else if(type == 2){
           this.pageType = 2;
         }
@@ -130,18 +128,6 @@
         this.$set(this,'queryParams',{});
         this.handleQuery();
       },
-      //获取选择记录
-      getRecord(){
-        if(localStorage.getItem('subRecord')){
-          //历史记录
-          this.recordList = JSON.parse(localStorage.getItem('subRecord'));
-          //当前列表
-          this.selectList = JSON.parse(localStorage.getItem('subRecord'));
-        }else{
-          this.recordList = [];
-          this.selectList = [];
-        }
-      },
     }
   }
 </script>

+ 9 - 1
src/views/studentViews/chemicalManagement/studentPurchaseRequisition/addPage.vue

@@ -110,6 +110,13 @@
       multipleTableList:{},
     },
     data(){
+      const nonZero = (rule, value, callback) => {
+        if(value<=0){
+          callback(new Error("请输入本次申购量"));
+        }else{
+          callback();
+        }
+      };
       return{
         loading:false,
         formData:{
@@ -132,7 +139,8 @@
           ],
           applyNum:[
             { required: true, message: '请输入本次申购量', trigger: 'blur' },
-            { required: true, message: "请输入本次申购量", validator: this.spaceJudgment, trigger: "blur" }
+            { required: true, message: "请输入本次申购量", validator: this.spaceJudgment, trigger: "blur" },
+            { required: true, message: "请输入本次申购量", validator: nonZero, trigger: "blur" },
           ],
         },
         //实验室列表

+ 10 - 6
src/views/studentViews/chemicalManagement/studentPurchaseRequisition/approvalPage.vue

@@ -3,7 +3,7 @@
     <div class="approvalPage-min" v-if="pageType == 1">
       <div class="title-box">
         <p>化学品申购</p>
-        <p class="reset-button-one button-p" @click="backPage">返回</p>
+        <p class="reset-button-one button-p" @click="backPage(0)">返回</p>
         <!--已拒绝/已撤销时显示-->
         <p class="inquire-button-one button-p" v-if="dataInfo.approvalStatus==2||dataInfo.approvalStatus==3" @click="goEditPage">编辑</p>
       </div>
@@ -285,7 +285,7 @@
           };
           approvalTask(obj).then(response => {
             this.msgSuccess(response.msg);
-            this.backPage();
+            this.backPage(1);
           });
         }).catch(() => {})
       },
@@ -306,7 +306,7 @@
         //   };
         // approvalRefuse(obj).then(response => {
         //   this.msgSuccess(response.msg);
-        //   this.backPage();
+        //   this.backPage(1);
         // });
         // }).catch(() => {})
         let obj = {
@@ -315,7 +315,7 @@
         };
         approvalRefuse(obj).then(response => {
           this.msgSuccess(response.msg);
-          this.backPage();
+          this.backPage(1);
         });
       },
       //获取审批详情
@@ -553,8 +553,12 @@
         }
       },
       //返回
-      backPage(){
-        this.$parent.pageToggle(1);
+      backPage(type){
+        if(type == 0){
+          this.$parent.pageToggle(0);
+        }else if(type == 1){
+          this.$parent.pageToggle(1);
+        }
       },
       goEditPage(){
         let obj = {

+ 4 - 2
src/views/studentViews/chemicalManagement/studentPurchaseRequisition/draftPage.vue

@@ -114,7 +114,9 @@
     methods: {
       //编辑页面
       pageToggle(type,id){
-        if(type == 1){
+        if(type == 0){
+          this.pageType = 1;
+        }else if(type == 1){
           this.pageType = 1;
           this.resetQuery();
         }else if(type == 2){
@@ -210,7 +212,7 @@
       },
       //返回
       backPage(){
-        this.$parent.pageToggle(1);
+        this.$parent.pageToggle(0);
       },
     }
   }

+ 17 - 5
src/views/studentViews/chemicalManagement/studentPurchaseRequisition/editPage.vue

@@ -4,7 +4,7 @@
     <div class="editPage-min" v-if="pageType == 1">
       <div class="title-box">
         <p>化学品申购</p>
-        <p class="reset-button-one" @click="backPage"><i class="el-icon-arrow-left"></i>返回</p>
+        <p class="reset-button-one" @click="backPage(0)"><i class="el-icon-arrow-left"></i>返回</p>
       </div>
       <div class="page-max-box scrollbar-box">
         <el-form :model="formData" ref="form" :inline="true" :rules="rules">
@@ -116,6 +116,13 @@
       editPagePropsData:{},
     },
     data(){
+      const nonZero = (rule, value, callback) => {
+        if(value<=0){
+          callback(new Error("请输入本次申购量"));
+        }else{
+          callback();
+        }
+      };
       return{
         pageType:1,
         loading:false,
@@ -139,7 +146,8 @@
           ],
           applyNum:[
             { required: true, message: '请输入本次申购量', trigger: 'blur' },
-            { required: true, message: "请输入本次申购量", validator: this.spaceJudgment, trigger: "blur" }
+            { required: true, message: "请输入本次申购量", validator: this.spaceJudgment, trigger: "blur" },
+            { required: true, message: "请输入本次申购量", validator: nonZero, trigger: "blur" },
           ],
         },
         //实验室列表
@@ -249,7 +257,7 @@
               }
               addHxpapply(upObj).then(response => {
                 self.msgSuccess(response.msg);
-                self.backPage();
+                self.backPage(1);
               });
             }).then(() => {
             }).catch(() => {});
@@ -257,8 +265,12 @@
         })
       },
       //返回
-      backPage(){
-        this.$parent.pageToggle(1);
+      backPage(type){
+        if(type == 0){
+          this.$parent.pageToggle(0);
+        }else if(type == 1){
+          this.$parent.pageToggle(1);
+        }
       },
       // 机柜选中
       selectCabinet(index,minIndex,val){

+ 4 - 1
src/views/studentViews/chemicalManagement/studentPurchaseRequisition/index.vue

@@ -168,7 +168,10 @@
     methods: {
       //操作
       pageToggle(type,row){
-        if(type == 1){
+        if(type == 0){
+          //返回列表
+          this.pageType = 1;
+        }else if(type == 1){
           //返回列表重置搜索项
           this.pageType = 1;
           this.resetQuery();

+ 39 - 23
src/views/studentViews/chemicalManagement/studentPurchaseRequisition/listPage.vue

@@ -187,39 +187,55 @@
       },
       //返回
       backPage(){
-        this.$parent.pageToggle(1);
+        this.$parent.pageToggle(0);
       },
       // 多选框选中数据
       handleSelectionChange(selection) {
         let self = this;
-        let list = JSON.parse(JSON.stringify(this.multipleTableList))
-        console.log('selection',selection)
-        console.log('list',list)
+        this.$refs.multipleTable.clearSelection();
+        let list = [];
         for(let i=0;i<selection.length;i++){
-          let num = 0;
-          for(let o=0;o<list.length;o++){
-            if(selection[i].id == list[o].id){
-              num++
-            }
-          }
-          if(num == 0){
+          if(i>19){
+            self.$refs.multipleTable.toggleRowSelection(selection[i],false);
+          }else{
             list.push(selection[i])
+            self.$refs.multipleTable.toggleRowSelection(selection[i],true);
           }
         }
-        if(list.length<=20){
-          this.selectedNum = selection.length;
-          this.userIds = selection.map(item => item.id)
-          this.$set(this,'multipleTableList',selection);
-          this.multiple = !selection.length
-        }else{
-          this.$refs.multipleTable.clearSelection();
-          setTimeout(function(){
-            for(let i=0;i<20;i++){
-              self.$refs.multipleTable.toggleRowSelection(self.multipleTableList[i],true);
-            }
-          },50);
+        this.$set(this,'multipleTableList',list);
+        if (selection.length>20){
           this.msgError("一次最多可申购20个化学品")
         }
+
+
+        // let list = JSON.parse(JSON.stringify(this.multipleTableList))
+        // console.log('selection',selection)
+        // console.log('list',list)
+        // for(let i=0;i<selection.length;i++){
+        //   let num = 0;
+        //   for(let o=0;o<list.length;o++){
+        //     if(selection[i].id == list[o].id){
+        //       num++
+        //     }
+        //   }
+        //   if(num == 0){
+        //     list.push(selection[i])
+        //   }
+        // }
+        // if(list.length<=20){
+        //   this.selectedNum = selection.length;
+        //   this.userIds = selection.map(item => item.id)
+        //   this.$set(this,'multipleTableList',selection);
+        //   this.multiple = !selection.length
+        // }else{
+        //   this.$refs.multipleTable.clearSelection();
+        //   setTimeout(function(){
+        //     for(let i=0;i<20;i++){
+        //       self.$refs.multipleTable.toggleRowSelection(self.multipleTableList[i],true);
+        //     }
+        //   },50);
+        //   this.msgError("一次最多可申购20个化学品")
+        // }
       },
       /*===记录勾选数据===
         需要再el-table 添加  :row-key="getRowKeys"