|
@@ -0,0 +1,339 @@
|
|
|
+<!-- 授权开门 -->
|
|
|
+<template>
|
|
|
+ <view id="empowerOpen">
|
|
|
+ <view class="page-one" v-if="pageType==1">
|
|
|
+ <view class="header">
|
|
|
+ <input class="header-l" type="text" v-model="newData.subId" placeholder="实验室名称">
|
|
|
+ </view>
|
|
|
+ <view class="list">
|
|
|
+ <view class="list-li">
|
|
|
+ <view class="list-li-l">实验室名称(房间号)</view>
|
|
|
+ <view class="list-li-r">授权</view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="page-tow" v-if="pageType==2">
|
|
|
+ <view class="list-tow">
|
|
|
+ <view class="list-tow-li">
|
|
|
+ <view class="list-tow-li-t">被授权人</view>
|
|
|
+ <input class="list-tow-li-b" type="text" v-model="newData.subId" placeholder="">
|
|
|
+ </view>
|
|
|
+ <view class="list-tow-li">
|
|
|
+ <view class="list-tow-li-t">生效时间</view>
|
|
|
+ <view class="time">
|
|
|
+ <view class="time-l">2024/02/04 12:23</view>
|
|
|
+ <view class="time-c">-</view>
|
|
|
+ <view class="time-r">2024/02/04 12:23</view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="bottom">
|
|
|
+ <view class="bottom-l" @click="cancelClick()">取消</view>
|
|
|
+ <view class="bottom-r" @click="submitForm()">确定</view>
|
|
|
+ </view>
|
|
|
+ <view class="success" v-if="successVisible">
|
|
|
+ <view class="null-box" @click="closeTip()"></view>
|
|
|
+ <view class="panel">
|
|
|
+ <img class="panel-t" v-if="authorizeStatus==1" src="@/pages/images/icon_kcxq_cg.png" />
|
|
|
+ <img class="panel-t" v-if="authorizeStatus==2" src="@/pages/images/icon_kcxq_sb.png" />
|
|
|
+ <view class="panel-m">{{authorizeStatus==1?'授权成功':'授权失败'}}</view>
|
|
|
+ <view class="panel-b">({{count}}S)</view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+ import {
|
|
|
+ config
|
|
|
+ } from '@/api/request/config.js'
|
|
|
+ import {
|
|
|
+ systemSubjectGetAppSubject
|
|
|
+ } from '@/pages/api/index.js'
|
|
|
+ export default {
|
|
|
+ components: {
|
|
|
+
|
|
|
+ },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ pageType: 1,
|
|
|
+ baseUrl: config.base_url,
|
|
|
+ newData: {
|
|
|
+
|
|
|
+ },
|
|
|
+ addForm:{
|
|
|
+
|
|
|
+ },
|
|
|
+ getData:{
|
|
|
+ searchValue:'',
|
|
|
+ adminId:uni.getStorageSync('userId'),
|
|
|
+ },
|
|
|
+ dataList:[],
|
|
|
+ authorizeStatus:2,//1成功 2失败
|
|
|
+ successVisible: false,
|
|
|
+ timer: null,
|
|
|
+ count: '',
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+ },
|
|
|
+ onLoad(option) {
|
|
|
+
|
|
|
+ },
|
|
|
+ onShow() {
|
|
|
+
|
|
|
+ },
|
|
|
+ mounted() {
|
|
|
+ this.systemSubjectGetAppSubject();
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ //获取实验室
|
|
|
+ async systemSubjectGetAppSubject() {
|
|
|
+ let self = this;
|
|
|
+ const {
|
|
|
+ data
|
|
|
+ } = await systemSubjectGetAppSubject(this.getData);
|
|
|
+ if (data.code == 200) {
|
|
|
+ this.dataList=data.data;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ cancelClick(){
|
|
|
+
|
|
|
+ },
|
|
|
+ submitForm(){
|
|
|
+ this.$set(this,'successVisible',true)
|
|
|
+ this.getCode();
|
|
|
+ },
|
|
|
+ //关闭弹框倒计时
|
|
|
+ getCode() {
|
|
|
+ let self=this;
|
|
|
+ const TIME_COUNT = 3;
|
|
|
+ if (!this.timer) {
|
|
|
+ this.count = TIME_COUNT;
|
|
|
+ this.show = false;
|
|
|
+ this.timer = setInterval(() => {
|
|
|
+ if (this.count > 0 && this.count <= TIME_COUNT) {
|
|
|
+ this.count -= 1;
|
|
|
+ } else {
|
|
|
+ self.successVisible=false;
|
|
|
+ clearInterval(this.timer);
|
|
|
+ this.timer = null;
|
|
|
+ }
|
|
|
+ }, 1000);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ closeTip() {
|
|
|
+ this.$set(this, 'successVisible', false)
|
|
|
+ },
|
|
|
+ }
|
|
|
+ }
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="stylus" scoped>
|
|
|
+ #empowerOpen {
|
|
|
+
|
|
|
+ .page-one {
|
|
|
+ .header {
|
|
|
+ width: 749rpx;
|
|
|
+ height: 120rpx;
|
|
|
+ background: #FFFFFF;
|
|
|
+ padding: 20rpx 30rpx;
|
|
|
+ box-sizing: border-box;
|
|
|
+ border-bottom: 1rpx solid #D8D8D8;
|
|
|
+
|
|
|
+ .header-l {
|
|
|
+ width: 690rpx;
|
|
|
+ height: 80rpx;
|
|
|
+ border-radius: 10rpx 10rpx 10rpx 10rpx;
|
|
|
+ border: 1rpx solid #E0E0E0;
|
|
|
+ padding: 20rpx;
|
|
|
+ box-sizing: border-box;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .list {
|
|
|
+ padding: 0 30rpx;
|
|
|
+ box-sizing: border-box;
|
|
|
+ background: #fff;
|
|
|
+
|
|
|
+ .list-li {
|
|
|
+ height: 90rpx;
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ align-items: center;
|
|
|
+ border-bottom: 1rpx solid #D8D8D8;
|
|
|
+
|
|
|
+ .list-li-l {
|
|
|
+ flex: 1;
|
|
|
+ font-family: PingFang SC, PingFang SC;
|
|
|
+ font-weight: 400;
|
|
|
+ font-size: 30rpx;
|
|
|
+ color: #333333;
|
|
|
+ line-height: 42rpx;
|
|
|
+ }
|
|
|
+
|
|
|
+ .list-li-r {
|
|
|
+ font-family: PingFang SC, PingFang SC;
|
|
|
+ font-weight: 400;
|
|
|
+ font-size: 28rpx;
|
|
|
+ color: #0183FA;
|
|
|
+ line-height: 39rpx;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ .page-tow {
|
|
|
+ .list-tow {
|
|
|
+ padding: 0 30rpx 50rpx;
|
|
|
+ box-sizing: border-box;
|
|
|
+ background: #fff;
|
|
|
+
|
|
|
+ .list-tow-li {
|
|
|
+ overflow: hidden;
|
|
|
+
|
|
|
+ .list-tow-li-t {
|
|
|
+ font-family: PingFang SC, PingFang SC;
|
|
|
+ font-weight: 400;
|
|
|
+ font-size: 30rpx;
|
|
|
+ color: #333333;
|
|
|
+ line-height: 42rpx;
|
|
|
+ text-align: left;
|
|
|
+ margin: 24rpx 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ .list-tow-li-b {
|
|
|
+ width: 690rpx;
|
|
|
+ height: 80rpx;
|
|
|
+ border-radius: 10rpx 10rpx 10rpx 10rpx;
|
|
|
+ border: 1rpx solid #E0E0E0;
|
|
|
+ }
|
|
|
+
|
|
|
+ .time {
|
|
|
+ display: flex;
|
|
|
+ justify-content: flex-start;
|
|
|
+ align-items: center;
|
|
|
+ width: 690rpx;
|
|
|
+ height: 80rpx;
|
|
|
+ border-radius: 10rpx 10rpx 10rpx 10rpx;
|
|
|
+ border: 1rpx solid #E0E0E0;
|
|
|
+
|
|
|
+ .time-l {
|
|
|
+ height: 80rpx;
|
|
|
+ width: 324rpx;
|
|
|
+ border-right: 1rpx solid #E0E0E0;
|
|
|
+ font-family: PingFang SC, PingFang SC;
|
|
|
+ font-weight: 400;
|
|
|
+ font-size: 28rpx;
|
|
|
+ color: #333333;
|
|
|
+ line-height: 80rpx;
|
|
|
+ text-align: center;
|
|
|
+ }
|
|
|
+
|
|
|
+ .time-c {
|
|
|
+ height: 80rpx;
|
|
|
+ width: 40rpx;
|
|
|
+ text-align: center;
|
|
|
+ line-height: 80rpx;
|
|
|
+ }
|
|
|
+
|
|
|
+ .time-r {
|
|
|
+ height: 80rpx;
|
|
|
+ width: 324rpx;
|
|
|
+ background: #E0E0E0;
|
|
|
+ border-left: 1rpx solid #E0E0E0;
|
|
|
+ font-family: PingFang SC, PingFang SC;
|
|
|
+ font-weight: 400;
|
|
|
+ font-size: 28rpx;
|
|
|
+ color: #333333;
|
|
|
+ line-height: 80rpx;
|
|
|
+ text-align: center;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .bottom {
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ position: fixed;
|
|
|
+ bottom: 0;
|
|
|
+
|
|
|
+ .bottom-l {
|
|
|
+ width: 375rpx;
|
|
|
+ height: 90rpx;
|
|
|
+ background: #FFFFFF;
|
|
|
+ font-family: PingFang SC, PingFang SC;
|
|
|
+ font-weight: 400;
|
|
|
+ font-size: 30rpx;
|
|
|
+ color: #333333;
|
|
|
+ line-height: 90rpx;
|
|
|
+ text-align: center;
|
|
|
+ }
|
|
|
+
|
|
|
+ .bottom-r {
|
|
|
+ font-family: PingFang SC, PingFang SC;
|
|
|
+ font-weight: 400;
|
|
|
+ font-size: 30rpx;
|
|
|
+ color: #FFFFFF;
|
|
|
+ line-height: 90rpx;
|
|
|
+ text-align: center;
|
|
|
+ width: 375rpx;
|
|
|
+ height: 90rpx;
|
|
|
+ background: #0183FA;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .success {
|
|
|
+ height: 100%;
|
|
|
+ width: 100%;
|
|
|
+ position: fixed;
|
|
|
+ top: 0;
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ z-index: 10;
|
|
|
+ background: rgba(0, 0, 0, 0.2);
|
|
|
+
|
|
|
+ .null-box {
|
|
|
+ flex: 1;
|
|
|
+ }
|
|
|
+
|
|
|
+ .panel {
|
|
|
+ width: 550rpx;
|
|
|
+ height: 255rpx;
|
|
|
+ background: #FFFFFF;
|
|
|
+ border-radius: 20rpx 20rpx 20rpx 20rpx;
|
|
|
+ position: absolute;
|
|
|
+ top: 320rpx;
|
|
|
+ left: 100rpx;
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ align-items: center;
|
|
|
+ .panel-t{
|
|
|
+ width: 80rpx;
|
|
|
+ height: 80rpx;
|
|
|
+ margin: 40rpx 0 18rpx 0;
|
|
|
+ }
|
|
|
+ .panel-m{
|
|
|
+ font-family: PingFang SC, PingFang SC;
|
|
|
+ font-weight: 400;
|
|
|
+ font-size: 30rpx;
|
|
|
+ color: #3D3D3D;
|
|
|
+ line-height: 42rpx;
|
|
|
+ margin-bottom: 8rpx;
|
|
|
+ }
|
|
|
+ .panel-b{
|
|
|
+ font-family: PingFang SC, PingFang SC;
|
|
|
+ font-weight: 400;
|
|
|
+ font-size: 30rpx;
|
|
|
+ color: #999999;
|
|
|
+ line-height: 42rpx;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+</style>
|