dedsudiyu před 2 roky
rodič
revize
09eb891b52

+ 31 - 0
src/views/comprehensive/laboratoryManagement/accessAuthorization/addPage.vue

@@ -0,0 +1,31 @@
+<template>
+  <div class="addPage">
+
+  </div>
+</template>
+
+<script>
+  export default {
+    name: "addPage",
+    data(){
+      return{
+
+      }
+    },
+    created() {
+
+    },
+    mounted(){
+
+    },
+    methods:{
+
+    }
+  }
+</script>
+
+<style scoped lang="scss">
+  .addPage{
+
+  }
+</style>

+ 225 - 0
src/views/comprehensive/laboratoryManagement/accessAuthorization/application.vue

@@ -0,0 +1,225 @@
+<!--申请-->
+<template>
+  <div class="application">
+    <div class="application-page" v-if="pageType == 1">
+      <div class="title-box">
+        <div @click="titleClick">
+          <p>门禁授权</p>
+          <p></p>
+        </div>
+        <div>
+          <p class="top-p-color">授权申请</p>
+          <p class="bottom-p-color"></p>
+        </div>
+      </div>
+      <el-form :model="queryParamsData" ref="queryForm" :inline="true">
+        <el-form-item label="关键字" prop="searchValue" label-width="68px">
+          <el-input
+            maxlength="20"
+            v-model="queryParamsData.searchValue"
+            placeholder="姓名/实验室"
+            clearable
+            size="small"/>
+        </el-form-item>
+        <el-form-item label="状态" prop="status" label-width="50px">
+          <el-select v-model="queryParamsData.status" clearable placeholder="请选择状态">
+            <el-option
+              v-for="item in optionsListTwo"
+              :key="item.id"
+              :label="item.name"
+              :value="item.id">
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="申请时间" prop="subjectId" label-width="80px">
+          <el-date-picker
+            :clearable="false"
+            v-model="dateRange"
+            style="width: 240px;height:40px;"
+            value-format="yyyy-MM-dd"
+            type="daterange"
+            range-separator="-"
+            start-placeholder="开始日期"
+            end-placeholder="结束日期"
+          ></el-date-picker>
+        </el-form-item>
+        <el-form-item style="float: right;">
+          <el-col :span="1.5">
+            <p class="inquire-button-one"
+               style="width:100px;margin-right:0;"
+               @click="goPageButton(2)"
+            >授权申请</p>
+          </el-col>
+        </el-form-item>
+        <el-form-item>
+          <p class="inquire-button-one" @click="handleQuery" style="margin-right:10px;">查询</p>
+          <p class="reset-button-one" @click="resetQuery">重置</p>
+        </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="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" show-overflow-tooltip/>
+        <el-table-column label="完成时间" align="center" prop="cabinetStatus" width="100px" show-overflow-tooltip/>
+        <el-table-column label="状态" align="center" prop="createTime" width="180px" show-overflow-tooltip/>
+        <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="110" v-if="tableButtonType">
+          <template slot-scope="scope">
+            <div class="button-box">
+              <p class="table-min-button">通过</p>
+              <p class="table-min-button">拒绝</p>
+              <p class="table-min-button">查看</p>
+            </div>
+          </template>
+        </el-table-column>
+      </el-table>
+      <pagination :page-sizes="[20, 30, 40, 50]"
+                  v-show="total>0"
+                  :total="total"
+                  :page.sync="queryParams.pageNum"
+                  :limit.sync="queryParams.pageSize"
+                  @pagination="getList"/>
+    </div>
+    <addPage v-if="pageType == 2"></addPage>
+  </div>
+</template>
+
+<script>
+  import addPage from "./addPage.vue";
+  export default {
+    name: "application",
+    components: {
+      addPage
+    },
+    data(){
+      return{
+        pageType:1,
+        // table操作按钮校验
+        tableButtonType:this.hasPermiDom(['system:user_student:query','system:user_student:query']),
+        loading:false,
+        // 搜索数据
+        queryParamsData:{
+          pageNum:1,
+          pageSize:20,
+        },
+        // 搜索实际发送数据
+        queryParams:{
+          pageNum:1,
+          pageSize:20,
+        },
+        dateRange:[],
+        //数据数量
+        total:10,
+        tableList:[],
+        //审批状态
+        optionsListTwo:[{id:'1',name:'审批中'},{id:'2',name:'已拒绝'},{id:'3',name:'已授权'}]
+      }
+    },
+    created() {
+
+    },
+    mounted(){
+
+    },
+    methods:{
+      titleClick(){
+        this.$parent.titleClick(1);
+      },
+      //页面状态切换
+      goPageButton(type){
+        if(type == 1){
+          this.pageType = 1;
+        }else if(type == 2){
+          this.pageType = 2;
+        }
+      },
+      /** 搜索按钮操作 */
+      handleQuery() {
+        this.queryParamsData.pageNum = 1;
+        this.queryParamsData.pageSize = 20;
+        this.queryParams = JSON.parse(JSON.stringify(this.queryParamsData));
+        this.getList();
+      },
+      /** 重置按钮操作 */
+      resetQuery() {
+        this.$set(this,'queryParamsData',{});
+        this.$set(this,'queryParams',{});
+        this.$set(this,'dateRange',[]);
+        this.handleQuery();
+      },
+      //获取数据列表
+      getList(){
+        this.queryParamsData = JSON.parse(JSON.stringify(this.queryParams));
+        if(this.dateRange&&this.dateRange.length>0) {
+          this.queryParamsData.inTime = this.dateRange[0];
+          this.queryParamsData.outTime = this.dateRange[1];
+          this.queryParamsData.inOutType = 1
+        } else {
+          this.queryParamsData.inTime = null;
+          this.queryParamsData.outTime = null;
+          this.queryParamsData.inOutType = null
+        }
+        // getHxpChemicalJoinCabinet(this.queryParamsData).then(response => {
+        //   this.tableList = response.rows;
+        //   this.total = response.total
+        // });
+      },
+    }
+  }
+</script>
+
+<style scoped lang="scss">
+  .application{
+    flex:1;
+    display: flex;
+    flex-direction: column;
+    .application-page{
+      flex:1;
+      display: flex;
+      flex-direction: column;
+      overflow: hidden;
+      margin:0 20px!important;
+      .title-box{
+        display: flex;
+        border-bottom:1px solid #E0E0E0;
+        margin-bottom:20px;
+        div{
+          height:80px;
+          margin-right:20px;
+          cursor: pointer;
+          p:nth-child(1){
+            font-size:18px;
+            text-align: center;
+            padding:0 20px;
+            margin-top:26px;
+          }
+          p:nth-child(2){
+            width:40px;
+            height:4px;
+            border-radius:40px;
+            margin:12px auto;
+          }
+          .top-p-color{
+            color: #0045AF;
+          }
+          .bottom-p-color{
+            background: #0045AF;
+          }
+        }
+        .buttonTitleColorA{
+          color:#0045AF;
+        }
+        .buttonTitleColorB{
+          color:#999999;
+        }
+      }
+      .button-box{
+        display: flex;
+      }
+    }
+  }
+
+</style>

