Browse Source

3.3.3合并 修复部分bUG

dedsudiyu 1 year ago
parent
commit
b3cb9a8efc
29 changed files with 448 additions and 75 deletions
  1. 9 1
      src/api/laboratory/subject.js
  2. 4 4
      src/api/medicUniversity-3_1/index.js
  3. 2 1
      src/main.js
  4. 20 0
      src/utils/ruoyi.js
  5. 5 5
      src/views/comprehensive/laboratoryManagement/building/buildingManagement.vue
  6. 170 11
      src/views/comprehensive/laboratoryManagement/subject/addSubject.vue
  7. 9 2
      src/views/comprehensive/laboratoryManagement/subject/index.vue
  8. 48 1
      src/views/comprehensive/laboratoryManagement/subject/infoPage.vue
  9. 1 1
      src/views/comprehensive/system/notice/index.vue
  10. 32 6
      src/views/comprehensive/system/operlog/index.vue
  11. 4 4
      src/views/medicUniversity-3_1/chemicalManagement/InventoryManagement/InventoryDetails/index.vue
  12. 4 4
      src/views/medicUniversity-3_1/chemicalManagement/InventoryManagement/OutboundRecord/index.vue
  13. 4 4
      src/views/medicUniversity-3_1/chemicalManagement/InventoryManagement/warehousingRecord/index.vue
  14. 1 1
      src/views/medicUniversity-3_1/chemicalManagement/chemicalLibrary/CabinetManagement/smartLock.vue
  15. 7 1
      src/views/medicUniversity-3_1/chemicalManagement/chemicalLibrary/ChemicalInfo/addPage.vue
  16. 61 5
      src/views/medicUniversity-3_1/chemicalManagement/chemicalLibrary/ChemicalInfo/listPage.vue
  17. 1 1
      src/views/medicUniversity-3_1/chemicalManagement/deviceManagement/IntelligentTerminal/index.vue
  18. 4 4
      src/views/medicUniversity-3_1/chemicalManagement/usageRecord/index.vue
  19. 1 0
      src/views/safetyEducationExam/securityExam/exam_my/index.vue
  20. 1 0
      src/views/safetyEducationExam/securityExam/myResultInquiry/index.vue
  21. 2 1
      src/views/securityCheck/checkRecord/reformCheck.vue
  22. 2 1
      src/views/securityCheck/checkRecord/verifyCheck.vue
  23. 41 2
      src/views/studentViews/chemicalManagement/studentChemicalInfo/addPage.vue
  24. 4 4
      src/views/studentViews/chemicalManagement/studentOutboundRecord/index.vue
  25. 4 4
      src/views/studentViews/chemicalManagement/studentUsageRecord/index.vue
  26. 4 4
      src/views/studentViews/chemicalManagement/studentWarehousingRecord/index.vue
  27. 1 1
      src/views/system/alarm/index.vue
  28. 1 1
      src/views/system/ceditScoreSite/index.vue
  29. 1 1
      src/views/system/violationScoreSite/index.vue

+ 9 - 1
src/api/laboratory/subject.js

@@ -59,6 +59,15 @@ export function updateSubject(data) {
     data: data
   })
 }
