dedsudiyu 2 年之前
父节点
当前提交
fbdecc08ad
共有 21 个文件被更改,包括 1165 次插入309 次删除
  1. 26 0
      src/api/medicUniversity-3_1/index.js
  2. 45 0
      src/api/studentApi/chemicalManagement/index.js
  3. 二进制
      src/assets/ZDimages/medicUniversity-3_1/icon_bz_1.png
  4. 二进制
      src/assets/ZDimages/medicUniversity-3_1/icon_bz_2.png
  5. 二进制
      src/assets/ZDimages/medicUniversity-3_1/icon_cgsq_yjj.png
  6. 二进制
      src/assets/ZDimages/medicUniversity-3_1/icon_cgsq_ytg.png
  7. 二进制
      src/assets/ZDimages/medicUniversity-3_1/icon_sp_wxz.png
  8. 二进制
      src/assets/ZDimages/medicUniversity-3_1/icon_ytg_xz.png
  9. 8 1
      src/router/index.js
  10. 7 4
      src/views/medicUniversity-3_1/chemicalManagement/InventoryManagement/warehousingRecord/index.vue
  11. 1 1
      src/views/medicUniversity-3_1/chemicalManagement/chemicalProcurement/purchaseRequisition/addPage.vue
  12. 580 0
      src/views/medicUniversity-3_1/chemicalManagement/chemicalProcurement/purchaseRequisition/approvalPage.vue
  13. 20 15
      src/views/medicUniversity-3_1/chemicalManagement/chemicalProcurement/purchaseRequisition/draftPage.vue
  14. 94 27
      src/views/medicUniversity-3_1/chemicalManagement/chemicalProcurement/purchaseRequisition/index.vue
  15. 12 3
      src/views/medicUniversity-3_1/chemicalManagement/usageRecord/index.vue
  16. 217 136
      src/views/medicUniversity-3_1/chemicalManagement/usageRecord/infoPage.vue
  17. 10 26
      src/views/studentViews/chemicalManagement/studentChemicalInfo/addPage.vue
  18. 12 30
      src/views/studentViews/chemicalManagement/studentChemicalInfo/index.vue
  19. 12 3
      src/views/studentViews/chemicalManagement/studentUsageRecord/index.vue
  20. 112 58
      src/views/studentViews/chemicalManagement/studentUsageRecord/infoPage.vue
  21. 9 5
      src/views/studentViews/chemicalManagement/studentWarehousingRecord/index.vue

+ 26 - 0
src/api/medicUniversity-3_1/index.js

@@ -272,6 +272,14 @@ export function getHxpUserecordList(query) {
   })
 }
 