+ 208 - 0
src/views/comprehensive/laboratoryManagement/accessAuthorization/authorize.vue

@@ -0,0 +1,208 @@
+<!--授权-->
+<template>
+  <div class="authorize">
+    <div class="authorize-page" v-if="pageType == 1">
+      <div class="title-box">
+        <div>
+          <p class="top-p-color">门禁授权</p>
+          <p class="bottom-p-color"></p>
+        </div>
+        <div @click="titleClick">
+          <p>授权申请</p>
+          <p></p>
+        </div>
+      </div>
+      <el-form :model="queryParamsData" ref="queryForm" :inline="true">
+        <el-form-item label="关键字" prop="searchValue" label-width="68px">
+          <el-input
+            maxlength="20"
+            v-model="queryParamsData.searchValue"
+            placeholder="姓名/实验室"
+            clearable
+            size="small"/>
+        </el-form-item>
+        <el-form-item label="状态" prop="status" label-width="50px">
+          <el-select v-model="queryParamsData.status" clearable placeholder="请选择状态">
+            <el-option
+              v-for="item in optionsListTwo"
+              :key="item.id"
+              :label="item.name"
+              :value="item.id">
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="申请时间" prop="subjectId" label-width="80px">
+          <el-date-picker
+            :clearable="false"
+            v-model="dateRange"
+            style="width: 240px;height:40px;"
+            value-format="yyyy-MM-dd"
+            type="daterange"
+            range-separator="-"
+            start-placeholder="开始日期"
+            end-placeholder="结束日期"
+          ></el-date-picker>
+        </el-form-item>
+        <el-form-item>
+          <p class="inquire-button-one" @click="handleQuery" style="margin-right:10px;">查询</p>
+          <p class="reset-button-one" @click="resetQuery">重置</p>
+        </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="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" show-overflow-tooltip/>
+        <el-table-column label="完成时间" align="center" prop="cabinetStatus" width="100px" show-overflow-tooltip/>
+        <el-table-column label="状态" align="center" prop="createTime" width="180px" show-overflow-tooltip/>
+        <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="110" v-if="tableButtonType">
+          <template slot-scope="scope">
+            <div class="button-box">
+              <p class="table-min-button">通过</p>
+              <p class="table-min-button">拒绝</p>
+              <p class="table-min-button">查看</p>
+            </div>
+          </template>
+        </el-table-column>
+      </el-table>
+      <pagination :page-sizes="[20, 30, 40, 50]"
+                  v-show="total>0"
+                  :total="total"
+                  :page.sync="queryParams.pageNum"
+                  :limit.sync="queryParams.pageSize"
+                  @pagination="getList"/>
+    </div>
+    <infoPage v-if="pageType == 2"></infoPage>
+  </div>
+</template>
+
+<script>
+  import infoPage from "./infoPage.vue";
+  export default {
+    name: "authorize",
+    components: {
+      infoPage
+    },
+    data(){
+      return{
+        pageType:1,
+        // table操作按钮校验
+        tableButtonType:this.hasPermiDom(['system:user_student:query','system:user_student:query']),
+        loading:false,
+        // 搜索数据
+        queryParamsData:{
+          pageNum:1,
+          pageSize:20,
+        },
+        // 搜索实际发送数据
+        queryParams:{
+          pageNum:1,
+          pageSize:20,
+        },
+        dateRange:[],
+        //数据数量
+        total:10,
+        tableList:[],
+        //审批状态
+        optionsListTwo:[{id:'1',name:'审批中'},{id:'2',name:'已拒绝'},{id:'3',name:'已授权'}]
+      }
+    },
+    created() {
+
+    },
+    mounted(){
+
+    },
+    methods:{
+      titleClick(){
+        this.$parent.titleClick(2);
+      },
+      /** 搜索按钮操作 */
+      handleQuery() {
+        this.queryParamsData.pageNum = 1;
+        this.queryParamsData.pageSize = 20;
+        this.queryParams = JSON.parse(JSON.stringify(this.queryParamsData));
+        this.getList();
+      },
+      /** 重置按钮操作 */
+      resetQuery() {
+        this.$set(this,'queryParamsData',{});
+        this.$set(this,'queryParams',{});
+        this.$set(this,'dateRange',[]);
+        this.handleQuery();
+      },
+      //获取数据列表
+      getList(){
+        this.queryParamsData = JSON.parse(JSON.stringify(this.queryParams));
+        if(this.dateRange&&this.dateRange.length>0) {
+          this.queryParamsData.inTime = this.dateRange[0];
+          this.queryParamsData.outTime = this.dateRange[1];
+          this.queryParamsData.inOutType = 1
+        } else {
+          this.queryParamsData.inTime = null;
+          this.queryParamsData.outTime = null;
+          this.queryParamsData.inOutType = null
+        }
+        // getHxpChemicalJoinCabinet(this.queryParamsData).then(response => {
+        //   this.tableList = response.rows;
+        //   this.total = response.total
+        // });
+      },
+    }
+  }
+</script>
+
+<style scoped lang="scss">
+  .authorize{
+    flex:1;
+    display: flex;
+    flex-direction: column;
+    .authorize-page{
+      flex:1;
+      display: flex;
+      flex-direction: column;
+      overflow: hidden;
+      margin:0 20px!important;
+      .title-box{
+        display: flex;
+        border-bottom:1px solid #E0E0E0;
+        margin-bottom:20px;
+        div{
+          height:80px;
+          margin-right:20px;
+          cursor: pointer;
+          p:nth-child(1){
+            font-size:18px;
+            text-align: center;
+            padding:0 20px;
+            margin-top:26px;
+          }
+          p:nth-child(2){
+            width:40px;
+            height:4px;
+            border-radius:40px;
+            margin:12px auto;
+          }
+          .top-p-color{
+            color: #0045AF;
+          }
+          .bottom-p-color{
+            background: #0045AF;
+          }
+        }
+        .buttonTitleColorA{
+          color:#0045AF;
+        }
+        .buttonTitleColorB{
+          color:#999999;
+        }
+      }
+      .button-box{
+        display: flex;
+      }
+    }
+  }
+</style>