+// 实验室-修改排序
+export function laboratorySubjectEditSort(data) {
+  return request({
+    url: '/laboratory/subject/editSort',
+    method: 'post',
+    data: data
+  })
+}
+
 // 查询实验室-安全信息牌
 export function getClassifyBySubId(data) {
   return request({
@@ -67,7 +76,6 @@ export function getClassifyBySubId(data) {
     data: data
   })
 }
-
 // 修改实验室(包含新危险源)
 export function updateSubjectEditJoinHazard(data) {
   return request({

+ 4 - 4
src/api/medicUniversity-3_1/index.js

@@ -141,11 +141,11 @@ export function hxpCabinetList(query) {
 }
 
 //获取机柜列表(无权限)
-export function getNoauthList(query) {
+export function getNoauthList(data) {
   return request({
-    url: '/chemical/hxpCabinet/getNoauthList',
-    method: 'get',
-    params: query
+    url: '/chemical/hxpCabinet/getCabinetList',
+    method: 'post',
+    data: data
   })
 }
 

+ 2 - 1
src/main.js

@@ -20,7 +20,7 @@ import './assets/icons' // icon
 import './permission' // permission control
 import { getDicts } from "@/api/system/dict/data";
 import { getConfigKey } from "@/api/system/config";
-import { parseTime, resetForm, addDateRange, selectDictLabel, selectDictLabels, handleTree, spaceJudgment, spaceJudgmentHTML, isNum, urlJudge } from "@/utils/ruoyi";
+import { parseTime, resetForm, addDateRange, selectDictLabel, selectDictLabels, handleTree, spaceJudgment, spaceJudgmentHTML, isNum, urlJudge, clickCopy } from "@/utils/ruoyi";
 import Pagination from "@/components/Pagination";
 // 自定义表格工具组件
 import RightToolbar from "@/components/RightToolbar"
@@ -67,6 +67,7 @@ Vue.prototype.spaceJudgment = spaceJudgment
 Vue.prototype.spaceJudgmentHTML = spaceJudgmentHTML
 Vue.prototype.isNum = isNum
 Vue.prototype.urlJudge = urlJudge
+Vue.prototype.clickCopy = clickCopy
 Vue.prototype.judgmentNetworkReturnAddress = judgmentNetworkReturnAddress
 
 Vue.prototype.msgSuccess = function (msg) {

+ 20 - 0
src/utils/ruoyi.js

@@ -317,3 +317,23 @@ export function urlJudge(url) {
 export function versionField() {
   return process.env.VUE_APP_VERSION_DIFFERENCE_FIELD
 }
+
+/**
+ * 点击复制文本
+ */
+export function clickCopy(context,name) {
+  // 创建输入框元素
+  let oInput = document.createElement('input');
+  // 将想要复制的值
+  oInput.value = context;
+  // 页面底部追加输入框
+  document.body.appendChild(oInput);
+  // 选中输入框
+  oInput.select();
+  // 执行浏览器复制命令
+  document.execCommand('Copy');
+  // 弹出复制成功信息
+  this.msgSuccess(name?name+'复制成功':'复制成功');
+  // 复制后移除输入框
+  oInput.remove();
+}

+ 5 - 5
src/views/comprehensive/laboratoryManagement/building/buildingManagement.vue

@@ -193,19 +193,19 @@
           <el-input v-model="dialogForm.nameThree" maxlength="10" placeholder="请输入楼层名称" />
         </el-form-item>
         <el-form-item label="房间类型:" prop="key">
-          <el-input v-model="dialogForm.key" maxlength="10" placeholder="请输入排序序号" />
+          <el-input v-model="dialogForm.key" maxlength="10" placeholder="请输入房间类型" />
         </el-form-item>
         <el-form-item label="房间号:" prop="key">
-          <el-input v-model="dialogForm.key" maxlength="10" placeholder="请输入排序序号" />
+          <el-input v-model="dialogForm.key" maxlength="10" placeholder="请输入房间号" />
         </el-form-item>
         <el-form-item label="房间名称:" prop="key">
-          <el-input v-model="dialogForm.key" maxlength="10" placeholder="请输入排序序号" />
+          <el-input v-model="dialogForm.key" maxlength="10" placeholder="请输入房间名称" />
         </el-form-item>
         <el-form-item label="房间选择:" prop="key">
-          <el-input v-model="dialogForm.key" maxlength="10" placeholder="请输入排序序号" />
+          <el-input v-model="dialogForm.key" maxlength="10" placeholder="请输入房间选择" />
         </el-form-item>
         <el-form-item label="房间位置:" prop="key">
-          <el-input v-model="dialogForm.key" maxlength="10" placeholder="请输入排序序号" />
+          <el-input v-model="dialogForm.key" maxlength="10" placeholder="请输入房间位置" />
         </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">

+ 170 - 11
src/views/comprehensive/laboratoryManagement/subject/addSubject.vue

@@ -102,10 +102,109 @@
           <!--&gt;</el-option>-->
         <!--</el-select>-->
       <!--</el-form-item>-->
-      <div class="title-box">
-        <p class="left-title">安全信息牌</p>
+      <div class="title-button-box">
+        <div class="title-min-button-box" :class="checkButtonType == 1?'checkButtonBox':''">
+          <p @click="clickButtonType(1)">管控一体机</p>
+          <p></p>
+        </div>
+        <div class="title-min-button-box" :class="checkButtonType == 2?'checkButtonBox':''">
+          <p @click="clickButtonType(2)">安全信息牌</p>
+          <p></p>
+        </div>
+        <div class="title-null-div">
+          <p></p>
+          <p></p>
+        </div>
+      </div>
+      <!--管控一体机-->
+      <div class="bottom-form-box-one" v-if="checkButtonType == 1">
+        <div class="left-form-box">
+          <el-form-item label="实验室负责人" prop="adminId" class="form-item">
+            <el-select
+              style="width:500px;"
+              v-model="form.adminId"
+              filterable
+              remote
+              clearable
+              reserve-keyword
+              placeholder="请输入至少2个字符搜索相关人员"
+              :remote-method="userSelectList"
+              :loading="loading">
+              <el-option
+                v-for="item in optionsUser"
+                :key="item.userId"
+                :label="item.nickName"
+                :value="item.userId">
+              </el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="安全警示标识" prop="safeSigns" class="form-item">
+            <el-select v-model="form.safeSigns" multiple  placeholder="请选择安全警示标识" style="width:500px;">
+              <el-option
+                v-for="dict in safetyWarning"
+                :key="dict.dictValue"
+                :label="dict.dictLabel"
+                :value="dict.dictValue"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="风控防控措施" prop="riskMeasure" class="form-item">
+            <el-select v-model="form.riskMeasure" multiple  placeholder="请选择风险防控措施" style="width:500px;">
+              <el-option
+                v-for="dict in riskMeasure"
+                :key="dict.dictValue"
+                :label="dict.dictLabel"
+                :value="dict.dictValue"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+        </div>
+        <div class="right-form-box">
+          <el-form-item label="安全责任人" prop="safeUserId" class="form-item">
+            <el-select
+              style="width:500px;"
+              v-model="form.safeUserId"
+              :multiple-limit="2"
+              multiple
+              filterable
+              remote
+              clearable
+              reserve-keyword
+              placeholder="请输入至少2个字符搜索相关人员"
+              :remote-method="userSelectListOne"
+              :loading="loading">
+              <el-option
+                v-for="item in optionsUserOne"
+                :key="item.userId"
+                :label="item.nickName"
+                :value="item.userId">
+              </el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="主要危险类别" prop="hazardCategory" class="form-item">
+            <el-select v-model="form.hazardCategory" multiple  placeholder="请选择主要危险类别" style="width:500px;">
+              <el-option
+                v-for="dict in hazardCategory"
+                :key="dict.dictValue"
+                :label="dict.dictLabel"
+                :value="dict.dictValue"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="灭火要点" prop="outfire" class="form-item">
+            <el-select v-model="form.outfire" multiple  placeholder="请选择灭火要点" style="width:500px;">
+              <el-option
+                v-for="dict in extinguishingKeyPoints"
+                :key="dict.dictValue"
+                :label="dict.dictLabel"
+                :value="dict.dictValue"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+        </div>
       </div>
-      <div class="bottom-form-box">
+      <!--安全信息牌-->
+      <div class="bottom-form-box" v-if="checkButtonType == 2">
         <div class="top-form-box">
           <el-form-item label="实验室负责人" prop="adminId" class="form-item" label-width="180px">
             <el-select
@@ -249,6 +348,8 @@
 
           },
           labMoldList:[],
+          //一体机/电子信息牌状态切换
+          checkButtonType:1,
         }
       },
       created() {
@@ -259,9 +360,6 @@
         this.getListClasstypeAll();
         this.labMoldQueryOption();
 
-        if(!this.subjectData.id){
-          this.getClassifyBySubId();
-        }
         //安全标识字典
         this.getDicts("sys_safety_warning").then(response => {
           this.safetyWarning = response.data;
@@ -293,6 +391,9 @@
           this.$set(this.form,'details',this.subjectData.details)
           this.$refs.UEditor.text=unescape(this.subjectData.details)
           this.$set(this.form,'moldId',this.subjectData.moldId)
+          this.$set(this.form,'room',this.subjectData.room)
+          this.$set(this.form,'details',this.subjectData.details)
+          this.$refs.UEditor.text=unescape(this.subjectData.details)
           if(this.subjectData.adminId){
             this.$set(this.form,'adminId',this.subjectData.adminId)
             this.userSelectList(this.subjectData.adminName);
@@ -333,7 +434,7 @@
             this.$set(this.form, 'safeUserId', safeUserIdList);
           }
           //安全信息牌
-          if(this.subjectData.classifyList){
+          if(this.subjectData.classifyList[0]){
             //循环取安全信息牌信息
             let list=this.subjectData.classifyList
             for(let i=0;i<list.length;i++){
@@ -346,6 +447,8 @@
               }
             }
             this.safetyInfoList=list
+          }else{
+            this.getClassifyBySubId();
           }
           //根据学院获取楼栋
           buildFloorGetlist({type:2}).then(response => {
@@ -356,13 +459,16 @@
             });
           });
         }else{
-          //根据学院获取楼栋
-          buildFloorGetlist({type:2}).then(response => {
-            this.buildings = response.rows;
-          });
+          this.getClassifyBySubId();
         }
       },
       methods:{
+        //一体机/电子信息牌切换
+        clickButtonType(type){
+          if(type != this.checkButtonType){
+            this.$set(this,'checkButtonType',type);
+          }
+        },
         hardwareTypeFun(){
           if(this.hardwareTypeTow==1 && this.subjectData.hKCount>0){
             this.msgError("删除现有准入设备后,才能更改准入设备类型!");
@@ -548,6 +654,43 @@
     *{
       margin:0;
     }
+    .title-button-box{
+      display: flex;
+      padding:0 20px 30px 20px;
+      .title-min-button-box{
+        p:nth-child(1){
+          cursor: pointer;
+          text-align: center;
+          font-size:18px;
+          color:#999;
+          line-height:80px;
+          height:80px;
+          padding-right:40px;
+        }
+        p:nth-child(2){
+          height:1px;
+          background-color: #dedede;
+        }
+        .checkButtonBox{
+          color:#0045AF;
+        }
+      }
+      .checkButtonBox{
+        p:nth-child(1){
+          color:#0045AF!important;
+        }
+      }
+      .title-null-div{
+        flex:1;
+        p:nth-child(1){
+          height:80px;
+        }
+        p:nth-child(2){
+          height:1px;
+          background-color: #dedede;
+        }
+      }
+    }
     .title-box{
       display: flex;
       margin:0 20px 30px;
@@ -583,6 +726,22 @@
         margin-bottom:30px;
       }
     }
+    .bottom-form-box-one{
+      display: flex;
+      padding-left:20px;
+      .left-form-box{
+        width:650px;
+      }
+      .right-form-box{
+        width:650px;
+      }
+      .form-item{
+        display: inline-block;
+        overflow: hidden;
+        min-height:40px;
+        margin-bottom:30px;
+      }
+    }
     .rich-text{
       margin: 20px;
     }

+ 9 - 2
src/views/comprehensive/laboratoryManagement/subject/index.vue

@@ -400,7 +400,7 @@ import {
   updateSubject,
   mangerVoice,
   startUrl,
-  queryHardByTypeList, subjectTriggerModes,
+  queryHardByTypeList, getHaikangUserList, subjectTriggerModes, subjectEditSort, laboratorySubjectEditSort
 } from '@/api/laboratory/subject'
 import { listData} from "@/api/system/dict/data";
 import { listDepartments } from "@/api/system/dept";
@@ -729,6 +729,13 @@ export default {
       let self = this;
       let type = 0; //硬件 //0全部
       subjectInfo(row.id,type).then(response => {
+        let classifyList = [];
+        for(let i=0;i<response.data.classifyList.length;i++){
+          if(response.data.classifyList[i].privateList.length>0 && (response.data.classifyList[i].classifyType==1||response.data.classifyList[i].classifyType==2)){
+            classifyList.push(response.data.classifyList[i]);
+          }
+        }
+        response.data.classifyList = classifyList;
         // console.log("获取实验室详情",response.data)
         this.$set(this,'newData',response.data);
         if(response.data.safeUserName){
@@ -1080,7 +1087,7 @@ export default {
             id:row.id,
             diyOrder:row.diyOrder,
           };
-          updateSubject(obj).then(response => {
+          laboratorySubjectEditSort(obj).then(response => {
             self.msgSuccess("修改成功");
             self.getList();
           });

+ 48 - 1
src/views/comprehensive/laboratoryManagement/subject/infoPage.vue

@@ -4,7 +4,7 @@
         <div :class="versionField() == 'xiBeiNongLinDaXue'?'top-max-box-flex':''" class="top-max-box" style="position: relative">
           <div class="all-title-box">
             <p></p>
-            <p style="flex:1;">实验室安全信息</p>
+            <p style="flex:1;">实验室信息</p>
             <div v-if="versionField() == 'xiBeiNongLinDaXue'" class="reset-button-one" style="margin-top:-5px;width:80px!important;height:30px!important;line-height:30px!important;" @click="backPage">返回</div>
           </div>
           <div class="left-top-title-box">
@@ -34,6 +34,41 @@
               </div>
             </div>
           </div>
+          <p class="info-max-title-p">管控一体机信息</p>
+          <div class="info-max-box">
+            <div class="left-box">
+              <div class="for-text-box">
+                <p class="info-title">主要危险类别:{{!newData.hazardCategory?'未配置':''}}</p>
+                <div class="for-box" v-for="(item,index1) in newData.hazardCategory" :key="index1">
+                  <p class="for-info-p" v-for="(minItem,index2) in hazardCategory" :key="index2" v-if="minItem.dictValue == item">● {{minItem.dictLabel}}</p>
+                </div>
+              </div>
+              <div class="for-text-box">
+                <p class="info-title">灭火要点:{{!newData.outfire?'未配置':''}}</p>
+                <div class="for-box" v-for="(item,index1) in newData.outfire" :key="index1">
+                  <p class="for-info-p" v-for="(minItem,index2) in extinguishingKeyPoints" :key="index2" v-if="minItem.dictValue == item">● {{minItem.dictLabel}}</p>
+                </div>
+              </div>
+            </div>
+            <div class="right-box">
+              <div class="for-text-box">
+                <p class="info-title">风险防控措施:{{!newData.riskMeasure?'未配置':''}}</p>
+                <div class="for-box" v-for="(item,index1) in newData.riskMeasure" :key="index1">
+                  <p class="for-info-p" v-for="(minItem,index2) in riskMeasure" :key="index2" v-if="minItem.dictValue == item">● {{minItem.dictLabel}}</p>
+                </div>
+              </div>
+              <div class="for-img-box">
+                <p class="info-title" style="margin-bottom:7px;">安全警示标识:{{!newData.safeSigns?'未配置':''}}</p>
+                <img src="@/assets/newImages/icon_aqxxp_jzxy.png" v-if="item == 'xiyan'" v-for="(item,index) in newData.safeSigns" :key="index">
+                <img src="@/assets/newImages/icon_aqxxp_jzys.png" v-if="item == 'yinshi'" v-for="(item,index) in newData.safeSigns" :key="index">
+                <img src="@/assets/newImages/icon_aqxxp_dxaq.png" v-if="item == 'anquan'" v-for="(item,index) in newData.safeSigns" :key="index">
+                <img src="@/assets/newImages/icon_aqxxp_gzf.png" v-if="item == 'gongzuofu'" v-for="(item,index) in newData.safeSigns" :key="index">
+                <img src="@/assets/newImages/icon_aqxxp_gbmc.png" v-if="item == 'menchuang'" v-for="(item,index) in newData.safeSigns" :key="index">
+                <img src="@/assets/newImages/icon_aqxxp_gbsd.png" v-if="item == 'shuidian'" v-for="(item,index) in newData.safeSigns" :key="index">
+              </div>
+            </div>
+          </div>
+          <p class="info-max-title-p">电子信息牌信息</p>
           <div class="info-max-box">
             <div class="for-text-box" v-if="item.privateList.length>0 && item.classifyType==1" v-for="(item,index) in  newData.classifyList">
               <p class="info-title">{{item.classifyName}}:</p>
@@ -45,6 +80,9 @@
               <p class="info-title" style="margin-bottom:7px;">{{item.classifyName}}:</p>
               <img :src="item2.infoContent" v-for="(item2,index2) in item.privateList" :key="index2">
             </div>
+            <div class="for-img-box" v-if="!newData.classifyList[0]">
+              <p class="info-title">未配置</p>
+            </div>
           </div>
         </div>
       </div>
@@ -510,6 +548,15 @@
             }
           }
         }
+        .info-max-title-p{
+          line-height:20px;
+          font-size:16px;
+          color:#333;
+          font-weight:700;
+          border-top:1px dashed #999999;
+          padding-top:20px;
+          margin-top:10px;
+        }
         .info-max-box{
           margin-top:7px;
           display: flex;

+ 1 - 1
src/views/comprehensive/system/notice/index.vue

@@ -66,7 +66,7 @@
 
     <el-table v-loading="loading" border :data="noticeList" @selection-change="handleSelectionChange">
       <!--<el-table-column type="selection" width="55" align="center" />-->
-      <el-table-column label="序号" align="left" prop="noticeId" width="100" />
+      <el-table-column label="序号"  width="50" align="center"  type="index"/>
       <el-table-column
         label="公告标题"
         align="left"

+ 32 - 6
src/views/comprehensive/system/operlog/index.vue

@@ -11,6 +11,18 @@
           size="small"
         />
       </el-form-item>
+      <el-form-item label="状态" prop="status">
+        <el-select
+          v-model="queryParams.status"
+          placeholder="请选择"
+          clearable
+          size="small"
+          style="width: 240px"
+        >
+          <el-option :key="0" label="正常" :value="0"/>
+          <el-option :key="1" label="异常" :value="1"/>
+        </el-select>
+      </el-form-item>
       <el-form-item label="操作" prop="businessType">
         <el-select
           v-model="queryParams.businessType"
@@ -47,12 +59,26 @@
     </el-form>
 
     <el-table ref="tables" border v-loading="loading" :data="list" @selection-change="handleSelectionChange" :default-sort="defaultSort" @sort-change="handleSortChange">
-      <el-table-column label="操作人员" align="left" prop="operName"/>
-      <el-table-column label="操作内容" align="left" prop="businessType" :formatter="typeFormat"/>
-      <el-table-column label="操作模块" align="left" prop="title" />
-      <el-table-column label="操作页面" align="left" prop="title" />
-      <el-table-column label="登录IP" align="left" prop="operIp"/>
-      <el-table-column label="操作日期" align="left" prop="operTime">
+      <el-table-column label="主题" align="left" prop="title" width="200"  show-overflow-tooltip/>
+      <el-table-column label="类型" align="left" prop="businessType" width="80" :formatter="typeFormat"  show-overflow-tooltip/>
+      <el-table-column label="接口地址" align="left" prop="operUrl" width="200" show-overflow-tooltip>
+        <template slot-scope="scope">
+          <p @click="clickCopy(scope.row.operUrl,'接口地址')" style="cursor:pointer;">{{scope.row.operUrl}}</p>
+        </template>
+      </el-table-column>
+      <el-table-column label="ip" align="left" prop="operIp" width="120" show-overflow-tooltip/>
+      <el-table-column label="参数" align="left" prop="operParam" show-overflow-tooltip>
+        <template slot-scope="scope">
+          <p @click="clickCopy(scope.row.operParam,'参数')" style="cursor:pointer;">{{scope.row.operParam}}</p>
+        </template>
+      </el-table-column>
+      <el-table-column label="状态" align="left" prop="status" width="80" show-overflow-tooltip>
+        <template slot-scope="scope">
+          {{scope.row.status==0?'正常':'异常'}}
+        </template>
+      </el-table-column>
+      <el-table-column label="操作人" align="left" prop="operName" width="140" show-overflow-tooltip/>
+      <el-table-column label="操作日期" align="left" prop="operTime" width="180" show-overflow-tooltip>
         <template slot-scope="scope">
           <span>{{ parseTime(scope.row.operTime) }}</span>
         </template>

+ 4 - 4
src/views/medicUniversity-3_1/chemicalManagement/InventoryManagement/InventoryDetails/index.vue

@@ -201,12 +201,12 @@
     methods: {
       //获取化学品柜列表
       getNoauthList(){
-        getNoauthList().then(response => {
+        getNoauthList({}).then(response => {
           let list = [];
-          for(let i=0;i<response.rows.length;i++){
+          for(let i=0;i<response.data.length;i++){
             let obj ={
-              value:response.rows[i].id,
-              label:response.rows[i].cabinetName,
+              value:response.data[i].id,
+              label:response.data[i].cabinetName,
             }
             list.push(obj);
           }

+ 4 - 4
src/views/medicUniversity-3_1/chemicalManagement/InventoryManagement/OutboundRecord/index.vue

@@ -237,12 +237,12 @@
       },
       //获取化学品柜列表
       getNoauthList(){
-        getNoauthList().then(response => {
+        getNoauthList({}).then(response => {
           let list = [];
-          for(let i=0;i<response.rows.length;i++){
+          for(let i=0;i<response.data.length;i++){
             let obj ={
-              value:response.rows[i].id,
-              label:response.rows[i].cabinetName,
+              value:response.data[i].id,
+              label:response.data[i].cabinetName,
             }
             list.push(obj);
           }

+ 4 - 4
src/views/medicUniversity-3_1/chemicalManagement/InventoryManagement/warehousingRecord/index.vue

@@ -244,12 +244,12 @@
       },
       //获取化学品柜列表
       getNoauthList(){
-        getNoauthList().then(response => {
+        getNoauthList({}).then(response => {
           let list = [];
-          for(let i=0;i<response.rows.length;i++){
+          for(let i=0;i<response.data.length;i++){
             let obj ={
-              value:response.rows[i].id,
-              label:response.rows[i].cabinetName,
+              value:response.data[i].id,
+              label:response.data[i].cabinetName,
             }
             list.push(obj);
           }

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

@@ -87,7 +87,7 @@
       </div>
     </div>
     <!--新增/编辑-->
-    <el-dialog :title="dialogTitle" :visible.sync="addDialogType" v-if="addDialogType" width="520px" append-to-body class="add-dialog-box" :close-on-click-modal="false">
+    <el-dialog :title="dialogTitle" :visible.sync="addDialogType" v-if="addDialogType" width="620px" append-to-body class="add-dialog-box">
       <el-form ref="form" :model="form" :rules="rules" label-width="140px">
         <el-form-item label="智能终端编号:" prop="hardwareNum">
           <el-input v-model="form.hardwareNum" placeholder="最大20个字符,包含大小写字母、数字" onkeyup="value=value.replace(/[^\w\.\/]/ig,'')" maxlength="30" style="width:320px;"/>

+ 7 - 1
src/views/medicUniversity-3_1/chemicalManagement/chemicalLibrary/ChemicalInfo/addPage.vue

@@ -249,7 +249,13 @@
         this.formData = JSON.parse(JSON.stringify(this.addPropsData));
         this.formData.chemicalShape = this.addPropsData.chemicalShape+''
         if(this.formData.classifyAttribute){
-          this.formData.classifyAttribute = this.formData.classifyAttribute.split(",");
+          if(this.formData.classifyAttribute[0]){
+            this.formData.classifyAttribute = this.formData.classifyAttribute.split(",");
+          }else{
+            this.formData.classifyAttribute = [];
+          }
+        }else{
+          this.formData.classifyAttribute = [];
         }else{
           this.formData.classifyAttribute = [];
         }

+ 61 - 5
src/views/medicUniversity-3_1/chemicalManagement/chemicalLibrary/ChemicalInfo/listPage.vue

@@ -114,7 +114,7 @@
                   <p @click="addList(index,bigIndex)">+添加</p>
                 </div>
                 <div class="for-min-box" v-for="(minItem,minIndex) in bigItem.list">
-                  <el-form-item class="num-input-item" label="容器容量规格" label-width="120px" :prop="'maxList.'+ index +'.chemicalJoinCabinetSonList.'+bigIndex+'.list.'+minIndex+'.chemicalAmount'" :rules="rules.chemicalAmount">
+                  <el-form-item class="num-input-item" label="容器容量规格" label-width="120px" :prop="'maxList.'+ index +'.chemicalJoinCabinetSonList.'+bigIndex+'.list.'+minIndex+'.chemicalAmount'" :rules="rules.chemicalAmountLock">
                     <div class="num-input-min-box">
                       <el-input-number
                         style="width:110px;"
@@ -128,7 +128,7 @@
                       <p class="num-title-span">{{listPropsData.chemicalUnit}}</p>
                     </div>
                   </el-form-item>
-                  <el-form-item class="num-input-item" label="容器重量规格" label-width="120px" :prop="'maxList.'+ index +'.chemicalJoinCabinetSonList.'+bigIndex+'.list.'+minIndex+'.tare'" :rules="rules.tare">
+                  <el-form-item class="num-input-item" label="容器重量规格" label-width="120px" :prop="'maxList.'+ index +'.chemicalJoinCabinetSonList.'+bigIndex+'.list.'+minIndex+'.tare'" :rules="rules.tareLock">
                     <div class="num-input-min-box">
                       <el-input-number
                         style="width:110px;"
@@ -241,9 +241,54 @@
         console.log('rule',rule)
         const list = rule.field.split('.');
         let index = parseFloat(list[1]);
+        let index2 = parseFloat(list[3]);
         let max = parseFloat(this.dialogData.maxList[index].maxNum);
+        let tare = parseFloat(this.dialogData.maxList[index].list[index2].tare);
         if(value>max){
-            callback(new Error("超出该机柜可存放量"));
+          callback(new Error("超出该机柜可存放量"));
+        }else if(value<tare){
+          callback(new Error("容器容量规格不能小于容器重量规格"));
+        }else{
+          callback();
+        }
+      };
+      const computingCapacityLock = (rule, value, callback) => {
+        console.log('rule',rule)
+        const list = rule.field.split('.');
+        let index = parseFloat(list[1]);
+        let index1 = parseFloat(list[3]);
+        let index2 = parseFloat(list[5]);
+        let max = parseFloat(this.dialogData.maxList[index].maxNum);
+        let tare = parseFloat(this.dialogData.maxList[index].chemicalJoinCabinetSonList[index1].list[index2].tare);
+        if(value>max){
+          callback(new Error("超出该机柜可存放量"));
+        }else if(value<tare){
+          callback(new Error("容器容量规格不能小于容器重量规格"));
+        }else{
+          callback();
+        }
+      };
+      const computingTare = (rule, value, callback) => {
+        console.log('rule',rule)
+        const list = rule.field.split('.');
+        let index = parseFloat(list[1]);
+        let index2 = parseFloat(list[3]);
+        let chemicalAmount = parseFloat(this.dialogData.maxList[index].list[index2].chemicalAmount);
+        if(value>chemicalAmount){
+          callback(new Error("容器重量规格不能大于容器容量规格"));
+        }else{
+          callback();
+        }
+      };
+      const computingTareLock = (rule, value, callback) => {
+        console.log('rule',rule)
+        const list = rule.field.split('.');
+        let index = parseFloat(list[1]);
+        let index1 = parseFloat(list[3]);
+        let index2 = parseFloat(list[5]);
+        let chemicalAmount = parseFloat(this.dialogData.maxList[index].chemicalJoinCabinetSonList[index1].list[index2].chemicalAmount);
+        if(value>chemicalAmount){
+          callback(new Error("容器重量规格不能大于容器容量规格"));
         }else{
           callback();
         }
@@ -291,11 +336,22 @@
           chemicalAmount:[
             { required: true, message: '请输入容器容量', trigger: 'blur' },
             { required: true, message: "请输入容器容量", validator: this.spaceJudgment, trigger: "blur" },
-            { required: true, message: "超出该机柜可存放量", validator: computingCapacity, trigger: "blur" },
+            { required: true, validator: computingCapacity, trigger: "blur" },
+          ],
+          chemicalAmountLock:[
+            { required: true, message: '请输入容器容量', trigger: 'blur' },
+            { required: true, message: "请输入容器容量", validator: this.spaceJudgment, trigger: "blur" },
+            { required: true, validator: computingCapacityLock, trigger: "blur" },
           ],
           tare:[
             { required: true, message: '请输入容器自重', trigger: 'blur' },
-            { required: true, message: "请输入容器自重", validator: this.spaceJudgment, trigger: "blur" }
+            { required: true, message: "请输入容器自重", validator: this.spaceJudgment, trigger: "blur" },
+            { required: true, validator: computingTare, trigger: "blur" },
+          ],
+          tareLock:[
+            { required: true, message: '请输入容器自重', trigger: 'blur' },
+            { required: true, message: "请输入容器自重", validator: this.spaceJudgment, trigger: "blur" },
+            { required: true, validator: computingTareLock, trigger: "blur" },
           ],
           storageNum:[
             { required: true, message: '请输入存放数量', trigger: 'blur' },

+ 1 - 1
src/views/medicUniversity-3_1/chemicalManagement/deviceManagement/IntelligentTerminal/index.vue

@@ -125,7 +125,7 @@
                :close-on-click-modal="false">
       <el-form ref="form" :model="form" :rules="rules" label-width="120px">
         <el-form-item label="设备编号:" prop="hardwareNum">
-          <el-input v-model="form.hardwareNum" placeholder="最大20个字符,包含大小写字母、数字" onkeyup="value=value.replace(/[^\w\.\/]/ig,'')" maxlength="20" style="width:360px;"/>
+          <el-input v-model="form.hardwareNum" placeholder="最大50个字符,包含大小写字母、数字" onkeyup="value=value.replace(/[^\w\.\/]/ig,'')" maxlength="50" style="width:360px;"/>
         </el-form-item>
         <el-form-item label="实验室:" prop="subjectId">
           <el-select

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

@@ -257,12 +257,12 @@
       },
       //获取化学品柜列表
       getNoauthList(){
-        getNoauthList().then(response => {
+        getNoauthList({}).then(response => {
           let list = [];
-          for(let i=0;i<response.rows.length;i++){
+          for(let i=0;i<response.data.length;i++){
             let obj ={
-              value:response.rows[i].id,
-              label:response.rows[i].cabinetName,
+              value:response.data[i].id,
+              label:response.data[i].cabinetName,
             }
             list.push(obj);
           }

+ 1 - 0
src/views/safetyEducationExam/securityExam/exam_my/index.vue

@@ -85,6 +85,7 @@ export default {
   name: "Exam",
   data() {
     return {
+      loading:false,
       examList:[],
       myListExam: [],
       levels: [

+ 1 - 0
src/views/safetyEducationExam/securityExam/myResultInquiry/index.vue

@@ -126,6 +126,7 @@
       flex-direction: column;
       .button-max-box{
         display: flex;
+        padding:20px 0;
         .button-p{
           line-height:35px;
           margin-right:10px;

+ 2 - 1
src/views/securityCheck/checkRecord/reformCheck.vue

@@ -58,7 +58,8 @@
         </el-form-item>
       </el-form>
       <el-table v-loading="loading" border :data="checkRecordList" border>
-        <el-table-column label="项目序号" align="left" prop="jcxSstkNum" width="100" show-overflow-tooltip/>
+        <el-table-column label="序号" type="index" align="center" width="50"/>
+        <!--<el-table-column label="项目序号" align="left" prop="jcxSstkNum" width="100" show-overflow-tooltip/>-->
         <el-table-column label="隐患描述" align="left" prop="yhMs" show-overflow-tooltip/>
         <el-table-column label="整改类型" align="left" prop="zgType" width="110" show-overflow-tooltip>
           <template slot-scope="scope">{{scope.row.zgType==0?'一般整改':(scope.row.zgType==1?'重大整改':'')}}</template>

+ 2 - 1
src/views/securityCheck/checkRecord/verifyCheck.vue

@@ -56,7 +56,8 @@
         </el-form-item>
       </el-form>
       <el-table v-loading="loading" border :data="checkRecordList" border>
-        <el-table-column label="项目序号" align="left" prop="jcxNum" width="180"/>
+        <el-table-column label="序号" type="index" align="center" width="50"/>
+        <!--<el-table-column label="项目序号" align="left" prop="jcxNum" width="180"/>-->
         <el-table-column label="隐患描述" align="left" prop="yhMs" width="290" :show-overflow-tooltip="true"/>
         <el-table-column label="整改类型" align="left" prop="zgType" width="150">
           <template slot-scope="scope">{{scope.row.zgType==0?'一般整改':(scope.row.zgType==1?'重大整改':'')}}</template>

+ 41 - 2
src/views/studentViews/chemicalManagement/studentChemicalInfo/addPage.vue

@@ -109,7 +109,7 @@
                   <p @click="addList(index,bigIndex)">+添加</p>
                 </div>
                 <div class="for-min-box" v-for="(minItem,minIndex) in bigItem.list">
-                  <el-form-item class="num-input-item" label="容器容量规格" label-width="120px" :prop="'maxList.'+ index +'.chemicalJoinCabinetSonList.'+bigIndex+'.list.'+minIndex+'.chemicalAmount'" :rules="rules.chemicalAmount">
+                  <el-form-item class="num-input-item" label="容器容量规格" label-width="120px" :prop="'maxList.'+ index +'.chemicalJoinCabinetSonList.'+bigIndex+'.list.'+minIndex+'.chemicalAmount'" :rules="rules.chemicalAmountLock">
                     <div class="num-input-min-box">
                       <el-input-number
                         style="width:110px;"
@@ -123,7 +123,7 @@
                       <p class="num-title-span">{{selectioned.chemicalUnit}}</p>
                     </div>
                   </el-form-item>
-                  <el-form-item class="num-input-item" label="容器重量规格" label-width="120px" :prop="'maxList.'+ index +'.chemicalJoinCabinetSonList.'+bigIndex+'.list.'+minIndex+'.tare'" :rules="rules.tare">
+                  <el-form-item class="num-input-item" label="容器重量规格" label-width="120px" :prop="'maxList.'+ index +'.chemicalJoinCabinetSonList.'+bigIndex+'.list.'+minIndex+'.tare'" :rules="rules.tareLock">
                     <div class="num-input-min-box">
                       <el-input-number
                         style="width:110px;"
@@ -247,6 +247,22 @@
           callback();
         }
       };
+      const computingCapacityLock = (rule, value, callback) => {
+        console.log('rule',rule)
+        const list = rule.field.split('.');
+        let index = parseFloat(list[1]);
+        let index1 = parseFloat(list[3]);
+        let index2 = parseFloat(list[5]);
+        let max = parseFloat(this.dialogData.maxList[index].maxNum);
+        let tare = parseFloat(this.dialogData.maxList[index].chemicalJoinCabinetSonList[index1].list[index2].tare);
+        if(value>max){
+          callback(new Error("超出该机柜可存放量"));
+        }else if(value<tare){
+          callback(new Error("容器容量规格不能小于容器重量规格"));
+        }else{
+          callback();
+        }
+      };
       const computingTare = (rule, value, callback) => {
         console.log('rule',rule)
         const list = rule.field.split('.');
@@ -259,6 +275,19 @@
           callback();
         }
       };
+      const computingTareLock = (rule, value, callback) => {
+        console.log('rule',rule)
+        const list = rule.field.split('.');
+        let index = parseFloat(list[1]);
+        let index1 = parseFloat(list[3]);
+        let index2 = parseFloat(list[5]);
+        let chemicalAmount = parseFloat(this.dialogData.maxList[index].chemicalJoinCabinetSonList[index1].list[index2].chemicalAmount);
+        if(value>chemicalAmount){
+          callback(new Error("容器重量规格不能大于容器容量规格"));
+        }else{
+          callback();
+        }
+      };
 
       return {
         //限制时间范围
@@ -303,11 +332,21 @@
             { required: true, message: "请输入容器容量", validator: this.spaceJudgment, trigger: "blur" },
             { required: true, validator: computingCapacity, trigger: "blur" },
           ],
+          chemicalAmountLock:[
+            { required: true, message: '请输入容器容量', trigger: 'blur' },
+            { required: true, message: "请输入容器容量", validator: this.spaceJudgment, trigger: "blur" },
+            { required: true, validator: computingCapacityLock, trigger: "blur" },
+          ],
           tare:[
             { required: true, message: '请输入容器自重', trigger: 'blur' },
             { required: true, message: "请输入容器自重", validator: this.spaceJudgment, trigger: "blur" },
             { required: true, validator: computingTare, trigger: "blur" },
           ],
+          tareLock:[
+            { required: true, message: '请输入容器自重', trigger: 'blur' },
+            { required: true, message: "请输入容器自重", validator: this.spaceJudgment, trigger: "blur" },
+            { required: true, validator: computingTareLock, trigger: "blur" },
+          ],
           storageNum:[
             { required: true, message: '请输入存放数量', trigger: 'blur' },
             { required: true, message: "请输入存放数量", validator: this.spaceJudgment, trigger: "blur" }

+ 4 - 4
src/views/studentViews/chemicalManagement/studentOutboundRecord/index.vue

@@ -231,12 +231,12 @@
       },
       //获取化学品柜列表
       getNoauthList(){
-        getNoauthList().then(response => {
+        getNoauthList({}).then(response => {
           let list = [];
-          for(let i=0;i<response.rows.length;i++){
+          for(let i=0;i<response.data.length;i++){
             let obj ={
-              value:response.rows[i].id,
-              label:response.rows[i].cabinetName,
+              value:response.data[i].id,
+              label:response.data[i].cabinetName,
             }
             list.push(obj);
           }

+ 4 - 4
src/views/studentViews/chemicalManagement/studentUsageRecord/index.vue

@@ -235,12 +235,12 @@
       },
       //获取化学品柜列表
       getNoauthList(){
-        getNoauthList().then(response => {
+        getNoauthList({}).then(response => {
           let list = [];
-          for(let i=0;i<response.rows.length;i++){
+          for(let i=0;i<response.data.length;i++){
             let obj ={
-              value:response.rows[i].id,
-              label:response.rows[i].cabinetName,
+              value:response.data[i].id,
+              label:response.data[i].cabinetName,
             }
             list.push(obj);
           }

+ 4 - 4
src/views/studentViews/chemicalManagement/studentWarehousingRecord/index.vue

@@ -238,12 +238,12 @@
       },
       //获取化学品柜列表
       getNoauthList(){
-        getNoauthList().then(response => {
+        getNoauthList({}).then(response => {
           let list = [];
-          for(let i=0;i<response.rows.length;i++){
+          for(let i=0;i<response.data.length;i++){
             let obj ={
-              value:response.rows[i].id,
-              label:response.rows[i].cabinetName,
+              value:response.data[i].id,
+              label:response.data[i].cabinetName,
             }
             list.push(obj);
           }

+ 1 - 1
src/views/system/alarm/index.vue

@@ -37,7 +37,7 @@
 
       </el-form>
 
-    <el-table v-loading="loading" :data="dataList" @selection-change="handleSelectionChange">
+    <el-table border  :data="dataList" @selection-change="handleSelectionChange">
       <el-table-column label="报警方式" align="center" prop="method" />
       <el-table-column label="报警状态" align="center" prop="status">
         <template slot-scope="scope">

+ 1 - 1
src/views/system/ceditScoreSite/index.vue

@@ -71,7 +71,7 @@
 
     <el-table v-loading="loading" border :data="ceditScoreSiteList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label="序号" align="center" prop="id" />
+      <el-table-column label="序号"  width="50" align="center"  type="index"/>
       <el-table-column label="合格分" align="center" prop="passScore" />
       <el-table-column label="是否需要获得安全准入证书,0:是,1:否" align="center" prop="getCondition" />
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">

+ 1 - 1
src/views/system/violationScoreSite/index.vue

@@ -95,7 +95,7 @@
 
     <el-table v-loading="loading" border :data="violationScoreSiteList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label="序号" align="center" prop="id" />
+      <el-table-column label="序号"  width="50" align="center"  type="index"/>
       <el-table-column label="穿戴未通过扣分" align="center" prop="wear" />
       <el-table-column label="未做离开考勤" align="center" prop="leave" />
       <el-table-column label="未考勤签到进入实验室" align="center" prop="laboratory" />