+//获取使用记录详情接口
+export function getQueryDetail(id) {
+  return request({
+    url: '/chemical/hxpUserecord/queryDetail/'+id,
+    method: 'get',
+  })
+}
+
 //四合一智能终端/智能门禁/RFID识别器/只能报警器(列表接口)
 export function hxpSmartTerminal(query) {
   return request({
@@ -549,3 +557,21 @@ export function handle(data) {
   })
 }
 
+//采购申请列表
+export function getHxpapplyList(query) {
+  return request({
+    url: '/chemical/hxpapply/list',
+    method: 'get',
+    params: query
+  })
+}
+
+//采购申请草稿列表
+export function getHxpapplyDraftsList(query) {
+  return request({
+    url: '/chemical/hxpapply/draftsList',
+    method: 'get',
+    params: query
+  })
+}
+

+ 45 - 0
src/api/studentApi/chemicalManagement/index.js

@@ -0,0 +1,45 @@
+import request from '@/utils/request'
+
+//获取入库列表接口
+export function getListJoin(query) {
+  return request({
+    url: '/chemical/hxpStock/listJoinByUser',
+    method: 'get',
+    params: query
+  })
+}
+
+//获取使用记录列表接口
+export function getHxpUserecordList(query) {
+  return request({
+    url: '/chemical/hxpUserecord/getHxpUserecordListByUser',
+    method: 'get',
+    params: query
+  })
+}
+
+//获取使用记录详情接口
+export function getQueryDetail(id) {
+  return request({
+    url: '/chemical/hxpUserecord/queryDetail/'+id,
+    method: 'get',
+  })
+}
+
+//学生端查询自己存放的数据接口
+export function getQueryByUser(query) {
+  return request({
+    url: '/chemical/hxpChemicalJoinCabinet/queryByUser',
+    method: 'get',
+    params: query
+  })
+}
+
+//学生端查询化学品列表
+export function getHxpQueryByUser(query) {
+  return request({
+    url: '/chemical/hxpChemical/queryByUser',
+    method: 'get',
+    params: query
+  })
+}

二进制
src/assets/ZDimages/medicUniversity-3_1/icon_bz_1.png


二进制
src/assets/ZDimages/medicUniversity-3_1/icon_bz_2.png


二进制
src/assets/ZDimages/medicUniversity-3_1/icon_cgsq_yjj.png


二进制
src/assets/ZDimages/medicUniversity-3_1/icon_cgsq_ytg.png


二进制
src/assets/ZDimages/medicUniversity-3_1/icon_sp_wxz.png


二进制
src/assets/ZDimages/medicUniversity-3_1/icon_ytg_xz.png


+ 8 - 1
src/router/index.js

@@ -40,7 +40,14 @@ export const constantRoutes = [
       {
         path: '/redirect/:path(.*)',
         component: (resolve) => require(['@/views/redirect'], resolve)
-      }
+      },
+      /*
+      前端测试用
+      */
+      // {
+      //   path: '/demo',
+      //   component: (resolve) => require(['@/views/studentViews/chemicalManagement/studentUsageRecord/index'], resolve),
+      // },
     ]
   },
   {

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

@@ -32,7 +32,7 @@
             <div class="button-box">
               <p class="table-min-button"
                  style="margin:0!important;"
-                 @click="lockVideo(2,scope.row)"
+                 @click="lockVideo(scope.row)"
               >操作视频</p>
             </div>
           </template>
@@ -195,10 +195,13 @@
     },
     methods: {
       //视频按钮
-      lockVideo(type,row){
+      lockVideo(row){
+        if(!row.joinVideo){
+          this.msgError('操作视频异常无法观看');
+          return
+        }
         let obj = {
-          // type:type,
-          // url:row.unLockVideo
+          url:row.joinVideo
         }
         this.$set(this,'videoData',obj);
         this.videoType = true;

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

@@ -1,4 +1,4 @@
-<!--草稿箱-->
+<!--新增/编辑-->
 <template>
   <div class="addPage">
     <div class="title-box">

+ 580 - 0
src/views/medicUniversity-3_1/chemicalManagement/chemicalProcurement/purchaseRequisition/approvalPage.vue

@@ -0,0 +1,580 @@
+<template>
+  <div class="approvalPage">
+    <div class="title-box">
+      <p>化学品申购</p>
+      <p class="reset-button-one button-p" @click="backPage">返回</p>
+      <!--已拒绝/已撤销时显示-->
+      <p class="inquire-button-one button-p" @click="backPage">编辑</p>
+    </div>
+    <div class="page-max-box scrollbar-box">
+      <div class="text-box-one">
+        <p>编号:</p>
+        <p></p>
+        <p>申购人:</p>
+        <p>已撤销</p>
+      </div>
+      <div class="text-box-two">
+        <p>申购原因:</p>
+        <p></p>
+      </div>
+      <div class="text-box-one">
+        <p>实验室:</p>
+        <p></p>
+      </div>
+      <div class="text-box-three">
+        <p class="el-icon-info"></p>
+        <p>勾选的化学品为已同意申购</p>
+      </div>
+      <div class="table-title-box-one">
+        <img src="@/assets/ZDimages/medicUniversity-3_1/icon_sp_wxz.png">
+        <!--<img src="@/assets/ZDimages/medicUniversity-3_1/icon_ytg_xz.png">-->
+        <p>全选</p>
+        <p>化学品名</p>
+        <p>化学品柜</p>
+        <p>位置</p>
+        <p>申购人剩余可存放量</p>
+        <p>本次申购量</p>
+      </div>
+      <!--学生-->
+      <div class="table-list-box-one">
+        <img src="@/assets/ZDimages/medicUniversity-3_1/icon_sp_wxz.png">
+        <!--<img src="@/assets/ZDimages/medicUniversity-3_1/icon_ytg_xz.png">-->
+        <p></p>
+        <p>甲醇</p>
+        <p>1号柜</p>
+        <p>楼栋-楼层-房间号</p>
+        <p>10g</p>
+        <p>1000g</p>
+      </div>
+      <!--管理-->
+      <div class="table-title-box-two">
+        <img src="@/assets/ZDimages/medicUniversity-3_1/icon_sp_wxz.png">
+        <!--<img src="@/assets/ZDimages/medicUniversity-3_1/icon_ytg_xz.png">-->
+        <p>全选</p>
+        <p>化学品名</p>
+        <p>化学品柜</p>
+        <p>位置</p>
+        <p>学院库存</p>
+        <p>实验室库存</p>
+        <p>化学品库存</p>
+        <p>申购人剩余可存放量</p>
+        <p>本次申购量</p>
+        <p>操作</p>
+      </div>
+      <div class="table-list-box-two">
+        <img src="@/assets/ZDimages/medicUniversity-3_1/icon_sp_wxz.png">
+        <!--<img src="@/assets/ZDimages/medicUniversity-3_1/icon_ytg_xz.png">-->
+        <p></p>
+        <p>甲醇</p>
+        <p>1号柜</p>
+        <p>楼栋-楼层-房间号</p>
+        <p>10g</p>
+        <p>10g</p>
+        <p>10g</p>
+        <p>10g</p>
+        <p>1000g</p>
+        <p>化学品</p>
+        <p>化学品详情</p>
+      </div>
+      <p class="approval-title-p">审批流程</p>
+      <!--审批流程-->
+      <div class="approval-list-max-box">
+        <div class="approval-for-box">
+          <div class="left-max-box">
+            <div class="left-top-box">
+              <img src="">
+              <!--<img src="">-->
+              <div class="left-top-text-box">
+                <p>发起申请</p>
+                <p>练英雄</p>
+              </div>
+            </div>
+            <p class="left-bottom-p"></p>
+            <img class="left-position-img" src="@/assets/ZDimages/medicUniversity-3_1/icon_cgsq_ytg.png">
+            <img class="left-position-img" src="@/assets/ZDimages/medicUniversity-3_1/icon_cgsq_yjj.png">
+          </div>
+          <div class="right-max-box">
+            <div class="right-for-name-box">
+              <img src="https://img0.baidu.com/it/u=1034508305,2958640538&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=500">
+              <p>李达渊</p>
+              <img src="@/assets/ZDimages/medicUniversity-3_1/icon_bz_1.png">
+              <!--<img src="@/assets/ZDimages/medicUniversity-3_1/icon_bz_2.png">-->
+              <img src="@/assets/ZDimages/medicUniversity-3_1/icon_cgsq_ytg.png">
+            </div>
+          </div>
+        </div>
+      </div>
+      <div class="bottom-button-box">
+        <p class="add-button-two-90">拒绝</p>
+        <p class="inquire-button-one">同意</p>
+      </div>
+    </div>
+    <el-dialog title="化学品详情" :visible.sync="infoDialogType" v-if="infoDialogType" width="900px" append-to-body class="approvalPage-info-dialog-box">
+      <div class="approvalPage-info-dialog-text-big-box">
+        <div class="approvalPage-info-dialog-box-text-box">
+          <p>化学品名:</p>
+          <p>甲醇</p>
+        </div>
+        <div class="approvalPage-info-dialog-box-text-box">
+          <p>化学品ID:</p>
+          <p>12345678</p>
+        </div>
+      </div>
+      <div class="approvalPage-info-dialog-text-big-box">
+        <div class="approvalPage-info-dialog-box-text-box">
+          <p>CAS:</p>
+          <p>1-35-64664</p>
+        </div>
+        <div class="approvalPage-info-dialog-box-text-box">
+          <p>别名:</p>
+          <p>无</p>
+        </div>
+      </div>
+      <div class="approvalPage-info-dialog-text-big-box">
+        <div class="approvalPage-info-dialog-box-text-box">
+          <p>分类:</p>
+          <p>危险化学品</p>
+        </div>
+        <div class="approvalPage-info-dialog-box-text-box">
+          <p>属性:</p>
+          <p>易制毒、易腐蚀</p>
+        </div>
+      </div>
+      <div class="approvalPage-info-dialog-text-big-box">
+        <div class="approvalPage-info-dialog-box-text-box">
+          <p>纯度:</p>
+          <p>无</p>
+        </div>
+        <div class="approvalPage-info-dialog-box-text-box">
+          <p>形态:</p>
+          <p>液体(g)</p>
+        </div>
+      </div>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary">确 定</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+  export default {
+    name: "approvalPage",
+    props:{
+      addPagePropsData:{},
+    },
+    data(){
+      return{
+        //详情展示弹窗开关
+        infoDialogType:true,
+      }
+    },
+    created() {
+
+    },
+    mounted(){
+
+    },
+    methods: {
+      //返回
+      backPage(){
+        this.$parent.pageToggle(1);
+      },
+    }
+  }
+</script>
+
+<style scoped lang="scss">
+  .approvalPage{
+    flex:1;
+    display: flex;
+    flex-direction: column;
+    overflow: hidden;
+    p{
+      margin:0;
+      padding:0;
+    }
+    .title-box{
+      display: flex;
+      height:90px;
+      border-bottom: 1px solid #D8D8D8;
+      p:nth-child(1){
+        flex:1;
+        font-size:16px;
+        line-height:90px;
+        margin-left:18px;
+        color:#0045AF;
+      }
+      .button-p{
+        margin:25px 25px 0 0;
+      }
+    }
+    .page-max-box{
+      flex:1;
+      display: flex;
+      flex-direction: column;
+      padding:20px 80px;
+      .text-box-one{
+        display: flex;
+        margin-bottom:10px;
+        font-size:16px;
+        p{
+          color:#333;
+          line-height:50px;
+        }
+        p:nth-child(1){
+          width:85px;
+          text-align: right;
+        }
+        p:nth-child(2){
+          width:205px;
+        }
+        p:nth-child(3){
+          flex:1;
+        }
+        p:nth-child(4){
+
+        }
+        .colorA{
+          color:#666666;
+        }
+        .colorB{
+          color:#666666;
+        }
+        .colorC{
+          color:#666666;
+        }
+      }
+      .text-box-two{
+        display: flex;
+        margin-bottom:10px;
+        font-size:16px;
+        p{
+          color:#333;
+          line-height:50px;
+        }
+        p:nth-child(1){
+          width:85px;
+          text-align: right;
+        }
+        p:nth-child(2){
+          flex:1;
+          background: #F5F5F5;
+          border-radius:4px;
+        }
+      }
+      .text-box-three{
+        display: flex;
+        font-size:14px;
+        p:nth-child(1){
+          font-size:14px;
+          width:14px;
+          height:14px;
+          margin:14px 11px 14px 14px;
+          text-align: center;
+          color:#ffb400;
+          border-radius:50%;
+        }
+        p:nth-child(2){
+          flex:1;
+          line-height:42px;
+        }
+      }
+      .table-title-box-one{
+        display: flex;
+        background: #f5f5f5;
+        img:nth-child(1){
+          width:16px;
+          height:16px;
+          margin:17px 17px 0 29px;
+        }
+        p{
+          line-height: 50px;
+          font-size:16px;
+        }
+        p:nth-child(2){
+          width:130px;
+        }
+        p:nth-child(3){
+          width:184px;
+        }
+        p:nth-child(4){
+          width:299px;
+        }
+        p:nth-child(5){
+          width:288px;
+        }
+        p:nth-child(6){
+          flex:1;
+        }
+        p:nth-child(7){
+          width:145px;
+        }
+      }
+      .table-list-box-one{
+        display: flex;
+        img:nth-child(1){
+          width:16px;
+          height:16px;
+          margin:13px 17px 0 29px;
+        }
+        p{
+          line-height: 42px;
+          font-size:14px;
+        }
+        p:nth-child(2){
+          width:130px;
+        }
+        p:nth-child(3){
+          width:184px;
+        }
+        p:nth-child(4){
+          width:299px;
+        }
+        p:nth-child(5){
+          width:288px;
+        }
+        p:nth-child(6){
+          flex:1;
+        }
+        p:nth-child(7){
+          width:145px;
+          color: #0045AF;
+        }
+      }
+      .table-title-box-two{
+        display: flex;
+        background: #f5f5f5;
+        img:nth-child(1){
+          width:16px;
+          height:16px;
+          margin:17px 17px 0 18px;
+        }
+        p{
+          line-height: 50px;
+          font-size:16px;
+        }
+        p:nth-child(2){
+          width:72px;
+        }
+        p:nth-child(3){
+          width:113px;
+        }
+        p:nth-child(4){
+          width:121px;
+        }
+        p:nth-child(5){
+          width:165px;
+        }
+        p:nth-child(6){
+          width:121px;
+        }
+        p:nth-child(7){
+          width:136px;
+        }
+        p:nth-child(8){
+          width:132px;
+        }
+        p:nth-child(9){
+          width:169px;
+        }
+        p:nth-child(10){
+          flex:1;
+        }
+        p:nth-child(11){
+          width:145px;
+          margin-left:55px;
+        }
+      }
+      .table-list-box-two{
+        display: flex;
+        img:nth-child(1){
+          width:16px;
+          height:16px;
+          margin:17px 17px 0 18px;
+        }
+        p{
+          line-height: 50px;
+          font-size:14px;
+        }
+        p:nth-child(2){
+          width:72px;
+        }
+        p:nth-child(3){
+          width:113px;
+        }
+        p:nth-child(4){
+          width:121px;
+        }
+        p:nth-child(5){
+          width:165px;
+        }
+        p:nth-child(6){
+          width:121px;
+        }
+        p:nth-child(7){
+          width:136px;
+        }
+        p:nth-child(8){
+          width:132px;
+        }
+        p:nth-child(9){
+          width:169px;
+        }
+        p:nth-child(10){
+          flex:1;
+        }
+        p:nth-child(11){
+          width:80px;
+          height:28px;
+          line-height:28px;
+          margin-right:14px;
+          color:#0045af;
+          border:1px solid #0045af;
+          border-radius:4px;
+          text-align: center;
+          margin-top:7px;
+          cursor: pointer;
+        }
+        p:nth-child(12){
+          width:100px;
+          height:28px;
+          line-height:28px;
+          color:#0045af;
+          border:1px solid #0045af;
+          border-radius:4px;
+          text-align: center;
+          margin-top:7px;
+          cursor: pointer;
+        }
+      }
+      .approval-title-p{
+        font-size:16px;
+        background: #f5f5f5;
+        line-height: 50px;
+        margin-bottom:23px;
+      }
+      .approval-list-max-box{
+        .approval-for-box{
+          display: flex;
+          .left-max-box{
+            display: flex;
+            flex-direction: column;
+            width:219px;
+            position: relative;
+            .left-top-box{
+              display: flex;
+              img{
+                width:60px;
+                height:60px;
+                border-radius:4px;
+                margin-right:30px;
+              }
+              .left-top-text-box{
+                p{
+                  line-height:30px;
+                  font-size:14px;
+                  color:#333;
+                }
+              }
+            }
+            .left-bottom-p{
+              width:2px;
+              flex:1;
+              background: #e0e0e0;
+              margin-left:29px;
+            }
+            .left-position-img{
+              width:20px;
+              height:20px;
+              position: absolute;
+              top:50px;
+              left:50px;
+            }
+          }
+          .right-max-box{
+            flex:1;
+            min-height:108px;
+            border:1px solid #e0e0e0;
+            margin-bottom:27px;
+            padding:19px 14px 0;
+            .right-for-name-box{
+              display: flex;
+              position: relative;
+              img:nth-child(1){
+                width:40px;
+                height:40px;
+                border-radius:4px;
+                margin-right:8px;
+              }
+              p:nth-child(2){
+                line-height:44px;
+                font-size:14px;
+              }
+              img:nth-child(3){
+                width:12px;
+                height:10px;
+                margin:16px 17px 0 13px;
+              }
+              img:nth-child(4){
+                width:20px;
+                height:20px;
+                position: absolute;
+                top:30px;
+                left:30px;
+              }
+            }
+          }
+          .right-max-end{
+            margin-bottom:0;
+          }
+        }
+      }
+      .bottom-button-box{
+        display: flex;
+        width:217px;
+        margin:30px auto;
+        p{
+          width:100px;
+        }
+        p:nth-child(1){
+          margin-right:17px;
+        }
+      }
+    }
+  }
+</style>
+<style lang="scss">
+  .approvalPage-info-dialog-box{
+    p{
+      margin:0;
+    }
+    .approvalPage-info-dialog-text-big-box{
+      display: flex;
+      .approvalPage-info-dialog-box-text-box:nth-child(1){
+        margin-right:100px;
+        margin-left:20px;
+      }
+      .approvalPage-info-dialog-box-text-box{
+        width:357px;
+        display: flex;
+        p{
+          line-height:50px;
+          color:#333;
+          font-size:16px;
+        }
+        p:nth-child(1){
+          width:80px;
+          text-align: right;
+        }
+        p:nth-child(2){
+          flex:1;
+          text-align: right;
+        }
+      }
+    }
+    .el-dialog__footer{
+      text-align:center;
+    }
+  }
+</style>

+ 20 - 15
src/views/medicUniversity-3_1/chemicalManagement/chemicalProcurement/purchaseRequisition/draftPage.vue

@@ -39,15 +39,11 @@
         </el-form-item>
       </el-form>
       <el-table  border :data="tableList"ref="multipleTable">
-        <el-table-column label="申购编号" align="center" prop="joinNum" show-overflow-tooltip/>
-        <el-table-column label="实验室" align="center" prop="chemicalName" width="180" show-overflow-tooltip/>
-        <el-table-column label="申购信息" align="center" prop="casNum" show-overflow-tooltip>
-          <template slot-scope="scope">
-
-          </template>
-        </el-table-column>
-        <el-table-column label="创建时间" align="center" prop="classifyName" width="181" show-overflow-tooltip/>
-        <el-table-column label="操作" align="center" prop="operator" width="140">
+        <el-table-column label="申购编号" align="center" prop="applyNum" width="210" show-overflow-tooltip/>
+        <el-table-column label="实验室" align="center" prop="subName" width="307" show-overflow-tooltip/>
+        <el-table-column label="申购信息" align="center" prop="chemicalNames" show-overflow-tooltip/>
+        <el-table-column label="创建时间" align="center" prop="createTime" width="200" show-overflow-tooltip/>
+        <el-table-column label="操作" align="center" prop="operator" width="130">
           <template slot-scope="scope">
             <div class="button-box">
               <p class="table-min-button"
@@ -57,7 +53,7 @@
               <p class="table-min-button"
                  style="margin:0!important;"
                  @click="goPageInfo(2,scope.row)"
-              >详情</p>
+              >删除</p>
             </div>
           </template>
         </el-table-column>
@@ -75,6 +71,7 @@
 </template>
 
 <script>
+  import { getHxpapplyDraftsList } from "@/api/medicUniversity-3_1/index";
   export default {
     name: "draftPage",
     props:{
@@ -108,16 +105,23 @@
 
     },
     mounted(){
-
+      this.getList();
     },
     methods: {
       //获取数据列表
       getList(){
         this.queryParamsData = JSON.parse(JSON.stringify(this.queryParams));
-        // listHardware(this.queryParamsData).then(response => {
-        //   this.total = response.total;
-        //   this.tableList = response.rows;
-        // });
+        if(this.dateRange[0]){
+          this.queryParamsData.beginCreateTime = this.dateRange[0];
+          this.queryParamsData.endCreateTime = this.dateRange[1];
+        }else {
+          this.queryParamsData.beginCreateTime = null
+          this.queryParamsData.endCreateTime = null
+        }
+        getHxpapplyDraftsList(this.queryParamsData).then(response => {
+          this.total = response.total;
+          this.tableList = response.rows;
+        });
       },
       /** 搜索按钮操作 */
       handleQuery() {
@@ -130,6 +134,7 @@
       resetQuery() {
         this.$set(this,'queryParamsData',{});
         this.$set(this,'queryParams',{});
+        this.$set(this,'dateRange',[]);
         this.handleQuery();
       },
       //返回

+ 94 - 27
src/views/medicUniversity-3_1/chemicalManagement/chemicalProcurement/purchaseRequisition/index.vue

@@ -12,8 +12,8 @@
             style="width: 200px"
           />
         </el-form-item>
-        <el-form-item label="状态" prop="deptId">
-          <el-select v-model="queryParamsData.deptId" clearable placeholder="请选择状态" style="width: 140px">
+        <el-form-item label="状态" prop="approvalStatus">
+          <el-select v-model="queryParamsData.approvalStatus" clearable placeholder="请选择状态" style="width: 140px">
             <el-option label="审批中" value="0"></el-option>
             <el-option label="已通过" value="1"></el-option>
             <el-option label="已拒绝" value="2"></el-option>
@@ -82,31 +82,39 @@
       </el-form>
       <el-table  border :data="tableList" ref="multipleTable" @selection-change="handleSelectionChange" :row-key="getRowKeys">
         <el-table-column type="selection" width="50" align="center" :reserve-selection="true"/>
-        <el-table-column label="申购编号" align="center" prop="hardwareNum"/>
-        <el-table-column label="申购人" align="center" prop="deptName" width="250"/>
-        <el-table-column label="实验室" align="center" prop="posi" width="250" show-overflow-tooltip/>
-        <el-table-column label="申购信息" align="center" prop="status" width="100">
+        <el-table-column label="申购编号" align="center" prop="applyNum" width="150"/>
+        <el-table-column label="申购人" align="center" prop="subscriber" width="110"/>
+        <el-table-column label="实验室" align="center" prop="subName" width="160" show-overflow-tooltip/>
+        <el-table-column label="申购信息" align="center" prop="chemicalNames" show-overflow-tooltip/>
+        <el-table-column label="申请时间" align="center" prop="createTime" width="170"/>
+        <el-table-column label="完成时间" align="center" prop="overTime" width="170"/>
+        <el-table-column label="状态" align="center" prop="approvalContent" width="100"/>
+        <el-table-column label="审批人" align="center" prop="status" width="130">
           <template slot-scope="scope">
-
-          </template>
-        </el-table-column>
-        <el-table-column label="申请时间" align="center" prop="createTime" width="250"/>
-        <el-table-column label="完成时间" align="center" prop="createBy" width="150"/>
-        <el-table-column label="状态" align="center" prop="createBy" width="150"/>
-        <el-table-column label="审批人" align="center" prop="status" width="100">
-          <template slot-scope="scope">
-
+            <div>
+              <el-tooltip class="item" effect="dark" :content="scope.row.dqName?'当前:'+scope.row.dqName:'当前:无'" placement="top">
+                <div style="display: flex">
+                  <p>当前:</p>
+                    <p style="flex:1;text-align: left;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;">{{scope.row.dqName?scope.row.dqName:'无'}}</p>
+                </div>
+              </el-tooltip>
+              <el-tooltip class="item" effect="dark" :content="scope.row.lsName?'历史:'+scope.row.lsName:'历史:无'" placement="top">
+                <div style="display: flex">
+                  <p>历史:</p>
+                  <p style="flex:1;text-align: left;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;">{{scope.row.lsName?scope.row.lsName:'无'}}</p>
+                </div>
+              </el-tooltip>
+            </div>
           </template>
         </el-table-column>
-        <el-table-column label="操作" align="center" width="440" class-name="small-padding fixed-width">
+        <el-table-column label="操作" align="center" width="220" class-name="small-padding fixed-width">
           <template slot-scope="scope">
             <div class="button-box">
-              <p class="table-min-button" style="margin-right:10px;">编辑</p>
-              <p class="table-min-button" style="margin-right:10px;">编辑</p>
-              <p class="table-min-button" style="margin-right:10px;">撤销</p>
-              <p class="table-min-button" style="margin-right:10px;">审批</p>
-              <p class="table-min-button" style="margin-right:10px;">审批单</p>
-              <p class="table-min-button">删除</p>
+              <p class="table-min-button" v-show="scope.row.approvalStatus == 2 || scope.row.approvalStatus == 3" style="margin-right:10px;" @click="pageToggle(4)">编辑</p>
+              <p class="table-min-button" v-show="scope.row.approvalStatus == 1 && !scope.row.lsName" style="margin-right:10px;" @click="pageToggle(4)">撤销</p>
+              <p class="table-min-button" v-show="scope.row.approvalStatus == 1" style="margin-right:10px;" @click="pageToggle(4)">审批</p>
+              <p class="table-min-button" style="margin-right:10px;" @click="pageToggle(4)">审批单</p>
+              <p class="table-min-button" v-show="scope.row.approvalStatus == 2 || scope.row.approvalStatus == 3">删除</p>
             </div>
           </template>
         </el-table-column>
@@ -131,23 +139,28 @@
     </div>
     <draft-Page :draftPagePropsData="draftPagePropsData" v-if="pageType == 2"></draft-Page>
     <list-Page :listPagePropsData="listPagePropsData" v-if="pageType == 3"></list-Page>
+    <approval-page :approvalPagePropsData="approvalPagePropsData" v-if="pageType == 4"></approval-page>
   </div>
 </template>
 
 <script>
+  import { getHxpapplyList } from "@/api/medicUniversity-3_1/index";
   import draftPage from "./draftPage.vue"
   import listPage from "./listPage.vue"
+  import approvalPage from "./approvalPage.vue"
   export default {
     name: "index",
     components: {
       draftPage,
       listPage,
+      approvalPage
     },
     data(){
       return{
         // 传参数据
         draftPagePropsData:{},
         listPagePropsData:{},
+        approvalPagePropsData:{},
         //页面状态
         pageType:1,
         // 申请时间
@@ -180,7 +193,7 @@
 
     },
     mounted(){
-
+      this.getList();
     },
     methods: {
       pageToggle(type){
@@ -190,15 +203,67 @@
           this.pageType = 2
         }else if(type == 3){
           this.pageType = 3
+        }else if(type == 4){
+          this.pageType = 4
         }
       },
       //获取数据列表
       getList(){
         this.queryParamsData = JSON.parse(JSON.stringify(this.queryParams));
-        // listHardware(this.queryParamsData).then(response => {
-        //   this.total = response.total;
-        //   this.tableList = response.rows;
-        // });
+        if(this.dateRangeOne[0]){
+          this.queryParamsData.beginCreateTime = this.dateRangeOne[0];
+          this.queryParamsData.endCreateTime = this.dateRangeOne[1];
+        }else {
+          this.queryParamsData.beginCreateTime = null
+          this.queryParamsData.endCreateTime = null
+        }
+        if(this.dateRangeTwo[0]){
+          this.queryParamsData.beginOverTime = this.dateRangeTwo[0];
+          this.queryParamsData.endOverTime = this.dateRangeTwo[1];
+        }else {
+          this.queryParamsData.beginOverTime = null
+          this.queryParamsData.endOverTime = null
+        }
+        getHxpapplyList(this.queryParamsData).then(response => {
+          let userId = localStorage.getItem('userId')
+          this.total = response.total;
+          for(let i=0;i<response.rows.length;i++){
+            response.rows[i].lsName = "";
+            response.rows[i].dqName = "";
+            for(let o=0;o<response.rows[i].currentUserList.length;o++){
+              if( response.rows[i].currentUserList[o].id == userId){
+                if(o == 0){
+                  response.rows[i].lsName = response.rows[i].lsName + '我';
+                }else{
+                  response.rows[i].lsName = response.rows[i].lsName + '、我';
+                }
+              }else{
+                if(o == 0){
+                  response.rows[i].lsName = response.rows[i].lsName + response.rows[i].currentUserList[o].name;
+                }else{
+                  response.rows[i].lsName = response.rows[i].lsName + '、' + response.rows[i].currentUserList[o].name;
+                }
+              }
+            }
+            for(let o=0;o<response.rows[i].historyUserList.length;o++){
+              if( response.rows[i].historyUserList[o].id == userId){
+                if(o == 0){
+                  response.rows[i].dqName = response.rows[i].dqName + '我';
+                }else{
+                  response.rows[i].dqName = response.rows[i].dqName + '、我';
+                }
+              }else{
+                if(o == 0){
+                  response.rows[i].dqName = response.rows[i].dqName + response.rows[i].historyUserList[o].name;
+                }else{
+                  response.rows[i].dqName = response.rows[i].dqName + '、'+ response.rows[i].historyUserList[o].name;
+                }
+              }
+
+            }
+          }
+          this.tableList = response.rows;
+        });
       },
       /** 搜索按钮操作 */
       handleQuery() {
@@ -211,6 +276,8 @@
       resetQuery() {
         this.$set(this,'queryParamsData',{});
         this.$set(this,'queryParams',{});
+        this.$set(this,'dateRangeOne',[]);
+        this.$set(this,'dateRangeTwo',[]);
         this.handleQuery();
       },
       /** 当前时间 */

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

@@ -69,7 +69,7 @@
 </template>
 
 <script>
-  import { classifyList,getNoauthList,getHxpUserecordList } from "@/api/medicUniversity-3_1/index";
+  import { classifyList,getNoauthList,getHxpUserecordList,getQueryDetail } from "@/api/medicUniversity-3_1/index";
   import { listDepartments } from "@/api/system/dept";
   import advancedSearch from "@/components/ZDcomponents/advancedSearch.vue"
   import infoPage from "./infoPage.vue"
@@ -227,10 +227,19 @@
           this.$set(this,'pageType',1);
           this.$set(this,'infoData',{});
         }else if(type == 2){
-          this.$set(this,'infoData',row);
-          this.$set(this,'pageType',type);
+          this.getQueryDetail(row);
         }
       },
+      getQueryDetail(row){
+        getQueryDetail(row.id).then(response => {
+          this.$set(this,'infoData',response.data);
+          this.$set(this.infoData,'useStatus',row.useStatus);
+          this.$set(this.infoData,'collectTime',row.collectTime);
+          this.$set(this.infoData,'returnTime',row.returnTime);
+          this.$set(this.infoData,'operator',row.operator);
+          this.$set(this,'pageType',2);
+        });
+      },
       //获取属性列表
       getHxpClassifyattribute(){
         this.getDicts("hxp_classifyattribute").then(response => {

+ 217 - 136
src/views/medicUniversity-3_1/chemicalManagement/usageRecord/infoPage.vue

@@ -1,147 +1,149 @@
 <template>
-    <div class="infoPage">
-      <div class="title-box">
-        <p>使用详情</p>
-        <p class="reset-button-one" @click="backPage"><i class="el-icon-arrow-left"></i>返回</p>
-      </div>
-      <div class="infoPage-max-box">
-        <div class="infoPage-left-box scrollbar-box">
-          <div class="infoPage-left-text-box-one">
-            <div>
-              <p>化学品名称:</p>
-              <p></p>
-            </div>
-            <div>
-              <p>化学品编号:</p>
-              <p></p>
-            </div>
+  <div class="infoPage">
+    <div class="title-box">
+      <p>使用详情</p>
+      <p class="reset-button-one" @click="backPage"><i class="el-icon-arrow-left"></i>返回</p>
+    </div>
+    <div class="infoPage-max-box">
+      <div class="infoPage-left-box scrollbar-box">
+        <div class="infoPage-left-text-box-one">
+          <div>
+            <p>化学品名称:</p>
+            <p>{{infoData.chemicalName}}</p>
           </div>
-          <div class="infoPage-left-text-box-one">
-            <div>
-              <p>CAS:</p>
-              <p></p>
-            </div>
-            <div>
-              <p>别名:</p>
-              <p></p>
-            </div>
+          <div>
+            <p>化学品编号:</p>
+            <p>{{infoData.joinNum}}</p>
           </div>
-          <div class="infoPage-left-text-box-one">
-            <div>
-              <p>化学品分类:</p>
-              <p></p>
-            </div>
-            <div>
-              <p>纯度:</p>
-              <p></p>
-            </div>
+        </div>
+        <div class="infoPage-left-text-box-one">
+          <div>
+            <p>CAS:</p>
+            <p>{{infoData.casNum}}</p>
           </div>
-          <div class="infoPage-left-text-box-two">
-            <p>形态:</p>
-            <p></p>
+          <div>
+            <p>别名:</p>
+            <p>{{infoData.anotherName}}</p>
           </div>
-          <div class="infoPage-left-text-box-two">
-            <p>属性:</p>
-            <p></p>
+        </div>
+        <div class="infoPage-left-text-box-one">
+          <div>
+            <p>化学品分类:</p>
+            <p>{{infoData.classifyName}}</p>
           </div>
-          <div class="infoPage-left-text-box-one">
-            <div>
-              <p>标签类型:</p>
-              <p></p>
-            </div>
-            <div>
-              <p>标签编号:</p>
-              <p></p>
-            </div>
+          <div>
+            <p>纯度:</p>
+            <p>{{infoData.purity}}</p>
           </div>
-          <div class="infoPage-left-text-box-one">
-            <div>
-              <p>容量规格:</p>
-              <p></p>
-            </div>
-            <div>
-              <p>容器规格:</p>
-              <p></p>
-            </div>
+        </div>
+        <div class="infoPage-left-text-box-two">
+          <p>形态:</p>
+          <p>{{infoData.chemicalShapeName}}</p>
+        </div>
+        <div class="infoPage-left-text-box-two">
+          <p>属性:</p>
+          <p>{{infoData.classifyAttribute}}</p>
+        </div>
+        <div class="infoPage-left-text-box-one">
+          <div>
+            <p>标签类型:</p>
+            <p>{{infoData.labelType == 1?'RFID':(infoData.labelType == 2?'二维码':'')}}</p>
           </div>
-          <div class="infoPage-left-text-box-one">
-            <div>
-              <p>过期时间:</p>
-              <p></p>
-            </div>
-            <div>
-              <p>领用时效:</p>
-              <p></p>
-            </div>
+          <div>
+            <p>标签编号:</p>
+            <p>{{infoData.tagCode}}</p>
           </div>
-          <div class="infoPage-left-text-box-two">
-            <p>化学品柜:</p>
-            <p></p>
+        </div>
+        <div class="infoPage-left-text-box-one">
+          <div>
+            <p>容量规格:</p>
+            <p>{{infoData.chemicalAmountUnit}}</p>
+          </div>
+          <div>
+            <p>容器规格:</p>
+            <p>{{infoData.tareUnit}}</p>
           </div>
-          <div class="infoPage-left-text-box-two">
-            <p>所在位置:</p>
+        </div>
+        <div class="infoPage-left-text-box-one">
+          <div>
+            <p>过期时间:</p>
+            <p>{{infoData.expirationTime}}</p>
+          </div>
+          <div>
+            <p>领用时效:</p>
+            <p>{{infoData.collectHour&&infoData.collectMinute?infoData.collectHour+'小时'+infoData.collectMinute+'分钟':(
+              !infoData.collectHour&&infoData.collectMinute?infoData.collectMinute+'分钟':(
+              infoData.collectHour&&!infoData.collectMinute?infoData.collectHour+'小时':''))}}</p>
+          </div>
+        </div>
+        <div class="infoPage-left-text-box-two">
+          <p>化学品柜:</p>
+          <p>{{infoData.cabinetName}}</p>
+        </div>
+        <div class="infoPage-left-text-box-two">
+          <p>所在位置:</p>
+          <p>{{infoData.posi}}</p>
+        </div>
+      </div>
+      <div class="infoPage-right-box scrollbar-box">
+        <p class="infoPage-right-title">当前使用状态:{{infoData.useStatus}}</p>
+        <div class="infoPage-right-data-box" v-if="infoData.outDetail">
+          <div class="title-button-max-box">
             <p></p>
+            <p>领用</p>
+            <p>{{infoData.collectTime}}</p>
+            <p class="inquire-button-one" @click="lockVideo(1)">操作视频</p>
+          </div>
+          <div class="table-title-box-one">
+            <p>领用时净重</p>
+            <p>损耗量</p>
+            <p>领用净重</p>
+            <p>操作人</p>
+            <p>双人验证</p>
+            <p>称重方式</p>
+          </div>
+          <div class="table-list-box-one">
+            <p>{{infoData.outDetail.stockSuttle}}</p>
+            <p>{{infoData.outDetail.lossAmount}}</p>
+            <p>{{infoData.outDetail.collectSuttle}}</p>
+            <p>{{infoData.operator}}</p>
+            <el-tooltip class="item" effect="dark" :content="infoData.outDetail.outUsers" placement="top">
+              <p>{{infoData.outDetail.outUsers}}</p>
+            </el-tooltip>
+            <p>{{infoData.outDetail.outType==1?'称重':(infoData.outDetail.outType==2?'录入':'')}}</p>
           </div>
         </div>
-        <div class="infoPage-right-box scrollbar-box">
-          <p class="infoPage-right-title">当前使用状态:aaaaaaaaaaaaaa</p>
-          <div class="infoPage-right-data-box">
-            <div class="title-button-max-box">
-              <p></p>
-              <p>领用</p>
-              <p>2022-06-09 10:12:22</p>
-              <p class="inquire-button-one" @click="lockVideo">操作视频</p>
-            </div>
-            <div class="table-title-box">
-              <p>领用时净重</p>
-              <p>损耗量</p>
-              <p>领用净重</p>
-              <p>操作人</p>
-              <p>双人验证</p>
-              <p>称重方式</p>
-            </div>
-            <div class="table-list-box">
-              <p>100g</p>
-              <p>100g</p>
-              <p>100g</p>
-              <p>100g</p>
-              <p>100g</p>
-              <p>100g</p>
-            </div>
+        <div class="infoPage-right-data-box" v-if="infoData.returnDetail">
+          <div class="title-button-max-box">
+            <p></p>
+            <p>归还</p>
+            <p>{{infoData.returnTime}}</p>
+            <p class="inquire-button-one" @click="lockVideo(2)">操作视频</p>
+          </div>
+          <div class="table-title-box-two">
+            <p>本次使用量</p>
+            <p>剩余库存净重</p>
+            <p>操作人</p>
+            <p>双人验证</p>
+            <p>称重方式</p>
           </div>
-          <div class="infoPage-right-data-box">
-            <div class="title-button-max-box">
-              <p></p>
-              <p>归还</p>
-              <p>2022-06-09 10:12:22</p>
-              <p class="inquire-button-one" @click="lockVideo">操作视频</p>
-            </div>
-            <div class="table-title-box">
-              <p>领用时净重</p>
-              <p>损耗量</p>
-              <p>领用净重</p>
-              <p>操作人</p>
-              <p>双人验证</p>
-              <p>称重方式</p>
-            </div>
-            <div class="table-list-box">
-              <p>100g</p>
-              <p>100g</p>
-              <p>100g</p>
-              <p>100g</p>
-              <p>100g</p>
-              <p>100g</p>
-            </div>
+          <div class="table-list-box-two">
+            <p>{{infoData.returnDetail.useStockNum}}</p>
+            <p>{{infoData.returnDetail.returnSuttle}}</p>
+            <p>{{infoData.operator}}</p>
+            <p>{{infoData.returnDetail.backUsers}}</p>
+            <p>{{infoData.returnDetail.returnType==1?'称重':(infoData.returnDetail.returnType==2?'录入':'')}}</p>
           </div>
         </div>
       </div>
-      <el-dialog title="操作视频" :visible.sync="videoType" v-if="videoType"
-                 width="840px" append-to-body id="operationRecord-dialog-box">
-        <video style="width:800px;height:450px;" controls="" autoplay="" name="media" :poster="videoCover">
-          <source :src="videoData.url" type="video/mp4">
-        </video>
-      </el-dialog>
     </div>
+    <el-dialog title="操作视频" :visible.sync="videoType" v-if="videoType"
+               width="840px" append-to-body id="operationRecord-dialog-box">
+      <video style="width:800px;height:450px;" controls="" autoplay="" name="media" :poster="videoCover">
+        <source :src="videoData.url" type="video/mp4">
+      </video>
+    </el-dialog>
+  </div>
 </template>
 
 <script>
@@ -164,10 +166,20 @@
     },
     methods: {
       //视频按钮
-      lockVideo(type,row){
-        let obj = {
-          // type:type,
-          // url:row.unLockVideo
+      lockVideo(type){
+        let obj = {};
+        if (type == 1){
+          if(!this.infoData.outDetail.outVideo){
+            this.msgError('操作视频异常无法观看');
+            return
+          }
+          obj.url = this.infoData.outDetail.outVideo;
+        } else if(type == 2){
+          if(!this.infoData.returnDetail.returnVideo){
+            this.msgError('操作视频异常无法观看');
+            return
+          }
+          obj.url = this.infoData.returnDetail.returnVideo;
         }
         this.$set(this,'videoData',obj);
         this.videoType = true;
@@ -296,7 +308,7 @@
               margin:20px 10px 0 0;
             }
           }
-          .table-title-box{
+          .table-title-box-one{
             width:755px;
             height:60px;
             background: #f5f5f5;
@@ -321,7 +333,7 @@
             }
             p:nth-child(4){
               text-align: center;
-              width:132px;
+              flex: 1;
             }
             p:nth-child(5){
               text-align: center;
@@ -329,10 +341,10 @@
             }
             p:nth-child(6){
               text-align: center;
-              width:131px;
+              width:130px;
             }
           }
-          .table-list-box{
+          .table-list-box-one{
             width:755px;
             height:70px;
             border:1px solid #e0e0e0;
@@ -357,15 +369,84 @@
             }
             p:nth-child(4){
               text-align: center;
-              width:132px;
+              flex: 1;
             }
             p:nth-child(5){
               text-align: center;
               width:136px;
+              display:block;
+              overflow:hidden;
+              text-overflow:ellipsis;
+              white-space:nowrap;
+
             }
             p:nth-child(6){
               text-align: center;
-              width:131px;
+              width:130px;
+            }
+          }
+          .table-title-box-two{
+            width:755px;
+            height:60px;
+            background: #f5f5f5;
+            margin:0 auto;
+            display: flex;
+            p{
+              color:#333;
+              font-size:16px;
+              line-height:60px;
+            }
+            p:nth-child(1){
+              text-align: center;
+              width:130px;
+            }
+            p:nth-child(2){
+              text-align: center;
+              width:118px;
+            }
+            p:nth-child(3){
+              text-align: center;
+              width:132px;
+            }
+            p:nth-child(4){
+              text-align: center;
+              flex: 1;
+            }
+            p:nth-child(5){
+              text-align: center;
+              width:130px;
+            }
+          }
+          .table-list-box-two{
+            width:755px;
+            height:70px;
+            border:1px solid #e0e0e0;
+            margin:0 auto;
+            display: flex;
+            p{
+              color:#333;
+              font-size:16px;
+              line-height:70px;
+            }
+            p:nth-child(1){
+              text-align: center;
+              width:130px;
+            }
+            p:nth-child(2){
+              text-align: center;
+              width:118px;
+            }
+            p:nth-child(3){
+              text-align: center;
+              width:132px;
+            }
+            p:nth-child(4){
+              text-align: center;
+              flex: 1;
+            }
+            p:nth-child(5){
+              text-align: center;
+              width:130px;
             }
           }
         }

+ 10 - 26
src/views/studentViews/chemicalManagement/studentChemicalInfo/addPage.vue

@@ -51,13 +51,13 @@
       <el-table v-loading="loading" border :data="tableList" ref="multipleTable" :row-key="getRowKeys"
                 tooltip-effect="dark" @select-all="dialogCheck" @select="dialogCheck">
         <el-table-column type="selection" width="50" align="center" :reserve-selection="true"/>
-        <el-table-column label="ID" align="center" prop="joinNum"  show-overflow-tooltip/>
-        <el-table-column label="化学品名" align="center" prop="chemicalAmountUnit"  show-overflow-tooltip/>
-        <el-table-column label="CAS号" align="center" prop="tare"  show-overflow-tooltip/>
-        <el-table-column label="分类" align="center" prop="expireTime"  show-overflow-tooltip/>
-        <el-table-column label="属性" align="center" prop="cabinetName"  show-overflow-tooltip/>
-        <el-table-column label="形态" align="center" prop="lockName"  show-overflow-tooltip/>
-        <el-table-column label="纯度" align="center" prop="posi"  show-overflow-tooltip/>
+        <el-table-column label="ID" align="center" prop="id" width="150" show-overflow-tooltip/>
+        <el-table-column label="化学品名" align="center" prop="chemicalName" width="250"  show-overflow-tooltip/>
+        <el-table-column label="CAS号" align="center" prop="casNum" width="200" show-overflow-tooltip/>
+        <el-table-column label="分类" align="center" prop="classifyName" width="250"  show-overflow-tooltip/>
+        <el-table-column label="属性" align="center" prop="classifyAttribute"  show-overflow-tooltip/>
+        <el-table-column label="形态" align="center" prop="chemicalShapeInfo" width="180"  show-overflow-tooltip/>
+        <el-table-column label="纯度" align="center" prop="purity" width="150" show-overflow-tooltip/>
       </el-table>
       <pagination :page-sizes="[20, 30, 40, 50]"
         v-show="total>0"
@@ -205,7 +205,8 @@
 </template>
 
 <script>
-  import { getHxpChemicalJoinCabinet,delHxpChemicalJoinCabinet,filterDept,getSubList,getCabinetBySubId,hxpChemicalJoinCabinet } from "@/api/medicUniversity-3_1/index";
+  import { filterDept,getSubList,getCabinetBySubId,hxpChemicalJoinCabinet } from "@/api/medicUniversity-3_1/index";
+  import { getHxpQueryByUser } from "@/api/studentApi/chemicalManagement/index";
   import { getLogoInfo } from "@/api/system/publicConfig";
   export default {
     name: "addPage",
@@ -461,28 +462,11 @@
       getList(){
         this.queryParamsData = JSON.parse(JSON.stringify(this.queryParams));
         // this.queryParamsData.chemicalId = this.listPropsData.id;
-        getHxpChemicalJoinCabinet(this.queryParamsData).then(response => {
+        getHxpQueryByUser(this.queryParamsData).then(response => {
           this.tableList = response.rows;
           this.total = response.total
         });
       },
-      //删除
-      delRow(row){
-        let self = this;
-        this.$confirm('确认要删除吗?', "警告", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        }).then(function() {
-          delHxpChemicalJoinCabinet(row.id).then(response => {
-            if(response.code == 200){
-              self.msgSuccess(response.msg)
-              self.getList();
-            }
-          });
-        }).then(() => {
-        }).catch(() => {});
-      },
       /** 搜索按钮操作 */
       handleQuery() {
         this.queryParamsData.pageNum = 1;

+ 12 - 30
src/views/studentViews/chemicalManagement/studentChemicalInfo/index.vue

@@ -35,18 +35,18 @@
         </el-form-item>
       </el-form>
       <el-table v-loading="loading" border :data="tableList">
-        <el-table-column label="化学品编号" align="center" prop="joinNum"  show-overflow-tooltip/>
-        <el-table-column label="容量规格" align="center" prop="chemicalAmountUnit"  show-overflow-tooltip/>
-        <el-table-column label="容器规格" align="center" prop="tare"  show-overflow-tooltip/>
-        <el-table-column label="过期时间" align="center" prop="expireTime"  show-overflow-tooltip>
+        <el-table-column label="化学品编号" align="center" prop="joinNum" width="130px" show-overflow-tooltip/>
+        <el-table-column label="容量规格" align="center" prop="chemicalAmountUnit" width="150px" show-overflow-tooltip/>
+        <el-table-column label="容器规格" align="center" prop="tare" width="150px" show-overflow-tooltip/>
+        <el-table-column label="过期时间" align="center" prop="expireTime" width="150px" show-overflow-tooltip>
           <template slot-scope="scope">{{scope.row.expireTime?scope.row.expireTime:'未设定'}}</template>
         </el-table-column>
-        <el-table-column label="化学品柜" align="center" prop="cabinetName"  show-overflow-tooltip/>
-        <el-table-column label="柜锁名称" align="center" prop="lockName"  show-overflow-tooltip v-if="$store.state.settings.smartAlarmType == 1"/>
-        <el-table-column label="位置" align="center" prop="posi"  show-overflow-tooltip/>
-        <el-table-column label="化学品柜编号" align="center" prop="cabinetNum"  width="160px"/>
-        <el-table-column label="状态" align="center" prop="cabinetStatus" width="100px" />
-        <el-table-column label="关联时间" align="center" prop="createTime" width="180px"/>
+        <el-table-column label="化学品柜" align="center" prop="cabinetName" width="130px" show-overflow-tooltip/>
+        <el-table-column label="柜锁名称" align="center" prop="lockName" width="150px" show-overflow-tooltip v-if="$store.state.settings.smartAlarmType == 1"/>
+        <el-table-column label="位置" align="center" prop="posi" show-overflow-tooltip/>
+        <el-table-column label="化学品柜编号" align="center" prop="cabinetNum"  width="148px"/>
+        <el-table-column label="状态" align="center" prop="cabinetStatus" width="117px" />
+        <el-table-column label="关联时间" align="center" prop="createTime" width="170px"/>
       </el-table>
       <pagination :page-sizes="[20, 30, 40, 50]"
         v-show="total>0"
@@ -61,8 +61,7 @@
 </template>
 
 <script>
-  import { getHxpChemicalJoinCabinet,delHxpChemicalJoinCabinet,filterDept,getSubList,getCabinetBySubId,hxpChemicalJoinCabinet } from "@/api/medicUniversity-3_1/index";
-  import { getLogoInfo } from "@/api/system/publicConfig";
+  import { getQueryByUser } from "@/api/studentApi/chemicalManagement/index";
   import addPage from "./addPage.vue"
   export default {
     name: "listPage",
@@ -112,28 +111,11 @@
       //获取数据列表
       getList(){
         this.queryParamsData = JSON.parse(JSON.stringify(this.queryParams));
-        getHxpChemicalJoinCabinet(this.queryParamsData).then(response => {
+        getQueryByUser(this.queryParamsData).then(response => {
           this.tableList = response.rows;
           this.total = response.total
         });
       },
-      //删除
-      delRow(row){
-        let self = this;
-        this.$confirm('确认要删除吗?', "警告", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        }).then(function() {
-          delHxpChemicalJoinCabinet(row.id).then(response => {
-            if(response.code == 200){
-              self.msgSuccess(response.msg)
-              self.getList();
-            }
-          });
-        }).then(() => {
-        }).catch(() => {});
-      },
       /** 搜索按钮操作 */
       handleQuery() {
         this.queryParamsData.pageNum = 1;

+ 12 - 3
src/views/studentViews/chemicalManagement/studentUsageRecord/index.vue

@@ -54,7 +54,8 @@
 </template>
 
 <script>
-  import { classifyList,getNoauthList,getHxpUserecordList } from "@/api/medicUniversity-3_1/index";
+  import { classifyList,getNoauthList } from "@/api/medicUniversity-3_1/index";
+  import { getHxpUserecordList,getQueryDetail } from "@/api/studentApi/chemicalManagement/index";
   import { listDepartments } from "@/api/system/dept";
   import advancedSearch from "@/components/ZDcomponents/advancedSearch.vue"
   import infoPage from "./infoPage.vue"
@@ -205,10 +206,18 @@
           this.$set(this,'pageType',1);
           this.$set(this,'infoData',{});
         }else if(type == 2){
-          this.$set(this,'infoData',row);
-          this.$set(this,'pageType',type);
+          this.getQueryDetail(row);
         }
       },
+      getQueryDetail(row){
+        getQueryDetail(row.id).then(response => {
+          this.$set(this,'infoData',response.data);
+          this.$set(this.infoData,'useStatus',row.useStatus);
+          this.$set(this.infoData,'collectTime',row.collectTime);
+          this.$set(this.infoData,'returnTime',row.returnTime);
+          this.$set(this,'pageType',2);
+        });
+      },
       //获取属性列表
       getHxpClassifyattribute(){
         this.getDicts("hxp_classifyattribute").then(response => {

+ 112 - 58
src/views/studentViews/chemicalManagement/studentUsageRecord/infoPage.vue

@@ -9,128 +9,124 @@
           <div class="infoPage-left-text-box-one">
             <div>
               <p>化学品名称:</p>
-              <p></p>
+              <p>{{infoData.chemicalName}}</p>
             </div>
             <div>
               <p>化学品编号:</p>
-              <p></p>
+              <p>{{infoData.joinNum}}</p>
             </div>
           </div>
           <div class="infoPage-left-text-box-one">
             <div>
               <p>CAS:</p>
-              <p></p>
+              <p>{{infoData.casNum}}</p>
             </div>
             <div>
               <p>别名:</p>
-              <p></p>
+              <p>{{infoData.anotherName}}</p>
             </div>
           </div>
           <div class="infoPage-left-text-box-one">
             <div>
               <p>化学品分类:</p>
-              <p></p>
+              <p>{{infoData.classifyName}}</p>
             </div>
             <div>
               <p>纯度:</p>
-              <p></p>
+              <p>{{infoData.purity}}</p>
             </div>
           </div>
           <div class="infoPage-left-text-box-two">
             <p>形态:</p>
-            <p></p>
+            <p>{{infoData.chemicalShapeName}}</p>
           </div>
           <div class="infoPage-left-text-box-two">
             <p>属性:</p>
-            <p></p>
+            <p>{{infoData.classifyAttribute}}</p>
           </div>
           <div class="infoPage-left-text-box-one">
             <div>
               <p>标签类型:</p>
-              <p></p>
+              <p>{{infoData.labelType == 1?'RFID':(infoData.labelType == 2?'二维码':'')}}</p>
             </div>
             <div>
               <p>标签编号:</p>
-              <p></p>
+              <p>{{infoData.tagCode}}</p>
             </div>
           </div>
           <div class="infoPage-left-text-box-one">
             <div>
               <p>容量规格:</p>
-              <p></p>
+              <p>{{infoData.chemicalAmountUnit}}</p>
             </div>
             <div>
               <p>容器规格:</p>
-              <p></p>
+              <p>{{infoData.tareUnit}}</p>
             </div>
           </div>
           <div class="infoPage-left-text-box-one">
             <div>
               <p>过期时间:</p>
-              <p></p>
+              <p>{{infoData.expirationTime}}</p>
             </div>
             <div>
               <p>领用时效:</p>
-              <p></p>
+              <p>{{infoData.collectHour&&infoData.collectMinute?infoData.collectHour+'小时'+infoData.collectMinute+'分钟':(
+                !infoData.collectHour&&infoData.collectMinute?infoData.collectMinute+'分钟':(
+                infoData.collectHour&&!infoData.collectMinute?infoData.collectHour+'小时':''))}}</p>
             </div>
           </div>
           <div class="infoPage-left-text-box-two">
             <p>化学品柜:</p>
-            <p></p>
+            <p>{{infoData.cabinetName}}</p>
           </div>
           <div class="infoPage-left-text-box-two">
             <p>所在位置:</p>
-            <p></p>
+            <p>{{infoData.posi}}</p>
           </div>
         </div>
         <div class="infoPage-right-box scrollbar-box">
-          <p class="infoPage-right-title">当前使用状态:aaaaaaaaaaaaaa</p>
-          <div class="infoPage-right-data-box">
+          <p class="infoPage-right-title">当前使用状态:{{infoData.useStatus}}</p>
+          <div class="infoPage-right-data-box" v-if="infoData.outDetail">
             <div class="title-button-max-box">
               <p></p>
               <p>领用</p>
-              <p>2022-06-09 10:12:22</p>
-              <p class="inquire-button-one" @click="lockVideo">操作视频</p>
+              <p>{{infoData.collectTime}}</p>
+              <p class="inquire-button-one" @click="lockVideo(1)">操作视频</p>
             </div>
-            <div class="table-title-box">
+            <div class="table-title-box-one">
               <p>领用时净重</p>
               <p>损耗量</p>
               <p>领用净重</p>
-              <p>操作人</p>
               <p>双人验证</p>
               <p>称重方式</p>
             </div>
-            <div class="table-list-box">
-              <p>100g</p>
-              <p>100g</p>
-              <p>100g</p>
-              <p>100g</p>
-              <p>100g</p>
-              <p>100g</p>
+            <div class="table-list-box-one">
+              <p>{{infoData.outDetail.stockSuttle}}</p>
+              <p>{{infoData.outDetail.lossAmount}}</p>
+              <p>{{infoData.outDetail.collectSuttle}}</p>
+              <p>{{infoData.outDetail.outUsers}}</p>
+              <p>{{infoData.outDetail.outType==1?'称重':(infoData.outDetail.outType==2?'录入':'')}}</p>
             </div>
           </div>
-          <div class="infoPage-right-data-box">
+          <div class="infoPage-right-data-box" v-if="infoData.returnDetail">
             <div class="title-button-max-box">
               <p></p>
               <p>归还</p>
-              <p>2022-06-09 10:12:22</p>
-              <p class="inquire-button-one" @click="lockVideo">操作视频</p>
+              <p>{{infoData.returnTime}}</p>
+              <p class="inquire-button-one" @click="lockVideo(2)">操作视频</p>
             </div>
-            <div class="table-title-box">
-              <p>领用时净重</p>
-              <p>损耗量</p>
-              <p>领用净重</p>
-              <p>操作人</p>
+            <div class="table-title-box-two">
+              <p>本次使用量</p>
+              <p>剩余库存净重</p>
               <p>双人验证</p>
               <p>称重方式</p>
             </div>
-            <div class="table-list-box">
-              <p>100g</p>
-              <p>100g</p>
-              <p>100g</p>
-              <p>100g</p>
-              <p>100g</p>
-              <p>100g</p>
+            <div class="table-list-box-two">
+              <p>{{infoData.returnDetail.useStockNum}}</p>
+              <p>{{infoData.returnDetail.returnSuttle}}</p>
+              <p>{{infoData.returnDetail.backUsers}}</p>
+              <p>{{infoData.returnDetail.returnType==1?'称重':(infoData.returnDetail.returnType==2?'录入':'')}}</p>
             </div>
           </div>
         </div>
@@ -164,10 +160,20 @@
     },
     methods: {
       //视频按钮
-      lockVideo(type,row){
-        let obj = {
-          // type:type,
-          // url:row.unLockVideo
+      lockVideo(type){
+        let obj = {};
+        if (type == 1){
+          if(!this.infoData.outDetail.outVideo){
+            this.msgError('操作视频异常无法观看');
+            return
+          }
+          obj.url = this.infoData.outDetail.outVideo;
+        } else if(type == 2){
+          if(!this.infoData.returnDetail.returnVideo){
+            this.msgError('操作视频异常无法观看');
+            return
+          }
+          obj.url = this.infoData.returnDetail.returnVideo;
         }
         this.$set(this,'videoData',obj);
         this.videoType = true;
@@ -296,7 +302,7 @@
               margin:20px 10px 0 0;
             }
           }
-          .table-title-box{
+          .table-title-box-one{
             width:755px;
             height:60px;
             background: #f5f5f5;
@@ -321,18 +327,14 @@
             }
             p:nth-child(4){
               text-align: center;
-              width:132px;
+              flex: 1;
             }
             p:nth-child(5){
               text-align: center;
               width:136px;
             }
-            p:nth-child(6){
-              text-align: center;
-              width:131px;
-            }
           }
-          .table-list-box{
+          .table-list-box-one{
             width:755px;
             height:70px;
             border:1px solid #e0e0e0;
@@ -357,15 +359,67 @@
             }
             p:nth-child(4){
               text-align: center;
-              width:132px;
+              flex: 1;
             }
             p:nth-child(5){
               text-align: center;
               width:136px;
             }
-            p:nth-child(6){
+          }
+          .table-title-box-two{
+            width:755px;
+            height:60px;
+            background: #f5f5f5;
+            margin:0 auto;
+            display: flex;
+            p{
+              color:#333;
+              font-size:16px;
+              line-height:60px;
+            }
+            p:nth-child(1){
+              text-align: center;
+              width:170px;
+            }
+            p:nth-child(2){
+              text-align: center;
+              width:148px;
+            }
+            p:nth-child(3){
+              text-align: center;
+              flex: 1;
+            }
+            p:nth-child(4){
+              text-align: center;
+              width:172px;
+            }
+          }
+          .table-list-box-two{
+            width:755px;
+            height:70px;
+            border:1px solid #e0e0e0;
+            margin:0 auto;
+            display: flex;
+            p{
+              color:#333;
+              font-size:16px;
+              line-height:70px;
+            }
+            p:nth-child(1){
+              text-align: center;
+              width:170px;
+            }
+            p:nth-child(2){
+              text-align: center;
+              width:148px;
+            }
+            p:nth-child(3){
+              text-align: center;
+              flex: 1;
+            }
+            p:nth-child(4){
               text-align: center;
-              width:131px;
+              width:172px;
             }
           }
         }

+ 9 - 5
src/views/studentViews/chemicalManagement/studentWarehousingRecord/index.vue

@@ -32,7 +32,7 @@
             <div class="button-box">
               <p class="table-min-button"
                  style="margin:0!important;"
-                 @click="lockVideo(2,scope.row)"
+                 @click="lockVideo(scope.row)"
               >操作视频</p>
             </div>
           </template>
@@ -66,7 +66,8 @@
 </template>
 
 <script>
-  import { classifyList,getNoauthList,getListJoin } from "@/api/medicUniversity-3_1/index";
+  import { classifyList,getNoauthList } from "@/api/medicUniversity-3_1/index";
+  import { getListJoin } from "@/api/studentApi/chemicalManagement/index";
   import { listDepartments } from "@/api/system/dept";
   import advancedSearch from "@/components/ZDcomponents/advancedSearch.vue"
   export default {
@@ -188,10 +189,13 @@
     },
     methods: {
       //视频按钮
-      lockVideo(type,row){
+      lockVideo(row){
+        if(!row.joinVideo){
+          this.msgError('操作视频异常无法观看');
+          return
+        }
         let obj = {
-          // type:type,
-          // url:row.unLockVideo
+          url:row.joinVideo
         }
         this.$set(this,'videoData',obj);
         this.videoType = true;