+ 52 - 0
src/views/comprehensive/laboratoryManagement/accessAuthorization/index.vue

@@ -0,0 +1,52 @@
+<template>
+    <div class="app-container accessAuthorization">
+      <!--授权-->
+      <authorize v-show="pageType == 1"></authorize>
+      <!--申请-->
+      <application v-show="pageType == 2"></application>
+    </div>
+</template>
+
+<script>
+  import authorize from "./authorize.vue";
+  import application from "./application.vue";
+  export default {
+    name: "index",
+    components: {
+      authorize,
+      application
+    },
+    data(){
+      return{
+        pageType:1,
+      }
+    },
+    created() {
+
+    },
+    mounted(){
+
+    },
+    methods:{
+      //选项卡切换
+      titleClick(type){
+        if(this.pageType != type){
+          this.pageType = type
+        }
+      }
+    }
+  }
+</script>
+
+<style scoped lang="scss">
+  .accessAuthorization{
+    flex:1;
+    display: flex!important;
+    flex-direction: column;
+    overflow: hidden;
+    *{
+      margin:0;
+      font-weight:500;
+    }
+  }
+</style>

+ 31 - 0
src/views/comprehensive/laboratoryManagement/accessAuthorization/infoPage.vue

@@ -0,0 +1,31 @@
+<template>
+  <div class="infoPage">
+
+  </div>
+</template>
+
+<script>
+  export default {
+    name: "infoPage",
+    data(){
+      return{
+
+      }
+    },
+    created() {
+
+    },
+    mounted(){
+
+    },
+    methods:{
+
+    }
+  }
+</script>
+
+<style scoped lang="scss">
+  .infoPage{
+
+  }
+</style>

