heyang 1 年之前
父節點
當前提交
c750ef8f11

+ 16 - 0
src/api/chemicalManage/index.js

@@ -531,6 +531,22 @@ export function chemicalStockListOut(data) {
     data: data
   })
 }
+//库存统计-库存明细-列表
+export function chemicalStockStockDetailsList(data) {
+  return request({
+    url: '/chemical/stock/stockDetailsList',
+    method: 'post',
+    data: data
+  })
+}
+//库存统计-库存明细-详情
+export function chemicalStockStockDetails(query) {
+  return request({
+    url: '/chemical/stock/stockDetails',
+    method: 'get',
+    params: query
+  })
+}
 
 
 

+ 1 - 4
src/views/chemicalManage/inventoryManagement/inventoryStatistics/index.vue

@@ -8,9 +8,6 @@
   </div>
 </template>
 <script>
-  //import { getDicts } from "@/api/commonality/noPermission";
-  //import { systemUserSelect } from "@/api/commonality/permission";
-  //import { getInfo } from "@/api/basicsModules/index";
   import collectList from "./collectList.vue";
   import inventoryList from "./inventoryList.vue";
   export default {
@@ -21,7 +18,7 @@
     },
     data () {
       return {
-        titleType:2,
+        titleType:1,
       }
     },
     created () {

+ 224 - 334
src/views/chemicalManage/inventoryManagement/inventoryStatistics/infoPage.vue

@@ -5,377 +5,267 @@
       <p class="page-top-title-out-p" @click="backPage">返回</p>
     </div>
     <div class="content-box">
-        <div class="content-box-left scrollbar-box">
-            <li class="chemical-name">{{newData.data1}}<p class="chemical-state">{{newData.data2}}</p></li>
-            <li>{{newData.data3}}</li>
-            <li>类别:{{newData.data4}}<p class="control-state">{{newData.data5}}</p></li>
-            <li>编码:{{newData.data6}}</li>
-            <li>RFID标签:{{newData.data7}}</li>
-            <li>规格:{{newData.data8}}</li>
-            <li>实时库存:{{newData.data9}}</li>
-            <li>过期时间:{{newData.data10}} | {{newData.data11}}天前提醒</li>
-            <li>领用时效:{{newData.data12}}小时</li>
-            <li>实验室:{{newData.data13}}</li>
-            <li>安全员:{{newData.data14}}</li>
-            <li>位置:{{newData.data15}}</li>
-            <li>归属人:{{newData.data16}}</li>
-        </div>
-        <div class="lines"></div>
-        <div class="content-box-right scrollbar-box">
-            <div class="record" v-for="(item,index) in newData.dataList">
-              <div class="record-li">
-                  <div class="record-li-t">
-                      <div class="record-li-t-l">{{item.itemData1}}</div>
-                      <div class="record-li-t-r">
-                        <p v-if="item.itemData2" @click="lookVideo(item.videoA)">操作视频</p>
-                        <p v-if="item.itemData3" @click="lookVideo(item.videoB)">开门视频</p>
-                      </div>
-                  </div>
-                  <div class="record-li-m">
-                    <p>操作时间</p>
-                    <p>领用量</p>
-                    <p>使用量</p>
-                    <p>是否整瓶领用</p>
-                    <p>称重方式</p>
-                    <p>双人认证</p>
-                    <p>操作人</p>
-                  </div>
-                  <div class="record-li-b">
-                      <p>{{item.itemData4}}</p>
-                      <p>{{item.itemData5}}</p>
-                      <p>{{item.itemData6}}</p>
-                      <p>{{item.itemData7}}</p>
-                      <p>{{item.itemData8}}</p>
-                      <p>{{item.itemData9}}</p>
-                      <p>{{item.itemData10}}</p>
-                    </div>
-              </div>
-              <div class="record-li">
-                <div class="record-li-t">
-                  <div class="record-li-t-l">{{item.itemData11}}</div>
-                  <div class="record-li-t-r">
-                    <p v-if="item.itemData12" @click="lookVideo(item.videoC)">操作视频</p>
-                    <p v-if="item.itemData12" @click="lookVideo(item.videoD)">开门视频</p>
-                  </div>
-                </div>
-                <div class="record-li-m">
-                  <p>操作时间</p>
-                  <p>领用量</p>
-                  <p>使用量</p>
-                  <p>是否整瓶领用</p>
-                  <p>称重方式</p>
-                  <p>双人认证</p>
-                  <p>操作人</p>
-                </div>
-                <div class="record-li-b">
-                  <p>{{item.itemData14}}</p>
-                  <p>{{item.itemData15}}</p>
-                  <p>{{item.itemData16}}</p>
-                  <p>{{item.itemData17}}</p>
-                  <p>{{item.itemData18}}</p>
-                  <p>{{item.itemData19}}</p>
-                  <p>{{item.itemData20}}</p>
-                </div>
-              </div>
+      <div class="content-box-left scrollbar-box">
+        <li class="chemical-name">{{newData.stock.chemicalName}}<p class="chemical-state">{{newData.stock.status==1?'未出库':'出库'}}</p></li>
+        <li>{{newData.data3}}</li>
+        <li>类别:{{newData.stock.chemicalCategory}}<p class="control-state">{{newData.stock.chemicalLevel?'管控':'非管控'}}</p></li>
+        <li>编码:{{newData.stock.tagCode}}</li>
+        <li>RFID标签:{{newData.stock.rfidCode}}</li>
+        <li>规格:{{newData.stock.specNum}}{{newData.stock.specUnit}}{{newData.stock.packUnit}}</li>
+        <li>实时库存:{{newData.stock.surplus}}{{newData.stock.specUnit}}</li>
+        <li>过期时间:{{newData.stock.expireTime}} | {{newData.stock.anotherName}}天前提醒</li>
+        <li>领用时效:{{newData.stock.usageDuration}}小时</li>
+        <li>实验室:{{newData.stock.subName}}({{newData.stock.subRoom}})</li>
+        <li>安全员:{{newData.stock.safeUser}}</li>
+        <li>位置:{{newData.stock.cabinetName}}-{{newData.stock.doorName}}-{{newData.stock.layers}}</li>
+        <li>归属人:{{newData.stock.belongName}}</li>
+      </div>
+      <div class="lines"></div>
+      <div class="content-box-right scrollbar-box">
+        <div class="record" v-for="(item,index) in newData.userecordList">
+          <div class="record-li">
+            <div class="record-li-t">
+              <div class="record-li-t-l">{{item.statusStr}}</div>
+            </div>
+            <div class="record-li-m">
+              <p>操作时间</p>
+              <p v-if="item.useStatus==1 || item.useStatus==2 || item.useStatus==3|| item.useStatus==4|| item.useStatus==5">领用量</p>
+              <p v-if="item.useStatus==0 || item.useStatus==3 || item.useStatus==4|| item.useStatus==5">使用量</p>
+              <p v-if="item.useStatus==0">余量</p>
+              <p v-if="item.useStatus==1 || item.useStatus==2|| item.useStatus==3">是否整瓶领用</p>
+              <p>称重方式</p>
+              <p>双人认证</p>
+              <p>操作人</p>
+            </div>
+            <!-- useStatus 0已归还,1使用中,2超时未归还,3用结出库,4作废出库,5整瓶领用-->
+            <div class="record-li-b">
+              <!--操作时间-->
+              <p v-if="item.useStatus==1 || item.useStatus==2 || item.useStatus==3 || item.useStatus==4 || item.useStatus==5">{{parseTime(item.collectTime)}}</p>
+              <p v-if="item.useStatus==0">{{parseTime(item.returnTime)}}</p>
+              <!--领用量-->
+              <p v-if="item.useStatus==1 || item.useStatus==2 || item.useStatus==3 || item.useStatus==4|| item.useStatus==5">{{item.collectNowNum}}</p>
+              <!--使用量-->
+              <p v-if="item.useStatus==0 || item.useStatus==3 || item.useStatus==4|| item.useStatus==5">{{item.useAmount}}</p>
+              <!--余量-->
+              <p v-if="item.useStatus==0">{{item.returnStockNum}}</p>
+              <!--是否整瓶领用-->
+              <p v-if="item.useStatus==1 || item.useStatus==2 || item.useStatus==3">{{item.isBottle?'是':'否'}}</p>
+              <!--称重方式-->
+              <p>{{item.outType==1?'自动称重':'手动称重'}}</p>
+              <!--双人认证-->
+              <p v-if="item.useStatus==1 || item.useStatus==2 || item.useStatus==3 || item.useStatus==4 || item.useStatus==5">{{item.outOneUserName}} {{item.outTwoUserName}}</p>
+              <p v-if="item.useStatus==0">{{item.backOneUserName}} {{item.backTwoUserName}}</p>
+              <!--操作人-->
+              <p v-if="item.useStatus==1 || item.useStatus==2 || item.useStatus==3 || item.useStatus==4 || item.useStatus==5">{{item.createByName}}</p>
+              <p v-if="item.useStatus==0">{{item.backUser}}</p>
             </div>
+          </div>
         </div>
+      </div>
     </div>
 
-    <full-screen-mpegts-video ref="fullScreenMpegtsVideo" :videoProps="videoProps"></full-screen-mpegts-video>
   </div>
 </template>
 
 <script>
-  import fullScreenMpegtsVideo from '@/components/fullScreenMpegtsVideo/fullScreenMpegtsVideo.vue'
-  export default {
-    name: 'infoPage',
-    components: {
-      fullScreenMpegtsVideo,
-    },
-    props:{
-      propsData:{},
-    },
-    data(){
-      return{
-        //视频配置
-        videoProps:{
-          id:50,        //(ID:非必传-默认随机生成)
-          type:'mp4',   //(视频类型:非必传-默认'flv')
-          isLive:true,  //(是否直播流:非必传-默认true)
-          url:""        //(视频地址:必传)
-        },
-        videoType:false,
-        //数据
-        newData:{
-          data1:'化学品名称',
-          data2:'已出库',
-          data3:'形态/纯度/CAS12-34-56',
-          data4:'易制毒',
-          data5:'管控',
-          data6:'123456789',
-          data7:'123456789',
-          data8:'500ml/瓶',
-          data9:'500ml',
-          data10:'2023-10-29',
-          data11:'30',
-          data12:'1',
-          data13:'实验室名称(房间号)',
-          data14:'曹秀康-13227872222',
-          data15:'化学品柜-柜门-层',
-          data16:'李砖头',
-          dataList:[
-            {
-              itemData1:'空瓶出库',
-              itemData2:false,
-              itemData3:false,
-              itemData4:'2023/09/15 16:39',
-              itemData5:'400ml',
-              itemData6:'400ml',
-              itemData7:'是',
-              itemData8:'手工录入',
-              itemData9:'张漂亮、李砖头',
-              itemData10:'李砖头',
-              itemData11:'空瓶出库',
-              itemData12:true,
-              itemData13:true,
-              itemData14:'2023/09/15 16:39',
-              itemData15:'400ml',
-              itemData16:'400ml',
-              itemData17:'是',
-              itemData18:'手工录入',
-              itemData19:'张漂亮、李砖头',
-              itemData20:'李砖头',
-              videoA:'http://192.168.1.43/labSystem/admin/statics/bigFile/2023051914/2dc29572-bac3-444c-bde9-b5b75988cc6b.mp4',
-              videoB:'http://192.168.1.43/labSystem/admin/statics/bigFile/2023051914/2dc29572-bac3-444c-bde9-b5b75988cc6b.mp4',
-              videoC:'http://192.168.1.43/labSystem/admin/statics/bigFile/2023051914/2dc29572-bac3-444c-bde9-b5b75988cc6b.mp4',
-              videoD:'http://192.168.1.43/labSystem/admin/statics/bigFile/2023051914/2dc29572-bac3-444c-bde9-b5b75988cc6b.mp4',
-            },
-            {
-              itemData1:'空瓶出库',
-              itemData2:false,
-              itemData3:false,
-              itemData4:'2023/09/15 16:39',
-              itemData5:'400ml',
-              itemData6:'400ml',
-              itemData7:'是',
-              itemData8:'手工录入',
-              itemData9:'张漂亮、李砖头',
-              itemData10:'李砖头',
-              itemData11:'空瓶出库',
-              itemData12:true,
-              itemData13:true,
-              itemData14:'2023/09/15 16:39',
-              itemData15:'400ml',
-              itemData16:'400ml',
-              itemData17:'是',
-              itemData18:'手工录入',
-              itemData19:'张漂亮、李砖头',
-              itemData20:'李砖头',
-              videoA:'http://192.168.1.43/labSystem/admin/statics/bigFile/2023051914/2dc29572-bac3-444c-bde9-b5b75988cc6b.mp4',
-              videoB:'http://192.168.1.43/labSystem/admin/statics/bigFile/2023051914/2dc29572-bac3-444c-bde9-b5b75988cc6b.mp4',
-              videoC:'http://192.168.1.43/labSystem/admin/statics/bigFile/2023051914/2dc29572-bac3-444c-bde9-b5b75988cc6b.mp4',
-              videoD:'http://192.168.1.43/labSystem/admin/statics/bigFile/2023051914/2dc29572-bac3-444c-bde9-b5b75988cc6b.mp4',
-            },
-            {
-              itemData1:'空瓶出库',
-              itemData2:false,
-              itemData3:false,
-              itemData4:'2023/09/15 16:39',
-              itemData5:'400ml',
-              itemData6:'400ml',
-              itemData7:'是',
-              itemData8:'手工录入',
-              itemData9:'张漂亮、李砖头',
-              itemData10:'李砖头',
-              itemData11:'空瓶出库',
-              itemData12:true,
-              itemData13:true,
-              itemData14:'2023/09/15 16:39',
-              itemData15:'400ml',
-              itemData16:'400ml',
-              itemData17:'是',
-              itemData18:'手工录入',
-              itemData19:'张漂亮、李砖头',
-              itemData20:'李砖头',
-              videoA:'http://192.168.1.43/labSystem/admin/statics/bigFile/2023051914/2dc29572-bac3-444c-bde9-b5b75988cc6b.mp4',
-              videoB:'http://192.168.1.43/labSystem/admin/statics/bigFile/2023051914/2dc29572-bac3-444c-bde9-b5b75988cc6b.mp4',
-              videoC:'http://192.168.1.43/labSystem/admin/statics/bigFile/2023051914/2dc29572-bac3-444c-bde9-b5b75988cc6b.mp4',
-              videoD:'http://192.168.1.43/labSystem/admin/statics/bigFile/2023051914/2dc29572-bac3-444c-bde9-b5b75988cc6b.mp4',
-            },
-          ],
-        },
-      }
-    },
-    created(){
-
-    },
-    mounted(){
+export default {
+  name: 'infoPage',
+  components: {
 
-    },
-    methods:{
-      // 返回按钮
-      backPage(){
-        this.$parent.tableButton('1');
+  },
+  props:{
+    propsData:{},
+  },
+  data(){
+    return{
+      //视频配置
+      videoProps:{
+        id:50,        //(ID:非必传-默认随机生成)
+        type:'mp4',   //(视频类型:非必传-默认'flv')
+        isLive:true,  //(是否直播流:非必传-默认true)
+        url:""        //(视频地址:必传)
       },
-      //浏览视频
-      lookVideo(url){
-        this.$set(this.videoProps,'url',url);
-        this.$refs.fullScreenMpegtsVideo.openVideo()
+      videoType:false,
+      //数据
+      newData:{
+        stock:{},
+        userecordList:[],
       },
     }
+  },
+  created(){
+    let self=this;
+    this.newData=this.propsData;
+  },
+  mounted(){
+
+    console.log(111111)
+    console.log(this.newData)
+  },
+  methods:{
+    // 返回按钮
+    backPage(){
+      this.$parent.tableButton('out','');
+    },
+    //浏览视频
+    lookVideo(url){
+      this.$set(this.videoProps,'url',url);
+      this.$refs.fullScreenMpegtsVideo.openVideo()
+    },
   }
+}
 </script>
 
 <style scoped lang="scss">
-  .infoPage{
-    .content-box{
-      flex:1;
-      display: flex;
-      padding:20px;
-      overflow: hidden;
-      .content-box-left{
-        width: 412px;
-        padding: 10px 28px 0 60px;
-        box-sizing: border-box;
-        >li{
-          list-style-type: none;
+.infoPage{
+  .content-box{
+    flex:1;
+    display: flex;
+    padding:20px;
+    overflow: hidden;
+    .content-box-left{
+      width: 412px;
+      padding: 10px 28px 0 60px;
+      box-sizing: border-box;
+      >li{
+        list-style-type: none;
+        font-size: 16px;
+        font-family: Microsoft YaHei, Microsoft YaHei;
+        font-weight: 400;
+        color: #333333;
+        margin-bottom: 20px;
+        display: flex;
+      }
+      .chemical-name{
+        display: flex;
+        justify-content: space-between;
+        align-items: center;
+        .chemical-state{
+          width: 80px;
+          height: 30px;
+          background: #0183FA;
+          border-radius: 6px 6px 6px 6px;
           font-size: 16px;
           font-family: Microsoft YaHei, Microsoft YaHei;
           font-weight: 400;
-          color: #333333;
-          margin-bottom: 20px;
-          display: flex;
-        }
-        .chemical-name{
-          display: flex;
-          justify-content: space-between;
-          align-items: center;
-          .chemical-state{
-            width: 80px;
-            height: 30px;
-            background: #0183FA;
-            border-radius: 6px 6px 6px 6px;
-            font-size: 16px;
-            font-family: Microsoft YaHei, Microsoft YaHei;
-            font-weight: 400;
-            color: #FFFFFF;
-            line-height: 30px;
-            text-align: center;
-          }
-        }
-
-        .control-state{
-          width: 50px;
-          height: 24px;
-          border-radius: 4px 4px 4px 4px;
-          opacity: 1;
-          border: 1px solid #FC7F1A;
-          font-size: 12px;
-          font-family: Microsoft YaHei, Microsoft YaHei;
-          font-weight: 400;
-          color: #FC7F1A;
-          line-height: 22px;
+          color: #FFFFFF;
+          line-height: 30px;
           text-align: center;
-          margin-left:10px;
-          float: right;
         }
       }
-      .lines{
-        width:1px ;
-        height: 760px;
+
+      .control-state{
+        width: 50px;
+        height: 24px;
+        border-radius: 4px 4px 4px 4px;
         opacity: 1;
-        border: 1px dashed #D8D8D8;
+        border: 1px solid #FC7F1A;
+        font-size: 12px;
+        font-family: Microsoft YaHei, Microsoft YaHei;
+        font-weight: 400;
+        color: #FC7F1A;
+        line-height: 22px;
+        text-align: center;
+        margin-left:10px;
+        float: right;
       }
-      .content-box-right{
-        flex:1;
-        margin-left:56px ;
-        padding-top:10px;
-        .record:nth-child(1){
-          padding-top:0;
-          border-top:none;
-        }
-        .record{
-          width: 1028px;
-          height:auto;
-          opacity: 1;
-          border-top: 1px dashed #D8D8D8;
-          margin:0 0 10px;
-          overflow: hidden;
-          padding-top:30px;
-          .record-li{
-            margin-bottom: 20px;
-            .record-li-t{
-              display: flex;
-              justify-content: space-between;
-              .record-li-t-l{
-                width: 150px;
-                height: 40px;
-                background: #0183FA;
-                border-radius: 8px 8px 0px 0px;
-                font-size: 16px;
-                font-family: Microsoft YaHei, Microsoft YaHei;
-                font-weight: 400;
-                color: #FFFFFF;
-                line-height: 40px;
-                text-align: center;
-              }
-              .record-li-t-r{
-                display: flex;
-                >p{
-                  width: 100px;
-                  height: 30px;
-                  border-radius: 6px 6px 6px 6px;
-                  opacity: 1;
-                  border: 1px solid #0183FA;
-                  font-size: 16px;
-                  font-family: Microsoft YaHei, Microsoft YaHei;
-                  font-weight: 400;
-                  color: #0183FA;
-                  line-height: 28px;
-                  text-align: center;
-                  margin-left:10px;
-                  cursor: pointer;
-                }
-              }
+    }
+    .lines{
+      width:1px ;
+      height: 760px;
+      opacity: 1;
+      border: 1px dashed #D8D8D8;
+    }
+    .content-box-right{
+      flex:1;
+      margin-left:56px ;
+      padding-top:10px;
+      .record:nth-child(1){
+        padding-top:0;
+        border-top:none;
+      }
+      .record{
+        width: 1028px;
+        height:auto;
+        opacity: 1;
+        border-top: 1px dashed #D8D8D8;
+        margin:0 0 10px;
+        overflow: hidden;
+        padding-top:30px;
+        .record-li{
+          margin-bottom: 20px;
+          .record-li-t{
+            display: flex;
+            justify-content: space-between;
+            .record-li-t-l{
+              width: 150px;
+              height: 40px;
+              background: #0183FA;
+              border-radius: 8px 8px 0px 0px;
+              font-size: 16px;
+              font-family: Microsoft YaHei, Microsoft YaHei;
+              font-weight: 400;
+              color: #FFFFFF;
+              line-height: 40px;
+              text-align: center;
             }
-            .record-li-m{
+            .record-li-t-r{
               display: flex;
-              justify-content: flex-start;
-              border: 1px solid #E0E0E0;
               >p{
-                font-weight:700;
-                flex: 1;
-                height: 40px;
-                background: #F5F5F5;
+                width: 100px;
+                height: 30px;
+                border-radius: 6px 6px 6px 6px;
+                opacity: 1;
+                border: 1px solid #0183FA;
                 font-size: 16px;
                 font-family: Microsoft YaHei, Microsoft YaHei;
-                color: #333333;
-                line-height: 40px;
+                font-weight: 400;
+                color: #0183FA;
+                line-height: 28px;
                 text-align: center;
-                border-right: 1px solid #E0E0E0;
+                margin-left:10px;
+                cursor: pointer;
               }
             }
-            .record-li-b{
-              display: flex;
-              justify-content: flex-start;
-              border-bottom: 1px solid #E0E0E0;
-              border-left: 1px solid #E0E0E0;
+          }
+          .record-li-m{
+            display: flex;
+            justify-content: flex-start;
+            border: 1px solid #E0E0E0;
+            >p{
+              font-weight:700;
+              flex: 1;
+              height: 40px;
+              background: #F5F5F5;
+              font-size: 16px;
+              font-family: Microsoft YaHei, Microsoft YaHei;
+              color: #333333;
+              line-height: 40px;
+              text-align: center;
+              border-right: 1px solid #E0E0E0;
+            }
+          }
+          .record-li-b{
+            display: flex;
+            justify-content: flex-start;
+            border-bottom: 1px solid #E0E0E0;
+            border-left: 1px solid #E0E0E0;
+            border-right: 1px solid #E0E0E0;
+            >p{
+              flex: 1;
+              height: 40px;
+              font-size: 14px;
+              font-family: Microsoft YaHei, Microsoft YaHei;
+              font-weight: 400;
+              color: #333333;
+              line-height: 40px;
+              text-align: center;
               border-right: 1px solid #E0E0E0;
-              >p{
-                flex: 1;
-                height: 40px;
-                font-size: 14px;
-                font-family: Microsoft YaHei, Microsoft YaHei;
-                font-weight: 400;
-                color: #333333;
-                line-height: 40px;
-                text-align: center;
-                border-right: 1px solid #E0E0E0;
-              }
             }
           }
         }
       }
     }
   }
+}
 </style>

+ 127 - 55
src/views/chemicalManage/inventoryManagement/inventoryStatistics/inventoryList.vue

@@ -15,8 +15,10 @@
       <div class="page-form-title-box">
         <el-form :model="queryParams" class="form-box" ref="queryForm"
                  :inline="true" style="width:100%;">
-          <el-form-item label="" prop="queryParamsData2">
-            <el-select v-model="queryParams.queryParamsData2" placeholder="请选择学院" style="width: 160px">
+          <el-form-item label="" prop="deptId">
+            <el-select v-model="queryParams.deptId"
+                       placeholder="请选择学院"
+                       style="width: 140px">
               <el-option
                 v-for="item in deptOptions"
                 :key="item.deptId"
@@ -25,49 +27,52 @@
               />
             </el-select>
           </el-form-item>
-          <el-form-item label="" prop="queryParamsData3">
+          <el-form-item label="" prop="floorId">
             <el-cascader
-              style="width: 180px"
+              style="width: 120px"
               placeholder="请选择楼栋楼层"
-              :props="{value: 'id', label: 'name',children:'buildFloorVoList'}"
-              v-model="queryParams.queryParamsData3"
+              :props="{value: 'id', label: 'name',children:'buildFloorVoList',checkStrictly: true}"
+              v-model="queryParams.buildIdAndfloorId"
               :options="buildFloorOptions">
             </el-cascader>
           </el-form-item>
-          <el-form-item label="" prop="queryParamsData4">
-            <el-select v-model="queryParams.queryParamsData4" placeholder="请选择级别" style="width: 140px">
+          <el-form-item label="" prop="chemicalLevel">
+            <el-select v-model="queryParams.chemicalLevel"
+                       placeholder="请选择级别" style="width: 140px">
               <el-option
-                v-for="dict in optionList"
-                :key="dict.value"
-                :label="dict.label"
-                :value="dict.value"
+                v-for="item in levelOptions"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value"
               />
             </el-select>
           </el-form-item>
-          <el-form-item label="" prop="queryParamsData5">
-            <el-select v-model="queryParams.queryParamsData5" placeholder="请选择类别" style="width: 140px">
+          <el-form-item label="" prop="chemicalCategory">
+            <el-select v-model="queryParams.chemicalCategory"
+                       placeholder="请选择类别" style="width: 140px">
               <el-option
-                v-for="dict in optionList"
-                :key="dict.value"
-                :label="dict.label"
-                :value="dict.value"
+                v-for="item in categoryOptions"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value"
               />
             </el-select>
           </el-form-item>
-          <el-form-item label="" prop="queryParamsData6">
-            <el-select v-model="queryParams.queryParamsData6" placeholder="请选择状态" style="width: 140px">
+          <el-form-item label="" prop="useStatus">
+            <el-select v-model="queryParams.useStatus"
+                       placeholder="请选择状态" style="width: 140px">
               <el-option
-                v-for="dict in optionList"
-                :key="dict.value"
-                :label="dict.label"
-                :value="dict.value"
+                v-for="item in statusOptions"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value"
               />
             </el-select>
           </el-form-item>
-          <el-form-item label="" prop="queryParamsData1">
+          <el-form-item label="" prop="searchValue">
             <el-input
               maxLength="30"
-              v-model="queryParams.queryParamsData1"
+              v-model="queryParams.searchValue"
               placeholder="化学品名/CAS/编码/实验室/房间号/姓名/联系方式"
               style="width: 340px"
             />
@@ -83,20 +88,37 @@
         <el-table class="table-box" v-loading="loading" border :data="dataList"
                   @selection-change="handleSelectionChange" :row-key="getRowKeys">
           <el-table-column type="selection" width="50" align="center" fixed="" :reserve-selection="true"/>
-          <el-table-column label="名称" prop="name" width="200" fixed="" show-overflow-tooltip/>
-          <el-table-column label="编码" prop="content" width="120" show-overflow-tooltip/>
-          <el-table-column label="类别" prop="content" width="120" show-overflow-tooltip/>
-          <el-table-column label="级别" prop="content" width="120" show-overflow-tooltip/>
-          <el-table-column label="学院" prop="content" width="120" show-overflow-tooltip/>
-          <el-table-column label="楼栋楼层" prop="content" width="150" show-overflow-tooltip/>
-          <el-table-column label="实验室" prop="content" width="230" show-overflow-tooltip/>
-          <el-table-column label="实验室负责人" prop="content" width="170" show-overflow-tooltip/>
-          <el-table-column label="安全员" prop="content" width="150" show-overflow-tooltip/>
-          <el-table-column label="存储位置" prop="content" width="250" show-overflow-tooltip/>
-          <el-table-column label="规格" prop="content" width="100" show-overflow-tooltip/>
-          <el-table-column label="归属人" prop="content" width="150" show-overflow-tooltip/>
-          <el-table-column label="库存余量" prop="content" width="100" show-overflow-tooltip/>
-          <el-table-column label="状态" prop="content" width="100" show-overflow-tooltip/>
+          <el-table-column label="名称" prop="chemicalName" width="200" fixed="" show-overflow-tooltip/>
+          <el-table-column label="编码" prop="tagCode" width="120" show-overflow-tooltip/>
+          <el-table-column label="类别" prop="chemicalCategoryName" width="120" show-overflow-tooltip/>
+          <el-table-column label="级别" prop="chemicalLevelName" width="120" show-overflow-tooltip/>
+          <el-table-column label="学院" prop="deptName" width="120" show-overflow-tooltip/>
+          <el-table-column label="楼栋楼层" prop="content" width="150" show-overflow-tooltip>
+            <template slot-scope="scope">
+              <span>{{scope.row.buildName}}-{{scope.row.floorName}}</span>
+            </template>
+          </el-table-column>
+          <el-table-column label="实验室" prop="content" width="230" show-overflow-tooltip>
+            <template slot-scope="scope">
+              <span>{{scope.row.subName}}({{scope.row.subRoom}})</span>
+            </template>
+          </el-table-column>
+          <el-table-column label="实验室负责人" prop="adminUser" width="170" show-overflow-tooltip/>
+          <el-table-column label="安全员" prop="safeUser" width="150" show-overflow-tooltip/>
+          <el-table-column label="存储位置" prop="position" width="250" show-overflow-tooltip/>
+          <el-table-column label="规格" prop="specNum" width="130" show-overflow-tooltip>
+            <template slot-scope="scope">
+              <span>{{scope.row.specNum}}{{scope.row.specUnit}}/{{scope.row.packUnit}}</span>
+            </template>
+          </el-table-column>
+          <el-table-column label="归属人" prop="belongName" width="150" show-overflow-tooltip/>
+          <el-table-column label="库存余量" prop="surplus" width="100" show-overflow-tooltip>
+            <template slot-scope="scope">
+              <span>{{scope.row.surplus}}{{scope.row.specUnit}}</span>
+            </template>
+          </el-table-column>
+
+          <el-table-column label="状态" prop="statusStr" width="100" show-overflow-tooltip/>
           <el-table-column label="操作" width="100" show-overflow-tooltip v-if="tableButtonType">
             <template slot-scope="scope">
               <div class="table-button-box">
@@ -136,6 +158,13 @@
   import infoPage from "./infoPage.vue"
   import exportComponent from "@/components/exportComponent/exportComponent.vue";
   import { getDeptDropList,systemBuildingGetTreeList,} from "@/api/commonality/permission";
+  import {
+    chemicalCabinetList,
+    chemicalStockStockDetails,
+    chemicalStockStockDetailsList,
+    chemicalUserecordDetail
+  } from '@/api/chemicalManage'
+  import { getDicts } from '@/api/commonality/noPermission'
   export default {
     name: 'inventoryList',
     components: {
@@ -156,6 +185,21 @@
         pageType:1,
         //页面遮罩
         loading:false,
+        //状态
+        statusOptions:[
+          {label:'请选择状态',value:''},
+          {label:'未使用',value:'-1'},
+          {label:'使用中',value:'1'},
+          {label:'超时未归还',value:'2'},
+        ],
+        //类别
+        categoryOptions:[],
+        //级别
+        levelOptions:[
+          {label:'请选择级别',value:''},
+          {label:'管控',value:'1'},
+          {label:'非管控',value:'2'},
+        ],
         //学院
         deptOptions:[],
         //楼栋楼层
@@ -166,11 +210,17 @@
         queryParams:{
           page:1,
           pageSize:20,
-          queryParamsData1:"",
-          queryParamsData2 :null,
+          deptId :null,
+          floorId :null,
+          buildId :null,
+          chemicalLevel :null,
+          chemicalCategory :null,
+          useStatus :null,
+          searchValue :null,
+          buildIdAndfloorId :[],
         },
         //列表数据
-        dataList:[{},{},{},{},],
+        dataList:[],
         //数据数量
         total:10,
         // 选中数组
@@ -186,6 +236,7 @@
     },
     mounted () {
       this.getDeptDropList();
+      this.getDicts();
       this.systemBuildingGetTreeList();
       this.getList();
     },
@@ -193,8 +244,22 @@
       titleClick(){
         this.$parent.titleTypeButton(2);
       },
+      //获取化学品类别
+      getDicts(){
+        getDicts('chemicals_category').then(response => {
+          this.$set(this,'categoryOptions',response.data);
+        });
+      },
       //查询按钮
       handleQuery(){
+        if (this.queryParams.buildIdAndfloorId[0]){
+          if (this.queryParams.buildIdAndfloorId.length ==1){
+            this.$set(this.queryParams,'buildId',this.queryParams.buildIdAndfloorId[0]);
+          }else if (this.queryParams.buildIdAndfloorId.length ==2){
+            this.$set(this.queryParams,'buildId',this.queryParams.buildIdAndfloorId[0]);
+            this.$set(this.queryParams,'floorId',this.queryParams.buildIdAndfloorId[1]);
+          }
+        }
         this.$set(this.queryParams,'page',1);
         this.getList();
       },
@@ -204,28 +269,35 @@
         this.$set(this,'queryParams',{
           page:1,
           pageSize:20,
-          queryParamsData1:"",
-          queryParamsData2 :null,
+          deptId :null,
+          floorId :null,
+          buildId :null,
+          chemicalLevel :null,
+          chemicalCategory :null,
+          useStatus :null,
+          searchValue :null,
+          buildIdAndfloorId :[],
         });
         this.getList();
       },
       //获取数据列表
       getList(){
-        // this.$set(this,'loading',true);
-        // getListFunction(this.queryParams).then(response => {
-        //   this.$set(this,'loading',false);
-        //   this.$set(this,'dataList',response.data.records);
-        //   this.$set(this,'total',response.data.total);
-        // });
+        this.$set(this,'loading',true);
+        chemicalStockStockDetailsList(this.queryParams).then(response => {
+          this.$set(this,'loading',false);
+          this.$set(this,'dataList',response.data.records);
+          this.$set(this,'total',response.data.total);
+        });
       },
       //操作按钮
       tableButton(type,row){
         if(type == 2){
           //详情
-          let obj = JSON.parse(JSON.stringify(row))
-          this.$set(this,'propsData',obj);
-          this.$set(this,'pageType',2);
-        }else if(type == 1){
+          chemicalStockStockDetails({id:'1767397722326867969'}).then(response => {
+            this.$set(this,'propsData',JSON.parse(JSON.stringify(response.data)));
+            this.$set(this,'pageType',2);
+          });
+        }else if(type == 'out'){
           //返回并刷新
           this.$set(this,'pageType',1);
           this.getList();

+ 2 - 2
src/views/hazardManagement/hazard/index.vue

@@ -25,8 +25,8 @@
         <el-table-column label="类型" align="left" prop="smallTypeName" />
         <el-table-column label="实验室危险源占比" align="left" prop="labScale">
           <template slot-scope="scope">
-            <div class="progress-box">
-            <el-progress :text-inside="true" :stroke-width="20" color="#52a1fe" :percentage="scope.row.labScale>100?100:scope.row.labScale" style="margin-right:74px;"></el-progress>
+            <div class="progress-box" style="margin-top: 3px">
+            <el-progress :stroke-width="20" color="#52a1fe" :percentage="scope.row.labScale>100?100:scope.row.labScale" style="margin-right:74px;"></el-progress>
             </div>
           </template>
         </el-table-column>

+ 1 - 1
src/views/integratedManagement/laboratoryManagement/classifiedGrading/classified.vue

@@ -28,7 +28,7 @@
       </el-table-column>
       <el-table-column label="创建人" align="left" prop="createName" />
       <el-table-column label="创建时间" align="left" prop="createTime">
-        <template slot-scope="scope">{{ parseTime(scope.row.createTime) }}</template>
+        <template slot-scope="scope">{{ parseTime(scope.row.createTime,"{y}-{m}-{d} {h}:{i}") }}</template>
       </el-table-column>
       <el-table-column label="操作" align="left" class-name="small-padding fixed-width" width="160" v-if="tableButtonType">
         <template slot-scope="scope">

+ 1 - 1
src/views/integratedManagement/laboratoryManagement/classifiedGrading/classtype.vue

@@ -23,7 +23,7 @@
       <el-table-column label="安全分类" align="left" prop="typeName" />
       <el-table-column label="创建人" align="left" prop="createName" />
       <el-table-column label="创建时间" align="left" prop="createTime">
-        <template slot-scope="scope">{{ parseTime(scope.row.createTime) }}</template>
+        <template slot-scope="scope">{{ parseTime(scope.row.createTime,"{y}-{m}-{d} {h}:{i}") }}</template>
       </el-table-column>
       <el-table-column label="操作" align="left" class-name="small-padding fixed-width" width="160" v-if="tableButtonType">
         <template slot-scope="scope">