+ 12 - 6
src/views/comprehensive/laboratoryManagement/subject/index.vue

@@ -186,7 +186,7 @@
                 <img src="@/assets/ZDimages/medicUniversity-3_1/img_syslb_znsgbjzx.png" class="alarm-img">
                 <div class="alarm-big-box" v-if="hardwareData[0]">
                   <p>报警器编号:{{hardwareData[0].hardwareNum}}</p>
-                  <p>{{hardwareData[0].status==3||hardwareData[0].status==4?'在线':'离线'}}</p>
+                  <p :class="hardwareData[0].status==3||hardwareData[0].status==4?'colorTypeA':'colorTypeB'">{{hardwareData[0].status==3||hardwareData[0].status==4?'在线':'离线'}}</p>
                 </div>
                 <div class="alarm-big-box" v-if="!hardwareData[0]">
                   <p>未绑定报警器</p>
@@ -1024,7 +1024,7 @@ export default {
       .top-button-box{
         display: flex;
         div{
-          width:110px;
+          padding:0 10px;
           height:40px;
           line-height:40px;
           font-size:16px;
@@ -1233,11 +1233,11 @@ export default {
             .alarm-img{
               width:110px;
               height:110px;
-              margin:16px 24px 0 30px;
+              margin:20px;
             }
             .alarm-big-box{
               p:nth-child(1){
-                font-size:16px;
+                font-size:14px;
                 margin:40px 0 25px 0;
               }
               p:nth-child(2){
@@ -1245,11 +1245,17 @@ export default {
                 font-size:12px;
                 font-weight:700;
                 line-height:24px;
-                background: rgba(204,230,254);
                 border-radius: 12px;
-                color: #0183FA;
                 text-align: center;
               }
+              .colorTypeA{
+                background: rgba(1,131,250,0.2);
+                color:#0183FA;
+              }
+              .colorTypeB{
+                background: #ECECEC;
+                color:#A2A2A2;
+              }
             }
             .alarm-position-box{
               position:absolute;

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1409 - 0
src/views/comprehensive/laboratoryManagement/subject/indexOne.vue


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

@@ -56,7 +56,7 @@
                 </div>
               </div>
               <div class="for-img-box">
-                <p class="info-title" style="margin-bottom:7px;">安全警示标:</p>
+                <p class="info-title" style="margin-bottom:7px;">安全警示标:</p>
                 <img src="@/assets/newImages/icon_aqxxp_jzxy.png" v-if="item == 'xiyan'" v-for="(item,index) in newData.safeSigns" :key="index">
                 <img src="@/assets/newImages/icon_aqxxp_jzys.png" v-if="item == 'yinshi'" v-for="(item,index) in newData.safeSigns" :key="index">
                 <img src="@/assets/newImages/icon_aqxxp_dxaq.png" v-if="item == 'anquan'" v-for="(item,index) in newData.safeSigns" :key="index">